public void route(String pathSpec, Class<? extends Controller> cls) { List<String> res = parseRoute(pathSpec); router.add(HTTP.GET, res.get(R_PATH), cls, res.get(R_ACTION), res.subList(R_PARAMS, res.size())); }
public void route(String pathSpec, Class<? extends Controller> cls) { List<String> res = parseRoute(pathSpec); router.add(HTTP.GET, res.get(R_PATH), cls, res.get(R_ACTION), res.subList(R_PARAMS, res.size())); }
public void route(String pathSpec, Class<? extends Controller> cls) { List<String> res = parseRoute(pathSpec); router.add(HTTP.GET, res.get(R_PATH), cls, res.get(R_ACTION), res.subList(R_PARAMS, res.size())); }
/** * Setup of a webapp serving route without default views added to the page. * @param pathSpec the path spec in the form of /controller/action/:args etc. * @param cls the controller class * @param action the controller method */ public void routeWithoutDefaultView(String pathSpec, Class<? extends Controller> cls, String action) { List<String> res = parseRoute(pathSpec); router.addWithoutDefaultView(HTTP.GET, res.get(R_PATH), cls, action, res.subList(R_PARAMS, res.size())); }
private Dest resolveAction(WebApp.HTTP method, Dest dest, String path) { if (dest.prefix.length() == 1) { return null; } checkState(!isGoodMatch(dest, path), dest.prefix); checkState(SLASH.countIn(path) > 1, path); List<String> parts = WebApp.parseRoute(path); String controller = parts.get(WebApp.R_CONTROLLER); String action = parts.get(WebApp.R_ACTION); return add(method, pjoin("", controller, action), dest.controllerClass, action, null); } }
@Test public void testDefaultAction() { assertEquals(Arrays.asList("/foo", "foo", "index"), WebApp.parseRoute("/foo")); assertEquals(Arrays.asList("/foo", "foo", "index"), WebApp.parseRoute("/foo/")); }
@Test public void testTrailingPaddings() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a"), WebApp.parseRoute("/foo/action//:a / ")); assertEquals(Arrays.asList("/foo/action", "foo", "action"), WebApp.parseRoute("/foo/action / ")); }
@Test public void testTrailingPaddings() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a"), WebApp.parseRoute("/foo/action//:a / ")); assertEquals(Arrays.asList("/foo/action", "foo", "action"), WebApp.parseRoute("/foo/action / ")); }
@Test public void testTrailingPaddings() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a"), WebApp.parseRoute("/foo/action//:a / ")); assertEquals(Arrays.asList("/foo/action", "foo", "action"), WebApp.parseRoute("/foo/action / ")); }
@Test public void testDefaultAction() { assertEquals(Arrays.asList("/foo", "foo", "index"), WebApp.parseRoute("/foo")); assertEquals(Arrays.asList("/foo", "foo", "index"), WebApp.parseRoute("/foo/")); }
@Test public void testDefaultAction() { assertEquals(Arrays.asList("/foo", "foo", "index"), WebApp.parseRoute("/foo")); assertEquals(Arrays.asList("/foo", "foo", "index"), WebApp.parseRoute("/foo/")); }
@Test public void testPartialCapture2() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a1", "bar", ":a2", ":a3"), WebApp.parseRoute("/foo/action/:a1/bar/:a2/:a3")); }
@Test public void testPartialCapture2() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a1", "bar", ":a2", ":a3"), WebApp.parseRoute("/foo/action/:a1/bar/:a2/:a3")); }
@Test public void testLeadingPaddings() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a"), WebApp.parseRoute(" /foo/action/ :a")); }
@Test public void testPartialCapture2() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a1", "bar", ":a2", ":a3"), WebApp.parseRoute("/foo/action/:a1/bar/:a2/:a3")); }
@Test public void testDefaultController() { assertEquals(Arrays.asList("/", "default", "index"), WebApp.parseRoute("/")); }
@Test public void testMissingAction() { assertEquals(Arrays.asList("/foo", "foo", "index", ":a1"), WebApp.parseRoute("/foo/:a1")); }
@Test public void testNormalAction() { assertEquals(Arrays.asList("/foo/action", "foo", "action", ":a1", ":a2"), WebApp.parseRoute("/foo/action/:a1/:a2")); }
@Test public void testDefaultController() { assertEquals(Arrays.asList("/", "default", "index"), WebApp.parseRoute("/")); }
@Test public void testMissingAction() { assertEquals(Arrays.asList("/foo", "foo", "index", ":a1"), WebApp.parseRoute("/foo/:a1")); }