Author: sergeyb Date: Fri Dec 6 11:06:28 2013 New Revision: 1548490 URL: http://svn.apache.org/r1548490 Log: Merged revisions 1548489 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes
................ r1548489 | sergeyb | 2013-12-06 11:02:49 +0000 (Fri, 06 Dec 2013) | 9 lines Merged revisions 1548488 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1548488 | sergeyb | 2013-12-06 10:59:43 +0000 (Fri, 06 Dec 2013) | 1 line Making FIQL SearchConditionBuilder more extensible, patch from Francesco Chicchiriccò applied ........ ................ Modified: cxf/branches/2.6.x-fixes/ (props changed) cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java Propchange: cxf/branches/2.6.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Fri Dec 6 11:06:28 2013 @@ -0,0 +1,2 @@ +/cxf/branches/2.7.x-fixes:1548489 +/cxf/trunk:1548488 Propchange: cxf/branches/2.6.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java?rev=1548490&r1=1548489&r2=1548490&view=diff ============================================================================== --- cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java (original) +++ cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java Fri Dec 6 11:06:28 2013 @@ -57,7 +57,7 @@ import org.apache.cxf.jaxrs.ext.search.f */ public class FiqlSearchConditionBuilder extends SearchConditionBuilder { - private Map<String, String> properties; + protected Map<String, String> properties; public FiqlSearchConditionBuilder() { this(Collections.<String, String> emptyMap()); @@ -67,37 +67,41 @@ public class FiqlSearchConditionBuilder this.properties = properties; } + protected Builder newBuilderInstance() { + return new Builder(properties); + } + public String query() { return ""; } public Property is(String property) { - return new Builder(properties).is(property); + return newBuilderInstance().is(property); } public CompleteCondition and(CompleteCondition c1, CompleteCondition c2, CompleteCondition... cn) { - return new Builder(properties).and(c1, c2, cn); + return newBuilderInstance().and(c1, c2, cn); } public CompleteCondition and(List<CompleteCondition> conditions) { - return new Builder(properties).and(conditions); + return newBuilderInstance().and(conditions); } public CompleteCondition or(List<CompleteCondition> conditions) { - return new Builder(properties).or(conditions); + return newBuilderInstance().or(conditions); } public CompleteCondition or(CompleteCondition c1, CompleteCondition c2, CompleteCondition... cn) { - return new Builder(properties).or(c1, c2, cn); + return newBuilderInstance().or(c1, c2, cn); } - private static class Builder implements Property, CompleteCondition, PartialCondition { - private String result = ""; - private Builder parent; - private DateFormat df; - private boolean timeZoneSupported; - private String currentCompositeOp; + protected static class Builder implements Property, CompleteCondition, PartialCondition { + protected String result = ""; + protected Builder parent; + protected DateFormat df; + protected boolean timeZoneSupported; + protected String currentCompositeOp; public Builder(Map<String, String> properties) { parent = null; @@ -115,16 +119,16 @@ public class FiqlSearchConditionBuilder return buildPartial(null); } - private DateFormat getDateFormat() { + protected DateFormat getDateFormat() { return df; } - private boolean isTimeZoneSupported() { + protected boolean isTimeZoneSupported() { return timeZoneSupported; } // builds from parent but not further then exclude builder - private String buildPartial(Builder exclude) { + protected String buildPartial(Builder exclude) { if (parent != null && !parent.equals(exclude)) { return parent.buildPartial(exclude) + result; } else { @@ -391,7 +395,7 @@ public class FiqlSearchConditionBuilder return conditionsList(FiqlParser.OR, conditions); } - private CompleteCondition conditionsList(String op, List<CompleteCondition> conditions) { + protected CompleteCondition conditionsList(String op, List<CompleteCondition> conditions) { if (conditions.size() == 1) { result += ((Builder)conditions.get(0)).buildPartial(this); } else { @@ -416,7 +420,7 @@ public class FiqlSearchConditionBuilder return b; } - private String toString(Object value) { + protected String toString(Object value) { if (value == null) { return null; } @@ -434,7 +438,7 @@ public class FiqlSearchConditionBuilder } } - private String toFiqlPrimitiveCondition(ConditionType type) { + protected String toFiqlPrimitiveCondition(ConditionType type) { String fiqlType = FiqlParser.CONDITION_MAP.get(type); if (fiqlType == null) { throw new IllegalArgumentException("Only primitive condition types are supported");
