Hello, using SGWT 3.0 Power.
I have the following operation bindings:
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:
Is this a bug or am I doing something wrong?
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>
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"
Comment