in src/main/java/org/apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java [244:267]
private void rebuildOptimizerCache() {
log.debug("rebuildOptimizerCache");
Map<String, List<ServiceReference<FileOptimizer>>> tempCache = new HashMap<>();
Collection<ServiceReference<FileOptimizer>> references = null;
try {
references = bundleContext.getServiceReferences(FileOptimizer.class, null);
} catch (Exception e) {
log.error("Exception retrieving service references", e);
}
for (ServiceReference<FileOptimizer> ref : references) {
Object mimeType = ref.getProperty(FileOptimizerConstants.MIME_TYPE);
if (mimeType instanceof String[]) {
for (String mt : (String[]) mimeType) {
addOptimizer(tempCache, mt, ref);
}
} else if (mimeType != null) {
addOptimizer(tempCache, (String) mimeType, ref);
}
}
for (List<ServiceReference<FileOptimizer>> optList : tempCache.values()) {
Collections.sort(optList);
}
this.fileOptimizers = tempCache;
}