Skip to content

Commit

Permalink
Merged from trunk r1736922:
Browse files Browse the repository at this point in the history
Ensure a ModelField is set for rhs EntityConditionValues that don't already have it, such as the EntityFunction classes

git-svn-id: https://svn.apache.org/repos/asf/ofbiz/branches/release13.07@1736930 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
lektran committed Mar 28, 2016
1 parent f4a893f commit f94cd11
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,9 @@ protected void makeRHSWhereString(ModelEntity entity, List<EntityConditionParam>
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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ public ModelField getModelField(ModelEntity modelEntity) {
return null;
}

@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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,11 @@ public ModelField getModelField(ModelEntity modelEntity) {
return null;
}

@Override
public void setModelField(ModelField field) {
// Do nothing;
}

@Override
public Object getValue(Delegator delegator, Map<String, ? extends Object> map) {
return value;
Expand All @@ -100,6 +105,8 @@ public void visit(EntityConditionVisitor visitor) {

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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,12 @@ public ModelField getModelField(ModelEntity modelEntity) {
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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ public void init(Object value) {
protected EntityConditionValue nested = null;
protected Object value = null;
protected Fetcher<T> fetcher = null;
protected ModelField field;

protected EntityFunction() {}

Expand Down Expand Up @@ -275,9 +276,14 @@ public ModelField getModelField(ModelEntity modelEntity) {
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) {
Expand Down

0 comments on commit f94cd11

Please sign in to comment.