Announcement

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

    cacheSyncOperation problem

    Hello, using SGWT 3.0 Power.

    I have the following operation bindings:
    Code:
    <operationBinding operationType="add" requiresAuthentication="false" requiresRole="" operationId="PublicSave" dataURL="/generatedcode/sc/PublicIDACall" cacheSyncOperation="PublicFetch">
            <tableClause>CourseOptionSelection (SaasCustomer_id,CourseOptionValue_id,students_id) VALUES </tableClause>
            <valuesClause>((SELECT SaasCustomer_id FROM SaasCustomer WHERE hostname=$values.hostname), $values.CourseOptionValue_id, $values.students_id)</valuesClause>
    
        </operationBinding>
    
    <operationBinding operationType="fetch" requiresAuthentication="" requiresRole="" operationId="PublicFetch" dataURL="/generatedcode/sc/PublicIDACall">
         </operationBinding>
    When I run the add (which works fine), the cacheSyncOperation triggers the use of the PublicFetch fetch operation. After it runs this, the following stacktrace appears:

    Code:
    === 2012-01-06 17:50:25,807 [l0-0] INFO  SQLDataSource - [builtinApplication.PublicSave] Performing add operation with
    	criteria: {hostname:"test",CourseOptionValue_id:"5",students_id:67}	values: {hostname:"test",CourseOptionValue_id:5,students_id:67}
    === 2012-01-06 17:50:25,808 [l0-0] DEBUG SQLValuesClause - [builtinApplication.PublicSave] Sequences: {CourseOptionSelection_id=__default}
    === 2012-01-06 17:50:25,810 [l0-0] INFO  SQLDriver - [builtinApplication.PublicSave] Executing SQL update on 'Mysql': INSERT INTO CourseOptionSelection (SaasCustomer_id,CourseOptionValue_id,students_id) VALUES  ((SELECT SaasCustomer_id FROM SaasCustomer WHERE hostname='test'), 5, 67)
    === 2012-01-06 17:50:25,812 [l0-0] DEBUG SQLDataSource - [builtinApplication.PublicSave] add operation affected 1 rows
    === 2012-01-06 17:50:25,812 [l0-0] DEBUG MysqlDriver - [builtinApplication.PublicSave] fetchLastRow data - primaryKeysPresent: {}sequencesNotPresent: [CourseOptionSelection_id]
    === 2012-01-06 17:50:25,813 [l0-0] INFO  SQLDriver - [builtinApplication.PublicSave] Executing SQL query on 'Mysql': SELECT LAST_INSERT_ID()
    === 2012-01-06 17:50:25,814 [l0-0] INFO  SQLDataSource - [builtinApplication.PublicSave] primaryKeys: {CourseOptionSelection_id=24}
    === 2012-01-06 17:50:25,814 [l0-0] INFO  SQLDataSource - [builtinApplication.PublicSave] Mysql getLastRow(): using specific cacheSyncOperation PublicFetch
    === 2012-01-06 17:50:25,814 [l0-0] WARN  RequestContext - dsRequest.execute() failed: 
    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
    	at com.isomorphic.datasource.DeclarativeSecurity.dsRequestPassesSecurityChecks(DeclarativeSecurity.java:121)
    	at com.isomorphic.datasource.DSRequest.passesSecurityChecks(DSRequest.java:3008)
    	at com.isomorphic.datasource.DSRequest.passesSecurityChecks(DSRequest.java:3004)
    	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1834)
    	at com.isomorphic.sql.SQLDataSource.getLastRow(SQLDataSource.java:511)
    	at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1408)
    	at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:293)
    	at com.isomorphic.sql.SQLDataSource.executeAdd(SQLDataSource.java:245)
    	at com.isomorphic.datasource.DataSource.execute(DataSource.java:1289)
    	at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:721)
    	at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658)
    	at com.isomorphic.application.AppBase.execute(AppBase.java:491)
    	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1948)
    	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:199)
    	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:156)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:121)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at nl.sytematic.projects.Technicom.server.security.SytematicConcurrentSessionFilter.doFilter(SytematicConcurrentSessionFilter.java:62)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
    	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    === 2012-01-06 17:50:25,816 [l0-0] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
    === 2012-01-06 17:50:25,816 [l0-0] DEBUG SQLTransaction - Rolling back Mysql transaction "1821792212"
    Is this a bug or am I doing something wrong?

    #2
    This suggests that you are using older system/schema .ds.xml files (specifically OperationBinding.ds.xml). This might be corrected by running a GWT compile, otherwise, try to figure out whether/why this file is stale.

    Comment


      #3
      OperationBinding.ds.xml does seem to be the file from 29th Dec 2011, like the rest of the files. Ran a GWT Compile to no avail (it also happens in development mode btw). Also ran a clean build, and cleared browser's cache.

      So it's got to be something with the build path? Sure it's not a bug of some kind?
      Last edited by Sytematic; 7 Jan 2012, 00:48.

      Comment


        #4
        Oh -the problem is requiresAuthentication="" on your operationBinding. That's invalid, only true or false are allowed.

        Comment

        Working...
        X