/** * Adds root package with no additional mapping. */ public void addRootPackage(final String rootPackage) { addRootPackage(rootPackage, StringPool.EMPTY); }
/** * Sets root package to package of given class. */ public void addRootPackageOf(final Class actionClass, final String mapping) { addRootPackage(actionClass.getPackage().getName(), mapping); }
@Test void testDuplicateRootPackages() { RootPackages rootPackages = new RootPackages(); rootPackages.addRootPackage("xx.zz", "foo"); try { rootPackages.addRootPackage("xx.zz", "bar"); fail("error"); } catch (MadvocException ignore) {} }
rootPackages.addRootPackage(actionPackage.getName(), packageActionPathFromAnnotation); break;
@Test void testRootPackagesFindForPath() { RootPackages rootPackages = new RootPackages(); rootPackages.addRootPackage("xx"); rootPackages.addRootPackage("xx.admin.actions", "admin"); rootPackages.addRootPackage("xx.cms.actions", "cms"); assertEquals("xx", rootPackages.findRootPackageForActionPath("/foo")); assertEquals("xx.admin.actions", rootPackages.findRootPackageForActionPath("/admin")); assertEquals("xx.admin.actions", rootPackages.findRootPackageForActionPath("/admin/hey")); assertEquals("xx.cms.actions", rootPackages.findRootPackageForActionPath("/cms")); assertEquals("xx.cms.actions", rootPackages.findRootPackageForActionPath("/cms/hay")); }
@Test void testRootPackagesPackagePath() { RootPackages rootPackages = new RootPackages(); rootPackages.addRootPackage("xx"); rootPackages.addRootPackage("xx.admin.actions", "admin"); rootPackages.addRootPackage("xx.cms.actions", "cms"); for (int i = 0; i < 2; i++) { // test cache assertEquals("", rootPackages.findPackagePathForActionPackage("xx")); assertEquals("/admin", rootPackages.findPackagePathForActionPackage("xx.admin.actions")); assertEquals("/admin/hey", rootPackages.findPackagePathForActionPackage("xx.admin.actions.hey")); assertEquals("/cms", rootPackages.findPackagePathForActionPackage("xx.cms.actions")); assertEquals("/cms/hay", rootPackages.findPackagePathForActionPackage("xx.cms.actions.hay")); } }