[gatein-commits] gatein SVN: r4991 - in portal/branches/navcontroller/component/web/controller/src: main/java/org/exoplatform/web/controller/metadata and 2 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 9 16:40:24 EST 2010


Author: julien_viet
Date: 2010-11-09 16:40:23 -0500 (Tue, 09 Nov 2010)
New Revision: 4991

Added:
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortal.java
Modified:
   portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/PathParamDescriptor.java
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternBuilder.java
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternParam.java
   portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestBuildRoute.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestLegacyPortal.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRender.java
   portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml
Log:
- remove the required for path param embryo
- add unit test for testing language in path


Modified: portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd	2010-11-09 21:40:23 UTC (rev 4991)
@@ -64,7 +64,6 @@
         </xs:restriction>
       </xs:simpleType>
     </xs:attribute>
-    <xs:attribute name="required" type="xs:boolean" use="optional"/>
   </xs:complexType>
 
   <xs:complexType name="requestParamType">

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -110,9 +110,8 @@
                String name = reader.getAttributeValue(null, "name");
                String pattern = reader.getAttributeValue(null, "pattern");
                String encoded = reader.getAttributeValue(null, "encoding");
-               String required = reader.getAttributeValue(null, "required");
                EncodingMode encodingMode = "preserve-path".equals(encoded) ? EncodingMode.PRESERVE_PATH : EncodingMode.DEFAULT_FORM;
-               routeDesc.addPathParam(QualifiedName.parse(name), pattern, encodingMode, !"false".equals(required));
+               routeDesc.addPathParam(QualifiedName.parse(name), pattern, encodingMode);
             }
             else if (routeQN.equals(reader.getName()))
             {

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/PathParamDescriptor.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/PathParamDescriptor.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/PathParamDescriptor.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -38,10 +38,7 @@
    /** . */
    private final EncodingMode encodingMode;
 
-   /** . */
-   private final boolean required;
-
-   public PathParamDescriptor(QualifiedName name, String pattern, EncodingMode encodingMode, boolean required)
+   public PathParamDescriptor(QualifiedName name, String pattern, EncodingMode encodingMode)
    {
       if (name == null)
       {
@@ -52,7 +49,6 @@
       this.name = name;
       this.pattern = pattern;
       this.encodingMode = encodingMode;
-      this.required = required;
    }
 
    public QualifiedName getName()
@@ -69,9 +65,4 @@
    {
       return encodingMode;
    }
-
-   public boolean isRequired()
-   {
-      return required;
-   }
 }

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -92,9 +92,9 @@
       return this;
    }
 
-   public RouteDescriptor addPathParam(QualifiedName name, String pattern, EncodingMode encodingMode, boolean required)
+   public RouteDescriptor addPathParam(QualifiedName name, String pattern, EncodingMode encodingMode)
    {
-      return addRequestParam(new PathParamDescriptor(name, pattern, encodingMode, required));
+      return addRequestParam(new PathParamDescriptor(name, pattern, encodingMode));
    }
 
    public RouteDescriptor addRequestParam(PathParamDescriptor requestParam)

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternBuilder.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternBuilder.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternBuilder.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -36,6 +36,10 @@
 
    public PatternBuilder expr(String s)
    {
+      if (s == null)
+      {
+         throw new NullPointerException("No null expression allowed");
+      }
       buffer.append(s);
       return this;
    }

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternParam.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternParam.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/PatternParam.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -39,14 +39,10 @@
    /** . */
    final Pattern pattern;
 
-   /** . */
-   final boolean required;
-
-   PatternParam(QualifiedName name, EncodingMode encodingMode, Pattern pattern, boolean required)
+   PatternParam(QualifiedName name, EncodingMode encodingMode, Pattern pattern)
    {
       this.name = name;
       this.encodingMode = encodingMode;
       this.pattern = pattern;
-      this.required = required;
    }
 }

Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -183,19 +183,26 @@
          for (RequestParam requestParamDef : requestParamDefs.values())
          {
             String a = blah.get(requestParamDef.name);
+            boolean matched = false;
             if (a != null)
             {
                if (requestParamDef.matchValue(a))
                {
-                  abc.remove(requestParamDef.name);
-                  continue;
+                  matched = true;
                }
             }
+            if (matched)
+            {
+               abc.remove(requestParamDef.name);
+            }
             else if (!requestParamDef.isRequired())
             {
-               continue;
+               // Do nothing
             }
-            return null;
+            else
+            {
+               return null;
+            }
          }
       }
 
@@ -590,11 +597,12 @@
       {
          if (start.size() == end.size())
          {
-            List<QualifiedName> parameterNames = new ArrayList<QualifiedName>();
             PatternBuilder builder = new PatternBuilder();
             builder.expr("^").expr('/');
             List<String> chunks = new ArrayList<String>();
             List<PatternParam> parameterPatterns = new ArrayList<PatternParam>();
+
+            //
             int previous = 0;
             for (int i = 0;i < start.size();i++)
             {
@@ -607,27 +615,33 @@
 
                // Now get path param metadata
                PathParamDescriptor parameterDescriptor = pathParamDescriptors.get(parameterQName);
-               String regex = "[^/]+";
+               String regex = null;
                EncodingMode encodingMode = EncodingMode.DEFAULT_FORM;
-               boolean required = true;
                if (parameterDescriptor != null)
                {
                   regex = parameterDescriptor.getPattern();
                   encodingMode = parameterDescriptor.getEncodingMode();
-                  required = parameterDescriptor.isRequired();
                }
 
                //
-               builder.expr("(");
-               builder.expr(regex);
-               builder.expr(")");
+               if (regex == null)
+               {
+                  regex = "[^/]+";
+               }
+
+               //
+               builder.expr("(").expr(regex).expr(")");
+
+               //
                parameterPatterns.add(new PatternParam(
                   parameterQName,
                   encodingMode,
-                  Pattern.compile("^" + regex + "$"),
-                  required));
+                  Pattern.compile("^" + regex + "$")
+               ));
                previous = end.get(i) + 1;
             }
+
+            //
             builder.litteral(path, previous, pos);
             chunks.add(path.substring(previous, pos));
             // Julien : should the pattern end with a $ ?????? I don't see that for now

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestBuildRoute.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestBuildRoute.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestBuildRoute.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -112,7 +112,7 @@
       for (String path : paths)
       {
          RouterDescriptor routerMD = new RouterDescriptor();
-         routerMD.addRoute(new RouteDescriptor(path).addPathParam(QualifiedName.parse("a"), ".*", EncodingMode.DEFAULT_FORM, true));
+         routerMD.addRoute(new RouteDescriptor(path).addPathParam(QualifiedName.parse("a"), ".*", EncodingMode.DEFAULT_FORM));
          Router router = new Router(routerMD);
 
          //

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -59,7 +59,6 @@
       assertEquals(QualifiedName.parse("gtn:path"), route1.getPathParams().get(QualifiedName.parse("gtn:path")).getName());
       assertEquals(".*", route1.getPathParams().get(QualifiedName.parse("gtn:path")).getPattern());
       assertEquals(EncodingMode.DEFAULT_FORM, route1.getPathParams().get(QualifiedName.parse("gtn:path")).getEncodingMode());
-      assertEquals(true, route1.getPathParams().get(QualifiedName.parse("gtn:path")).isRequired());
 
       //
       assertTrue(i.hasNext());
@@ -70,7 +69,6 @@
       assertEquals(QualifiedName.parse("gtn:path"), route2.getPathParams().get(QualifiedName.parse("gtn:path")).getName());
       assertEquals(".*", route2.getPathParams().get(QualifiedName.parse("gtn:path")).getPattern());
       assertEquals(EncodingMode.PRESERVE_PATH, route2.getPathParams().get(QualifiedName.parse("gtn:path")).getEncodingMode());
-      assertEquals(true, route2.getPathParams().get(QualifiedName.parse("gtn:path")).isRequired());
 
       //
       assertTrue(i.hasNext());
@@ -113,16 +111,6 @@
       assertEquals(true, route6.getRequestParams().get("juu").isRequired());
 
       //
-      assertTrue(i.hasNext());
-      RouteDescriptor route7 = i.next();
-      assertEquals("/{gtn:lang}", route7.getPath());
-      assertEquals(Collections.singleton(QualifiedName.parse("gtn:lang")), route7.getPathParams().keySet());
-      assertEquals(QualifiedName.parse("gtn:lang"), route7.getPathParams().get(QualifiedName.parse("gtn:lang")).getName());
-      assertEquals(null, route7.getPathParams().get(QualifiedName.parse("gtn:lang")).getPattern());
-      assertEquals(EncodingMode.DEFAULT_FORM, route7.getPathParams().get(QualifiedName.parse("gtn:lang")).getEncodingMode());
-      assertEquals(false, route7.getPathParams().get(QualifiedName.parse("gtn:lang")).isRequired());
-
-      //
       assertFalse(i.hasNext());
    }
 }

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestLegacyPortal.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestLegacyPortal.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestLegacyPortal.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -49,8 +49,8 @@
          addRequestParam(QualifiedName.parse("gtn:action"), "portal:action", null, false).
          addRequestParam(QualifiedName.parse("gtn:objectid"), "portal:objectId", null, false).
          addRoute(new RouteDescriptor("/public/{gtn:sitename}{gtn:path}").
-            addParam(QualifiedName.parse("gtn:access"), "public")).addPathParam(QualifiedName.parse("gtn:path"), ".*", EncodingMode.PRESERVE_PATH, true).
-         addRoute(new RouteDescriptor("/private/{gtn:sitename}{gtn:path}").addPathParam(QualifiedName.parse("gtn:path"), ".*", EncodingMode.PRESERVE_PATH, true).
+            addParam(QualifiedName.parse("gtn:access"), "public")).addPathParam(QualifiedName.parse("gtn:path"), ".*", EncodingMode.PRESERVE_PATH).
+         addRoute(new RouteDescriptor("/private/{gtn:sitename}{gtn:path}").addPathParam(QualifiedName.parse("gtn:path"), ".*", EncodingMode.PRESERVE_PATH).
             addParam(QualifiedName.parse("gtn:access"), "private"));
 
       //

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -107,7 +107,7 @@
    public void testWildcardPattern() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.PRESERVE_PATH, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.PRESERVE_PATH));
       Router router = new Router(routerMD);
 
       //
@@ -120,7 +120,7 @@
    public void testDefaultForm() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]+", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]+", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //
@@ -130,7 +130,7 @@
    public void testPreservePath() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]+", EncodingMode.PRESERVE_PATH, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]+", EncodingMode.PRESERVE_PATH));
       Router router = new Router(routerMD);
 
       //
@@ -141,7 +141,7 @@
    public void testSimplePattern() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //
@@ -155,7 +155,7 @@
    {
       RouterDescriptor routerMD = new RouterDescriptor();
       routerMD.addRoute(new RouteDescriptor("/a"));
-      routerMD.addRoute(new RouteDescriptor("/{p}/b").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}/b").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //

Added: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortal.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortal.java	                        (rev 0)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortal.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.web.controller.router;
+
+import org.exoplatform.web.controller.QualifiedName;
+import org.exoplatform.web.controller.metadata.RouteDescriptor;
+import org.exoplatform.web.controller.metadata.RouterDescriptor;
+
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class TestPortal extends AbstractTestController
+{
+
+   public void testLanguage1() throws Exception
+   {
+      RouterDescriptor routerMD = new RouterDescriptor().addRoute(
+         new RouteDescriptor("/public{gtn:lang}").addPathParam(
+         QualifiedName.parse("gtn:lang"), "(/[A-Za-z][A-Za-z])?", EncodingMode.PRESERVE_PATH)
+      );
+      Router router = new Router(routerMD);
+      assertEquals(Collections.singletonMap(QualifiedName.parse("gtn:lang"), ""), router.route("/public"));
+      assertEquals(Collections.singletonMap(QualifiedName.parse("gtn:lang"), "/fr"), router.route("/public/fr"));
+   }
+
+   public void testLanguage2() throws Exception
+   {
+      RouterDescriptor routerMD = new RouterDescriptor().addRoute(
+         new RouteDescriptor("/{gtn:lang}public").addPathParam(
+         QualifiedName.parse("gtn:lang"), "([A-Za-z][A-Za-z]/)?", EncodingMode.PRESERVE_PATH)
+      );
+      Router router = new Router(routerMD);
+      assertEquals(Collections.singletonMap(QualifiedName.parse("gtn:lang"), ""), router.route("/public"));
+      assertEquals(Collections.singletonMap(QualifiedName.parse("gtn:lang"), "fr/"), router.route("/fr/public"));
+   }
+
+   public void testLanguage3() throws Exception
+   {
+      RouterDescriptor routerMD = new RouterDescriptor().
+         addRoute(new RouteDescriptor("/public")).
+         addRoute(new RouteDescriptor("/{gtn:lang}/public").
+            addPathParam(QualifiedName.parse("gtn:lang"), "([A-Za-z][A-Za-z])", EncodingMode.DEFAULT_FORM
+            )
+         );
+      Router router = new Router(routerMD);
+      assertEquals(Collections.<QualifiedName, String>emptyMap(), router.route("/public"));
+      assertEquals(Collections.singletonMap(QualifiedName.parse("gtn:lang"), "fr"), router.route("/fr/public"));
+   }
+
+}

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -46,25 +46,25 @@
       RouteDescriptor portalRouteMD = new RouteDescriptor("/private/{gtn:sitetype}/{gtn:sitename}{gtn:path}");
       portalRouteMD.addParam(QualifiedName.create("gtn", "controller"), "site");
       portalRouteMD.addRequestParam(QualifiedName.create("gtn", "componentid"), "portal:componentId", null, false);
-      portalRouteMD.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH, true);
+      portalRouteMD.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH);
       routerMD.addRoute(portalRouteMD);
 
       //
       RouteDescriptor portalRouteMD2 = new RouteDescriptor("/private/{gtn:sitetype}/{gtn:sitename}{gtn:path}");
       portalRouteMD2.addParam(QualifiedName.create("gtn", "controller"), "site");
-      portalRouteMD2.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH, true);
+      portalRouteMD2.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH);
       routerMD.addRoute(portalRouteMD2);
 
       //
       RouteDescriptor groupRouteMD = new RouteDescriptor("/groups/{gtn:sitetype}/{gtn:sitename}{gtn:path}");
       groupRouteMD.addParam(QualifiedName.create("gtn", "controller"), "site");
-      groupRouteMD.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH, true);
+      groupRouteMD.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH);
       routerMD.addRoute(groupRouteMD);
 
       //
       RouteDescriptor userRouteMD = new RouteDescriptor("/users/{gtn:sitetype}/{gtn:sitename}{gtn:path}");
       userRouteMD.addParam(QualifiedName.create("gtn", "controller"), "site");
-      userRouteMD.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH, true);
+      userRouteMD.addPathParam(QualifiedName.create("gtn", "path"), ".*", EncodingMode.PRESERVE_PATH);
       routerMD.addRoute(userRouteMD);
 
       //

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRender.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRender.java	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRender.java	2010-11-09 21:40:23 UTC (rev 4991)
@@ -76,7 +76,7 @@
    public void testSimplePatternPathParam() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //
@@ -87,7 +87,7 @@
    public void testWildcardPathParam() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.PRESERVE_PATH, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.PRESERVE_PATH));
       Router router = new Router(routerMD);
 
       //
@@ -99,7 +99,7 @@
    public void testFoo() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]*", EncodingMode.PRESERVE_PATH, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]*", EncodingMode.PRESERVE_PATH));
       Router router = new Router(routerMD);
 
       //
@@ -109,7 +109,7 @@
    public void testBar() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]*", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), "[^/]*", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //
@@ -119,7 +119,7 @@
    public void testWildcardParamPathPreservePathEncoding() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.PRESERVE_PATH, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.PRESERVE_PATH));
       Router router = new Router(routerMD);
 
       //
@@ -129,7 +129,7 @@
    public void testWildcardParamPathDefaultFormEncoded() throws Exception
    {
       RouterDescriptor routerMD = new RouterDescriptor();
-      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}").addPathParam(QualifiedName.parse("p"), ".*", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //
@@ -140,7 +140,7 @@
    {
       RouterDescriptor routerMD = new RouterDescriptor();
       routerMD.addRoute(new RouteDescriptor("/a"));
-      routerMD.addRoute(new RouteDescriptor("/{p}/b").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM, true));
+      routerMD.addRoute(new RouteDescriptor("/{p}/b").addPathParam(QualifiedName.parse("p"), "a", EncodingMode.DEFAULT_FORM));
       Router router = new Router(routerMD);
 
       //

Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml	2010-11-09 21:09:11 UTC (rev 4990)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml	2010-11-09 21:40:23 UTC (rev 4991)
@@ -34,8 +34,4 @@
     <request-param name="juu" matchName="juu" matchValue="juu" required="true"/>
   </route>
 
-  <route path="/{gtn:lang}">
-    <path-param name="gtn:lang" required="false"/>
-  </route>
-
 </router>
\ No newline at end of file



More information about the gatein-commits mailing list