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