You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/10/28 14:10:07 UTC
svn commit: r1813633 -
/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/
Author: mbrohl
Date: Sat Oct 28 14:10:07 2017
New Revision: 1813633
URL: http://svn.apache.org/viewvc?rev=1813633&view=rev
Log:
Improved: Fixing defects reported by FindBugs, package
org.apache.ofbiz.entity.condition.
(OFBIZ-9713)
Thanks Dennis Balkir for reporting and providing the patch.
Modified:
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityClause.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionBuilder.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionFunction.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityDateFilterCondition.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldMap.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldValue.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFunction.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityJoinOperator.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityWhereString.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByItem.java
ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByList.java
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityClause.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityClause.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityClause.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityClause.java Sat Oct 28 14:10:07 2017
@@ -139,9 +139,9 @@ public class EntityClause {
outputBuffer.append("[secondField,").append(secondField == null ? "null" : secondField).append("]");
outputBuffer.append("[firstModelEntity,").append(firstModelEntity == null ? "null" : (firstModelEntity.getEntityName() == null ? "null" : firstModelEntity.getEntityName())).append("]");
outputBuffer.append("[secondModelEntity,").append(secondModelEntity == null ? "null" : (secondModelEntity.getEntityName() == null ? "null" : secondModelEntity.getEntityName())).append("]");
- outputBuffer.append("[interFieldOperation,").append(interFieldOperation == null ? "null" : (interFieldOperation.getCode() == null ? "null" : interFieldOperation.getCode())).append("]");
+ outputBuffer.append("[interFieldOperation,").append(interFieldOperation == null ? "null" : (interFieldOperation.getCode())).append("]");
outputBuffer.append("[intraFieldOperation,").append(intraFieldOperation == null ? "null" : (intraFieldOperation.getCode() == null ? "null" : intraFieldOperation.getCode())).append("]");
- outputBuffer.append("[value,").append(getValue().toString() == null ? "null" : getValue().toString()).append("]");
+ outputBuffer.append("[value,").append(getValue().toString()).append("]");
return outputBuffer.toString();
}
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionBuilder.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionBuilder.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionBuilder.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionBuilder.java Sat Oct 28 14:10:07 2017
@@ -22,6 +22,7 @@ package org.apache.ofbiz.entity.conditio
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import org.apache.ofbiz.base.util.Debug;
@@ -87,9 +88,9 @@ public class EntityConditionBuilder exte
@Override
protected Object createNode(Object methodName) {
- String operatorName = ((String)methodName).toLowerCase();
+ String operatorName = ((String)methodName).toLowerCase(Locale.getDefault());
EntityJoinOperator operator = EntityOperator.lookupJoin(operatorName);
- List<EntityCondition> condList = new LinkedList<EntityCondition>();
+ List<EntityCondition> condList = new LinkedList<>();
return new ConditionHolder(EntityCondition.makeCondition(condList, operator));
}
@@ -103,17 +104,16 @@ public class EntityConditionBuilder exte
@Override
protected Object createNode(Object methodName, Map mapArg) {
Map<String, Object> fieldValueMap = UtilGenerics.checkMap(mapArg);
- String operatorName = ((String)methodName).toLowerCase();
+ String operatorName = ((String)methodName).toLowerCase(Locale.getDefault());
EntityComparisonOperator<String, Object> operator = EntityOperator.lookupComparison(operatorName);
- List<EntityCondition> conditionList = new LinkedList<EntityCondition>();
+ List<EntityCondition> conditionList = new LinkedList<>();
for (Map.Entry<String, Object> entry : fieldValueMap.entrySet()) {
conditionList.add(EntityCondition.makeCondition(entry.getKey(), operator, entry.getValue()));
}
if (conditionList.size() == 1) {
return new ConditionHolder(conditionList.get(0));
- } else {
- return new ConditionHolder(EntityCondition.makeCondition(conditionList));
}
+ return new ConditionHolder(EntityCondition.makeCondition(conditionList));
}
@Override
@@ -126,7 +126,7 @@ public class EntityConditionBuilder exte
ConditionHolder holder = (ConditionHolder) parent;
EntityConditionList<EntityCondition> parentConList = UtilGenerics.cast(holder.condition);
Iterator<EntityCondition> iterator = parentConList.getConditionIterator();
- List<EntityCondition> tempList = new LinkedList<EntityCondition>();
+ List<EntityCondition> tempList = new LinkedList<>();
while (iterator.hasNext()) {
tempList.add(iterator.next());
}
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionFunction.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionFunction.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionFunction.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityConditionFunction.java Sat Oct 28 14:10:07 2017
@@ -71,8 +71,7 @@ public abstract class EntityConditionFun
public String getCode() {
if (codeString == null)
return "null";
- else
- return codeString;
+ return codeString;
}
public int getId() {
@@ -88,7 +87,7 @@ public abstract class EntityConditionFun
public boolean equals(Object obj) {
if (!(obj instanceof EntityConditionFunction)) return false;
EntityConditionFunction otherFunc = (EntityConditionFunction) obj;
- return this.idInt == otherFunc.idInt && (this.condition != null ? condition.equals(otherFunc.condition) : otherFunc.condition != null);
+ return this.idInt.equals(otherFunc.idInt) && (this.condition != null ? condition.equals(otherFunc.condition) : otherFunc.condition != null);
}
@Override
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityDateFilterCondition.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityDateFilterCondition.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityDateFilterCondition.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityDateFilterCondition.java Sat Oct 28 14:10:07 2017
@@ -36,8 +36,8 @@ import org.apache.ofbiz.entity.model.Mod
@SuppressWarnings("serial")
public final class EntityDateFilterCondition extends EntityCondition {
- protected final String fromDateName;
- protected final String thruDateName;
+ private final String fromDateName;
+ private final String thruDateName;
public EntityDateFilterCondition(String fromDateName, String thruDateName) {
this.fromDateName = fromDateName;
@@ -131,7 +131,7 @@ public final class EntityDateFilterCondi
* @return EntityCondition representing the date range filter
*/
public static EntityCondition makeRangeCondition(Timestamp rangeStart, Timestamp rangeEnd, String fromDateName, String thruDateName) {
- List<EntityCondition> criteria = new LinkedList<EntityCondition>();
+ List<EntityCondition> criteria = new LinkedList<>();
// fromDate is equal to or after rangeStart but before rangeEnd
criteria.add(
EntityCondition.makeCondition(
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityExpr.java Sat Oct 28 14:10:07 2017
@@ -20,6 +20,7 @@ package org.apache.ofbiz.entity.conditio
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import org.apache.ofbiz.base.util.Debug;
@@ -140,7 +141,7 @@ public final class EntityExpr extends En
protected void addValue(StringBuilder buffer, ModelField field, Object value, List<EntityConditionParam> params) {
if (rhs instanceof EntityFunction.UPPER) {
if (value instanceof String) {
- value = ((String) value).toUpperCase();
+ value = ((String) value).toUpperCase(Locale.getDefault());
}
}
super.addValue(buffer, field, value, params);
@@ -215,6 +216,9 @@ public final class EntityExpr extends En
} catch (GenericEntityException e) {
Debug.logWarning(e, module);
}
+ if (valueType == null) {
+ throw new IllegalArgumentException("Type " + curField.getType() + " not found for entity [" + modelEntity.getEntityName() + "]; probably because there is no datasource (helper) setup for the entity group that this entity is in: [" + delegator.getEntityGroupName(modelEntity.getEntityName()) + "]");
+ }
// make sure the type of keyFieldName of EntityConditionSubSelect matches the field Java type
try {
if (!ObjectType.instanceOf(ObjectType.loadClass(valueType.getJavaType()), type.getJavaType())) {
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldMap.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldMap.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldMap.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldMap.java Sat Oct 28 14:10:07 2017
@@ -34,13 +34,13 @@ import org.apache.ofbiz.entity.util.Enti
@SuppressWarnings("serial")
public final class EntityFieldMap extends EntityConditionListBase<EntityExpr> {
- protected final Map<String, ? extends Object> fieldMap;
+ private final Map<String, ? extends Object> fieldMap;
public static <V> List<EntityExpr> makeConditionList(Map<String, V> fieldMap, EntityComparisonOperator<?,V> op) {
if (fieldMap == null) {
return Collections.emptyList();
}
- List<EntityExpr> list = new ArrayList<EntityExpr>(fieldMap.size());
+ List<EntityExpr> list = new ArrayList<>(fieldMap.size());
for (Map.Entry<String, ? extends Object> entry: fieldMap.entrySet()) {
list.add(EntityCondition.makeCondition(entry.getKey(), op, entry.getValue()));
}
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldValue.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldValue.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldValue.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFieldValue.java Sat Oct 28 14:10:07 2017
@@ -64,7 +64,7 @@ public class EntityFieldValue extends En
this.fieldName = fieldName;
this.entityAlias = entityAlias;
if (UtilValidate.isNotEmpty(entityAliasStack)) {
- this.entityAliasStack = new LinkedList<String>();
+ this.entityAliasStack = new LinkedList<>();
this.entityAliasStack.addAll(entityAliasStack);
}
this.modelViewEntity = modelViewEntity;
@@ -115,9 +115,8 @@ public class EntityFieldValue extends En
if (this.entityAlias != null) {
ModelEntity memberModelEntity = modelViewEntity.getMemberModelEntity(entityAlias);
return getField(memberModelEntity, fieldName);
- } else {
- return getField(modelViewEntity, fieldName);
}
+ return getField(modelViewEntity, fieldName);
}
return getField(modelEntity, fieldName);
}
@@ -181,9 +180,8 @@ public class EntityFieldValue extends En
}
if (map instanceof GenericEntity.NULL) {
return null;
- } else {
- return map.get(fieldName);
}
+ return map.get(fieldName);
}
@Override
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFunction.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFunction.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFunction.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityFunction.java Sat Oct 28 14:10:07 2017
@@ -20,6 +20,7 @@
package org.apache.ofbiz.entity.condition;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import org.apache.ofbiz.base.util.UtilGenerics;
@@ -64,7 +65,7 @@ public abstract class EntityFunction<T e
*
*/
public static class LENGTH extends EntityFunctionSingle<Integer> {
- public static Fetcher<Integer> FETCHER = new Fetcher<Integer>() {
+ public static final Fetcher<Integer> FETCHER = new Fetcher<Integer>() {
public Integer getValue(Object value) { return value.toString().length(); }
};
@@ -78,7 +79,7 @@ public abstract class EntityFunction<T e
*
*/
public static class TRIM extends EntityFunctionSingle<String> {
- public static Fetcher<String> FETCHER = new Fetcher<String>() {
+ public static final Fetcher<String> FETCHER = new Fetcher<String>() {
public String getValue(Object value) { return value.toString().trim(); }
};
@@ -92,8 +93,8 @@ public abstract class EntityFunction<T e
*
*/
public static class UPPER extends EntityFunctionSingle<String> {
- public static Fetcher<String> FETCHER = new Fetcher<String>() {
- public String getValue(Object value) { return value.toString().toUpperCase(); }
+ public static final Fetcher<String> FETCHER = new Fetcher<String>() {
+ public String getValue(Object value) { return value.toString().toUpperCase(Locale.getDefault()); }
};
private UPPER(Object value) {
@@ -106,8 +107,8 @@ public abstract class EntityFunction<T e
*
*/
public static class LOWER extends EntityFunctionSingle<String> {
- public static Fetcher<String> FETCHER = new Fetcher<String>() {
- public String getValue(Object value) { return value.toString().toLowerCase(); }
+ public static final Fetcher<String> FETCHER = new Fetcher<String>() {
+ public String getValue(Object value) { return value.toString().toLowerCase(Locale.getDefault()); }
};
private LOWER(Object value) {
@@ -156,9 +157,8 @@ public abstract class EntityFunction<T e
public EntityConditionValue freeze() {
if (nested != null) {
return new EntityFunctionNested<T>(fetcher, function, nested.freeze()) {};
- } else {
- return new EntityFunctionSingle<T>(fetcher, function, value) {};
}
+ return new EntityFunctionSingle<T>(fetcher, function, value) {};
}
public String getCode() {
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityJoinOperator.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityJoinOperator.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityJoinOperator.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityJoinOperator.java Sat Oct 28 14:10:07 2017
@@ -48,7 +48,7 @@ public class EntityJoinOperator extends
@Override
public void addSqlValue(StringBuilder sql, ModelEntity modelEntity, List<EntityConditionParam> entityConditionParams, boolean compat, EntityCondition lhs, EntityCondition rhs, Datasource datasourceInfo) {
- List<EntityCondition> conditions = new LinkedList<EntityCondition>();
+ List<EntityCondition> conditions = new LinkedList<>();
conditions.add(lhs);
conditions.add(rhs);
addSqlValue(sql, modelEntity, entityConditionParams, conditions, datasourceInfo);
@@ -89,7 +89,7 @@ public class EntityJoinOperator extends
}
public EntityCondition freeze(List<? extends EntityCondition> conditionList) {
- List<EntityCondition> newList = new ArrayList<EntityCondition>(conditionList.size());
+ List<EntityCondition> newList = new ArrayList<>(conditionList.size());
for (EntityCondition condition: conditionList) {
newList.add(condition.freeze());
}
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java Sat Oct 28 14:10:07 2017
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@@ -60,8 +61,8 @@ public abstract class EntityOperator<L,
private static HashMap<String, EntityOperator<?,?,?>> registry = new HashMap<String, EntityOperator<?,?,?>>();
private static <L,R,T> void registerCase(String name, EntityOperator<L,R,T> operator) {
- registry.put(name.toLowerCase(), operator);
- registry.put(name.toUpperCase(), operator);
+ registry.put(name.toLowerCase(Locale.getDefault()), operator);
+ registry.put(name.toUpperCase(Locale.getDefault()), operator);
}
public static <L,R,T> void register(String name, EntityOperator<L,R,T> operator) {
@@ -209,9 +210,8 @@ public abstract class EntityOperator<L,
public String getCode() {
if (codeString == null) {
return "null";
- } else {
- return codeString;
}
+ return codeString;
}
public int getId() {
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityWhereString.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityWhereString.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityWhereString.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityWhereString.java Sat Oct 28 14:10:07 2017
@@ -42,7 +42,7 @@ import org.apache.ofbiz.entity.model.Mod
@SuppressWarnings("serial")
public final class EntityWhereString extends EntityCondition {
- protected final String sqlString;
+ private final String sqlString;
public EntityWhereString(String sqlString) {
this.sqlString = sqlString;
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByItem.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByItem.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByItem.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByItem.java Sat Oct 28 14:10:07 2017
@@ -20,6 +20,7 @@
package org.apache.ofbiz.entity.condition;
import java.util.Comparator;
+import java.util.Locale;
import org.apache.ofbiz.base.util.UtilGenerics;
import org.apache.ofbiz.entity.GenericEntity;
@@ -34,6 +35,7 @@ public class OrderByItem implements Comp
public static final String NULLS_FIRST = "NULLS FIRST";
public static final String NULLS_LAST = "NULLS LAST";
+ public static final String module = OrderByItem.class.getName();
protected boolean descending;
protected Boolean nullsFirst;
@@ -78,12 +80,12 @@ public class OrderByItem implements Comp
// handle nulls first/last
Boolean nullsFirst = null;
- if (text.toUpperCase().endsWith(NULLS_FIRST)) {
+ if (text.toUpperCase(Locale.getDefault()).endsWith(NULLS_FIRST)) {
nullsFirst = true;
text = text.substring(0, text.length() - NULLS_FIRST.length()).trim();
}
- if (text.toUpperCase().endsWith(NULLS_LAST)) {
+ if (text.toUpperCase(Locale.getDefault()).endsWith(NULLS_LAST)) {
nullsFirst = false;
text = text.substring(0, text.length() - NULLS_LAST.length()).trim();
}
@@ -114,7 +116,7 @@ public class OrderByItem implements Comp
}
if (text.endsWith(")")) {
- String upperText = text.toUpperCase();
+ String upperText = text.toUpperCase(Locale.getDefault());
endIndex--;
if (upperText.startsWith("UPPER(")) {
caseSensitivity = UPPER;
@@ -132,7 +134,6 @@ public class OrderByItem implements Comp
if (startIndex != 0 || endIndex != text.length()) {
text = text.substring(startIndex, endIndex);
startIndex = 0;
- endIndex = text.length();
}
EntityConditionValue value = EntityFieldValue.makeFieldValue(text);
switch (caseSensitivity) {
@@ -142,6 +143,8 @@ public class OrderByItem implements Comp
case LOWER:
value = EntityFunction.LOWER(value);
break;
+ default:
+ break;
}
return new OrderByItem(value, descending, nullsFirst);
}
@@ -192,6 +195,16 @@ public class OrderByItem implements Comp
}
@Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (descending ? 1231 : 1237);
+ result = prime * result + ((nullsFirst == null) ? 0 : nullsFirst.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ return result;
+ }
+
+ @Override
public boolean equals(java.lang.Object obj) {
if (!(obj instanceof OrderByItem)) return false;
OrderByItem that = (OrderByItem) obj;
Modified: ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByList.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByList.java?rev=1813633&r1=1813632&r2=1813633&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByList.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/OrderByList.java Sat Oct 28 14:10:07 2017
@@ -30,7 +30,7 @@ import org.apache.ofbiz.entity.config.mo
import org.apache.ofbiz.entity.model.ModelEntity;
public class OrderByList implements Comparator<GenericEntity> {
- protected List<OrderByItem> orderByList = new ArrayList<OrderByItem>();
+ protected List<OrderByItem> orderByList = new ArrayList<>();
public OrderByList() {
}
@@ -103,6 +103,14 @@ public class OrderByList implements Comp
return result;
}
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((orderByList == null) ? 0 : orderByList.hashCode());
+ return result;
+ }
+
@Override
public boolean equals(java.lang.Object obj) {
if (!(obj instanceof OrderByList)) return false;