in src/main/java/org/apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java [147:168]
public OptimizationResult getOptimizedContents(Resource fileResource) throws IOException {
if (!fileResource.getName().equals(JcrConstants.JCR_CONTENT)
&& fileResource.getChild(JcrConstants.JCR_CONTENT) != null) {
fileResource = fileResource.getChild(JcrConstants.JCR_CONTENT);
}
OptimizationResult result = new OptimizationResult(fileResource);
OptimizedFile optim = fileResource.adaptTo(OptimizedFile.class);
boolean optimize = true;
byte[] original = IOUtils.toByteArray(optim.getContent());
if (StringUtils.isNotBlank(optim.getHash()) && optim.getHash().equals(calculateHash(original))) {
optimize = false;
}
if (optimize) {
doOptimize(fileResource, result, optim, original);
} else {
log.trace("Resource {} is already optimized", fileResource);
}
return result;
}