diff --git a/src/main/java/com/ibm/openpages/support/models/BaseField.java b/src/main/java/com/ibm/openpages/support/models/BaseField.java index 8918cee..201b470 100644 --- a/src/main/java/com/ibm/openpages/support/models/BaseField.java +++ b/src/main/java/com/ibm/openpages/support/models/BaseField.java @@ -3,6 +3,7 @@ import com.ibm.openpages.support.util.FieldType; public abstract class BaseField implements FieldMetadata, ResultLabel { + final protected FieldGroup fieldGroup; final protected String originalValue; final protected String value; final protected String label; @@ -13,6 +14,7 @@ protected BaseField(FieldGroup fieldGroup, String value, FieldType fieldType) } protected BaseField(FieldGroup fieldGroup, String value, String label, FieldType fieldType) { + this.fieldGroup = fieldGroup; this.originalValue = value; this.value = fieldGroup != null ? fieldGroup.fieldName(value) : value; this.label = label; @@ -74,6 +76,11 @@ public String value() { return value; } + @Override + public String normalizedValue() { + return fieldGroup.isSystemFieldGroup() ? originalValue : value; + } + @Override public String label() { return label; diff --git a/src/main/java/com/ibm/openpages/support/models/EnumValue.java b/src/main/java/com/ibm/openpages/support/models/EnumValue.java index 6546fa1..01f7dba 100644 --- a/src/main/java/com/ibm/openpages/support/models/EnumValue.java +++ b/src/main/java/com/ibm/openpages/support/models/EnumValue.java @@ -29,6 +29,11 @@ public String value() { return value; } + @Override + public String normalizedValue() { + return value; + } + public IEnumGroup enumGroup() { return enumGroup; } diff --git a/src/main/java/com/ibm/openpages/support/models/FieldGroup.java b/src/main/java/com/ibm/openpages/support/models/FieldGroup.java index 56b6b6e..8c38f13 100644 --- a/src/main/java/com/ibm/openpages/support/models/FieldGroup.java +++ b/src/main/java/com/ibm/openpages/support/models/FieldGroup.java @@ -10,12 +10,22 @@ public class FieldGroup { private final List> fields; private final String value; + private final boolean systemFieldGroup; public FieldGroup(final String value) { + this(value, false); + } + public FieldGroup(final String value, final boolean systemFields) { this.value = value; + this.systemFieldGroup = systemFields; + fields = new ArrayList<>(); } + public boolean isSystemFieldGroup() { + return systemFieldGroup; + } + public List> fields() { return Collections.unmodifiableList(fields); } @@ -56,6 +66,10 @@ public String fieldName(String name) { return value + ":" + name; } + public String value() { + return value; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/src/main/java/com/ibm/openpages/support/models/ResultValue.java b/src/main/java/com/ibm/openpages/support/models/ResultValue.java index d43d834..82537e2 100644 --- a/src/main/java/com/ibm/openpages/support/models/ResultValue.java +++ b/src/main/java/com/ibm/openpages/support/models/ResultValue.java @@ -3,4 +3,5 @@ public interface ResultValue { String baseValue(); String value(); + String normalizedValue(); } diff --git a/src/main/java/com/ibm/openpages/support/models/field_group/SystemFields.java b/src/main/java/com/ibm/openpages/support/models/field_group/SystemFields.java index 977ce74..b198bd8 100644 --- a/src/main/java/com/ibm/openpages/support/models/field_group/SystemFields.java +++ b/src/main/java/com/ibm/openpages/support/models/field_group/SystemFields.java @@ -5,7 +5,7 @@ import com.ibm.openpages.support.util.FieldType; public interface SystemFields { - FieldGroup fg_SystemFields = new FieldGroup("System Fields"); + FieldGroup fg_SystemFields = new FieldGroup("System Fields", true); Field Name = fg_SystemFields.addField("Name", FieldType.String); } diff --git a/src/main/java/com/ibm/openpages/support/util/query/GroupQueryClause.java b/src/main/java/com/ibm/openpages/support/util/query/GroupQueryClause.java index e686693..bd9ac52 100644 --- a/src/main/java/com/ibm/openpages/support/util/query/GroupQueryClause.java +++ b/src/main/java/com/ibm/openpages/support/util/query/GroupQueryClause.java @@ -39,6 +39,6 @@ public void add(QueryClause clause) { public String toClause() { final String delimiter = and ? " AND " : " OR "; - return "(" + clauses.stream().map(QueryClause::toClause).collect(Collectors.joining(delimiter)) + ")"; + return clauses.stream().map(QueryClause::toClause).collect(Collectors.joining(delimiter)); } } diff --git a/src/main/java/com/ibm/openpages/support/util/query/QueryValueFormatters.java b/src/main/java/com/ibm/openpages/support/util/query/QueryValueFormatters.java index c7d0abd..c2a5ff2 100644 --- a/src/main/java/com/ibm/openpages/support/util/query/QueryValueFormatters.java +++ b/src/main/java/com/ibm/openpages/support/util/query/QueryValueFormatters.java @@ -11,9 +11,9 @@ public static String formatListValue(Object inValue) { final String valueList = value .stream() .map(QueryValueFormatters::formatSimpleValue) - .collect(Collectors.joining(",")); + .collect(Collectors.joining(", ")); - return "[" + valueList + "]"; + return "(" + valueList + ")"; } public static String formatSimpleValue(Object current) {