Author: lektran Date: Mon Mar 28 20:51:14 2016 New Revision: 1736927 URL: http://svn.apache.org/viewvc?rev=1736927&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/release15.12/.classpath ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java Modified: ofbiz/branches/release15.12/.classpath URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/.classpath?rev=1736927&r1=1736926&r2=1736927&view=diff ============================================================================== --- ofbiz/branches/release15.12/.classpath (original) +++ ofbiz/branches/release15.12/.classpath Mon Mar 28 20:51:14 2016 @@ -191,7 +191,6 @@ <classpathentry kind="lib" path="specialpurpose/solr/lib/runtime/noggit-0.6.jar"/> <classpathentry kind="lib" path="specialpurpose/solr/lib/runtime/org.restlet-2.3.0.jar"/> <classpathentry kind="lib" path="specialpurpose/solr/lib/runtime/org.restlet.ext.servlet-2.3.0.jar"/> - <classpathentry kind="lib" path="framework/catalina/lib/tomcat-7.0.68-catalina-ha.jar"/> <classpathentry kind="lib" path="framework/catalina/lib/tomcat-7.0.68-catalina-tribes.jar"/> <classpathentry kind="lib" path="framework/catalina/lib/tomcat-7.0.68-catalina.jar"/> @@ -202,5 +201,6 @@ <classpathentry kind="lib" path="framework/catalina/lib/tomcat-extras-7.0.68-tomcat-juli-adapters.jar"/> <classpathentry kind="lib" path="framework/catalina/lib/tomcat-extras-7.0.68-tomcat-juli.jar"/> <classpathentry kind="lib" path="framework/base/lib/xstream-1.4.9.jar"/> + <classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java?rev=1736927&r1=1736926&r2=1736927&view=diff ============================================================================== --- ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java (original) +++ ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityComparisonOperator.java Mon Mar 28 20:51:14 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/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java?rev=1736927&r1=1736926&r2=1736927&view=diff ============================================================================== --- ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java (original) +++ ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java Mon Mar 28 20:51:14 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/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java?rev=1736927&r1=1736926&r2=1736927&view=diff ============================================================================== --- ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java (original) +++ ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityConditionValue.java Mon Mar 28 20:51:14 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/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java?rev=1736927&r1=1736926&r2=1736927&view=diff ============================================================================== --- ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java (original) +++ ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFieldValue.java Mon Mar 28 20:51:14 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/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java?rev=1736927&r1=1736926&r2=1736927&view=diff ============================================================================== --- ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java (original) +++ ofbiz/branches/release15.12/framework/entity/src/org/ofbiz/entity/condition/EntityFunction.java Mon Mar 28 20:51:14 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);