[gatein-commits] gatein SVN: r5303 - in portal/branches/navcontroller/component/web/controller/src: test/java/org/exoplatform/web/controller/regexp and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 26 16:11:07 EST 2010


Author: julien_viet
Date: 2010-11-26 16:11:05 -0500 (Fri, 26 Nov 2010)
New Revision: 5303

Modified:
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RENode.java
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RegExpParser.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/regexp/TestParser.java
Log:
simplify a bit


Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RENode.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RENode.java	2010-11-26 20:50:07 UTC (rev 5302)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RENode.java	2010-11-26 21:11:05 UTC (rev 5303)
@@ -19,8 +19,6 @@
 
 package org.exoplatform.web.controller.regexp;
 
-import org.hibernate.criterion.Disjunction;
-
 /**
  * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
  * @version $Revision$
@@ -28,6 +26,8 @@
 public abstract class RENode
 {
 
+   public abstract String toString();
+
    public static class Disjunction extends RENode
    {
 
@@ -39,12 +39,17 @@
 
       public Disjunction(Alternative alternative)
       {
-         this.alternative = alternative;
-         this.next = null;
+         this(alternative, null);
       }
 
       public Disjunction(Alternative alternative, Disjunction next)
       {
+         if (alternative == null)
+         {
+            throw new NullPointerException();
+         }
+
+         //
          this.alternative = alternative;
          this.next = next;
       }
@@ -74,12 +79,15 @@
 
       public Alternative(Exp exp)
       {
-         this.exp = exp;
-         this.next = null;
+         this(exp, null);
       }
 
       public Alternative(Exp exp, Alternative next)
       {
+         if (exp == null)
+         {
+            throw new NullPointerException();
+         }
          this.exp = exp;
          this.next = next;
       }
@@ -98,24 +106,42 @@
       }
    }
 
-   public String toString()
-   {
-      throw new UnsupportedOperationException();
-   }
-
    public static abstract class Exp extends RENode
    {
+
+      /** . */
+      Quantifier quantifier;
+
+      @Override
+      public final String toString()
+      {
+         StringBuilder sb = new StringBuilder();
+         if (quantifier != null)
+         {
+            String q = quantifier.toString();
+            sb.append('<').append(q).append('>');
+            toString(sb);
+            sb.append("</").append(q).append('>');
+         }
+         else
+         {
+            toString(sb);
+         }
+         return sb.toString();
+      }
+
+      protected abstract void toString(StringBuilder sb);
    }
 
-   public static class Assertion extends Exp
+   public static abstract class Assertion extends Exp
    {
       /** . */
       public static final Assertion BEGIN = new Assertion()
       {
          @Override
-         public String toString()
+         protected void toString(StringBuilder sb)
          {
-            return "<^/>";
+            sb.append("<^/>");
          }
       };
 
@@ -123,9 +149,9 @@
       public static final Assertion END = new Assertion()
       {
          @Override
-         public String toString()
+         protected void toString(StringBuilder sb)
          {
-            return "<$/>";
+            sb.append("<$/>");
          }
       };
 
@@ -134,27 +160,6 @@
       }
    }
 
-   public static final class QuantifiedExp extends Exp
-   {
-      /** . */
-      private final Exp exp;
-
-      /** . */
-      private final Quantifier quantifier;
-
-      public QuantifiedExp(Exp exp, Quantifier quantifier)
-      {
-         this.exp = exp;
-         this.quantifier = quantifier;
-      }
-
-      @Override
-      public String toString()
-      {
-         return "<" + quantifier + ">" + exp + "</" + quantifier + ">";
-      }
-   }
-
    public static abstract class Atom extends Exp
    {
    }
@@ -169,9 +174,10 @@
       {
       }
 
-      public String toString()
+      @Override
+      protected void toString(StringBuilder sb)
       {
-         return "<./>";
+         sb.append("<./>");
       }
    }
 
@@ -183,13 +189,17 @@
 
       public Group(Disjunction disjunction)
       {
+         if (disjunction == null)
+         {
+            throw new NullPointerException();
+         }
          this.disjunction = disjunction;
       }
 
       @Override
-      public String toString()
+      protected void toString(StringBuilder sb)
       {
-         return "<(>" + disjunction + "</)>";
+         sb.append("<(>").append(disjunction).append("</)>");
       }
    }
 
@@ -205,9 +215,9 @@
       }
 
       @Override
-      public String toString()
+      protected void toString(StringBuilder sb)
       {
-         return "<c>" + value + "</c>";
+         sb.append("<c>").append(value).append("</c>");
       }
    }
 
@@ -224,18 +234,14 @@
 
          public Not(CharacterClass negated)
          {
+            if (negated == null)
+            {
+               throw new NullPointerException();
+            }
             this.negated = negated;
          }
 
          @Override
-         public String toString()
-         {
-            StringBuilder sb = new StringBuilder();
-            toString(sb);
-            return sb.toString();
-         }
-
-         @Override
          protected void toString(StringBuilder sb)
          {
             sb.append("[^");
@@ -255,25 +261,25 @@
 
          public Or(CharacterClass left, CharacterClass right)
          {
+            if (left == null)
+            {
+               throw new NullPointerException();
+            }
+            if (right == null)
+            {
+               throw new NullPointerException();
+            }
             this.left = left;
             this.right = right;
          }
 
          @Override
-         public String toString()
-         {
-            StringBuilder sb = new StringBuilder();
-            sb.append("[");
-            toString(sb);
-            sb.append("]");
-            return sb.toString();
-         }
-
-         @Override
          protected void toString(StringBuilder sb)
          {
+            sb.append("[");
             left.toString(sb);
             right.toString(sb);
+            sb.append("]");
          }
       }
 
@@ -288,26 +294,26 @@
 
          public And(CharacterClass left, CharacterClass right)
          {
+            if (left == null)
+            {
+               throw new NullPointerException();
+            }
+            if (right == null)
+            {
+               throw new NullPointerException();
+            }
             this.left = left;
             this.right = right;
          }
 
          @Override
-         public String toString()
-         {
-            StringBuilder sb = new StringBuilder();
-            sb.append("[");
-            toString(sb);
-            sb.append("]");
-            return sb.toString();
-         }
-
-         @Override
          protected void toString(StringBuilder sb)
          {
+            sb.append("[");
             left.toString(sb);
             sb.append("&&");
             right.toString(sb);
+            sb.append("]");
          }
       }
 
@@ -323,20 +329,12 @@
          }
 
          @Override
-         public String toString()
+         protected void toString(StringBuilder sb)
          {
-            StringBuilder sb = new StringBuilder();
             sb.append("[");
-            toString(sb);
+            sb.append(value);
             sb.append("]");
-            return sb.toString();
          }
-
-         @Override
-         protected void toString(StringBuilder sb)
-         {
-            sb.append(value);
-         }
       }
 
       public static class Range extends CharacterClass
@@ -355,21 +353,13 @@
          }
 
          @Override
-         public String toString()
-         {
-            StringBuilder sb = new StringBuilder();
-            sb.append("[");
-            toString(sb);
-            sb.append("]");
-            return sb.toString();
-         }
-
-         @Override
          protected void toString(StringBuilder sb)
          {
+            sb.append("[");
             sb.append(from);
             sb.append('-');
             sb.append(to);
+            sb.append("]");
          }
       }
    }

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RegExpParser.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RegExpParser.java	2010-11-26 20:50:07 UTC (rev 5302)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/regexp/RegExpParser.java	2010-11-26 21:11:05 UTC (rev 5303)
@@ -201,11 +201,7 @@
       }
 
       //
-      Quantifier quantifier = parseQuantifierSymbol();
-      if (quantifier != null)
-      {
-         exp = new RENode.QuantifiedExp(exp, quantifier);
-      }
+      exp.quantifier = parseQuantifierSymbol();
 
       //
       return exp;

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/regexp/TestParser.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/regexp/TestParser.java	2010-11-26 20:50:07 UTC (rev 5302)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/regexp/TestParser.java	2010-11-26 21:11:05 UTC (rev 5303)
@@ -181,17 +181,17 @@
    public void testParseBracketExpression()
    {
       new ParserTester("[a]").assertParseBracketExpression("[a]");
-      new ParserTester("[^a]").assertParseBracketExpression("[^a]");
-      new ParserTester("[^a-b]").assertParseBracketExpression("[^a-b]");
+      new ParserTester("[^a]").assertParseBracketExpression("[^[a]]");
+      new ParserTester("[^a-b]").assertParseBracketExpression("[^[a-b]]");
       new ParserTester("[a-b]").assertParseBracketExpression("[a-b]");
-      new ParserTester("[ab]").assertParseBracketExpression("[ab]");
-      new ParserTester("[a&]").assertParseBracketExpression("[a&]");
-      new ParserTester("[a&&b]").assertParseBracketExpression("[a&&b]");
-      new ParserTester("[a&&[^b]]").assertParseBracketExpression("[a&&[^b]]");
-      new ParserTester("[a[^b]]").assertParseBracketExpression("[a[^b]]");
-      new ParserTester("[a[b]]").assertParseBracketExpression("[ab]");
+      new ParserTester("[ab]").assertParseBracketExpression("[[a][b]]");
+      new ParserTester("[a&]").assertParseBracketExpression("[[a][&]]");
+      new ParserTester("[a&&b]").assertParseBracketExpression("[[a]&&[b]]");
+      new ParserTester("[a&&[^b]]").assertParseBracketExpression("[[a]&&[^[b]]]");
+      new ParserTester("[a[^b]]").assertParseBracketExpression("[[a][^[b]]]");
+      new ParserTester("[a[b]]").assertParseBracketExpression("[[a][b]]");
       new ParserTester("[-]").assertParseBracketExpression("[-]");
-      new ParserTester("[a-]").assertParseBracketExpression("[a-]");
+      new ParserTester("[a-]").assertParseBracketExpression("[[a][-]]");
       new ParserTester("[---]").assertParseBracketExpression("[---]");
       new ParserTester("[#--]").assertParseBracketExpression("[#--]");
    }



More information about the gatein-commits mailing list