Version: Power Edition 2.3 – Build 2010.10.20
I found a regression in nightly build 2010.10.11. In the nightly build the response data of a generic datasource are swallowed.
Client Code:
Server Code:
Log output:
In the log you can see that the response has 866 entries, but it seems that an additional filter is executed on the response data. After the filter step the data disappeared. That behaviour is new in the tested build.
More information required?
I found a regression in nightly build 2010.10.11. In the nightly build the response data of a generic datasource are swallowed.
Client Code:
Code:
Criteria c = filterBuilder.getCriteria(); c.addCriteria(filterForm.getValuesAsCriteria()); skmLoginDS.fetchData(c, new DSCallback() { @Override public void execute(DSResponse response, Object rawData, DSRequest request) { if (response.getStatus() >= 0) { final RecordList list = response.getDataAsRecordList(); … });
Code:
public DSResponse fetch(DSRequest dsRequest) throws Exception { DSResponse dsResponse = new DSResponse(); List<Map> data = new ArrayList<Map>(); Connection c = ConnectionThreadHelper .getConnectionForTransaction(dsRequest); Map complexCriteria = dsRequest.getCriteria(); List constraints = new ArrayList(); List list = (List) complexCriteria.get("criteria"); Integer uniUntId = null; Integer uniId = null; Integer lotId = null; for (Iterator iterator = list.iterator();){ //fill variables } data = LoginDAO.getLoginsForSkillsetManager(c, lotId, uniId,uniUntId, constraints); dsResponse.setData(data); dsResponse.setTotalRows(data.size()); dsResponse.setStartRow(0); dsResponse.setEndRow(data.size()); dsResponse.setSuccess(); return dsResponse; }
Code:
=== 2010-10-22 11:04:10,889 [l0-5] DEBUG RPCManager - Processing 1 requests. === 2010-10-22 11:04:10,889 [l0-5] DEBUG DataSource - Creating instance of DataSource 'skm_login' === 2010-10-22 11:04:10,889 [l0-5] DEBUG RPCManager - Request #1 (DSRequest) payload: { criteria:{ _constructor:"AdvancedCriteria", operator:"and", criteria:[ { fieldName:"lot_id", operator:"equals", value:29 } ] }, operationConfig:{ dataSource:"skm_login", operationType:"fetch" }, appID:"builtinApplication", operation:"skm_login_fetch", oldValues:{ _constructor:"AdvancedCriteria", operator:"and", criteria:[ { fieldName:"lot_id", operator:"equals", value:29 } ] } } === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - adaptArgsAndInvoke: public com.isomorphic.datasource.DSResponse de.tmobile.sdom.frontend.server.dmi.SKMLoginDMI.fetch(com.isomorphic.datasource.DSRequest) throws java.lang.Exception requiredArgs: [] optionalArgs: [com.isomorphic.servlet.RequestContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext, javax.servlet.http.HttpSession, com.isomorphic.rpc.RPCManager, com.isomorphic.datasource.DSRequest, com.isomorphic.datasource.DataSource, java.sql.Connection, com.isomorphic.log.Logger, java.util.Map] === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: com.isomorphic.servlet.RequestContext fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: javax.servlet.http.HttpServletRequest fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: javax.servlet.http.HttpServletResponse fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: javax.servlet.ServletContext fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: javax.servlet.http.HttpSession fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: com.isomorphic.rpc.RPCManager fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - checking whether type: com.isomorphic.datasource.DSRequest fulfills type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - Successfully adapted optional arg type: com.isomorphic.datasource.DSRequest to type: com.isomorphic.datasource.DSRequest === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - method takes: 1 args. I've assembled: 1 args === 2010-10-22 11:04:11,154 [l0-5] DEBUG Reflection - invoking method: com.isomorphic.datasource.DSResponse de.tmobile.sdom.frontend.server.dmi.SKMLoginDMI.fetch(com.isomorphic.datasource.DSRequest) throws java.lang.Exception with arg types: com.isomorphic.datasource.DSRequest [WARN] Server class 'org.apache.commons.beanutils.ResultSetDynaClass' could not be found in the web app, but was found on the system classpath [WARN] Adding classpath entry 'file:/C:/DEV/svn/SDOM/trunk/java/frontend/war/WEB-INF/lib/smartgwtpower-2.3/commons-beanutils-1.0.jar' to the web app classpath for this session For additional info see: file:/C:/DEV/eclipse/plugins/com.google.gwt.eclipse.sdkbundle.2.0.4_2.0.4.v201006301254/gwt-2.0.4/doc/helpInfo/webAppClassPath.html === 2010-10-22 11:04:29,353 [l0-5] INFO DSResponse - DSResponse: List with 866 items === 2010-10-22 11:04:29,384 [l0-5] DEBUG DefaultOperators - criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { fieldName:"lot_id", operatorId:"equals", value:29 }: And === 2010-10-22 11:04:29,384 [l0-5] DEBUG DefaultOperators - And 0/0: false === 2010-10-22 11:04:29,384 [l0-5] DEBUG DefaultOperators - criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { fieldName:"lot_id", operatorId:"equals", value:29 }: And === 2010-10-22 11:04:29,384 [l0-5] DEBUG DefaultOperators - And 0/0: false === 2010-10-22 11:04:29,384 [l0-5] DEBUG DefaultOperators - criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { fieldName:"lot_id", operatorId:"equals", value:29 }: And }: And === 2010-10-22 11:04:29,696 [l0-5] DEBUG DefaultOperators - And 0/0: false === 2010-10-22 11:04:29,696 [l0-5] DEBUG DefaultOperators - criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { fieldName:"lot_id", operatorId:"equals", value:29 }: And === 2010-10-22 11:04:29,696 [l0-5] DEBUG DefaultOperators - And 0/0: false === 2010-10-22 11:04:29,696 [l0-5] DEBUG DefaultOperators - criterion (class com.isomorphic.criteria.criterion.SimpleCriterion): { fieldName:"lot_id", operatorId:"equals", value:29 }: And === 2010-10-22 11:04:29,696 [l0-5] DEBUG DefaultOperators - And 0/0: false === 2010-10-22 11:04:29,696 [l0-5] DEBUG RequestContext - Setting headers to disable caching === 2010-10-22 11:04:29,696 [l0-5] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2010-10-22 11:04:29,696 [l0-5] DEBUG RequestContext - Getting output stream via servletResponse.getWriter() === 2010-10-22 11:04:29,696 [l0-5] DEBUG DataSource - Creating instance of DataSource 'skm_login' === 2010-10-22 11:04:29,696 [l0-5] DEBUG RPCManager - DMI response, dropExtraFields: true === 2010-10-22 11:04:29,696 [l0-5] DEBUG DataSource - Creating instance of DataSource 'skm_login' request: Servlet path: '/frontend/sc/skins' Request URI: '/frontend/sc/skins/Graphite/images/loadingSmall.gif'
More information required?
Comment