You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by le...@apache.org on 2016/03/28 22:58:09 UTC

svn commit: r1736928 - in /ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition: EntityComparisonOperator.java EntityConditionSubSelect.java EntityConditionValue.java EntityFieldValue.java EntityFunction.java

Author: lektran
Date: Mon Mar 28 20:58:09 2016
New Revision: 1736928

URL: http://svn.apache.org/viewvc?rev=1736928&view=rev
Log:
Merged from trunk r1736922:
Ensure a ModelField is set for rhs EntityConditionValues that don't already have it, such as the EntityFunction classes

Modified:
    ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java
    ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java
    ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java
    ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java
    ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java

Modified: ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java?rev=1736928&r1=1736927&r2=1736928&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java (original)
+++ ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java Mon Mar 28 20:58:09 2016
@@ -126,6 +126,9 @@ public abstract class EntityComparisonOp
     protected void makeRHSWhereStringValue(ModelEntity entity, List<EntityConditionParam> entityConditionParams, StringBuilder sql, ModelField field, R rhs, Datasource datasourceInfo) {
         if (rhs instanceof EntityConditionValue) {
             EntityConditionValue ecv = (EntityConditionValue) rhs;
+            if (ecv.getModelField(entity) == null) {
+                ecv.setModelField(field);
+            }
             ecv.addSqlValue(sql, entity, entityConditionParams, false, datasourceInfo);
         } else {
             addValue(sql, field, rhs, entityConditionParams);

Modified: ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java?rev=1736928&r1=1736927&r2=1736928&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java (original)
+++ ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java Mon Mar 28 20:58:09 2016
@@ -132,6 +132,11 @@ public class EntityConditionSubSelect ex
     }
 
     @Override
+    public void setModelField(ModelField modelEntity) {
+        // do nothing for now
+    }
+
+    @Override
     public Comparable<?> getValue(Delegator delegator, Map<String, ? extends Object> map) {
         // do nothing for now
         return null;

Modified: ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java?rev=1736928&r1=1736927&r2=1736928&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java (original)
+++ ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java Mon Mar 28 20:58:09 2016
@@ -65,6 +65,11 @@ public abstract class EntityConditionVal
         }
 
         @Override
+        public void setModelField(ModelField field) {
+            // Do nothing;
+        }
+
+        @Override
         public Object getValue(Delegator delegator, Map<String, ? extends Object> map) {
             return value;
         }
@@ -81,6 +86,8 @@ public abstract class EntityConditionVal
 
     public abstract ModelField getModelField(ModelEntity modelEntity);
 
+    public abstract void setModelField(ModelField modelEntity);
+
     public void addSqlValue(StringBuilder sql, ModelEntity modelEntity, List<EntityConditionParam> entityConditionParams, boolean includeTableNamePrefix,
             Datasource datasourceinfo) {
         addSqlValue(sql, emptyAliases, modelEntity, entityConditionParams, includeTableNamePrefix, datasourceinfo);

Modified: ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java?rev=1736928&r1=1736927&r2=1736928&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java (original)
+++ ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java Mon Mar 28 20:58:09 2016
@@ -122,6 +122,12 @@ public class EntityFieldValue extends En
         return getField(modelEntity, fieldName);
     }
 
+
+    @Override
+    public void setModelField(ModelField field) {
+        // do nothing
+    }
+
     @Override
     public void addSqlValue(StringBuilder sql, Map<String, String> tableAliases, ModelEntity modelEntity, List<EntityConditionParam> entityConditionParams, boolean includeTableNamePrefix, Datasource datasourceInfo) {
         if (this.modelViewEntity != null) {

Modified: ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java?rev=1736928&r1=1736927&r2=1736928&view=diff
==============================================================================
--- ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java (original)
+++ ofbiz/branches/release14.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java Mon Mar 28 20:58:09 2016
@@ -131,6 +131,7 @@ public abstract class EntityFunction<T e
     protected final EntityConditionValue nested;
     protected final Object value;
     protected final Fetcher<T> fetcher;
+    protected ModelField field;
 
     protected EntityFunction(Fetcher<T> fetcher, SQLFunction function, EntityConditionValue nested) {
         this.fetcher = fetcher;
@@ -216,10 +217,15 @@ public abstract class EntityFunction<T e
         if (nested != null) {
             return nested.getModelField(modelEntity);
         }
-        return null;
+        return field;
     }
 
     @Override
+    public void setModelField(ModelField field) {
+        this.field = field;
+    }
+    
+    @Override
     public void validateSql(ModelEntity modelEntity) throws GenericModelException {
         if (nested != null) {
             nested.validateSql(modelEntity);