details: https://code.openbravo.com/erp/devel/pi/rev/8839b720e9f9 changeset: 16904:8839b720e9f9 user: Martin Taal <martin.taal <at> openbravo.com> date: Fri Jun 22 14:58:32 2012 +0200 summary: Fixes issue 20841: Prevent null pointer exception in the FIC component Prevent NPE by adding an if statement and treating null differently
details: https://code.openbravo.com/erp/devel/pi/rev/4d7158b8b0d4 changeset: 16905:4d7158b8b0d4 user: Martin Taal <martin.taal <at> openbravo.com> date: Fri Jun 22 15:00:41 2012 +0200 summary: Fixes issue 20840: Product selector in Product Bill of Material does not work If the warehouse is not defined in the session then the default value expression evaluation returns a '', handle this case. Note this has not worked for a long while, it does not work in main either details: https://code.openbravo.com/erp/devel/pi/rev/c5c63ab2d60e changeset: 16906:c5c63ab2d60e user: Martin Taal <martin.taal <at> openbravo.com> date: Fri Jun 22 15:02:39 2012 +0200 summary: Related to 20829: BB.DD rrror when executing Bill of Materials Production process Only do left join fetching if explicitly set, in other cases uses normal left join handling details: https://code.openbravo.com/erp/devel/pi/rev/d41c49f86b66 changeset: 16907:d41c49f86b66 user: Martin Taal <martin.taal <at> openbravo.com> date: Fri Jun 22 23:24:09 2012 +0200 summary: Merged branches diffstat: modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java | 9 +++++++-- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-number.js | 2 +- modules/org.openbravo.service.json/src/org/openbravo/service/json/AdvancedQueryBuilder.java | 10 +++++++++- modules/org.openbravo.service.json/src/org/openbravo/service/json/DataEntityQueryService.java | 7 +++++++ modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java | 4 +++- modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java | 10 ++++++++-- modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java | 2 +- 7 files changed, 36 insertions(+), 8 deletions(-) diffs (147 lines): diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/FormInitializationComponent.java Fri Jun 22 23:24:09 2012 +0200 @@ -1033,8 +1033,13 @@ if (currentValue != null && currentValue.equals("null")) { currentValue = null; } - RequestContext.get().setRequestParameter("inp" + Sqlc.TransformaNombreColumna(columnName), - currentValue.toString()); + if (currentValue == null) { + RequestContext.get().setRequestParameter("inp" + Sqlc.TransformaNombreColumna(columnName), + null); + } else { + RequestContext.get().setRequestParameter("inp" + Sqlc.TransformaNombreColumna(columnName), + currentValue.toString()); + } } } diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-number.js --- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-number.js Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-utilities-number.js Fri Jun 22 23:24:09 2012 +0200 @@ -293,7 +293,7 @@ OB.Utilities.Number.JSToOBMasked = function (number, maskNumeric, decSeparator, groupSeparator, groupInterval) { var isANumber = Object.prototype.toString.call(number) === '[object Number]'; if (!isANumber) { - return null; + return number; } var formattedNumber = number; formattedNumber = formattedNumber.toString(); diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.service.json/src/org/openbravo/service/json/AdvancedQueryBuilder.java --- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/AdvancedQueryBuilder.java Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/AdvancedQueryBuilder.java Fri Jun 22 23:24:09 2012 +0200 @@ -1253,7 +1253,7 @@ private Property property; private String joinAlias = getNewUniqueJoinAlias(); private String ownerAlias; - private boolean fetchJoin = true; + private boolean fetchJoin = AdvancedQueryBuilder.this.isJoinAssociatedEntities(); public boolean appliesTo(String checkAlias, Property checkProperty) { return checkAlias.equals(ownerAlias) && checkProperty == property; @@ -1347,6 +1347,14 @@ return additionalProperties; } + public void clearCachedValues() { + joinClause = null; + whereClause = null; + orderByClause = null; + joinDefinitions.clear(); + typedParameters.clear(); + } + public void setAdditionalProperties(List<String> additionalProperties) { this.additionalProperties = additionalProperties; } diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.service.json/src/org/openbravo/service/json/DataEntityQueryService.java --- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataEntityQueryService.java Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DataEntityQueryService.java Fri Jun 22 23:24:09 2012 +0200 @@ -107,6 +107,8 @@ log.debug("Querying for " + entityName + " " + whereOrderBy); + // System.err.println("Querying for " + entityName + " " + whereOrderBy); + final OBQuery<BaseOBObject> obq = OBDal.getInstance().createQuery(entityName, whereOrderBy); if (getFirstResult() != null) { obq.setFirstResult(getFirstResult()); @@ -233,4 +235,9 @@ public void setAdditionalProperties(List<String> additionalProperties) { queryBuilder.setAdditionalProperties(additionalProperties); } + + public void clearCachedValues() { + queryBuilder.clearCachedValues(); + } + } diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java --- a/modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.service.json/src/org/openbravo/service/json/DefaultJsonDataService.java Fri Jun 22 23:24:09 2012 +0200 @@ -279,7 +279,8 @@ // compute a new startrow if the targetrecordid was passed in int targetRowNumber = -1; - if (!directNavigation && parameters.containsKey(JsonConstants.TARGETRECORDID_PARAMETER)) { + if (!forCountOperation && !directNavigation + && parameters.containsKey(JsonConstants.TARGETRECORDID_PARAMETER)) { final String targetRecordId = parameters.get(JsonConstants.TARGETRECORDID_PARAMETER); targetRowNumber = queryService.getRowNumber(targetRecordId); if (targetRowNumber != -1) { @@ -293,6 +294,7 @@ } queryService.setFirstResult(startRow); } + queryService.clearCachedValues(); } if (!forCountOperation) { queryService.setAdditionalProperties(JsonUtils.getAdditionalProperties(parameters)); diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java --- a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDataSourceFilter.java Fri Jun 22 23:24:09 2012 +0200 @@ -38,6 +38,7 @@ import org.openbravo.client.kernel.reference.StringUIDefinition; import org.openbravo.client.kernel.reference.UIDefinition; import org.openbravo.client.kernel.reference.UIDefinitionController; +import org.openbravo.dal.core.DalUtil; import org.openbravo.dal.core.OBContext; import org.openbravo.dal.service.OBCriteria; import org.openbravo.dal.service.OBDal; @@ -155,7 +156,12 @@ } else { // A property in the entity is searched for this fieldName // If the property is numeric or date, then it is filtered - String[] fieldNameSplit = fieldName.split("\\."); + String[] fieldNameSplit; + if (fieldName.contains(DalUtil.FIELDSEPARATOR)) { + fieldNameSplit = fieldName.split("\\" + DalUtil.FIELDSEPARATOR); + } else { + fieldNameSplit = fieldName.split("\\" + DalUtil.DOT); + } Property fProp = null; if (fieldNameSplit.length == 1) { fProp = entity.getProperty(fieldName); @@ -286,7 +292,7 @@ result = ParameterUtils.getJSExpressionResult(parameters, request.getSession(), sf.getDefaultExpression()); - if (result == null || result.toString().equals("")) { + if (result == null || result.toString().equals("") || result.toString().equals("''")) { continue; } diff -r fee596d84bb3 -r d41c49f86b66 modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java --- a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java Fri Jun 22 11:12:39 2012 +0200 +++ b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java Fri Jun 22 23:24:09 2012 +0200 @@ -84,7 +84,7 @@ if (sel.isCustomQuery()) { result.put(f.getDisplayColumnAlias().replace(DalUtil.DOT, DalUtil.FIELDSEPARATOR), exprResult); - } else { + } else if (exprResult != null && !exprResult.equals("") && !exprResult.equals("''")) { String fieldName = f.getProperty(); result.put(fieldName.replace(DalUtil.DOT, DalUtil.FIELDSEPARATOR), exprResult); } ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
