Author: akarasulu
Date: Sat Nov  6 16:31:53 2004
New Revision: 56795

Modified:
   incubator/directory/ldap/trunk/common/src/antlr/filter-parser.g
   
incubator/directory/ldap/trunk/common/src/test/org/apache/ldap/common/filter/FilterParserImplTest.java
Log:
Caught bug where we are not trimming values extracted.


Modified: incubator/directory/ldap/trunk/common/src/antlr/filter-parser.g
==============================================================================
--- incubator/directory/ldap/trunk/common/src/antlr/filter-parser.g     
(original)
+++ incubator/directory/ldap/trunk/common/src/antlr/filter-parser.g     Sat Nov 
 6 16:31:53 2004
@@ -283,12 +283,12 @@
             case( AbstractExprNode.APPROXIMATE ):
             case( AbstractExprNode.GREATEREQ ):
             case( AbstractExprNode.LESSEQ ):
-                node = new SimpleNode( attribute, ( String ) value, type );
+                node = new SimpleNode( attribute, ( ( String ) value).trim(), 
type );
                 break;
             case( AbstractExprNode.EQUALITY ):
                 if ( value instanceof String )
                 {
-                    node = new SimpleNode( attribute, ( String ) value, type );
+                    node = new SimpleNode( attribute, ( ( String ) value 
).trim(), type );
                 }
                 else
                 {
@@ -318,12 +318,12 @@
         // A L T E R N A T I V E   1 :
         attributeAlt1:ATTRIBUTEDESCRIPTION
         {
-            attribute = attributeAlt1.getText();
+            attribute = attributeAlt1.getText().trim();
         }
         ( DN { dnAttrs = true; } )?
         ( COLON matchingRuleAlt1:ATTRIBUTEDESCRIPTION
             {
-                matchingRule = matchingRuleAlt1.getText();
+                matchingRule = matchingRuleAlt1.getText().trim();
                 int idx = matchingRule.indexOf( ';' );
                 if ( idx != -1 )
                 {
@@ -335,14 +335,14 @@
         )? COLONEQUALS
         {
             selector.select( valueLexer );
-            value = ( String ) valueParser.value( attribute );
+            value = ( ( String ) valueParser.value( attribute ) ).trim();
         }
 
     |
         // A L T E R N A T I V E   2 :
         ( DN { dnAttrs = true; })? COLON matchingRuleAlt2:ATTRIBUTEDESCRIPTION
             {
-                matchingRule = matchingRuleAlt2.getText();
+                matchingRule = matchingRuleAlt2.getText().trim();
                 int idx = matchingRule.indexOf( ';' );
                 if ( idx != -1 )
                 {
@@ -354,14 +354,14 @@
         COLONEQUALS
         {
             selector.select( valueLexer );
-            value = ( String ) valueParser.value( attribute );
+            value = ( ( String ) valueParser.value( attribute ) ).trim();
         }
     |
         // A L T E R N A T I V E   3 :
         COLONEQUALS
         {
             selector.select( valueLexer );
-            value = ( String ) valueParser.value( attribute );
+            value = ( ( String ) valueParser.value( attribute ) ).trim();
         }
     )
     {

Modified: 
incubator/directory/ldap/trunk/common/src/test/org/apache/ldap/common/filter/FilterParserImplTest.java
==============================================================================
--- 
incubator/directory/ldap/trunk/common/src/test/org/apache/ldap/common/filter/FilterParserImplTest.java
      (original)
+++ 
incubator/directory/ldap/trunk/common/src/test/org/apache/ldap/common/filter/FilterParserImplTest.java
      Sat Nov  6 16:31:53 2004
@@ -26,6 +26,7 @@
 /**
  * Tests the FilterParserImpl class.
  *
+ * @todo add some substring expressions there are none here
  * @author <a href="mailto:[EMAIL PROTECTED]">Apache Directory Project</a>
  * @version $Rev$
  */
@@ -48,7 +49,10 @@
 
     public void testItemFilter() throws IOException, ParseException
     {
-        parser.parse( "( ou ~= people )" );
+        SimpleNode node = ( SimpleNode ) parser.parse( "( ou ~= people )" );
+        assertEquals( "ou", node.getAttribute() );
+        assertEquals( "people", node.getValue() );
+        assertEquals( AbstractExprNode.APPROXIMATE, node.getAssertionType() );
     }
 
 

Reply via email to