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@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