Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • Isomorphic
    replied
    Just to let you know, this is assigned. We will post back soon

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: SNAPSHOT_v11.1d_2017-05-10/Enterprise Development Only (built 2017-05-10)

    Chrome on OSX

    Hello, it seems that I just found another test case where a validator fails when it shouldn't.
    The field LUOGO_NASCITA has a required validator, which must be active when the field ID_NAZIONE_NASCITA_FK is not equal to 118:

    Code:
    <DataSource xmlns:fmt="urn:jsptld:/WEB-INF/fmt.tld" xmlns="http://www.smartclient.com/schema"
                ID="JAS_ANAG_GIOCATORI_TEST"
                tableName="JAS_ANAG_GIOCATORI"
                schema="DBJAS"
                dbName="dbJas"
                serverType="sql"
            >
        <fields>
            <field name="ID_REC"  primaryKey="true"  type="sequence" hidden="true" sequenceName="SEQUENCE_ID_REC"/>
            <field name="NOME" length="30" type="text" required="true"/>
            <field name="COGNOME" length="50" type="text" required="true"/>
            <field name="LUOGO_NASCITA" length="60" type="text">
                <validators>
                    <validator type="required">
                        <applyWhen fieldName="ID_NAZIONE_NASCITA_FK" operator="notEqual" value="118"/>
                    </validator>
                </validators>
            </field>
            <field  name="ID_NAZIONE_NASCITA_FK" type="integer"/>
            <field name="ID_STATUS_GIOCATORE_FK" type="integer" />
        </fields>
        <operationBindings>
            <operationBinding operationType="update" serverMethod="updateTestValidator">
                <serverObject lookupStyle="new" className="com.juve.jas.utils.TestValidatorDMI"/>
            </operationBinding>
        </operationBindings>
    </DataSource>
    it fails when the update operation has a DMI method, which I've reduced to this:
    Code:
    public class TestValidatorDMI {
    
        public DSResponse updateTestValidator(DSRequest dsRequest, HttpServletRequest request, RPCManager rpcManager) throws Exception {
            DSRequest dsRequestTest = new DSRequest("JAS_ANAG_GIOCATORI_TEST", DataSource.OP_UPDATE, rpcManager);
            dsRequestTest.setCriteria("ID_REC", dsRequest.getCriteria());
            dsRequestTest.setFieldValue("ID_STATUS_GIOCATORE_FK", 5);
            dsRequestTest.execute();
            return new DSResponse().setFailure();
        }
    }
    In the tomcat logs, it seems that at first the required validator is correctly checked to be inactive, but then it's re-checked and results active (which is wrong, because the stored record has ID_NAZIONE_NASCITA_FK=118 and LUOGO_NASCITA has also a value in the stored record):
    Code:
    2017-05-12 09:45:02,469 DEBUG SQLDataSource DataSource 3080 acquired SQLDriver instance 1957008076 during initialization 
    2017-05-12 09:45:02,469 DEBUG PoolableDataSourceFactory Created DataSource 3080 of type 'JAS_ANAG_GIOCATORI_TEST' and assigned it to thread http-bio-8443-exec-9 
    2017-05-12 09:45:02,469 DEBUG DSRequest Caching instance 3080 of DS 'JAS_ANAG_GIOCATORI_TEST' from DSRequest.getDataSource() 
    2017-05-12 09:45:02,469 DEBUG DSRequest Caching instance 3080 of DS JAS_ANAG_GIOCATORI_TEST 
    2017-05-12 09:45:02,469 DEBUG RPCManager Request #1 (DSRequest) payload: {
        criteria:{
            ID_REC:499
        },
        values:{
            ID_REC:499
        },
        operationConfig:{
            dataSource:"JAS_ANAG_GIOCATORI_TEST",
            repo:null,
            operationType:"update",
            textMatchStyle:"exact"
        },
        appID:"builtinApplication",
        operation:"JAS_ANAG_GIOCATORI_TEST_update",
        oldValues:{
            ID_REC:499
        }
    } 
    2017-05-12 09:45:02,469 INFO  IDACall Performing 1 operation(s) 
    2017-05-12 09:45:02,470 DEBUG DeclarativeSecurity Processing security checks for DataSource null, field null 
    2017-05-12 09:45:02,470 DEBUG DeclarativeSecurity DataSource JAS_ANAG_GIOCATORI_TEST is not in the pre-checked list, processing... 
    2017-05-12 09:45:02,471 DEBUG DefaultValidators on field: 'LUOGO_NASCITA' for validator type 'required', 'applyWhen' is:
    {
        fieldName:"ID_NAZIONE_NASCITA_FK",
        operator:"notEqual",
        value:"118"
    }
    record is:
    {
        ID_REC:499,
        LUOGO_NASCITA:null
    } 
    2017-05-12 09:45:02,472 DEBUG SQLDataSource DataSource 3081 acquired SQLDriver instance 1493260013 during initialization 
    2017-05-12 09:45:02,472 DEBUG PoolableDataSourceFactory Created DataSource 3081 of type 'JAS_ANAG_GIOCATORI_TEST' and assigned it to thread http-bio-8443-exec-9 
    2017-05-12 09:45:02,472 DEBUG DSRequest Caching instance 3081 of DS 'JAS_ANAG_GIOCATORI_TEST' from DSRequest.getDataSource() 
    2017-05-12 09:45:02,472 DEBUG DSRequest Caching instance 3081 of DS JAS_ANAG_GIOCATORI_TEST 
    2017-05-12 09:45:02,472 DEBUG DeclarativeSecurity Processing security checks for DataSource null, field null 
    2017-05-12 09:45:02,472 DEBUG DeclarativeSecurity Request is not a client request, ignoring security checks. 
    2017-05-12 09:45:02,473 DEBUG AppBase [builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application 
    2017-05-12 09:45:02,473 DEBUG AppBase [builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation 
    2017-05-12 09:45:02,473 INFO  SQLDataSource [builtinApplication.null] Performing fetch operation with
        criteria: {ID_REC:499}    values: {ID_REC:499} 
    2017-05-12 09:45:02,473 INFO  SQLDataSource [builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause 
    2017-05-12 09:45:02,474 INFO  SQLDataSource [builtinApplication.null] 3081: Executing SQL query on 'dbJas': SELECT JAS_ANAG_GIOCATORI.ID_REC, JAS_ANAG_GIOCATORI.NOME, JAS_ANAG_GIOCATORI.COGNOME, JAS_ANAG_GIOCATORI.LUOGO_NASCITA, JAS_ANAG_GIOCATORI.ID_NAZIONE_NASCITA_FK, JAS_ANAG_GIOCATORI.ID_STATUS_GIOCATORE_FK FROM DBJAS.JAS_ANAG_GIOCATORI WHERE (JAS_ANAG_GIOCATORI.ID_REC=499) 
    2017-05-12 09:45:02,611 DEBUG PoolableSQLConnectionFactory [builtinApplication.null] makeObject() created an unpooled Connection '499624244' 
    2017-05-12 09:45:02,611 DEBUG SQLConnectionManager [builtinApplication.null] Borrowed connection '499624244' 
    2017-05-12 09:45:02,611 DEBUG SQLTransaction [builtinApplication.null] Started new dbJas transaction "499624244" 
    2017-05-12 09:45:02,611 DEBUG SQLDataSource [builtinApplication.null] Setting DSRequest as being part of a transaction 
    2017-05-12 09:45:02,611 INFO  SQLDriver [builtinApplication.null] Executing SQL query on 'dbJas' using connection '499624244': SELECT JAS_ANAG_GIOCATORI.ID_REC, JAS_ANAG_GIOCATORI.NOME, JAS_ANAG_GIOCATORI.COGNOME, JAS_ANAG_GIOCATORI.LUOGO_NASCITA, JAS_ANAG_GIOCATORI.ID_NAZIONE_NASCITA_FK, JAS_ANAG_GIOCATORI.ID_STATUS_GIOCATORE_FK FROM DBJAS.JAS_ANAG_GIOCATORI WHERE (JAS_ANAG_GIOCATORI.ID_REC=499) 
    2017-05-12 09:45:02,616 INFO  DSResponse DSResponse: List with 1 items 
    2017-05-12 09:45:02,616 DEBUG DSRequest freeOnExecute is false for request of type fetch on DataSource JAS_ANAG_GIOCATORI_TEST - not freeing resources! 
    2017-05-12 09:45:02,621 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'sequence' but null was returned 
    2017-05-12 09:45:02,621 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'text' but null was returned 
    2017-05-12 09:45:02,621 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'text' but null was returned 
    2017-05-12 09:45:02,621 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'text' but null was returned 
    2017-05-12 09:45:02,622 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'integer' but null was returned 
    2017-05-12 09:45:02,622 DEBUG PoolableDataSourceFactory Tried to create DataSource  of type 'integer' but null was returned 
    2017-05-12 09:45:02,622 DEBUG DefaultValidators NOTE: Record after applying stored values is:
    {
        ID_REC:499,
        LUOGO_NASCITA:"CUNEO"
    } 
    2017-05-12 09:45:02,622 DEBUG DefaultValidators NOTE: Merged conditionRecord is:
    {
        ID_NAZIONE_NASCITA_FK:118,
        ID_REC:499,
        ID_STATUS_GIOCATORE_FK:5,
        LUOGO_NASCITA:"CUNEO",
        NOME:"Simone",
        COGNOME:"MURATORE"
    } 
    2017-05-12 09:45:02,623 DEBUG DefaultOperators value (class java.math.BigDecimal): 118: isEqualToConfiguredValue 
    2017-05-12 09:45:02,623 DEBUG DefaultOperators operand (class java.lang.String): "118": isEqualToConfiguredValue 
    2017-05-12 09:45:02,624 DEBUG DefaultOperators passedOp (class java.math.BigDecimal): 118: isEqualToConfiguredValue 
    2017-05-12 09:45:02,624 DEBUG DefaultOperators isEqualToConfiguredValue returnstrue 
    2017-05-12 09:45:02,624 INFO  DefaultValidators on field: 'LUOGO_NASCITA' conditional validator of type 'required' is: inactive 
    2017-05-12 09:45:02,624 DEBUG DefaultOperators value (class java.math.BigDecimal): 118: isEqualToConfiguredValue 
    2017-05-12 09:45:02,624 DEBUG DefaultOperators operand (class java.lang.String): "118": isEqualToConfiguredValue 
    2017-05-12 09:45:02,624 DEBUG DefaultOperators passedOp (class java.math.BigDecimal): 118: isEqualToConfiguredValue 
    2017-05-12 09:45:02,624 DEBUG DefaultOperators isEqualToConfiguredValue returnstrue 
    2017-05-12 09:45:05,078 DEBUG DeclarativeSecurity Processing security checks for DataSource null, field null 
    2017-05-12 09:45:05,078 DEBUG DeclarativeSecurity Request is not a client request, ignoring security checks. 
    2017-05-12 09:45:05,078 INFO  RequestContext URL: '/Jas/isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36': Safari with Accept-Encoding header 
    2017-05-12 09:45:05,080 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; to: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png' 
    2017-05-12 09:45:05,080 DEBUG FilterChainProxy Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /images/*; matched=false 
    2017-05-12 09:45:05,080 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; to: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png' 
    2017-05-12 09:45:05,081 DEBUG DefaultValidators on field: 'LUOGO_NASCITA' for validator type 'required', 'applyWhen' is:
    {
        fieldName:"ID_NAZIONE_NASCITA_FK",
        operator:"notEqual",
        value:"118"
    }
    record is:
    {
        ID_STATUS_GIOCATORE_FK:5,
        LUOGO_NASCITA:null
    } 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /isomorphic/resthandler*; matched=false 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; to: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png' 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /**; matched=true 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 1 of 10 in additional filter chain; firing Filter: 'ChannelProcessingFilter' 
    2017-05-12 09:45:05,081 INFO  RequestContext URL: '/Jas/isomorphic/system/reference/skin/images/server_client_exchange.png', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36': Safari with Accept-Encoding header 
    2017-05-12 09:45:05,081 DEBUG DefaultFilterInvocationSecurityMetadataSource Converted URL to lowercase, from: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; to: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png' 
    2017-05-12 09:45:05,081 DEBUG DefaultValidators NOTE: Record after applying stored values is:
    {
        ID_STATUS_GIOCATORE_FK:5,
        LUOGO_NASCITA:null
    } 
    2017-05-12 09:45:05,081 DEBUG DefaultFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /*.jsp; matched=false 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 2 of 10 in additional filter chain; firing Filter: 'ConcurrentSessionFilter' 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 3 of 10 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 
    2017-05-12 09:45:05,081 DEBUG DefaultValidators NOTE: Merged conditionRecord is:
    {
        ID_STATUS_GIOCATORE_FK:5,
        LUOGO_NASCITA:null
    } 
    2017-05-12 09:45:05,081 DEBUG DefaultOperators value (null): isEqualToConfiguredValue 
    2017-05-12 09:45:05,081 DEBUG DefaultOperators operand (class java.lang.String): "118": isEqualToConfiguredValue 
    2017-05-12 09:45:05,081 DEBUG DefaultOperators passedOp (class java.lang.String): "118": isEqualToConfiguredValue 
    2017-05-12 09:45:05,081 DEBUG DefaultOperators isEqualToConfiguredValue returnsfalse 
    2017-05-12 09:45:05,081 INFO  DefaultValidators on field: 'LUOGO_NASCITA' conditional validator of type 'required' is: active 
    2017-05-12 09:45:05,081 DEBUG HttpSessionSecurityContextRepository Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@3eb9819a: Authentication: org.springframework.security.cas.authentication.CasAuthenticationToken@3eb9819a: Principal: org.springframework.security.ldap.userdetails.InetOrgPerson@40ebd6d0: Dn: mail=alessandro.diliberto@zerob.it,o=JUVENTUSFC; Username: alessandro.diliberto@zerob.it; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; CredentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@0: RemoteIpAddress: 172.16.24.53; SessionId: B75D26010FC204E20B1567220F7E6A20; Granted Authorities: ROLE_ADMIN Assertion: org.jasig.cas.client.validation.AssertionImpl@87a0758 Credentials (Service/Proxy Ticket): ST-1-kjVitGOmkAjEe6Eey6wM-cas' 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; to: '/isomorphic/system/reference/skin/images/server_client_exchange.png' 
    2017-05-12 09:45:05,081 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 4 of 10 in additional filter chain; firing Filter: 'LogoutFilter' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 5 of 10 in additional filter chain; firing Filter: 'CasAuthenticationFilter' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 6 of 10 in additional filter chain; firing Filter: 'RequestCacheAwareFilter' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 7 of 10 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 8 of 10 in additional filter chain; firing Filter: 'SessionManagementFilter' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 9 of 10 in additional filter chain; firing Filter: 'ExceptionTranslationFilter' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png at position 10 of 10 in additional filter chain; firing Filter: 'FilterSecurityInterceptor' 
    2017-05-12 09:45:05,082 DEBUG FilterChainProxy Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /images/*; matched=false 
    2017-05-12 09:45:05,083 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; to: '/isomorphic/system/reference/skin/images/server_client_exchange.png' 
    2017-05-12 09:45:05,082 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Converted URL to lowercase, from: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; to: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png' 
    2017-05-12 09:45:05,083 DEBUG FilterChainProxy Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /isomorphic/resthandler*; matched=false 
    2017-05-12 09:45:05,083 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /*.jsp; matched=false 
    2017-05-12 09:45:05,083 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /isomorphic/idacall*; matched=false 
    2017-05-12 09:45:05,083 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /tools/*.jsp; matched=false 
    2017-05-12 09:45:05,083 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /tools/visualbuilder/*.jsp; matched=false 
    2017-05-12 09:45:05,083 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/skins/graphite/images/dynamicform/unchecked_disabled.png'; pattern is /monitoring*; matched=false 
    2017-05-12 09:45:05,083 DEBUG FilterSecurityInterceptor Public object - authentication not attempted 
    2017-05-12 09:45:05,083 DEBUG FilterChainProxy /isomorphic/skins/Graphite/images/DynamicForm/unchecked_Disabled.png reached end of additional filter chain; proceeding with original chain 
    2017-05-12 09:45:05,083 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; to: '/isomorphic/system/reference/skin/images/server_client_exchange.png' 
    2017-05-12 09:45:05,083 DEBUG FilterChainProxy Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /**; matched=true 
    2017-05-12 09:45:05,083 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 1 of 10 in additional filter chain; firing Filter: 'ChannelProcessingFilter' 
    2017-05-12 09:45:05,084 DEBUG ValidationContext Adding validation errors at path '/JAS_ANAG_GIOCATORI_TEST/LUOGO_NASCITA/LUOGO_NASCITA': {errorMessage=Field is required} 
    2017-05-12 09:45:05,084 DEBUG DefaultFilterInvocationSecurityMetadataSource Converted URL to lowercase, from: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; to: '/isomorphic/system/reference/skin/images/server_client_exchange.png' 
    2017-05-12 09:45:05,084 DEBUG DefaultFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /*.jsp; matched=false 
    2017-05-12 09:45:05,084 DEBUG DefaultOperators value (null): isEqualToConfiguredValue 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 2 of 10 in additional filter chain; firing Filter: 'ConcurrentSessionFilter' 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 3 of 10 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 
    2017-05-12 09:45:05,084 DEBUG DefaultOperators operand (class java.lang.String): "118": isEqualToConfiguredValue 
    2017-05-12 09:45:05,084 DEBUG HttpSessionSecurityContextRepository Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@3eb9819a: Authentication: org.springframework.security.cas.authentication.CasAuthenticationToken@3eb9819a: Principal: org.springframework.security.ldap.userdetails.InetOrgPerson@40ebd6d0: Dn: mail=alessandro.diliberto@zerob.it,o=JUVENTUSFC; Username: alessandro.diliberto@zerob.it; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; CredentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@0: RemoteIpAddress: 172.16.24.53; SessionId: B75D26010FC204E20B1567220F7E6A20; Granted Authorities: ROLE_ADMIN Assertion: org.jasig.cas.client.validation.AssertionImpl@87a0758 Credentials (Service/Proxy Ticket): ST-1-kjVitGOmkAjEe6Eey6wM-cas' 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 4 of 10 in additional filter chain; firing Filter: 'LogoutFilter' 
    2017-05-12 09:45:05,084 DEBUG DefaultOperators passedOp (class java.lang.String): "118": isEqualToConfiguredValue 
    2017-05-12 09:45:05,084 DEBUG DefaultOperators isEqualToConfiguredValue returnsfalse 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 5 of 10 in additional filter chain; firing Filter: 'CasAuthenticationFilter' 
    2017-05-12 09:45:05,084 DEBUG ValidationContext Adding validation errors at path '/JAS_ANAG_GIOCATORI_TEST/LUOGO_NASCITA': {errorMessage=Field is required} 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 6 of 10 in additional filter chain; firing Filter: 'RequestCacheAwareFilter' 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 7 of 10 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter' 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 8 of 10 in additional filter chain; firing Filter: 'SessionManagementFilter' 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 9 of 10 in additional filter chain; firing Filter: 'ExceptionTranslationFilter' 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png at position 10 of 10 in additional filter chain; firing Filter: 'FilterSecurityInterceptor' 
    2017-05-12 09:45:05,084 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Converted URL to lowercase, from: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; to: '/isomorphic/system/reference/skin/images/server_client_exchange.png' 
    2017-05-12 09:45:05,084 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /*.jsp; matched=false 
    2017-05-12 09:45:05,084 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /isomorphic/idacall*; matched=false 
    2017-05-12 09:45:05,084 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /tools/*.jsp; matched=false 
    2017-05-12 09:45:05,084 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /tools/visualbuilder/*.jsp; matched=false 
    2017-05-12 09:45:05,084 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/system/reference/skin/images/server_client_exchange.png'; pattern is /monitoring*; matched=false 
    2017-05-12 09:45:05,084 DEBUG FilterSecurityInterceptor Public object - authentication not attempted 
    2017-05-12 09:45:05,084 DEBUG FilterChainProxy /isomorphic/system/reference/skin/images/server_client_exchange.png reached end of additional filter chain; proceeding with original chain 
    2017-05-12 09:45:05,085 DEBUG ExceptionTranslationFilter Chain processed normally 
    2017-05-12 09:45:05,085 DEBUG SecurityContextPersistenceFilter SecurityContextHolder now cleared, as request processing completed 
    2017-05-12 09:45:05,085 INFO  Validation Validation error: [
        {
            LUOGO_NASCITA:[
                {
                    errorMessage:"Field is required"
                },
                {
                    errorMessage:"Field is required"
                }
            ]
        }
    ] 
    2017-05-12 09:45:05,085 DEBUG DSRequest About to free up resources for request of type update on DataSource JAS_ANAG_GIOCATORI_TEST 
    2017-05-12 09:45:05,085 DEBUG DSRequest Ignoring freeResources call because this is not a primary request! 
    2017-05-12 09:45:05,085 DEBUG DSRequest About to free up resources for request of type update on DataSource JAS_ANAG_GIOCATORI_TEST 
    2017-05-12 09:45:05,085 DEBUG DSRequest Ignoring freeResources call because this is not a primary request! 
    2017-05-12 09:45:05,085 DEBUG RPCManager Content type for RPC transaction: text/plain; charset=UTF-8 
    2017-05-12 09:45:05,085 DEBUG SQLTransaction Rolling back dbJas transaction "499624244"

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: SNAPSHOT_v11.1d_2017-04-04/Enterprise Development Only (built 2017-04-04)

    Hello, I can confirm that now it's working, thank you very much

    Leave a comment:


  • claudiobosticco
    replied
    Hello, I don't see new 11.1 Enterprise builds after that of 2017-03-25...

    Leave a comment:


  • Isomorphic
    replied
    OK, thank you for the error report. Please try your test case with tomorrow's build, dated March 28th.

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: SNAPSHOT_v11.1d_2017-03-23/Enterprise Development Only (built 2017-03-23)

    Chrome on OSX

    Hello, I've got another test case where validation fails.

    Please use this modified version of supplyItem.ds.xml:

    Code:
    <DataSource
        ID="supplyItem"
        serverType="sql"
        tableName="supplyItem"
        titleField="itemName"
        testFileName="/examples/shared/ds/test_data/supplyItem.data.xml"
        dbImposrtFileName="/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">
                        <applyWhen fieldName="unitCost" operator="isNull"/>
                    </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">
                        <applyWhen fieldName="description" operator="isNull"/>
                    </validator>
                </validators>
            </field>
            <field name="inStock"   type="boolean"  title="In Stock"/>
            <field name="nextShipment"  type="date" title="Next Shipment"/>
        </fields>
    </DataSource>
    then modify the #fetchOperationFS sample like this:

    Code:
    isc.ListGrid.create({
        ID:"dsListGrid", 
        width: "100%",
        height: "100%",
        minFieldWidth:80,
        autoFetchData: true,
        dataSource: "supplyItem",
        canEdit: true
    });
    Then:
    1. Edit the first record: type something in the description field, clear the unitCost field, and save.
    2. Edit the inStock field: you'll get a (wrong) validation error on the unitCost field.

    Tomcat logs:
    Code:
     === 2017-03-24 07:36:39,272 [c-17] INFO  RequestContext - URL: '/isomorphic/skins/Tahoe/images/DynamicForm/cb-uncheck-hover.png', 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-03-24 07:36:39,275 [c-17] INFO  Download - done streaming: /Users/bosticco/librerie/isc/11.1/SmartClient_SNAPSHOT_v111d_2017-03-23_Enterprise/smartclientSDK/isomorphic/skins/Tahoe/images/DynamicForm/cb-uncheck-hover.png
      === 2017-03-24 07:36:42,274 [c-17] 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-03-24 07:36:42,276 [c-17] DEBUG XML - Parsed XML from (in memory stream): 1ms
      === 2017-03-24 07:36:42,277 [c-17] DEBUG RPCManager - Processing 1 requests.
      === 2017-03-24 07:36:42,278 [c-17] DEBUG RPCManager - Request #1 (DSRequest) payload: {
          criteria:{
              itemID:1
          },
          values:{
              itemID:1,
              description:"aa",
              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:1,
              SKU:"45300",
              inStock:false,
              units:"Roll"
          }
      }
      === 2017-03-24 07:36:42,278 [c-17] INFO  IDACall - Performing 1 operation(s)
      === 2017-03-24 07:36:42,278 [c-17] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
      === 2017-03-24 07:36:42,278 [c-17] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing...
      === 2017-03-24 07:36:42,278 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application
      === 2017-03-24 07:36:42,278 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation
      === 2017-03-24 07:36:42,279 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is:
      {
          fieldName:"description",
          operator:"isNull"
      }
      record is:
      {
          itemID:1,
          unitCost:null,
          description:"aa"
      }
      === 2017-03-24 07:36:42,279 [c-17] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null
      === 2017-03-24 07:36:42,279 [c-17] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks.
      === 2017-03-24 07:36:42,279 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application
      === 2017-03-24 07:36:42,279 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation
      === 2017-03-24 07:36:42,280 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with
          criteria: {itemID:1}    values: {itemID:1}
      === 2017-03-24 07:36:42,280 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
      === 2017-03-24 07:36:42,280 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 636: 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-03-24 07:36:42,280 [c-17] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '1503373105'
      === 2017-03-24 07:36:42,280 [c-17] INFO  SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '1503373105': 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-03-24 07:36:42,281 [c-17] INFO  DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items
      === 2017-03-24 07:36:42,282 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is:
      {
          itemID:1,
          unitCost:null,
          description:"aa"
      }
      === 2017-03-24 07:36:42,282 [c-17] 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:"aa",
          SKU:"45300",
          inStock:false,
          units:"Roll"
      }
      === 2017-03-24 07:36:42,282 [c-17] INFO  DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: inactive
      === 2017-03-24 07:36:42,282 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' for validator type 'required', 'applyWhen' is:
      {
          fieldName:"unitCost",
          operator:"isNull"
      }
      record is:
      {
          itemID:1,
          unitCost:null,
          description:"aa"
      }
      === 2017-03-24 07:36:42,283 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is:
      {
          itemID:1,
          unitCost:null,
          description:"aa"
      }
      === 2017-03-24 07:36:42,283 [c-17] 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:"aa",
          SKU:"45300",
          inStock:false,
          units:"Roll"
      }
      === 2017-03-24 07:36:42,283 [c-17] INFO  DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' conditional validator of type 'required' is: active
      === 2017-03-24 07:36:42,283 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update] Performing update operation with
          criteria: {itemID:1}    values: {itemID:1,description:"aa",unitCost:null}
      === 2017-03-24 07:36:42,284 [c-17] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update] Borrowed connection '366003048'
      === 2017-03-24 07:36:42,284 [c-17] DEBUG SQLTransaction - [builtinApplication.supplyItem_update] Started new HSQLDB transaction "366003048"
      === 2017-03-24 07:36:42,284 [c-17] DEBUG SQLDataSource - [builtinApplication.supplyItem_update] Setting DSRequest as being part of a transaction
      === 2017-03-24 07:36:42,284 [c-17] INFO  SQLDriver - [builtinApplication.supplyItem_update] Executing SQL query on 'HSQLDB' using connection '366003048': UPDATE supplyItem SET description='aa', unitCost=NULL WHERE (supplyItem.itemID=1)
      === 2017-03-24 07:36:42,284 [c-17] DEBUG SQLDataSource - [builtinApplication.supplyItem_update] update operation affected 1 rows
      === 2017-03-24 07:36:42,284 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update] primaryKeys: {itemID=1}
      === 2017-03-24 07:36:42,284 [c-17] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null
      === 2017-03-24 07:36:42,284 [c-17] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] DataSource supplyItem is not in the pre-checked list, processing...
      === 2017-03-24 07:36:42,285 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application
      === 2017-03-24 07:36:42,285 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation
      === 2017-03-24 07:36:42,285 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with
          criteria: {itemID:1}    values: {itemID:1}
      === 2017-03-24 07:36:42,285 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
      === 2017-03-24 07:36:42,286 [c-17] DEBUG SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Using SQL Limit query
      === 2017-03-24 07:36:42,286 [c-17] DEBUG SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] SQL windowed select rows 0->-1, result size 1. Query: SELECT LIMIT 0 1  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-03-24 07:36:42,286 [c-17] DEBUG SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] SQL windowed select rows 0->-1, result size 1. Query: SELECT LIMIT 0 1  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-03-24 07:36:42,286 [c-17] DEBUG SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Setting DSRequest as being part of a transaction
      === 2017-03-24 07:36:42,286 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 631: Executing cache sync query on 'HSQLDB': SELECT LIMIT 0 1  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-03-24 07:36:42,286 [c-17] INFO  DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items
      === 2017-03-24 07:36:42,287 [c-17] INFO  DSResponse - DSResponse: List with 1 items
      === 2017-03-24 07:36:42,287 [c-17] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
      === 2017-03-24 07:36:42,287 [c-17] DEBUG SQLTransaction - Committing HSQLDB transaction "366003048"
      === 2017-03-24 07:36:42,287 [c-17] DEBUG RPCManager - non-DMI response, dropExtraFields: false
      === 2017-03-24 07:36:42,287 [c-17] DEBUG SQLTransaction - getConnection() looked for transactional connection for HSQLDB:  hashcode "366003048"
      === 2017-03-24 07:36:42,287 [c-17] DEBUG SQLTransaction - Ending HSQLDB transaction "366003048"
      === 2017-03-24 07:36:42,287 [c-17] DEBUG SQLConnectionManager - About to close connection with hashcode "366003048"
      === 2017-03-24 07:36:42,287 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 631
      === 2017-03-24 07:36:42,287 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 631
      === 2017-03-24 07:36:42,288 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 631
      === 2017-03-24 07:36:42,288 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 636
      === 2017-03-24 07:36:42,288 [c-17] DEBUG SQLDriver - Freeing SQLDriver dbConnection 1503373105 for SQLDriver instance 108800648
      === 2017-03-24 07:36:42,288 [c-17] DEBUG SQLConnectionManager - About to close connection with hashcode "1503373105"
      === 2017-03-24 07:36:42,288 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 636
      === 2017-03-24 07:36:42,288 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 636
      === 2017-03-24 07:36:42,288 [c-17] INFO  Compression - /isomorphic/IDACall: 313 -> 241 bytes
      === 2017-03-24 07:36:44,791 [c-17] 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-03-24 07:36:44,792 [c-17] DEBUG XML - Parsed XML from (in memory stream): 1ms
      === 2017-03-24 07:36:44,793 [c-17] DEBUG RPCManager - Processing 1 requests.
      === 2017-03-24 07:36:44,794 [c-17] DEBUG RPCManager - Request #1 (DSRequest) payload: {
          criteria:{
              itemID:1
          },
          values:{
              itemID:1,
              inStock:true
          },
          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,
              description:"aa",
              SKU:"45300",
              inStock:false,
              units:"Roll"
          }
      }
      === 2017-03-24 07:36:44,794 [c-17] INFO  IDACall - Performing 1 operation(s)
      === 2017-03-24 07:36:44,794 [c-17] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null
      === 2017-03-24 07:36:44,794 [c-17] DEBUG DeclarativeSecurity - DataSource supplyItem is not in the pre-checked list, processing...
      === 2017-03-24 07:36:44,794 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update] No userTypes defined, allowing anyone access to all operations for this application
      === 2017-03-24 07:36:44,794 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update] No public zero-argument method named '_supplyItem_update' found, performing generic datasource operation
      === 2017-03-24 07:36:44,795 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' for validator type 'required', 'applyWhen' is:
      {
          fieldName:"description",
          operator:"isNull"
      }
      record is:
      {
          itemID:1,
          unitCost:null,
          description:null,
          inStock:true
      }
      === 2017-03-24 07:36:44,795 [c-17] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Processing security checks for DataSource null, field null
      === 2017-03-24 07:36:44,795 [c-17] DEBUG DeclarativeSecurity - [builtinApplication.supplyItem_update] Request is not a client request, ignoring security checks.
      === 2017-03-24 07:36:44,795 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No userTypes defined, allowing anyone access to all operations for this application
      === 2017-03-24 07:36:44,795 [c-17] DEBUG AppBase - [builtinApplication.supplyItem_update, builtinApplication.null] No public zero-argument method named '_null' found, performing generic datasource operation
      === 2017-03-24 07:36:44,795 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] Performing fetch operation with
          criteria: {itemID:1}    values: {itemID:1}
      === 2017-03-24 07:36:44,795 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
      === 2017-03-24 07:36:44,796 [c-17] INFO  SQLDataSource - [builtinApplication.supplyItem_update, builtinApplication.null] 631: 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-03-24 07:36:44,796 [c-17] DEBUG SQLConnectionManager - [builtinApplication.supplyItem_update, builtinApplication.null] Borrowed connection '1503373105'
      === 2017-03-24 07:36:44,796 [c-17] INFO  SQLDriver - [builtinApplication.supplyItem_update, builtinApplication.null] Executing SQL query on 'HSQLDB' using connection '1503373105': 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-03-24 07:36:44,797 [c-17] INFO  DSResponse - [builtinApplication.supplyItem_update] DSResponse: List with 1 items
      === 2017-03-24 07:36:44,797 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is:
      {
          itemID:1,
          unitCost:null,
          description:null,
          inStock:true
      }
      === 2017-03-24 07:36:44,797 [c-17] 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:"45300",
          description:null,
          inStock:true,
          units:"Roll"
      }
      === 2017-03-24 07:36:44,797 [c-17] INFO  DefaultValidators - [builtinApplication.supplyItem_update] on field: 'unitCost' conditional validator of type 'required' is: active
      === 2017-03-24 07:36:44,798 [c-17] DEBUG ValidationContext - [builtinApplication.supplyItem_update] Adding validation errors at path '/supplyItem/unitCost/unitCost': {errorMessage=Field is required}
      === 2017-03-24 07:36:44,798 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' for validator type 'required', 'applyWhen' is:
      {
          fieldName:"unitCost",
          operator:"isNull"
      }
      record is:
      {
          itemID:1,
          unitCost:null,
          description:null,
          inStock:true
      }
      === 2017-03-24 07:36:44,798 [c-17] DEBUG DefaultValidators - [builtinApplication.supplyItem_update] NOTE: Record after applying stored values is:
      {
          itemID:1,
          unitCost:null,
          description:"aa",
          inStock:true
      }
      === 2017-03-24 07:36:44,798 [c-17] 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:"45300",
          description:null,
          inStock:true,
          units:"Roll"
      }
      === 2017-03-24 07:36:44,798 [c-17] INFO  DefaultValidators - [builtinApplication.supplyItem_update] on field: 'description' conditional validator of type 'required' is: active
      === 2017-03-24 07:36:44,798 [c-17] INFO  Validation - [builtinApplication.supplyItem_update] Validation error: [
          {
              unitCost:{
                  errorMessage:"Field is required"
              }
          }
      ]
      === 2017-03-24 07:36:44,798 [c-17] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
      === 2017-03-24 07:36:44,798 [c-17] DEBUG RPCManager - non-DMI response, dropExtraFields: false
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 636
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 636
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 636
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 631
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDriver - Freeing SQLDriver dbConnection 1503373105 for SQLDriver instance 2085409142
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLConnectionManager - About to close connection with hashcode "1503373105"
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 631
      === 2017-03-24 07:36:44,799 [c-17] DEBUG SQLDataSource - About to clear SQLDriver state for DS instance 631
      === 2017-03-24 07:36:44,799 [c-17] INFO  Compression - /isomorphic/IDACall: 216 -> 181 bytes

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    repeating the actions from yesterday did not provoke the validator to be applied.

    Best regards
    Blama

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    unfortunately no. Just got the jar from the server, this is the manifest.mf (I updated yesterday, but there is no reason that I was not using the correct jars before):
    Code:
    Manifest-Version: 1.0
    Isomorphic-SmartClient-Package-Date: 2017-03-11
    Isomorphic-SmartClient-Version: v10.1p_2017-03-11PowerEdition
    Created-By: 1.8.0_111 (Oracle Corporation)
    Implementation-Vendor: Isomorphic Software, Inc.
    But it was the 1st time I experienced the bug 1st and not the customer.
    I added three entries, then wanted to update one of them, which failed. Adding (a user) is not something I do often, so perhaps it is related to this.
    Also, the (wrongly) called validator that blocked the update should also have (wrongly) blocked the 2nd/3rd insert IMHO.
    I'll definitely try this again locally, but perhaps this information does already help you.

    Best regards
    Blama

    Leave a comment:


  • Isomorphic
    replied
    Yes, the change was ported back as far as 5.0p, so that is bad news. Looking at how obscure the problem we fixed was, and how perfectly it would have matched your observed pattern of failure, we were very confident that this was the right fix. Is it possible that a simple deployment error means you're using an older version of the JAR file (isomorphic_core_rpc.jar)?

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    really bad news. This issue appeared again, this time using v10.1p_2017-03-02.
    Did your fix from #32 also make it in 5.1p?

    Originally posted by Blama View Post
    Hi Isomorphic,
    that's great news, thank you. I'll try and then observe if I ever get complaints for that issue again. So feedback might take a while.
    Best regards
    Blama

    Leave a comment:


  • Blama
    replied
    Hi Isomorphic,

    I'm currently adding from/to-date-fields where I have a (obvious) dependency between the fields. I copied velocity code I already have in place for a similar use case, but seeing the test cases here it is very clear that this descriptive approach is way nicer. As I suppose that this will be a feature for 6.1p, I wanted to let you know that there is no documentation on it in the docs, currently (see #4). I'm pretty sure that this will be an awesome feature I'll definitely use, so documentation on it is highly appreciated.

    Best regards
    Blama

    Leave a comment:


  • claudiobosticco
    replied
    SmartClient Version: SNAPSHOT_v11.1d_2017-03-02/Enterprise Development Only (built 2017-03-02)

    I can confirm that the test case from post #47 is also fixed, thank you very much.

    Leave a comment:


  • claudiobosticco
    replied
    Originally posted by Isomorphic View Post
    Also, we are not aware of any changes made between the 9th and 20th of February that would affect your test case #48.
    oh, sorry, I've just re-tested it and actually there isn't that bug with that version....it may be that I've modified the wrong dataSource file.

    Originally posted by Isomorphic View Post
    Anyway, we have explicitly tested that both #47 and #48 behave correctly with the fix just applied - will be present in tomorrow's builds of 11.1 / 6.1.
    ok, waiting for the 02-03 build, thanks

    Leave a comment:


  • Isomorphic
    replied
    OK, we reproduce the problem described in #47 - not sure how that got missed last time because we are using your test cases. Also, we are not aware of any changes made between the 9th and 20th of February that would affect your test case #48. Anyway, we have explicitly tested that both #47 and #48 behave correctly with the fix just applied - will be present in tomorrow's builds of 11.1 / 6.1.

    Leave a comment:


  • claudiobosticco
    replied
    Hello, any news on the remaining bug?

    Leave a comment:

Working...
X