You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/12/06 12:02:50 UTC

svn commit: r1548489 - in /cxf/branches/2.7.x-fixes: ./ rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java

Author: sergeyb
Date: Fri Dec  6 11:02:49 2013
New Revision: 1548489

URL: http://svn.apache.org/r1548489
Log:
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.7.x-fixes/   (props changed)
    cxf/branches/2.7.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
    svn:mergeinfo = /cxf/trunk:1548488

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.7.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.7.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java?rev=1548489&r1=1548488&r2=1548489&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java (original)
+++ cxf/branches/2.7.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/client/FiqlSearchConditionBuilder.java Fri Dec  6 11:02:49 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");