Yes, the validation should not be happening for an included field - we're looking into it right now. claudiobosticco we see why you are getting the problem causing the validation to fire inappropriately, but right now the underlying cause is not clear - again, we are looking into it
Announcement
Collapse
No announcement yet.
X
-
We have committed a change to correct the problem where conditionallyRequired is still honored on includeFrom fields. Please try with tomorrow's build (6.1d only). We do not yet have an explanation for your second problem, the one you describe in post #22. Could you please confirm that you still see this problem with tomorrow's build?
Blama While looking into this, we also had an insight into an unusual circumstance which might cause an includeFrom field to inherit the source field's validations - it is indeed to do with the internal "__cachedType" property, but it is not that straightforward and would happen both rarely and unpredictably, exactly as is your experience. Tomorrow's builds (5.0p and greater) will also contain a fix for that issue - please try it and let us know.
Comment
-
Originally posted by Isomorphic View PostWe have committed a change to correct the problem where conditionallyRequired is still honored on includeFrom fields. Please try with tomorrow's build (6.1d only).
Chrome on OSX Sierra
I can confirm it's fixed, thank you very much.
Originally posted by Isomorphic View PostWe do not yet have an explanation for your second problem, the one you describe in post #22. Could you please confirm that you still see this problem with tomorrow's build?
Code:isc.ListGrid.create({ ID:"dsListGrid", width: "100%", height: "100%", minFieldWidth:80, autoFetchData: true, canEdit:true, dataSource: "supplyItem" });
Code:<DataSource ID="supplyItem" serverType="sql" tableName="supplyItem" titleField="itemName" testFileName="/examples/shared/ds/test_data/supplyItem.data.xml" dbImportFileName="/examples/shared/ds/test_data/supplyItemLarge.data.xml" > <fields> <field name="itemID" type="sequence" hidden="true" primaryKey="true"/> <field name="itemName" type="text" title="Item" length="128" required="true"/> <field name="SKU" type="text" title="SKU" length="10" required="true"/> <field name="description" type="text" title="Description" length="2000"> <validators> <validator type="required" dependentFields="category"> <applyWhen operator="and"> <criteria> <criterion fieldName="category" operator="equals" value="Adding Machine/calculator Roll"/> </criteria> </applyWhen> </validator> </validators> </field> <field name="category" type="text" title="Category" length="128" required="true" foreignKey="supplyCategory.categoryName"/> <field name="units" type="enum" title="Units" length="5"> <valueMap> <value>Roll</value> <value>Ea</value> <value>Pkt</value> <value>Set</value> <value>Tube</value> <value>Pad</value> <value>Ream</value> <value>Tin</value> <value>Bag</value> <value>Ctn</value> <value>Box</value> </valueMap> </field> <field name="unitCost" type="float" title="Unit Cost"> <validators> <validator type="required" dependentFields="category"> <applyWhen operator="and"> <criteria> <criterion fieldName="category" operator="notEqual" value="Adding Machine/calculator Roll"/> </criteria> </applyWhen> </validator> </validators> </field> <field name="inStock" type="boolean" title="In Stock"/> <field name="nextShipment" type="date" title="Next Shipment"/> </fields> </DataSource>
You'll get a validation error on unitCost, but its validator must be inactive (and the logs are saying so)
Code:=== 2017-01-25 11:51:47,086 [ec-6] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36': Safari with Accept-Encoding header === 2017-01-25 11:51:47,088 [ec-6] DEBUG XML - Parsed XML from (in memory stream): 1ms === 2017-01-25 11:51:47,099 [ec-6] DEBUG RPCManager - Processing 1 requests. === 2017-01-25 11:51:47,099 [ec-6] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ itemID:1 }, values:{ itemID:1, description:"foo", unitCost:null }, operationConfig:{ dataSource:"supplyItem", repo:null, operationType:"update", textMatchStyle:"exact" }, componentId:"dsListGrid", appID:"builtinApplication", operation:"supplyItem_update", oldValues:{ category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:0.41, SKU:"45300", inStock:true, units:"Roll" } } === 2017-01-25 11:51:47,099 [ec-6] INFO IDACall - Performing 1 operation(s) === 2017-01-25 11:51:47,100 [ec-6] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2017-01-25 11:51:47,100 [ec-6] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing... === 2017-01-25 11:51:47,100 [ec-6] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application === 2017-01-25 11:51:47,100 [ec-6] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation === 2017-01-25 11:51:47,102 [ec-6] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"category", operator:"notEqual", value:"Adding Machine/calculator Roll" } ] } record is: { itemID:1, unitCost:null, description:"foo" } === 2017-01-25 11:51:47,103 [ec-6] DEBUG SQLDataSource - [builtinApplication.supplyItem_update] DataSource 643 acquired SQLDriver instance 208205053 during initialization === 2017-01-25 11:51:47,103 [ec-6] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null === 2017-01-25 11:51:47,103 [ec-6] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks. === 2017-01-25 11:51:47,104 [ec-6] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application === 2017-01-25 11:51:47,104 [ec-6] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation === 2017-01-25 11:51:47,104 [ec-6] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with criteria: {itemID:1} values: {itemID:1} === 2017-01-25 11:51:47,106 [ec-6] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause === 2017-01-25 11:51:47,106 [ec-6] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 643: Executing SQL query on 'HSQLDB': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-01-25 11:51:47,107 [ec-6] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '83164503' === 2017-01-25 11:51:47,107 [ec-6] INFO SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '83164503': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-01-25 11:51:47,108 [ec-6] INFO DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items === 2017-01-25 11:51:47,109 [ec-6] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:0.41, SKU:"45300", description:"foo", inStock:true, units:"Roll" } === 2017-01-25 11:51:47,133 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-01-25 11:51:47,133 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,133 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,134 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,134 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-01-25 11:51:47,134 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-01-25 11:51:47,134 [ec-6] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: inactive === 2017-01-25 11:51:47,134 [ec-6] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"category", operator:"equals", value:"Adding Machine/calculator Roll" } ] } record is: { itemID:1, unitCost:null, description:"foo" } === 2017-01-25 11:51:47,134 [ec-6] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:0.41, SKU:"45300", description:"foo", inStock:true, units:"Roll" } === 2017-01-25 11:51:47,134 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-01-25 11:51:47,135 [ec-6] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' conditional validator of type 'required' is: active === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (null): isEqualToConfiguredValue === 2017-01-25 11:51:47,135 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (null): isEqualToConfiguredValue === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-01-25 11:51:47,136 [ec-6] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-01-25 11:51:47,137 [ec-6] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/unitCost': {errorMessage=Field is required} === 2017-01-25 11:51:47,137 [ec-6] INFO Validation - [builtinApplication.supplyItem_update] Validation error: [ { unitCost:{ errorMessage:"Field is required" } } ] === 2017-01-25 11:51:47,138 [ec-6] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2017-01-25 11:51:47,138 [ec-6] DEBUG RPCManager - non-DMI response, dropExtraFields: false === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 638 === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 638 === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 638 === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 643 === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLDriver - Freeing SQLDriver dbConnection 83164503 for SQLDriver instance 208205053 === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLConnectionManager - About to close connection with hashcode "83164503" === 2017-01-25 11:51:47,138 [ec-6] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 643 === 2017-01-25 11:51:47,139 [ec-6] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 643 === 2017-01-25 11:51:47,139 [ec-6] INFO Compression - /isomorphic/IDACall: 216 -> 181 bytes
Last edited by claudiobosticco; 3 Feb 2017, 08:36.
Comment
-
well actually it seems that also a simpler test case shows the same problem:
Code:<DataSource ID="supplyItem" serverType="sql" tableName="supplyItem" titleField="itemName" testFileName="/examples/shared/ds/test_data/supplyItem.data.xml" dbImportFileName="/examples/shared/ds/test_data/supplyItemLarge.data.xml" > <fields> <field name="itemID" type="sequence" hidden="true" primaryKey="true"/> <field name="itemName" type="text" title="Item" length="128" required="true"/> <field name="SKU" type="text" title="SKU" length="10" required="true"/> <field name="description" type="text" title="Description" length="2000"> </field> <field name="category" type="text" title="Category" length="128" required="true" foreignKey="supplyCategory.categoryName"/> <field name="units" type="enum" title="Units" length="5"> <valueMap> <value>Roll</value> <value>Ea</value> <value>Pkt</value> <value>Set</value> <value>Tube</value> <value>Pad</value> <value>Ream</value> <value>Tin</value> <value>Bag</value> <value>Ctn</value> <value>Box</value> </valueMap> </field> <field name="unitCost" type="float" title="Unit Cost"> <validators> <validator type="required" dependentFields="SKU"> <applyWhen operator="and"> <criteria> <criterion fieldName="SKU" operator="notEqual" value="45300"/> </criteria> </applyWhen> </validator> </validators> </field> <field name="inStock" type="boolean" title="In Stock"/> <field name="nextShipment" type="date" title="Next Shipment"/> </fields> </DataSource>
Comment
-
SmartClient Version: SNAPSHOT_v11.1d_2017-01-25/Enterprise Development Only (built 2017-01-25)
Hello, I'm still having problems with conditional required validators.
Consider this test case:
Code:isc.ListGrid.create({ ID:"dsListGrid", width: "100%", height: "100%", minFieldWidth:80, autoFetchData: true, canEdit:true, dataSource: "supplyItem" });
Code:<[B]DataSource[/B] [B]ID[/B]="supplyItem" [B]serverType[/B]="sql" [B]tableName[/B]="supplyItem" [B]titleField[/B]="itemName" [B]testFileName[/B]="/examples/shared/ds/test_data/supplyItem.data.xml" [B]dbImportFileName[/B]="/examples/shared/ds/test_data/supplyItemLarge.data.xml" > <[B]fields[/B]> <[B]field[/B] [B]name[/B]="itemID" [B]type[/B]="sequence" [B]hidden[/B]="true" [B]primaryKey[/B]="true"/> <[B]field[/B] [B]name[/B]="itemName" [B]type[/B]="text" [B]title[/B]="Item" [B]length[/B]="128" [B]required[/B]="true"/> <[B]field[/B] [B]name[/B]="SKU" [B]type[/B]="text" [B]title[/B]="SKU" [B]length[/B]="10" [B]required[/B]="true"/> <[B]field[/B] [B]name[/B]="description" [B]type[/B]="text" [B]title[/B]="Description" [B]length[/B]="2000"> </[B]field[/B]> <[B]field[/B] [B]name[/B]="category" [B]type[/B]="text" [B]title[/B]="Category" [B]length[/B]="128" [B]required[/B]="true" [B]foreignKey[/B]="supplyCategory.categoryName"/> <[B]field[/B] [B]name[/B]="units" [B]type[/B]="enum" [B]title[/B]="Units" [B]length[/B]="5"> <[B]valueMap[/B]> <[B]value[/B]>Roll</[B]value[/B]> <[B]value[/B]>Ea</[B]value[/B]> <[B]value[/B]>Pkt</[B]value[/B]> <[B]value[/B]>Set</[B]value[/B]> <[B]value[/B]>Tube</[B]value[/B]> <[B]value[/B]>Pad</[B]value[/B]> <[B]value[/B]>Ream</[B]value[/B]> <[B]value[/B]>Tin</[B]value[/B]> <[B]value[/B]>Bag</[B]value[/B]> <[B]value[/B]>Ctn</[B]value[/B]> <[B]value[/B]>Box</[B]value[/B]> </[B]valueMap[/B]> </[B]field[/B]> <[B]field[/B] [B]name[/B]="unitCost" [B]type[/B]="float" [B]title[/B]="Unit Cost"> <[B]validators[/B]> <[B]validator[/B] [B]type[/B]="required" [B]dependentFields[/B]="SKU"> <[B]applyWhen[/B] [B]operator[/B]="and"> <[B]criteria[/B]> <[B]criterion[/B] [B]fieldName[/B]="SKU" [B]operator[/B]="equals" [B]value[/B]="45300"/> </[B]criteria[/B]> </[B]applyWhen[/B]> </[B]validator[/B]> </[B]validators[/B]> </[B]field[/B]> <[B]field[/B] [B]name[/B]="inStock" [B]type[/B]="boolean" [B]title[/B]="In Stock"/> <[B]field[/B] [B]name[/B]="nextShipment" [B]type[/B]="date" [B]title[/B]="Next Shipment"/> </[B]fields[/B]> </[B]DataSource[/B]>
You'll get a (client-side) validation error - correct.
Than change the SKU to, say 45301. You'll get a (wrong) server side validation error:
Code:=== 2017-01-27 14:38:30,711 [ec-7] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36': Safari with Accept-Encoding header === 2017-01-27 14:38:30,713 [ec-7] DEBUG XML - Parsed XML from (in memory stream): 1ms === 2017-01-27 14:38:30,714 [ec-7] DEBUG RPCManager - Processing 1 requests. === 2017-01-27 14:38:30,714 [ec-7] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ itemID:1 }, values:{ itemID:1, unitCost:null, SKU:"45301" }, operationConfig:{ dataSource:"supplyItem", repo:null, operationType:"update", textMatchStyle:"exact" }, componentId:"dsListGrid", appID:"builtinApplication", operation:"supplyItem_update", oldValues:{ category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:1, SKU:"45300", inStock:true, units:"Roll" } } === 2017-01-27 14:38:30,714 [ec-7] INFO IDACall - Performing 1 operation(s) === 2017-01-27 14:38:30,714 [ec-7] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2017-01-27 14:38:30,714 [ec-7] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing... === 2017-01-27 14:38:30,715 [ec-7] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application === 2017-01-27 14:38:30,715 [ec-7] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation === 2017-01-27 14:38:30,715 [ec-7] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"SKU", operator:"equals", value:"45300" } ] } record is: { itemID:1, unitCost:null, SKU:"45301" } === 2017-01-27 14:38:30,715 [ec-7] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null === 2017-01-27 14:38:30,715 [ec-7] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks. === 2017-01-27 14:38:30,715 [ec-7] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application === 2017-01-27 14:38:30,715 [ec-7] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation === 2017-01-27 14:38:30,715 [ec-7] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with criteria: {itemID:1} values: {itemID:1} === 2017-01-27 14:38:30,716 [ec-7] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause === 2017-01-27 14:38:30,716 [ec-7] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 831: Executing SQL query on 'HSQLDB': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-01-27 14:38:30,716 [ec-7] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '1487763774' === 2017-01-27 14:38:30,716 [ec-7] INFO SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '1487763774': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-01-27 14:38:30,717 [ec-7] INFO DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items === 2017-01-27 14:38:30,717 [ec-7] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:1.0, SKU:"45300", inStock:true, units:"Roll" } === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"45300", fieldName:"SKU" }: And === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-01-27 14:38:30,718 [ec-7] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: active === 2017-01-27 14:38:30,718 [ec-7] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/unitCost/unitCost': {errorMessage=Field is required} === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"45300", fieldName:"SKU" }: And === 2017-01-27 14:38:30,718 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-01-27 14:38:30,719 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:38:30,719 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:38:30,719 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-01-27 14:38:30,719 [ec-7] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-01-27 14:38:30,719 [ec-7] INFO Validation - [builtinApplication.supplyItem_update] Validation error: [ { unitCost:{ errorMessage:"Field is required" } } ] === 2017-01-27 14:38:30,719 [ec-7] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2017-01-27 14:38:30,719 [ec-7] DEBUG RPCManager - non-DMI response, dropExtraFields: false === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 826 === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 826 === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 826 === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 831 === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDriver - Freeing SQLDriver dbConnection 1487763774 for SQLDriver instance 1074486331 === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLConnectionManager - About to close connection with hashcode "1487763774" === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 831 === 2017-01-27 14:38:30,719 [ec-7] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 831 === 2017-01-27 14:38:30,719 [ec-7] INFO Compression - /isomorphic/IDACall: 216 -> 181 bytes
Comment
-
maybe it's the same root problem, but consider also this test case:
Code:isc.ListGrid.create({ ID:"dsListGrid", width: "100%", height: "100%", minFieldWidth:80, autoFetchData: true, canEdit:true, dataSource: "supplyItem" });
Code:<[B]DataSource[/B] [B]ID[/B]="supplyItem" [B]serverType[/B]="sql" [B]tableName[/B]="supplyItem" [B]titleField[/B]="itemName" [B]testFileName[/B]="/examples/shared/ds/test_data/supplyItem.data.xml" [B]dbImportFileName[/B]="/examples/shared/ds/test_data/supplyItemLarge.data.xml" > <[B]fields[/B]> <[B]field[/B] [B]name[/B]="itemID" [B]type[/B]="sequence" [B]hidden[/B]="true" [B]primaryKey[/B]="true"/> <[B]field[/B] [B]name[/B]="itemName" [B]type[/B]="text" [B]title[/B]="Item" [B]length[/B]="128" [B]required[/B]="true"/> <[B]field[/B] [B]name[/B]="SKU" [B]type[/B]="text" [B]title[/B]="SKU" [B]length[/B]="10" [B]required[/B]="true"/> <[B]field[/B] [B]name[/B]="description" [B]type[/B]="text" [B]title[/B]="Description" [B]length[/B]="2000"> </[B]field[/B]> <[B]field[/B] [B]name[/B]="category" [B]type[/B]="text" [B]title[/B]="Category" [B]length[/B]="128" [B]required[/B]="true" [B]foreignKey[/B]="supplyCategory.categoryName"/> <[B]field[/B] [B]name[/B]="units" [B]type[/B]="text" [B]title[/B]="Units" [B]length[/B]="5"> <[B]validators[/B]> <[B]validator[/B] [B]type[/B]="required" [B]dependentFields[/B]="SKU"> <[B]applyWhen[/B] [B]operator[/B]="and"> <[B]criteria[/B]> <[B]criterion[/B] [B]fieldName[/B]="SKU" [B]operator[/B]="equals" [B]value[/B]="45300"/> </[B]criteria[/B]> </[B]applyWhen[/B]> </[B]validator[/B]> </[B]validators[/B]> </[B]field[/B]> <[B]field[/B] [B]name[/B]="unitCost" [B]type[/B]="float" [B]title[/B]="Unit Cost"> <[B]validators[/B]> <[B]validator[/B] [B]type[/B]="required" [B]dependentFields[/B]="SKU"> <[B]applyWhen[/B] [B]operator[/B]="and"> <[B]criteria[/B]> <[B]criterion[/B] [B]fieldName[/B]="SKU" [B]operator[/B]="notEqual" [B]value[/B]="45300"/> </[B]criteria[/B]> </[B]applyWhen[/B]> </[B]validator[/B]> </[B]validators[/B]> </[B]field[/B]> <[B]field[/B] [B]name[/B]="inStock" [B]type[/B]="boolean" [B]title[/B]="In Stock"/> <[B]field[/B] [B]name[/B]="nextShipment" [B]type[/B]="date" [B]title[/B]="Next Shipment"/> </[B]fields[/B]> </[B]DataSource[/B]>
Code:=== 2017-01-27 14:48:40,908 [ec-4] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36': Safari with Accept-Encoding header === 2017-01-27 14:48:40,911 [ec-4] DEBUG XML - Parsed XML from (in memory stream): 2ms === 2017-01-27 14:48:40,913 [ec-4] DEBUG RPCManager - Processing 1 requests. === 2017-01-27 14:48:40,913 [ec-4] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ itemID:1 }, values:{ itemID:1, SKU:"45301", units:null }, operationConfig:{ dataSource:"supplyItem", repo:null, operationType:"update", textMatchStyle:"exact" }, componentId:"dsListGrid", appID:"builtinApplication", operation:"supplyItem_update", oldValues:{ category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:1, SKU:"45300", inStock:true, units:"Roll" } } === 2017-01-27 14:48:40,914 [ec-4] INFO IDACall - Performing 1 operation(s) === 2017-01-27 14:48:40,914 [ec-4] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2017-01-27 14:48:40,914 [ec-4] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing... === 2017-01-27 14:48:40,914 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application === 2017-01-27 14:48:40,914 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation === 2017-01-27 14:48:40,914 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"SKU", operator:"notEqual", value:"45300" } ] } record is: { itemID:1, unitCost:null, SKU:"45301", units:null } === 2017-01-27 14:48:40,915 [ec-4] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null === 2017-01-27 14:48:40,915 [ec-4] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks. === 2017-01-27 14:48:40,915 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application === 2017-01-27 14:48:40,915 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation === 2017-01-27 14:48:40,915 [ec-4] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with criteria: {itemID:1} values: {itemID:1} === 2017-01-27 14:48:40,916 [ec-4] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause === 2017-01-27 14:48:40,916 [ec-4] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 884: Executing SQL query on 'HSQLDB': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-01-27 14:48:40,916 [ec-4] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '1487763774' === 2017-01-27 14:48:40,916 [ec-4] INFO SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '1487763774': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-01-27 14:48:40,917 [ec-4] INFO DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items === 2017-01-27 14:48:40,918 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:1.0, SKU:"45300", inStock:true, units:"Roll" } === 2017-01-27 14:48:40,918 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"45300", fieldName:"SKU" }: And === 2017-01-27 14:48:40,918 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,918 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,918 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,919 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-01-27 14:48:40,919 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-01-27 14:48:40,919 [ec-4] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: inactive === 2017-01-27 14:48:40,919 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'units' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"SKU", operator:"equals", value:"45300" } ] } record is: { itemID:1, unitCost:1.0, SKU:"45301", units:null } === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:1.0, SKU:"45300", inStock:true, units:"Roll" } === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"45300", fieldName:"SKU" }: And === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-01-27 14:48:40,920 [ec-4] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'units' conditional validator of type 'required' is: active === 2017-01-27 14:48:40,920 [ec-4] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/units/units': {errorMessage=Field is required} === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"45300", fieldName:"SKU" }: And === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-01-27 14:48:40,920 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-01-27 14:48:40,921 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"45300", fieldName:"SKU" }: And === 2017-01-27 14:48:40,921 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-01-27 14:48:40,921 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,921 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-01-27 14:48:40,921 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-01-27 14:48:40,921 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-01-27 14:48:40,921 [ec-4] INFO Validation - [builtinApplication.supplyItem_update] Validation error: [ { units:{ errorMessage:"Field is required" } } ] === 2017-01-27 14:48:40,921 [ec-4] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2017-01-27 14:48:40,921 [ec-4] DEBUG RPCManager - non-DMI response, dropExtraFields: false === 2017-01-27 14:48:40,921 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 879 === 2017-01-27 14:48:40,921 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 879 === 2017-01-27 14:48:40,922 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 879 === 2017-01-27 14:48:40,922 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 884 === 2017-01-27 14:48:40,922 [ec-4] DEBUG SQLDriver - Freeing SQLDriver dbConnection 1487763774 for SQLDriver instance 1282085988 === 2017-01-27 14:48:40,922 [ec-4] DEBUG SQLConnectionManager - About to close connection with hashcode "1487763774" === 2017-01-27 14:48:40,922 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 884 === 2017-01-27 14:48:40,922 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 884 === 2017-01-27 14:48:40,922 [ec-4] INFO Compression - /isomorphic/IDACall: 213 -> 179 bytes
Comment
-
EDIT: bogus report, please ignore
SmartClient Version: SNAPSHOT_v11.1d_2017-02-01/Enterprise Development Only (built 2017-02-01)
Hello, the behavior has changed, maybe better but not yet correct.
For the test case of post #37, there's a client validation error instead of a server validation error.
Test case of post #34: same problem, client validation error instead of server validation error.Last edited by claudiobosticco; 3 Feb 2017, 08:48.
Comment
-
SmartClient Version: SNAPSHOT_v11.1d_2017-02-01/Enterprise Development Only (built 2017-02-01)
Sorry, I must have overlooked something. Please ignore post #40.
Please repeat the test case of post #37, like so: edit SKU to 45301, and delete the units value.
For SKU = 45301, units IS NOT required, and unitCost is required.
So, I expect no validation error.
Instead I get a server validation error for the unitCost field, which is not null.
Code:=== 2017-02-03 16:23:18,321 [ec-8] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36': Safari with Accept-Encoding header === 2017-02-03 16:23:18,325 [ec-8] DEBUG XML - Parsed XML from (in memory stream): 2ms === 2017-02-03 16:23:18,326 [ec-8] DEBUG RPCManager - Processing 1 requests. === 2017-02-03 16:23:18,326 [ec-8] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ itemID:1 }, values:{ itemID:1, SKU:"45301", units:null }, operationConfig:{ dataSource:"supplyItem", repo:null, operationType:"update", textMatchStyle:"exact" }, componentId:"dsListGrid", appID:"builtinApplication", operation:"supplyItem_update", oldValues:{ category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:2, SKU:"45300", inStock:true, units:"Roll" } } === 2017-02-03 16:23:18,326 [ec-8] INFO IDACall - Performing 1 operation(s) === 2017-02-03 16:23:18,326 [ec-8] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2017-02-03 16:23:18,326 [ec-8] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing... === 2017-02-03 16:23:18,327 [ec-8] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application === 2017-02-03 16:23:18,327 [ec-8] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation === 2017-02-03 16:23:18,327 [ec-8] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"SKU", operator:"notEqual", value:"45300" } ] } record is: { itemID:1, unitCost:null, SKU:"45301", units:null } === 2017-02-03 16:23:18,327 [ec-8] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null === 2017-02-03 16:23:18,327 [ec-8] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks. === 2017-02-03 16:23:18,327 [ec-8] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application === 2017-02-03 16:23:18,327 [ec-8] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation === 2017-02-03 16:23:18,327 [ec-8] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with criteria: {itemID:1} values: {itemID:1} === 2017-02-03 16:23:18,328 [ec-8] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause === 2017-02-03 16:23:18,328 [ec-8] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 1019: Executing SQL query on 'HSQLDB': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-02-03 16:23:18,328 [ec-8] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '705003081' === 2017-02-03 16:23:18,328 [ec-8] INFO SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '705003081': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-02-03 16:23:18,329 [ec-8] INFO DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { itemID:1, unitCost:null, SKU:"45301", units:null } === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Merged conditionRecord is: { itemName:"Adding Machine Roll 57x57mm Standard", category:"Adding Machine/calculator Roll", itemID:1, unitCost:null, SKU:"45301", inStock:true, units:null } === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"45300", fieldName:"SKU" }: And === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-02-03 16:23:18,330 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-02-03 16:23:18,330 [ec-8] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: active === 2017-02-03 16:23:18,330 [ec-8] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/unitCost/unitCost': {errorMessage=Field is required} === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'units' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"SKU", operator:"equals", value:"45300" } ] } record is: { itemID:1, unitCost:null, SKU:"45301", units:null } === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { itemID:1, unitCost:null, SKU:"45301", units:null } === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Merged conditionRecord is: { itemName:"Adding Machine Roll 57x57mm Standard", category:"Adding Machine/calculator Roll", itemID:1, unitCost:null, SKU:"45301", inStock:true, units:null } === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"45300", fieldName:"SKU" }: And === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-02-03 16:23:18,331 [ec-8] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'units' conditional validator of type 'required' is: inactive === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"45300", fieldName:"SKU" }: And === 2017-02-03 16:23:18,331 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"45300", fieldName:"SKU" }: And === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "45301": isEqualToConfiguredValue === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "45300": isEqualToConfiguredValue === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-02-03 16:23:18,332 [ec-8] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-02-03 16:23:18,332 [ec-8] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/unitCost': {errorMessage=Field is required} === 2017-02-03 16:23:18,332 [ec-8] INFO Validation - [builtinApplication.supplyItem_update] Validation error: [ { unitCost:[ { errorMessage:"Field is required" }, { errorMessage:"Field is required" } ] } ] === 2017-02-03 16:23:18,332 [ec-8] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2017-02-03 16:23:18,332 [ec-8] DEBUG RPCManager - non-DMI response, dropExtraFields: false === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1024 === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1024 === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1024 === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1019 === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDriver - Freeing SQLDriver dbConnection 705003081 for SQLDriver instance 983977414 === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLConnectionManager - About to close connection with hashcode "705003081" === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1019 === 2017-02-03 16:23:18,333 [ec-8] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1019 === 2017-02-03 16:23:18,333 [ec-8] INFO Compression - /isomorphic/IDACall: 253 -> 186 bytes
Last edited by claudiobosticco; 3 Feb 2017, 08:38.
Comment
-
also for the test case of post #34, I'm still getting the same server validation error.
edit the first row, which has category:"Adding Machine/calculator Roll", add a description and delete the unitCost value.
You'll get a validation error on unitCost, but its validator must be inactive
Code:=== 2017-02-03 16:43:08,623 [ec-4] INFO RequestContext - URL: '/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36': Safari with Accept-Encoding header === 2017-02-03 16:43:08,625 [ec-4] DEBUG XML - Parsed XML from (in memory stream): 1ms === 2017-02-03 16:43:08,626 [ec-4] DEBUG RPCManager - Processing 1 requests. === 2017-02-03 16:43:08,626 [ec-4] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ itemID:1 }, values:{ itemID:1, unitCost:null, description:"foo" }, operationConfig:{ dataSource:"supplyItem", repo:null, operationType:"update", textMatchStyle:"exact" }, componentId:"dsListGrid", appID:"builtinApplication", operation:"supplyItem_update", oldValues:{ category:"Adding Machine/calculator Roll", itemName:"Adding Machine Roll 57x57mm Standard", itemID:1, unitCost:2, SKU:"45300", inStock:true, units:"Roll" } } === 2017-02-03 16:43:08,626 [ec-4] INFO IDACall - Performing 1 operation(s) === 2017-02-03 16:43:08,626 [ec-4] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2017-02-03 16:43:08,626 [ec-4] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing... === 2017-02-03 16:43:08,627 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application === 2017-02-03 16:43:08,627 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation === 2017-02-03 16:43:08,627 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"category", operator:"notEqual", value:"Adding Machine/calculator Roll" } ] } record is: { itemID:1, unitCost:null, description:"foo" } === 2017-02-03 16:43:08,627 [ec-4] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null === 2017-02-03 16:43:08,627 [ec-4] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks. === 2017-02-03 16:43:08,627 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application === 2017-02-03 16:43:08,627 [ec-4] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation === 2017-02-03 16:43:08,627 [ec-4] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with criteria: {itemID:1} values: {itemID:1} === 2017-02-03 16:43:08,628 [ec-4] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause === 2017-02-03 16:43:08,628 [ec-4] INFO SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 1128: Executing SQL query on 'HSQLDB': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-02-03 16:43:08,628 [ec-4] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '705003081' === 2017-02-03 16:43:08,628 [ec-4] INFO SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '705003081': SELECT supplyItem.itemID, supplyItem.itemName, supplyItem.SKU, supplyItem.description, supplyItem.category, supplyItem.units, supplyItem.unitCost, supplyItem.inStock, supplyItem.nextShipment FROM supplyItem WHERE (supplyItem.itemID=1) === 2017-02-03 16:43:08,629 [ec-4] INFO DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { itemID:1, unitCost:null, description:"foo" } === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Merged conditionRecord is: { itemName:"Adding Machine Roll 57x57mm Standard", category:"Adding Machine/calculator Roll", itemID:1, unitCost:null, description:"foo", SKU:"45300", inStock:true, units:"Roll" } === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-02-03 16:43:08,630 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-02-03 16:43:08,630 [ec-4] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: inactive === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' for validator type 'required', 'applyWhen' is: { operator:"and", criteria:[ { fieldName:"category", operator:"equals", value:"Adding Machine/calculator Roll" } ] } record is: { itemID:1, unitCost:null, description:"foo" } === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is: { itemID:1, unitCost:null, description:"foo" } === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Merged conditionRecord is: { itemName:"Adding Machine Roll 57x57mm Standard", category:"Adding Machine/calculator Roll", itemID:1, unitCost:null, description:"foo", SKU:"45300", inStock:true, units:"Roll" } === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnstrue === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-02-03 16:43:08,631 [ec-4] INFO DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' conditional validator of type 'required' is: active === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"equals", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (null): isEqualToConfiguredValue === 2017-02-03 16:43:08,631 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: false === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { operatorId:"notEqual", value:"Adding Machine/calculator Roll", fieldName:"category" }: And === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] value (null): isEqualToConfiguredValue === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] operand (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] passedOp (class java.lang.String): "Adding Machine/calculator Roll": isEqualToConfiguredValue === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] isEqualToConfiguredValue returnsfalse === 2017-02-03 16:43:08,632 [ec-4] DEBUG DefaultOperators - [builtinApplication.supplyItem_update] And 0/0: true === 2017-02-03 16:43:08,632 [ec-4] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/unitCost': {errorMessage=Field is required} === 2017-02-03 16:43:08,632 [ec-4] INFO Validation - [builtinApplication.supplyItem_update] Validation error: [ { unitCost:{ errorMessage:"Field is required" } } ] === 2017-02-03 16:43:08,632 [ec-4] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2017-02-03 16:43:08,632 [ec-4] DEBUG RPCManager - non-DMI response, dropExtraFields: false === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1123 === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1123 === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1123 === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1128 === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDriver - Freeing SQLDriver dbConnection 705003081 for SQLDriver instance 1985704322 === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLConnectionManager - About to close connection with hashcode "705003081" === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1128 === 2017-02-03 16:43:08,633 [ec-4] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 1128 === 2017-02-03 16:43:08,633 [ec-4] INFO Compression - /isomorphic/IDACall: 216 -> 181 bytes
Comment
Comment