You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/01/29 07:48:12 UTC

svn commit: r1655536 - in /directory/shared/trunk/ldap/client/api/src: main/java/org/apache/directory/ldap/client/api/search/ test/java/org/apache/directory/ldap/client/api/search/

Author: elecharny
Date: Thu Jan 29 06:48:12 2015
New Revision: 1655536

URL: http://svn.apache.org/r1655536
Log:
o Added the missing Javadoc
o Created a single FilterOperator enum used by the other classes

Added:
    directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterOperator.java
Modified:
    directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeFilter.java
    directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeValueAssertionFilter.java
    directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java
    directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java
    directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilterTest.java
    directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/UnaryFilterTest.java

Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeFilter.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeFilter.java?rev=1655536&r1=1655535&r2=1655536&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeFilter.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeFilter.java Thu Jan 29 06:48:12 2015
@@ -58,6 +58,6 @@ package org.apache.directory.ldap.client
     @Override
     public StringBuilder build( StringBuilder builder )
     {
-        return builder.append( "(" ).append( attribute ).append( "=*)" );
+        return builder.append( "(" ).append( attribute ).append( FilterOperator.PRESENT.operator() ).append( ")" );
     }
 }
\ No newline at end of file

Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeValueAssertionFilter.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeValueAssertionFilter.java?rev=1655536&r1=1655535&r2=1655536&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeValueAssertionFilter.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/AttributeValueAssertionFilter.java Thu Jan 29 06:48:12 2015
@@ -24,19 +24,26 @@ import org.apache.directory.api.ldap.mod
 
 
 /**
- * 
- * TODO AttributeValueAssertionFilter.
+ * A class to represent the various filters that take a value, like =, <=, >= or ~=.
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
 /* No qualifier*/class AttributeValueAssertionFilter extends AbstractFilter
 {
+    /** The associated attribute */
     private String attribute;
+
+    /** The filter value */
     private String value;
-    private Operator operator;
+
+    /** The Filter operator */
+    private FilterOperator operator;
 
 
-    private AttributeValueAssertionFilter( String attribute, String value, Operator operator )
+    /**
+     * Creates a new instance of AttributeValueAssertionFilter.
+     */
+    private AttributeValueAssertionFilter( String attribute, String value, FilterOperator operator )
     {
         this.attribute = attribute;
         this.value = value;
@@ -44,30 +51,61 @@ import org.apache.directory.api.ldap.mod
     }
 
 
+    /**
+     * Creates an Approximate Filter : ( <attribute> ~= <value> )
+     *
+     * @param attribute The AttributeType
+     * @param value The Value
+     * @return An instance of the Approximate Filter
+     */
     public static AttributeValueAssertionFilter approximatelyEqual( String attribute, String value )
     {
-        return new AttributeValueAssertionFilter( attribute, value, Operator.APPROXIMATELY_EQUAL );
+        return new AttributeValueAssertionFilter( attribute, value, FilterOperator.APPROXIMATELY_EQUAL );
     }
 
 
+    /**
+     * Creates an equam Filter : ( <attribute> = <value> )
+     *
+     * @param attribute The AttributeType
+     * @param value The Value
+     * @return An instance of the Equal Filter
+     */
     public static AttributeValueAssertionFilter equal( String attribute, String value )
     {
-        return new AttributeValueAssertionFilter( attribute, value, Operator.EQUAL );
+        return new AttributeValueAssertionFilter( attribute, value, FilterOperator.EQUAL );
     }
 
 
+    /**
+     * Creates a Greater Than Or Equal Filter : ( <attribute> >= <value> )
+     *
+     * @param attribute The AttributeType
+     * @param value The Value
+     * @return An instance of the Greater Than Or Equal Filter
+     */
     public static AttributeValueAssertionFilter greaterThanOrEqual( String attribute, String value )
     {
-        return new AttributeValueAssertionFilter( attribute, value, Operator.GREATER_THAN_OR_EQUAL );
+        return new AttributeValueAssertionFilter( attribute, value, FilterOperator.GREATER_THAN_OR_EQUAL );
     }
 
 
+    /**
+     * Creates a Less Than Or Equal Filter : ( <attribute> <= <value> )
+     *
+     * @param attribute The AttributeType
+     * @param value The Value
+     * @return An instance of the Less Than Or Equal Filter
+     */
     public static AttributeValueAssertionFilter lessThanOrEqual( String attribute, String value )
     {
-        return new AttributeValueAssertionFilter( attribute, value, Operator.LESS_THAN_OR_EQUAL );
+        return new AttributeValueAssertionFilter( attribute, value, FilterOperator.LESS_THAN_OR_EQUAL );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public StringBuilder build( StringBuilder builder )
     {
@@ -75,26 +113,4 @@ import org.apache.directory.api.ldap.mod
             .append( operator.operator() )
             .append( FilterEncoder.encodeFilterValue( value ) ).append( ")" );
     }
-
-    public static enum Operator
-    {
-        APPROXIMATELY_EQUAL("~="),
-        EQUAL("="),
-        GREATER_THAN_OR_EQUAL(">="),
-        LESS_THAN_OR_EQUAL("<=");
-
-        private String operator;
-
-
-        private Operator( String operator )
-        {
-            this.operator = operator;
-        }
-
-
-        public String operator()
-        {
-            return operator;
-        }
-    }
 }
\ No newline at end of file

Added: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterOperator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterOperator.java?rev=1655536&view=auto
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterOperator.java (added)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterOperator.java Thu Jan 29 06:48:12 2015
@@ -0,0 +1,70 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+
+package org.apache.directory.ldap.client.api.search;
+
+
+/**
+ * The operators that can be used in a Filter :
+ * <ul>
+ * <li>AND: the '&' operator</li>
+ * <li>OR: the '|' operator</li>
+ * <li>NOT: the '!' operator</li>
+ * <li>EQUAL: the '=' operator</li>
+ * <li>LESS_THAN_OR_EQUAL: the '<=' operator</li>
+ * <li>GREATER_THAN_OR_EQUAL: the '>=' operator</li>
+ * <li>PRESENT: the '=*' operator</li>
+ * <li>APPROXIMATELY_EQUAL: the '~=' operator</li>
+ * </ul>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+/* No Qualifier */enum FilterOperator
+{
+    AND("&"),
+    OR("|"),
+    NOT("!"),
+    APPROXIMATELY_EQUAL("~="),
+    EQUAL("="),
+    PRESENT("=*"),
+    GREATER_THAN_OR_EQUAL(">="),
+    LESS_THAN_OR_EQUAL("<=");
+
+    /** The String representing the operator in a FIlter */
+    private String operator;
+
+
+    /**
+     * Creates a new instance of FilterOperator.
+     */
+    private FilterOperator( String operator )
+    {
+        this.operator = operator;
+    }
+
+
+    /**
+     * @return The String representation of the operator
+     */
+    public String operator()
+    {
+        return operator;
+    }
+}

Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java?rev=1655536&r1=1655535&r2=1655536&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java Thu Jan 29 06:48:12 2015
@@ -31,17 +31,29 @@ import java.util.List;
  */
 /* No qualifier*/class SetOfFiltersFilter extends AbstractFilter
 {
-    private Operator operator;
+    /** The operator to use with this set (AND or OR) */
+    private FilterOperator operator;
+
+    /** The list of inner filters */
     private List<Filter> filters;
 
 
-    private SetOfFiltersFilter( Operator operator )
+    /**
+     * Creates a new instance of SetOfFiltersFilter.
+     */
+    private SetOfFiltersFilter( FilterOperator operator )
     {
         this.operator = operator;
         this.filters = new ArrayList<Filter>();
     }
 
 
+    /**
+     * Adds a Filter into the set of Filters 
+     *
+     * @param filter The filter to add
+     * @return The Set of Filters with the added filter
+     */
     public SetOfFiltersFilter add( Filter filter )
     {
         filters.add( filter );
@@ -49,6 +61,12 @@ import java.util.List;
     }
 
 
+    /**
+     * Injects a list of Filters into the set of Filters 
+     *
+     * @param filters The filters to inject
+     * @return The Set of Filters with the injected filters
+     */
     public SetOfFiltersFilter addAll( Filter... filters )
     {
         for ( Filter filter : filters )
@@ -60,25 +78,47 @@ import java.util.List;
     }
 
 
+    /**
+     * Injects a list of Filters into the set of Filters 
+     *
+     * @param filters The filters to inject
+     * @return The Set of Filters with the injected filters
+     */
     public SetOfFiltersFilter addAll( List<Filter> filters )
     {
         this.filters.addAll( filters );
+
         return this;
     }
 
 
+    /**
+     * Creates an AND set of filters
+     *
+     * @param filters The inner filters
+     * @return An AND filter
+     */
     public static SetOfFiltersFilter and( Filter... filters )
     {
-        return new SetOfFiltersFilter( Operator.AND ).addAll( filters );
+        return new SetOfFiltersFilter( FilterOperator.AND ).addAll( filters );
     }
 
 
+    /**
+     * Creates an OR set of filters
+     *
+     * @param filters The inner filters
+     * @return An OR filter
+     */
     public static SetOfFiltersFilter or( Filter... filters )
     {
-        return new SetOfFiltersFilter( Operator.OR ).addAll( filters );
+        return new SetOfFiltersFilter( FilterOperator.OR ).addAll( filters );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public StringBuilder build( StringBuilder builder )
     {
@@ -96,24 +136,4 @@ import java.util.List;
 
         return builder.append( ")" );
     }
-
-    public static enum Operator
-    {
-        AND("&"),
-        OR("|");
-
-        private String operator;
-
-
-        private Operator( String operator )
-        {
-            this.operator = operator;
-        }
-
-
-        public String operator()
-        {
-            return operator;
-        }
-    }
 }
\ No newline at end of file

Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java?rev=1655536&r1=1655535&r2=1655536&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java Thu Jan 29 06:48:12 2015
@@ -20,37 +20,54 @@
 package org.apache.directory.ldap.client.api.search;
 
 
+/**
+ * Creates a NOT filter
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
 /* No qualifier*/class UnaryFilter extends AbstractFilter
 {
-    private Operator operator;
+    /** The NOT filter */
     private Filter filter;
 
 
-    private UnaryFilter( Operator operator )
+    /**
+     * Creates a new instance of UnaryFilter.
+     */
+    private UnaryFilter()
     {
-        this.operator = operator;
-    }
-
-
-    public UnaryFilter setFilter( Filter filter )
-    {
-        this.filter = filter;
-        return this;
     }
 
 
+    /**
+     * Constructs a NOT filter 
+     *
+     * @return The constructed NOT Filter
+     */
     public static UnaryFilter not()
     {
-        return new UnaryFilter( Operator.NOT );
+        return new UnaryFilter();
     }
 
 
+    /**
+     * Constructs a NOT filter with the associated inner Filter
+     *
+     * @param Filter The inner Filter
+     * @return The constructed NOT Filter
+     */
     public static UnaryFilter not( Filter filter )
     {
-        return not().setFilter( filter );
+        UnaryFilter notFilter = not();
+        notFilter.filter = filter;
+
+        return notFilter;
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public StringBuilder build( StringBuilder builder )
     {
@@ -59,28 +76,9 @@ package org.apache.directory.ldap.client
             throw new IllegalStateException( "filter not set" );
         }
 
-        builder.append( "(" ).append( operator.operator() );
+        builder.append( "(" ).append( FilterOperator.NOT.operator() );
         filter.build( builder );
 
         return builder.append( ")" );
     }
-
-    public static enum Operator
-    {
-        NOT("!");
-
-        private String operator;
-
-
-        private Operator( String operator )
-        {
-            this.operator = operator;
-        }
-
-
-        public String operator()
-        {
-            return operator;
-        }
-    }
 }
\ No newline at end of file

Modified: directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilterTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilterTest.java?rev=1655536&r1=1655535&r2=1655536&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilterTest.java (original)
+++ directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilterTest.java Thu Jan 29 06:48:12 2015
@@ -35,7 +35,7 @@ import org.junit.Test;
  */
 public class SetOfFiltersFilterTest
 {
-    private String expected( SetOfFiltersFilter.Operator operator, Filter... filters )
+    private String expected( FilterOperator operator, Filter... filters )
     {
         StringBuilder builder = new StringBuilder( "(" )
             .append( operator.operator() );
@@ -55,7 +55,7 @@ public class SetOfFiltersFilterTest
         AttributeFilter attributeFilter = AttributeFilter.present( "objectClass" );
         AttributeValueAssertionFilter attributeValueAssertionFilter =
             AttributeValueAssertionFilter.equal( "objectClass", "person" );
-        String expected = expected( SetOfFiltersFilter.Operator.AND, attributeFilter, attributeValueAssertionFilter );
+        String expected = expected( FilterOperator.AND, attributeFilter, attributeValueAssertionFilter );
 
         assertEquals( expected,
             SetOfFiltersFilter.and( attributeFilter, attributeValueAssertionFilter )
@@ -85,7 +85,7 @@ public class SetOfFiltersFilterTest
         AttributeFilter attributeFilter = AttributeFilter.present( "objectClass" );
         AttributeValueAssertionFilter attributeValueAssertionFilter =
             AttributeValueAssertionFilter.equal( "objectClass", "person" );
-        String expected = expected( SetOfFiltersFilter.Operator.OR, attributeFilter, attributeValueAssertionFilter );
+        String expected = expected( FilterOperator.OR, attributeFilter, attributeValueAssertionFilter );
 
         assertEquals( expected,
             SetOfFiltersFilter.or( attributeFilter, attributeValueAssertionFilter )

Modified: directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/UnaryFilterTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/UnaryFilterTest.java?rev=1655536&r1=1655535&r2=1655536&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/UnaryFilterTest.java (original)
+++ directory/shared/trunk/ldap/client/api/src/test/java/org/apache/directory/ldap/client/api/search/UnaryFilterTest.java Thu Jan 29 06:48:12 2015
@@ -39,14 +39,10 @@ public class UnaryFilterTest
         AttributeFilter attributeFilter = AttributeFilter.present( "objectClass" );
         assertEquals( "(!" + attributeFilter.build().toString() + ")",
             UnaryFilter.not( attributeFilter ).build().toString() );
-        assertEquals( "(!" + attributeFilter.build().toString() + ")",
-            UnaryFilter.not().setFilter( attributeFilter ).build().toString() );
 
         AttributeValueAssertionFilter attributeValueAssertionFilter =
             AttributeValueAssertionFilter.equal( "objectClass", "person" );
         assertEquals( "(!" + attributeValueAssertionFilter.build().toString() + ")",
             UnaryFilter.not( attributeValueAssertionFilter ).build().toString() );
-        assertEquals( "(!" + attributeValueAssertionFilter.build().toString() + ")",
-            UnaryFilter.not().setFilter( attributeValueAssertionFilter ).build().toString() );
     }
 }