Currently running gwt 2.3 and smartgwtpower 2.5 nightly. I am replicating the Dynamic Reporting example on the smart client ee showcase. The only difference I have is that the time filtering I have using a DateTimeItem instead of a DateItem in the DynamicForm. I'm also using advancedCriteria instead of criteria
When the web app loads initially I get the error: Server returned FAILURE with no error message performing operation 'summary'
If I try to change the date and hit the filter button, I get the same error thrown and no results. But I have a toolstrip with a refresh button that if I press it, it refreshes the table and I can then change the date in the dynamic form and I will stop getting the error and be able to filter and get results. Here is the refresh method.
However, I do notice that when I select an item from a selectitem and click the filtereditor filter button, i don't get the correct results. For example if I have a column named Id and I click on an Id from the selectitem that appears in the table and click the filter editor filter button, i get no results.
Code:
<whereClause><![CDATA[ dynRepOrderItem.itemID = supplyItem.itemID AND orderDate >= $advancedCriteria.startDate AND orderDate <= $advancedCriteria.endDate AND $defaultWhereClause ]]> </whereClause> <groupClause> dynRepOrderItem.itemID, itemName,SKU, unitCost </groupClause> <groupWhereClause>($defaultWhereClause)</groupWhereClause>
Code:
=== 2011-11-30 18:17:16,514 [l0-5] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ operator:"and", criteria:[ { fieldName:null, operator:"greaterOrEqual", value:new Date(1322590636000) }, { fieldName:null, operator:"lessOrEqual", value:new Date(1322677036000) } ], _constructor:"AdvancedCriteria" }, operationConfig:{ dataSource:"MyProjectDataSource", operationType:"fetch", textMatchStyle:"substring" }, startRow:0, endRow:75, componentId:"My_Project_Listgrid_1", appID:"builtinApplication", operation:"summary", oldValues:{ operator:"and", criteria:[ { fieldName:null, operator:"greaterOrEqual", value:new Date(1322590636000) }, { fieldName:null, operator:"lessOrEqual", value:new Date(1322677036000) } ], _constructor:"AdvancedCriteria" } } === 2011-11-30 18:17:16,514 [l0-5] INFO IDACall - Performing 1 operation(s) === 2011-11-30 18:17:16,514 [l0-5] WARN RequestContext - dsRequest.execute() failed: java.lang.NullPointerException at com.isomorphic.datasource.IncludeFromDefinition.isDynamicInclusion(IncludeFromDefinition.java:31) at com.isomorphic.datasource.DSRequest.buildIncludeFromDefinitions(DSRequest.java:3268) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1610) 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 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) === 2011-11-30 18:17:16,515 [l0-5] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2011-11-30 18:17:16,516 [l0-5] DEBUG RPCManager - non-DMI response, dropExtraFields: false ******************************************************************************************************************* 18:17:16.665 [ERROR] [myproject] 18:17:16.664:XRP8:WARN:RPCManager:Server returned FAILURE with no error message performing operation 'summary'., response: {operationId: "summary", clientContext: Obj, context: Obj, transactionNum: 11, httpResponseCode: 200, httpResponseText: "//isc_RPCResponseStart-->[{queueStatus:-..."[123], xmlHttpRequest: [object XMLHttpRequest], transport: "xmlHttpRequest", status: -1, clientOnly: undef, httpHeaders: Obj, isStructured: true, callbackArgs: null, results: Obj, queueStatus: -1, isDSResponse: true, invalidateCache: false, data: null, startRow: 0, endRow: 0, totalRows: 0} com.smartgwt.client.core.JsObject$SGWT_WARN: 18:17:16.664:XRP8:WARN:RPCManager:Server returned FAILURE with no error message performing operation 'summary'., response: {operationId: "summary", clientContext: Obj, context: Obj, transactionNum: 11, httpResponseCode: 200, httpResponseText: "//isc_RPCResponseStart-->[{queueStatus:-..."[123], xmlHttpRequest: [object XMLHttpRequest], transport: "xmlHttpRequest", status: -1, clientOnly: undef, httpHeaders: Obj, isStructured: true, callbackArgs: null, results: Obj, queueStatus: -1, isDSResponse: true, invalidateCache: false, data: null, startRow: 0, endRow: 0, totalRows: 0} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) at java.lang.Thread.run(Thread.java:662)
Code:
Date aDate2 = new Date(); theEndDateTimeItem.setValue(aDate2); CalendarUtil.addDaysToDate(aDate2, -1); theStartDateTimeItem.setValue(aDate2); theLastFilteredCriteria = theDateFilterForm.getValuesAsAdvancedCriteria(); // filter the list grid theListGrid.invalidateCache(); theListGrid.filterData(theLastFilteredCriteria);
Comment