private ClientLibrary getClientLibrary(String path) { if (clientLibrariesCache == null) { clientLibrariesCache = Collections.unmodifiableMap(htmlLibraryManager.getLibraries()); } return clientLibrariesCache.get(path); }
private List<String> getSortedDependentCategories(Set<String> originalCategories, LibraryType type, List<String> existingCategories) { final Collection<ClientLibrary> libraries = htmlLibraryManager.getLibraries( originalCategories.toArray(new String[0]), null, // always request all types (to also consider transitive embeds/dependencies of the required type) true, false); return getSortedDependentCategories(libraries, originalCategories, type, existingCategories); }
private List<Resource> getCategoryResourceList(@Nonnull SlingHttpServletRequest request, LibraryType libraryType) { List<Resource> categoryResourceList = new ArrayList<>(); HashSet<String> clientLibraryCategories = new HashSet<String>(); for (ClientLibrary library: htmlLibraryManager.getLibraries().values()) { for (String category: library.getCategories()) { clientLibraryCategories.add(category); } } if (libraryType != null) { Collection<ClientLibrary> clientLibraries = htmlLibraryManager .getLibraries(clientLibraryCategories.toArray(new String[clientLibraryCategories.size()]), libraryType, true, true); clientLibraryCategories.clear(); for (ClientLibrary library: clientLibraries) { for (String category: library.getCategories()) { clientLibraryCategories.add(category); } } } for (String category: clientLibraryCategories) { categoryResourceList.add(new CategoryResource(category, request.getResourceResolver())); } return categoryResourceList; }
@PostConstruct protected void initModel() { super.initModel(); String resourcesClientLibrary = currentStyle.get(PN_APP_RESOURCES_CLIENTLIB, String.class); if (resourcesClientLibrary != null) { Collection<ClientLibrary> clientLibraries = htmlLibraryManager.getLibraries(new String[]{resourcesClientLibrary}, LibraryType.CSS, true, true); ArrayList<ClientLibrary> clientLibraryList = Lists.newArrayList(clientLibraries.iterator()); if (!clientLibraryList.isEmpty()) { appResourcesPath = getProxyPath(clientLibraryList.get(0)); } } populateClientLibCategoriesJs(); setRedirect(); }
/** * Handles request to get all clientlib info */ private void handleAllLibsRequest(SlingHttpServletRequest request, SlingHttpServletResponse response, DumplibsParams p) throws IOException { Map<String, ClientLibrary> libs = libraryManager.getLibraries(); JsonArray libsJSON = clientLibrariesMapToJSON(libs); // should never be null response.setContentType(CONTENT_TYPE_JSON); response.getWriter().print(libsJSON.toString()); }
public void handleEvent(Event event) { try { boolean minified = htmlLibraryManager.isMinifyEnabled(); String path = (String) event.getProperty(SlingConstants.PROPERTY_PATH); log.info("Client Library at {} invalidated. Sending reload.", path); ClientLibrary library = htmlLibraryManager.getLibraries().get(path); if (library != null) { for (LibraryType type : library.getTypes()) { String includePath = library.getIncludePath(type, minified); server.triggerReload(includePath); } } } catch (JSONException e) { log.info("Unable to send reload", e); } }
public void handleEvent(Event event) { try { boolean minified = htmlLibraryManager.isMinifyEnabled(); String path = (String) event.getProperty(SlingConstants.PROPERTY_PATH); log.info("Client Library at {} invalidated. Sending reload.", path); ClientLibrary library = htmlLibraryManager.getLibraries().get(path); if (library != null) { for (LibraryType type : library.getTypes()) { String includePath = library.getIncludePath(type, minified); server.triggerReload(includePath); } } } catch (JSONException e) { log.info("Unable to send reload", e); } }
@Override protected void doGet(@Nonnull SlingHttpServletRequest request, @Nonnull SlingHttpServletResponse response) throws ServletException, IOException { ResourceResolver resourceResolver = request.getResourceResolver(); response.setContentType("application/json"); JsonWriter writer = new JsonWriter(response.getWriter()); writer.beginObject(); writer.name("js"); writer.beginArray(); if (!excludeAll) { Collection<ClientLibrary> libraries = htmlLibraryManager.getLibraries(categories, LibraryType.JS, true, true); for (ClientLibrary library : libraries) { writer.value(resourceResolver.map(request, library.getIncludePath(LibraryType.JS, htmlLibraryManager.isMinifyEnabled()))); } } writer.endArray(); writer.name("css"); writer.beginArray(); if (!excludeAll) { Collection<ClientLibrary> libraries = htmlLibraryManager.getLibraries(categories, LibraryType.CSS, true, true); for (ClientLibrary library : libraries) { writer.value(resourceResolver.map(request, library.getIncludePath(LibraryType.CSS, htmlLibraryManager.isMinifyEnabled()))); } } writer.endArray(); writer.endObject(); }
Set<String> categories = new TreeSet<String>(); LibraryType libraryType = LibraryType.valueOf(type.toUpperCase()); Map<String, ClientLibrary> libraries = libraryManager.getLibraries(); for (ClientLibrary library : libraries.values()) { if (library.getTypes() != null && library.getTypes().contains(libraryType)) {
/** * Handles request to get clientlib info by categories */ private void handleCategoriesRequest(SlingHttpServletRequest request, SlingHttpServletResponse response, DumplibsParams p) throws IOException { Collection<ClientLibrary> libs = libraryManager.getLibraries(p.getCategories(), p.getType(), !p.isThemed(), p.isTrans()); JsonArray libsJSON = clientLibrariesCollectionToJSON(libs); // should never be null response.setContentType(CONTENT_TYPE_JSON); response.getWriter().print(libsJSON.toString()); }
htmlLibraryManager.getLibraries(clientLibraryCategories.toArray(new String[clientLibraryCategories.size()]), null, false, false);
Set<String> categories = new TreeSet<String>(); LibraryType libraryType = LibraryType.valueOf(type.toUpperCase()); Map<String, ClientLibrary> libraries = libraryManager.getLibraries(); for (ClientLibrary library : libraries.values()) { if (library.getTypes() != null && library.getTypes().contains(libraryType)) {