@Override public String toString() { return pathValue(); }
/** * Resolves result path as a string, when parts are not important * and when only full string matters. Additional alias resolving * on full path is done. */ public String resolveResultPathString(final String path, final String value) { final ResultPath resultPath = resolveResultPath(path, value); final String result = resultPath.pathValue(); return resolveAlias(result); }
@Test void testMethodWithPrefix() { final WebApp webapp = new WebApp(); webapp.start(); final ResultMapper resultMapper = webapp.madvocContainer().lookupComponent(ResultMapper.class); resultMapper.setResultPathPrefix("/WEB-INF"); String path = "/boo.foo"; ResultPath resultPath = resultMapper.resolveResultPath(path, "ok"); assertEquals("/WEB-INF/boo.foo.ok", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "doo.ok"); assertEquals("/WEB-INF/boo.foo.doo.ok", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "#ok"); assertEquals("/WEB-INF/boo.ok", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "#"); assertEquals("/WEB-INF/boo", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "#doo.ok"); assertEquals("/WEB-INF/boo.doo.ok", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, null); assertEquals("/WEB-INF/boo.foo", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "/xxx"); assertEquals("/xxx", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "/xxx.ext"); assertEquals("/xxx.ext", resultPath.pathValue()); }
@Test void testAlias() { WebApp webapp = new WebApp(); webapp.start(); ActionsManager actionsManager = webapp.madvocContainer().lookupComponent(ActionsManager.class); actionsManager.registerAction(BooAction.class, "foo5", null); actionsManager.registerPathAlias("ok", "xxx.jsp"); actionsManager.registerPathAlias("sok", "zzz"); ResultMapper resultMapper = webapp.madvocContainer().lookupComponent(ResultMapper.class); String path = "/boo.foo.html"; ResultPath resultPath = resultMapper.resolveResultPath(path, "/<ok>?foo=1"); assertEquals("/xxx.jsp?foo=1", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "<sok>"); assertEquals("/boo.foo.html.zzz", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "#<sok>"); assertEquals("/boo.foo.zzz", resultPath.pathValue()); resultPath = resultMapper.resolveResultPath(path, "<dude>?foo=1"); assertEquals("/xxx.html?foo=1", resultPath.pathValue()); }
assertEquals("/boo.foo.html.ok", resultPath.pathValue()); assertEquals("/boo.foo.html", resultPath.path()); assertEquals("ok", resultPath.value()); assertEquals("/boo.foo.html.doo.ok", resultPath.pathValue()); assertEquals("/boo.foo.html", resultPath.path()); assertEquals("doo.ok", resultPath.value()); assertEquals("/boo.foo.ok", resultPath.pathValue()); assertEquals("/boo.foo.ok", resultPath.path()); assertNull(resultPath.value()); assertEquals("/boo.foo.ok", resultPath.pathValue()); assertEquals("/boo.foo", resultPath.path()); assertEquals("ok", resultPath.value()); assertEquals("/boo.foo.ok.do", resultPath.pathValue()); assertEquals("/boo.foo", resultPath.path()); assertEquals("ok.do", resultPath.value()); assertEquals("/boo.ok", resultPath.pathValue()); assertEquals("/boo.ok", resultPath.path()); assertNull(resultPath.value()); assertEquals("/boo.ok", resultPath.pathValue()); assertEquals("/boo", resultPath.path()); assertEquals("ok", resultPath.value()); assertEquals("/boo.ok.do", resultPath.pathValue());