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 2007/09/19 18:42:08 UTC
svn commit: r577351 -
/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/
Author: elecharny
Date: Wed Sep 19 09:42:01 2007
New Revision: 577351
URL: http://svn.apache.org/viewvc?rev=577351&view=rev
Log:
Updated the nodes :
o using the toString() methods instead of the prtintToBuffer() one
o the accept() method has been moved to the parent node when needed
o idem for equals()
o visit() now returns an Object
Modified:
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AndNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AssertionNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNormalizedVisitor.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExprNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterVisitor.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LeafNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/NotNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/OrNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/PresenceNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ScopeNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AbstractExprNode.java Wed Sep 19 09:42:01 2007
@@ -81,4 +81,16 @@
{
return annotations;
}
+
+ public String toString()
+ {
+ if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
+ {
+ return ":[" + getAnnotations().get( "count" ) + "]";
+ }
+ else
+ {
+ return "";
+ }
+ }
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AndNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AndNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AndNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AndNode.java Wed Sep 19 09:42:01 2007
@@ -94,38 +94,6 @@
return false;
}
-
- /**
- * Recursively prints the String representation of this node and all its
- * descendents to a buffer.
- *
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(java.lang.StringBuffer)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( "(&" );
-
- for ( ExprNode node:children )
- {
- node.printToBuffer( buf );
- }
-
- buf.append( ')' );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( ( ( Long ) getAnnotations().get( "count" ) ).toString() );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf;
- }
-
/**
* @see ExprNode#printRefinementToBuffer(StringBuffer)
@@ -163,58 +131,20 @@
public String toString()
{
StringBuffer buf = new StringBuffer();
- buf.append( "AND" );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( ( ( Long ) getAnnotations().get( "count" ) ) );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf.toString();
- }
+ buf.append( "(&" );
+ buf.append( super.toString() );
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.isPrefix() )
+ for ( ExprNode child:getChildren() )
{
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
-
- for ( ExprNode node:children )
- {
- node.accept( visitor );
- }
+ buf.append( child );
}
- else
- {
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- for ( ExprNode node:children )
- {
- node.accept( visitor );
- }
+
+ buf.append( ')' );
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
+ return buf.toString();
}
+
/**
* @see Object#hashCode()
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ApproximateNode.java Wed Sep 19 09:42:01 2007
@@ -51,50 +51,20 @@
super( attribute, value );
}
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(
- * java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( '(' ).append( getAttribute() ).append( "~=" ).append( value ).append( ')' );
- return super.printToBuffer( buf );
- }
-
-
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
+ * @see Object#toString()
*/
- public boolean equals( Object other )
+ public String toString()
{
- if ( this == other )
- {
- return true;
- }
+ StringBuilder buf = new StringBuilder();
+
+ buf.append( '(' ).append( getAttribute() ).append( "~=" ).append( value );
- if ( !( other instanceof ApproximateNode ) )
- {
- return false;
- }
-
- ApproximateNode otherNode = (ApproximateNode) other;
+ buf.append( super.toString() );
+
+ buf.append( ')' );
- return ( value == null ? otherNode.value == null : value.equals( otherNode.value ) );
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AssertionNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AssertionNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AssertionNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/AssertionNode.java Wed Sep 19 09:42:01 2007
@@ -35,9 +35,6 @@
/** Setting scan count to max */
private static final Long MAX = Long.MAX_VALUE;
- /** Setting display string to [MAX] */
- private static final String MAX_STR = "[" + MAX.toString() + "]";
-
/** The assertion or predicate to apply */
private final Assertion assertion;
@@ -109,15 +106,6 @@
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(java.lang.StringBuffer)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- return buf.append( desc ).append( MAX_STR );
- }
-
-
- /**
* @see ExprNode#printRefinementToBuffer(StringBuffer)
*/
public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
@@ -130,8 +118,23 @@
* @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
* org.apache.directory.shared.ldap.filter.FilterVisitor)
*/
- public void accept( FilterVisitor visitor )
+ public Object accept( FilterVisitor visitor )
+ {
+ return visitor.visit( this );
+ }
+
+ /**
+ * @see Object#toString
+ */
+ public String toString()
{
- visitor.visit( this );
+ StringBuilder buf = new StringBuilder();
+
+ buf.append( "(@" );
+ buf.append( desc );
+ buf.append( super.toString() );
+ buf.append( ')' );
+
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNode.java Wed Sep 19 09:42:01 2007
@@ -116,7 +116,7 @@
*
* @param list the list of children to set.
*/
- void setChildren( List<ExprNode> list )
+ public void setChildren( List<ExprNode> list )
{
children = list;
}
@@ -143,35 +143,85 @@
* @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
* org.apache.directory.shared.ldap.filter.FilterVisitor)
*/
- public void accept( FilterVisitor visitor )
+ public final Object accept( FilterVisitor visitor )
{
if ( visitor.isPrefix() )
{
List<ExprNode> children = visitor.getOrder( this, this.children );
+ ExprNode result = null;
if ( visitor.canVisit( this ) )
{
- visitor.visit( this );
+ result = (ExprNode)visitor.visit( this );
}
for ( ExprNode node:children )
{
node.accept( visitor );
}
+
+ return result;
}
else
{
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- for ( ExprNode node:children )
+ if ( visitor.canVisit( this ) )
{
- node.accept( visitor );
+ return visitor.visit( this );
}
-
- if ( visitor.canVisit( this ) )
+ else
{
- visitor.visit( this );
+ return null;
}
}
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ public boolean equals( Object other )
+ {
+ if ( this == other )
+ {
+ return true;
+ }
+
+ if ( !( other instanceof BranchNode ) )
+ {
+ return false;
+ }
+
+ if ( other.getClass() != this.getClass() )
+ {
+ return false;
+ }
+
+ BranchNode otherExprNode = ( BranchNode ) other;
+
+ List<ExprNode> otherChildren = otherExprNode.getChildren();
+
+ if ( otherChildren == children )
+ {
+ return true;
+ }
+
+ if ( children.size() != otherChildren.size() )
+ {
+ return false;
+ }
+
+ for ( int i = 0; i < children.size(); i++ )
+ {
+ ExprNode child = children.get( i );
+ ExprNode otherChild = children.get( i );
+
+ if ( !child.equals( otherChild ) )
+ {
+ return false;
+ }
+ }
+
+ return true;
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNormalizedVisitor.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNormalizedVisitor.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNormalizedVisitor.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/BranchNormalizedVisitor.java Wed Sep 19 09:42:01 2007
@@ -44,18 +44,18 @@
*/
public class BranchNormalizedVisitor implements FilterVisitor
{
- public void visit( ExprNode node )
+ public Object visit( ExprNode node )
{
if ( !( node instanceof BranchNode ) )
{
- return;
+ return null;
}
BranchNode branch = ( BranchNode ) node;
if ( branch instanceof NotNode )
{
- return;
+ return null;
}
Comparator<ExprNode> nodeComparator = new NodeComparator();
@@ -68,15 +68,24 @@
{
if ( !child.isLeaf() )
{
- visit( child );
+ ExprNode newChild = (ExprNode)visit( child );
+
+ if ( newChild != null )
+ {
+ set.add( newChild );
+ }
+ }
+ else
+ {
+ set.add( child );
}
-
- set.add( child );
}
children.clear();
children.addAll( set );
+
+ return branch;
}
@@ -137,13 +146,9 @@
{
BranchNormalizedVisitor visitor = new BranchNormalizedVisitor();
- visitor.visit( filter );
-
- StringBuilder normalized = new StringBuilder();
-
- filter.printToBuffer( normalized );
+ ExprNode result = (ExprNode)visitor.visit( filter );
- return normalized.toString().trim();
+ return result.toString().trim();
}
class NodeComparator implements Comparator<ExprNode>
@@ -156,7 +161,7 @@
String s1 = null;
- o1.printToBuffer( buf );
+ buf.append( o1.toString() );
s1 = buf.toString();
@@ -164,7 +169,7 @@
String s2 = null;
- o2.printToBuffer( buf );
+ buf.append( o2.toString() );
s2 = buf.toString();
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/EqualityNode.java Wed Sep 19 09:42:01 2007
@@ -51,49 +51,20 @@
super( attribute, value );
}
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(
- * java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( '(' ).append( getAttribute() ).append( "=" ).append( value ).append( ')' );
- return super.printToBuffer( buf );
- }
-
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
+ * @see Object#toString()
*/
- public void accept( FilterVisitor visitor )
+ public String toString()
{
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
+ StringBuilder buf = new StringBuilder();
+
+ buf.append( '(' ).append( getAttribute() ).append( "=" ).append( value );
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals( Object other )
- {
- if ( this == other )
- {
- return true;
- }
-
- if ( !( other instanceof EqualityNode ) )
- {
- return false;
- }
-
- EqualityNode otherNode = (EqualityNode) other;
+ buf.append( super.toString() );
+
+ buf.append( ')' );
- return ( value == null ? otherNode.value == null : value.equals( otherNode.value ) );
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExprNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExprNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExprNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExprNode.java Wed Sep 19 09:42:01 2007
@@ -57,15 +57,6 @@
/**
- * Recursively appends this String representation of this node and its
- * descendents in prefix notation to a buffer.
- *
- * @param buf the buffer to append to.
- */
- StringBuilder printToBuffer( StringBuilder buf );
-
-
- /**
* Recursively appends the refinement string representation of this node and its
* descendents in prefix notation to a buffer.
*
@@ -79,6 +70,7 @@
* Element/node accept method for visitor pattern.
*
* @param visitor the filter expression tree structure visitor
+ * @return The modified element
*/
- void accept( FilterVisitor visitor );
+ Object accept( FilterVisitor visitor );
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ExtensibleNode.java Wed Sep 19 09:42:01 2007
@@ -107,38 +107,6 @@
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(
- * java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( '(' ).append( getAttribute() );
- buf.append( "-" );
- buf.append( this.dnAttributes );
- buf.append( "-EXTENSIBLE-" );
- buf.append( this.matchingRuleId );
- buf.append( "-" );
- buf.append( StringTools.utf8ToString( value ) );
- buf.append( "/" );
- buf.append( StringTools.dumpBytes( value ) );
- buf.append( ')' );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( getAnnotations().get( "count" ).toString() );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf;
- }
-
-
- /**
* @see ExprNode#printRefinementToBuffer(StringBuilder)
*/
public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
@@ -153,21 +121,21 @@
public String toString()
{
StringBuilder buf = new StringBuilder();
- printToBuffer( buf );
-
- return ( buf.toString() );
- }
-
+
+ buf.append( '(' ).append( getAttribute() );
+ buf.append( "-" );
+ buf.append( dnAttributes );
+ buf.append( "-EXTENSIBLE-" );
+ buf.append( matchingRuleId );
+ buf.append( "-" );
+ buf.append( StringTools.utf8ToString( value ) );
+ buf.append( "/" );
+ buf.append( StringTools.dumpBytes( value ) );
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
+ buf.append( super.toString() );
+
+ buf.append( ')' );
+
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterVisitor.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterVisitor.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterVisitor.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/FilterVisitor.java Wed Sep 19 09:42:01 2007
@@ -48,17 +48,15 @@
/**
* Visits a filter expression AST using a specific visitation order.
*
- * @param node
- * the node to visit
+ * @param node the node to visit
*/
- void visit( ExprNode node );
+ Object visit( ExprNode node );
/**
* Checks to see if a node can be visited.
*
- * @param node
- * the node to be visited
+ * @param node the node to be visited
* @return whether or node the node should be visited
*/
boolean canVisit( ExprNode node );
@@ -77,10 +75,8 @@
* child visitations. Some children may not be returned at all if canVisit()
* returns false on them.
*
- * @param node
- * the parent branch node
- * @param children
- * the child node array
+ * @param node the parent branch node
+ * @param children the child node array
* @return the new reordered array of children
*/
List<ExprNode> getOrder( BranchNode node, List<ExprNode> children );
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/GreaterEqNode.java Wed Sep 19 09:42:01 2007
@@ -51,50 +51,20 @@
super( attribute, value );
}
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(
- * java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( '(' ).append( getAttribute() ).append( ">=" ).append( value ).append( ')' );
-
- return super.printToBuffer( buf );
- }
-
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
+ * @see Object#toString()
*/
- public boolean equals( Object other )
+ public String toString()
{
- if ( this == other )
- {
- return true;
- }
+ StringBuilder buf = new StringBuilder();
+
+ buf.append( '(' ).append( getAttribute() ).append( ">=" ).append( value );
- if ( !( other instanceof GreaterEqNode ) )
- {
- return false;
- }
-
- GreaterEqNode otherNode = (GreaterEqNode) other;
+ buf.append( super.toString() );
+
+ buf.append( ')' );
- return ( value == null ? otherNode.value == null : value.equals( otherNode.value ) );
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LeafNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LeafNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LeafNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LeafNode.java Wed Sep 19 09:42:01 2007
@@ -95,11 +95,28 @@
return false;
}
- if ( !super.equals( other ) )
+ if ( other.getClass() != this.getClass() )
{
- return false;
+ return false;
}
-
+
return attribute.equals( ( ( LeafNode ) other ).getAttribute() );
+ }
+
+
+ /**
+ * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
+ * org.apache.directory.shared.ldap.filter.FilterVisitor)
+ */
+ public final Object accept( FilterVisitor visitor )
+ {
+ if ( visitor.canVisit( this ) )
+ {
+ return visitor.visit( this );
+ }
+ else
+ {
+ return null;
+ }
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/LessEqNode.java Wed Sep 19 09:42:01 2007
@@ -51,50 +51,20 @@
super( attribute, value );
}
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(
- * java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( '(' ).append( getAttribute() ).append( "<=" ).append( value ).append( ')' );
- return super.printToBuffer( buf );
- }
-
-
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
+ * @see Object#toString()
*/
- public boolean equals( Object other )
+ public String toString()
{
- if ( this == other )
- {
- return true;
- }
+ StringBuilder buf = new StringBuilder();
+
+ buf.append( '(' ).append( getAttribute() ).append( "<=" ).append( value );
- if ( !( other instanceof LessEqNode ) )
- {
- return false;
- }
-
- LessEqNode otherNode = (LessEqNode) other;
+ buf.append( super.toString() );
+
+ buf.append( ')' );
- return ( value == null ? otherNode.value == null : value.equals( otherNode.value ) );
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/NotNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/NotNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/NotNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/NotNode.java Wed Sep 19 09:42:01 2007
@@ -96,7 +96,7 @@
*/
public void setChildren( List<ExprNode> list )
{
- if ( ( list != null ) && ( list.size() >= 1 ) )
+ if ( ( list != null ) && ( list.size() > 1 ) )
{
throw new IllegalStateException( "Cannot add more than one element to a negation node." );
}
@@ -150,38 +150,6 @@
/**
- * Recursively prints the String representation of this node and all its
- * descendents to a buffer.
- *
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(java.lang.StringBuffer)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( "(!" );
-
- for ( ExprNode node:children )
- {
- node.printToBuffer( buf );
- }
-
- buf.append( ')' );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( ( ( Long ) getAnnotations().get( "count" ) ).toString() );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf;
- }
-
-
- /**
* @see ExprNode#printRefinementToBuffer(StringBuffer)
*/
public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
@@ -216,61 +184,19 @@
*/
public String toString()
{
- StringBuffer buf = new StringBuffer();
- buf.append( "NOT" );
+ StringBuilder buf = new StringBuilder();
+ buf.append( "(!" );
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( ( ( Long ) getAnnotations().get( "count" ) ) );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
+ buf.append( super.toString() );
+ buf.append( getFirstChild() );
+ buf.append( ')' );
+
return buf.toString();
}
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.isPrefix() )
- {
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
-
- for ( ExprNode node:children )
- {
- node.accept( visitor );
- }
- }
- else
- {
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- for ( ExprNode node:children )
- {
- node.accept( visitor );
- }
-
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
- }
-
- /**
* @see Object#hashCode()
*/
public int hashCode()
@@ -279,51 +205,5 @@
hash = hash*31 + AssertionEnum.NOT.hashCode();
hash = hash*31 + ( annotations == null ? 0 : annotations.hashCode() );
return hash;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals( Object other )
- {
- if ( this == other )
- {
- return true;
- }
-
- if ( !( other instanceof NotNode ) )
- {
- return false;
- }
-
- NotNode otherExprNode = ( NotNode ) other;
-
- List<ExprNode> otherChildren = otherExprNode.getChildren();
-
- if ( otherChildren == children )
- {
- return true;
- }
-
- if ( children.size() != otherChildren.size() )
- {
- return false;
- }
-
- for ( int i = 0; i < children.size(); i++ )
- {
- ExprNode child = children.get( i );
- ExprNode otherChild = children.get( i );
-
- if ( !child.equals( otherChild ) )
- {
- return false;
- }
- }
-
- return true;
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/OrNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/OrNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/OrNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/OrNode.java Wed Sep 19 09:42:01 2007
@@ -98,38 +98,6 @@
/**
- * Recursively prints the String representation of this node and all its
- * descendents to a buffer.
- *
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(java.lang.StringBuffer)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( "(|" );
-
- for ( ExprNode node:children )
- {
- node.printToBuffer( buf );
- }
-
- buf.append( ')' );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( ( ( Long ) getAnnotations().get( "count" ) ).toString() );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf;
- }
-
-
- /**
* @see ExprNode#printRefinementToBuffer(StringBuffer)
*/
public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
@@ -164,59 +132,21 @@
*/
public String toString()
{
- StringBuffer buf = new StringBuffer();
- buf.append( "OR" );
+ StringBuilder buf = new StringBuilder();
+ buf.append( "(|" );
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( ( ( Long ) getAnnotations().get( "count" ) ) );
- buf.append( "] " );
- }
- else
+ buf.append( super.toString() );
+
+ for ( ExprNode child:getChildren() )
{
- buf.append( ' ' );
+ buf.append( child );
}
-
+
+ buf.append( ')' );
+
return buf.toString();
}
-
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.isPrefix() )
- {
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
-
- for ( ExprNode node:children )
- {
- node.accept( visitor );
- }
- }
- else
- {
- List<ExprNode> children = visitor.getOrder( this, this.children );
-
- for ( ExprNode node:children )
- {
- node.accept( visitor );
- }
-
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
- }
- }
/**
* @see Object#hashCode()
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/PresenceNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/PresenceNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/PresenceNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/PresenceNode.java Wed Sep 19 09:42:01 2007
@@ -41,36 +41,19 @@
/**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
- buf.append( '(' ).append( getAttribute() ).append( "=*)" );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( getAnnotations().get( "count" ).toString() );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf;
- }
-
-
- /**
* @see java.lang.Object#toString()
*/
public String toString()
{
StringBuilder buf = new StringBuilder();
- printToBuffer( buf );
+
+ buf.append( '(' ).append( getAttribute() ).append( "=*" );
+
+ buf.append( super.toString() );
+
+ buf.append( ')' );
- return ( buf.toString() );
+ return buf.toString();
}
@@ -80,18 +63,5 @@
public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
{
throw new UnsupportedOperationException( "PresenceNode can't be part of a refinement" );
- }
-
-
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ScopeNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ScopeNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ScopeNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/ScopeNode.java Wed Sep 19 09:42:01 2007
@@ -127,10 +127,39 @@
/**
- * @see ExprNode#printToBuffer(StringBuilder)
+ * @see ExprNode#printRefinementToBuffer(StringBuilder)
+ */
+ public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException( "ScopeNode can't be part of a refinement" );
+ }
+
+
+ /**
+ * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
+ * org.apache.directory.shared.ldap.filter.FilterVisitor)
*/
- public StringBuilder printToBuffer( StringBuilder buf )
+ public Object accept( FilterVisitor visitor )
{
+ if ( visitor.canVisit( this ) )
+ {
+ return visitor.visit( this );
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * @see Object#toString()
+ */
+ public String toString()
+ {
+ StringBuilder buf = new StringBuilder();
+
+ buf.append( "(#{" );
+
switch ( scope )
{
case ( SearchControls.OBJECT_SCOPE ):
@@ -139,7 +168,7 @@
break;
case ( SearchControls.ONELEVEL_SCOPE ):
- buf.append( "ONELEVEL_SCOPE" );
+ buf.append( "ONE_LEVEL_SCOPE" );
break;
@@ -151,36 +180,15 @@
default:
buf.append( "UNKNOWN" );
}
-
- if ( getAnnotations().containsKey( "count" ) )
- {
- buf.append( " [" );
- buf.append( getAnnotations().get( "count" ).toString() );
- buf.append( ']' );
- }
-
- return buf;
- }
-
-
- /**
- * @see ExprNode#printRefinementToBuffer(StringBuilder)
- */
- public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
- {
- throw new UnsupportedOperationException( "ScopeNode can't be part of a refinement" );
- }
-
-
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
+
+ buf.append( ", '" );
+ buf.append( baseDn );
+ buf.append( "', " );
+ buf.append( derefAliases );
+ buf.append( "}" );
+ buf.append( super.toString() );
+ buf.append( ')' );
+
+ return buf.toString();
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SimpleNode.java Wed Sep 19 09:42:01 2007
@@ -28,7 +28,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Revision$
*/
-public class SimpleNode extends LeafNode
+public abstract class SimpleNode extends LeafNode
{
/** the value */
protected Object value;
@@ -43,7 +43,7 @@
* @param attribute the attribute name
* @param value the value to test for
*/
- public SimpleNode( String attribute, byte[] value )
+ protected SimpleNode( String attribute, byte[] value )
{
super( attribute );
this.value = value;
@@ -56,7 +56,7 @@
* @param attribute the attribute name
* @param value the value to test for
*/
- public SimpleNode( String attribute, String value )
+ protected SimpleNode( String attribute, String value )
{
super( attribute );
this.value = value;
@@ -93,14 +93,12 @@
{
if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
{
- buf.append( '[' );
+ buf.append( ":[" );
buf.append( getAnnotations().get( "count" ).toString() );
buf.append( "] " );
}
- else
- {
- buf.append( ' ' );
- }
+
+ buf.append( ')' );
return buf;
}
@@ -123,29 +121,19 @@
/**
- * @see java.lang.Object#toString()
+ * @see Object#hashCode()
*/
- public String toString()
+ public int hashCode()
{
- StringBuilder buf = new StringBuilder();
- printToBuffer( buf );
- return ( buf.toString() );
- }
-
-
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
+ int h = 31;
+ h += value.hashCode()*13;
+ h += getAttribute().hashCode()*13;
+ h += this.getClass().hashCode()*13;
+
+ return h;
}
-
+
/*
* (non-Javadoc)
*
@@ -162,9 +150,26 @@
{
return false;
}
+
+ if ( other.getClass() != this.getClass() )
+ {
+ return false;
+ }
+
+ if ( !super.equals( other ) )
+ {
+ return false;
+ }
SimpleNode otherNode = (SimpleNode)other;
- return ( value == null ? otherNode.value == null : value.equals( otherNode.value ) );
+ if ( value == null )
+ {
+ return otherNode.value == null;
+ }
+ else
+ {
+ return value.equals( otherNode.value );
+ }
}
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java?rev=577351&r1=577350&r2=577351&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/filter/SubstringNode.java Wed Sep 19 09:42:01 2007
@@ -40,13 +40,13 @@
public class SubstringNode extends LeafNode
{
/** The initial fragment before any wildcards */
- private final String initialPattern;
+ private String initialPattern;
/** The end fragment after wildcards */
- private final String finalPattern;
+ private String finalPattern;
/** List of fragments between wildcards */
- private final List<String> anyPattern;
+ private List<String> anyPattern;
/**
* Creates a new SubstringNode object with only one wildcard and no internal
@@ -94,7 +94,15 @@
{
return initialPattern;
}
-
+
+ /**
+ * Set the initial pattern
+ * @param initialPattern The initial pattern
+ */
+ public void setInitial( String initialPattern )
+ {
+ this.initialPattern = initialPattern;
+ }
/**
* Gets the final fragment or suffix.
@@ -108,6 +116,16 @@
/**
+ * Set the final pattern
+ * @param finalPattern The final pattern
+ */
+ public void setFinal( String finalPattern )
+ {
+ this.finalPattern = finalPattern;
+ }
+
+
+ /**
* Gets the list of wildcard surrounded any fragments.
*
* @return the any fragments
@@ -119,6 +137,16 @@
/**
+ * Set the any patterns
+ * @param anyPattern The any patterns
+ */
+ public void setAny( List<String> anyPattern )
+ {
+ this.anyPattern = anyPattern;
+ }
+
+
+ /**
* Gets the compiled regular expression for the substring expression.
*
* @return the equivalent compiled regular expression
@@ -126,7 +154,7 @@
*/
public final Pattern getRegex( Normalizer normalizer ) throws PatternSyntaxException, NamingException
{
- if ( anyPattern.size() > 0 )
+ if ( ( anyPattern != null ) && ( anyPattern.size() > 0 ) )
{
String[] any = new String[anyPattern.size()];
@@ -180,18 +208,8 @@
*/
public String toString()
{
- StringBuilder buf = new StringBuilder();
- printToBuffer( buf );
-
- return ( buf.toString() );
- }
-
-
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#printToBuffer(java.lang.StringBuilder)
- */
- public StringBuilder printToBuffer( StringBuilder buf )
- {
+ StringBuilder buf = new StringBuilder();
+
buf.append( '(' ).append( getAttribute() ).append( '=' );
if ( null != initialPattern )
@@ -203,10 +221,13 @@
buf.append( '*' );
}
- for ( String any:anyPattern )
+ if ( null != anyPattern )
{
- buf.append( any );
- buf.append( '*' );
+ for ( String any:anyPattern )
+ {
+ buf.append( any );
+ buf.append( '*' );
+ }
}
if ( null != finalPattern )
@@ -214,41 +235,19 @@
buf.append( finalPattern );
}
+ buf.append( super.toString() );
+
buf.append( ')' );
-
- if ( ( null != getAnnotations() ) && getAnnotations().containsKey( "count" ) )
- {
- buf.append( '[' );
- buf.append( getAnnotations().get( "count" ).toString() );
- buf.append( "] " );
- }
- else
- {
- buf.append( ' ' );
- }
-
- return buf;
+
+ return buf.toString();
}
-
+
/**
* @see ExprNode#printRefinementToBuffer(StringBuilder)
*/
public StringBuilder printRefinementToBuffer( StringBuilder buf ) throws UnsupportedOperationException
{
throw new UnsupportedOperationException( "SubstringNode can't be part of a refinement" );
- }
-
-
- /**
- * @see org.apache.directory.shared.ldap.filter.ExprNode#accept(
- * org.apache.directory.shared.ldap.filter.FilterVisitor)
- */
- public void accept( FilterVisitor visitor )
- {
- if ( visitor.canVisit( this ) )
- {
- visitor.visit( this );
- }
}
}