protected void unregisterResource(Resource resource) { // unregister directly to the WebResourceManager service WebResourceManager wrm = Framework.getService(WebResourceManager.class); wrm.unregisterResource(resource); }
protected org.nuxeo.ecm.web.resources.api.Resource resolveNuxeoResource(FacesContext context, UIComponent component, String resource) throws UnsupportedEncodingException { WebResourceManager wrm = Framework.getService(WebResourceManager.class); return wrm.getResource(resource); }
protected void registerResource(Resource resource, RuntimeContext extensionContext) { WebResourceManager wrm = Framework.getService(WebResourceManager.class); wrm.registerResource(resource); }
protected List<Resource> retrieveResources(WebResourceManager wrm, String bundle, ResourceType type) { return wrm.getResources(new ResourceContextImpl(), bundle, type.name()); }
@Override public WroModel create() { WroModel model = new WroModel(); WebResourceManager service = Framework.getService(WebResourceManager.class); ResourceContextImpl rcontext = new ResourceContextImpl(); List<ResourceBundle> bundles = service.getResourceBundles(); for (ResourceBundle bundle : bundles) { String groupName = bundle.getName(); Group group = new Group(groupName); List<Resource> resources = service.getResources(rcontext, groupName, ResourceType.any.name()); if (resources != null) { for (Resource resource : resources) { ro.isdc.wro.model.resource.Resource wr = toWroResource(groupName, resource); if (wr != null) { group.addResource(wr); } } } model.addGroup(group); } return model; }
public static List<Processor> resolveProcessors(String type) { WebResourceManager service = Framework.getService(WebResourceManager.class); List<Processor> processors = service.getProcessors(type); if (processors != null) { return processors; } return Collections.emptyList(); }
protected String resolveUrlWithTimestamp(UIComponent component, String url) { boolean doIncludeTimestamp = true; Object includeTimestamp = component.getAttributes().get("includeTimestamp"); if (includeTimestamp instanceof String) { if (!StringUtils.isBlank((String) includeTimestamp)) { doIncludeTimestamp = Boolean.parseBoolean((String) includeTimestamp); } } if (doIncludeTimestamp) { Long timestamp = Framework.getService(WebResourceManager.class).getLastModified(); if (timestamp != null) { return URIUtils.addParametersToURIQuery(url, Collections.singletonMap("ts", String.valueOf(timestamp))); } } return url; }
@Override public void unregisterContribution(Object contribution, String extensionPoint, ComponentInstance contributor) { if (contribution instanceof FlavorDescriptor) { FlavorDescriptor flavor = (FlavorDescriptor) contribution; flavorReg.removeContribution(flavor); } else if (contribution instanceof Resource) { Resource resource = (Resource) contribution; unregisterResource(resource); } else if (contribution instanceof SimpleStyle) { SimpleStyle style = (SimpleStyle) contribution; unregisterResource(getResourceFromStyle(style)); } else if (contribution instanceof PageDescriptor) { PageDescriptor page = (PageDescriptor) contribution; if (page.hasResources()) { WebResourceManager wrm = Framework.getService(WebResourceManager.class); wrm.unregisterResourceBundle(page.getComputedResourceBundle()); } pageReg.removeContribution(page); } else if (contribution instanceof NegotiationDescriptor) { NegotiationDescriptor neg = (NegotiationDescriptor) contribution; negReg.removeContribution(neg); } else { log.error(String.format( "Unknown contribution to the theme " + "styling service, extension point '%s': '%s", extensionPoint, contribution)); } }
wrm.registerResourceBundle(page.getComputedResourceBundle());
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { Map<String, Object> attributes = component.getAttributes(); String name = (String) attributes.get("name"); String type = (String) attributes.get("type"); WebResourceManager wrm = Framework.getService(WebResourceManager.class); if (StringUtils.isBlank(type)) { log.error("Cannot encode bundle with empty type at %s" + component.getClientId()); return; } if (!ResourceType.css.equals(type) && !ResourceType.js.equals(type) && !ResourceType.html.equals(type)) { log.error("Unsupported type '" + type + "' to encode page '" + name + "' at " + component.getClientId()); return; } List<Resource> rs = wrm.getResources(new ResourceContextImpl(), name, type); if (rs != null && !rs.isEmpty()) { if (ResourceType.css.equals(type)) { encodeEnd(context, component, ResourceType.css, BUNDLE_ENDPOINT_PATH + name + ".css"); } else if (ResourceType.js.equals(type)) { encodeEnd(context, component, ResourceType.js, BUNDLE_ENDPOINT_PATH + name + ".js"); } else if (ResourceType.html.equals(type)) { for (Resource r : rs) { encodeEnd(context, component, ResourceType.html, COMPONENTS_PATH + r.getPath()); } } } super.encodeEnd(context, component); }
public static Resource getResource(String uri) { // resolve resource from Nuxeo service String name = uri.substring(Resource.PREFIX.length()); WebResourceManager service = Framework.getService(WebResourceManager.class); return service.getResource(name); }
@Override public WroModel create() { WroModel model = new WroModel(); ThemeStylingService ts = Framework.getService(ThemeStylingService.class); WebResourceManager ws = Framework.getService(WebResourceManager.class); ResourceContextImpl rcontext = new ResourceContextImpl(); List<PageDescriptor> pages = ts.getPages(); for (PageDescriptor page : pages) { String groupName = page.getName(); Group group = new Group(groupName); List<String> bundleNames = page.getResourceBundles(); for (String bundleName : bundleNames) { List<Resource> resources = ws.getResources(rcontext, bundleName, ResourceType.any.name()); if (resources != null) { for (Resource resource : resources) { ro.isdc.wro.model.resource.Resource wr = toWroResource(bundleName, resource); if (wr != null) { group.addResource(wr); } } } } model.addGroup(group); } return model; }