CompositeSkin(SkinService service, Collection<SkinConfig> skins) { TreeMap<String, SkinConfig> urlSkins = new TreeMap<String, SkinConfig>(); for (SkinConfig skin : skins) { urlSkins.put(skin.getCSSPath(), skin); } // final StringBuilder builder = new StringBuilder(); builder.append("/portal/resource"); // final StringBuilder id = new StringBuilder(); // try { for (SkinConfig cfg : urlSkins.values()) { StringBuilder encodedName = new StringBuilder(); Codec.encode(encodedName, cfg.getName()); StringBuilder encodedModule = new StringBuilder(); Codec.encode(encodedModule, cfg.getModule()); // id.append(encodedName).append(encodedModule); builder.append("/").append(encodedName).append("/").append(encodedModule); } } catch (IOException e) { throw new Error(e); } // this.service = service; this.id = id.toString(); this.urlPrefix = builder.toString(); }
public void testDeployedSkinModules() { assertNotNull(skinService.getAvailableSkinNames()); assertTrue(skinService.getAvailableSkinNames().contains("TestSkin")); Collection<SkinConfig> skinConfigs = skinService.getPortalSkins("TestSkin"); assertNotNull(skinConfigs); SkinConfig portalSkin = null; for (SkinConfig config : skinConfigs) { if ("TestSkin".equals(config.getName())) { portalSkin = config; break; } } assertNotNull(portalSkin); assertEquals( mockServletContext.getContextPath() + "/skin/Stylesheet.css", portalSkin.getCSSPath()); SkinConfig firstPortletSkin = skinService.getSkin("mockwebapp/FirstPortlet", "TestSkin"); assertNotNull(firstPortletSkin); assertEquals( mockServletContext.getContextPath() + "/skin/portlet/FirstPortlet/Stylesheet.css", firstPortletSkin.getCSSPath()); }