Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5B05710B96 for ; Fri, 6 Dec 2013 11:04:12 +0000 (UTC) Received: (qmail 15609 invoked by uid 500); 6 Dec 2013 11:03:23 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 15557 invoked by uid 500); 6 Dec 2013 11:03:19 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 15529 invoked by uid 99); 6 Dec 2013 11:03:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Dec 2013 11:03:12 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Dec 2013 11:03:10 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 4B7692388993; Fri, 6 Dec 2013 11:02:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: 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 Date: Fri, 06 Dec 2013 11:02:50 -0000 To: commits@cxf.apache.org From: sergeyb@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131206110250.4B7692388993@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 properties; + protected Map properties; public FiqlSearchConditionBuilder() { this(Collections. 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 conditions) { - return new Builder(properties).and(conditions); + return newBuilderInstance().and(conditions); } public CompleteCondition or(List 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 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 conditions) { + protected CompleteCondition conditionsList(String op, List 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");