Search in sources :

Example 6 with WebApp

use of jodd.madvoc.WebApp in project jodd by oblac.

the class ActionsManagerTest method testActionPathMacros_679.

@Test
void testActionPathMacros_679() {
    WebApp webapp = new WebApp();
    webapp.start();
    ActionsManager actionsManager = webapp.madvocContainer().lookupComponent(ActionsManager.class);
    actionsManager.setPathMacroClass(RegExpPathMacros.class);
    ActionRuntime a1 = actionsManager.registerAction(FooAction.class, "one", new ActionDefinition("/hello/{id}"));
    ActionRuntime a2 = actionsManager.registerAction(FooAction.class, "two", new ActionDefinition("/hello/default"));
    ActionRuntime actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/hello/123"));
    assertSame(a1, actionRuntime);
    actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/hello/default"));
    assertSame(a2, actionRuntime);
}
Also used : ActionRuntime(jodd.madvoc.config.ActionRuntime) ActionDefinition(jodd.madvoc.config.ActionDefinition) WebApp(jodd.madvoc.WebApp) Test(org.junit.jupiter.api.Test)

Example 7 with WebApp

use of jodd.madvoc.WebApp in project jodd by oblac.

the class ActionsManagerTest method testActionPathMacrosWildcard.

@Test
void testActionPathMacrosWildcard() {
    WebApp webapp = new WebApp();
    webapp.start();
    ActionsManager actionsManager = webapp.madvocContainer().lookupComponent(ActionsManager.class);
    actionsManager.setPathMacroClass(WildcardPathMacros.class);
    actionsManager.registerAction(FooAction.class, "one", new ActionDefinition("/{one:a?a}"));
    ActionRuntime actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/aaa"));
    assertNotNull(actionRuntime);
    actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/aab"));
    assertNull(actionRuntime);
}
Also used : ActionRuntime(jodd.madvoc.config.ActionRuntime) ActionDefinition(jodd.madvoc.config.ActionDefinition) WebApp(jodd.madvoc.WebApp) Test(org.junit.jupiter.api.Test)

Example 8 with WebApp

use of jodd.madvoc.WebApp in project jodd by oblac.

the class ActionsManagerTest method testActionPathMacros1.

@Test
void testActionPathMacros1() {
    WebApp webapp = new WebApp();
    webapp.start();
    ActionsManager actionsManager = webapp.madvocContainer().lookupComponent(ActionsManager.class);
    actionsManager.registerAction(FooAction.class, "one", new ActionDefinition("/{one}"));
    ActionRuntime actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/foo"));
    assertNotNull(actionRuntime);
    actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/foo/boo"));
    assertNull(actionRuntime);
    actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/foo/boo/zoo"));
    assertNull(actionRuntime);
}
Also used : ActionRuntime(jodd.madvoc.config.ActionRuntime) ActionDefinition(jodd.madvoc.config.ActionDefinition) WebApp(jodd.madvoc.WebApp) Test(org.junit.jupiter.api.Test)

Example 9 with WebApp

use of jodd.madvoc.WebApp in project jodd by oblac.

the class ActionsManagerTest method testActionPathMacros2.

@Test
void testActionPathMacros2() {
    WebApp webapp = new WebApp();
    webapp.start();
    ActionsManager actionsManager = webapp.madvocContainer().lookupComponent(ActionsManager.class);
    actionsManager.registerAction(FooAction.class, "two", new ActionDefinition("/xxx-{two}"));
    actionsManager.registerAction(FooAction.class, "one", new ActionDefinition("/{one}"));
    ActionRuntime actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/foo"));
    assertEquals("one", actionRuntime.getActionClassMethod().getName());
    actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/foo/boo"));
    assertNull(actionRuntime);
    actionRuntime = actionsManager.routes.lookup(null, MadvocUtil.splitPathToChunks("/xxx-foo"));
    // best match!
    assertEquals("two", actionRuntime.getActionClassMethod().getName());
}
Also used : ActionRuntime(jodd.madvoc.config.ActionRuntime) ActionDefinition(jodd.madvoc.config.ActionDefinition) WebApp(jodd.madvoc.WebApp) Test(org.junit.jupiter.api.Test)

Aggregations

WebApp (jodd.madvoc.WebApp)9 Test (org.junit.jupiter.api.Test)9 ActionDefinition (jodd.madvoc.config.ActionDefinition)7 ActionRuntime (jodd.madvoc.config.ActionRuntime)7 ArrayList (java.util.ArrayList)1 ActionRequest (jodd.madvoc.ActionRequest)1 ResultMapper (jodd.madvoc.component.ResultMapper)1 Targets (jodd.madvoc.config.Targets)1 ParamsScope (jodd.madvoc.scope.ParamsScope)1 PetiteContainer (jodd.petite.PetiteContainer)1