This is an automated email from the ASF dual-hosted git repository.
dklco pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-file-optimization.git
The following commit(s) were added to refs/heads/master by this push:
new 29ef19c Fixing issue where the Optimize File operation was not
updating the file
29ef19c is described below
commit 29ef19c95a0e09e420ffac82b00af599f5d60938
Author: Dan Klco <[email protected]>
AuthorDate: Mon Aug 6 11:00:37 2018 -0400
Fixing issue where the Optimize File operation was not updating the file
---
.../apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java | 10 +++++-----
.../org/apache/sling/fileoptim/impl/OptimizeFileOperation.java | 5 +++++
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git
a/src/main/java/org/apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java
b/src/main/java/org/apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java
index 5e5b9eb..0314c79 100644
---
a/src/main/java/org/apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java
+++
b/src/main/java/org/apache/sling/fileoptim/impl/FileOptimizerServiceImpl.java
@@ -16,7 +16,9 @@
*/
package org.apache.sling.fileoptim.impl;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
@@ -219,11 +221,10 @@ public class FileOptimizerServiceImpl implements
FileOptimizerService, ServiceLi
mvm.put(OptimizedFile.PN_ALGORITHM, result.getAlgorithm());
mvm.put(OptimizedFile.PN_HASH,
calculateHash(result.getOptimizedContents()));
- mvm.put(OptimizedFile.PN_ORIGINAL,
result.getOptimizedContents());
+ mvm.put(OptimizedFile.PN_ORIGINAL,
mvm.get(JcrConstants.JCR_DATA, InputStream.class));
mvm.put(OptimizedFile.PN_SAVINGS, result.getSavings());
- OptimizedFile optim = fileResource.adaptTo(OptimizedFile.class);
- mvm.put(JcrConstants.JCR_DATA,
IOUtils.toByteArray(optim.getContent()));
+ mvm.put(JcrConstants.JCR_DATA, new
ByteArrayInputStream(result.getOptimizedContents()));
if (autoCommit) {
log.debug("Persisting changes...");
@@ -265,8 +266,7 @@ public class FileOptimizerServiceImpl implements
FileOptimizerService, ServiceLi
}
/**
- * @param fileOptimizers
- * the fileOptimizers to set
+ * @param fileOptimizers the fileOptimizers to set
*/
public void setFileOptimizers(Map<String,
List<ServiceReference<FileOptimizer>>> fileOptimizers) {
this.fileOptimizers = fileOptimizers;
diff --git
a/src/main/java/org/apache/sling/fileoptim/impl/OptimizeFileOperation.java
b/src/main/java/org/apache/sling/fileoptim/impl/OptimizeFileOperation.java
index 89539a4..da42e91 100644
--- a/src/main/java/org/apache/sling/fileoptim/impl/OptimizeFileOperation.java
+++ b/src/main/java/org/apache/sling/fileoptim/impl/OptimizeFileOperation.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.jackrabbit.JcrConstants;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.fileoptim.FileOptimizerService;
@@ -51,7 +52,11 @@ public class OptimizeFileOperation implements PostOperation {
protected void doRun(SlingHttpServletRequest request, PostResponse
response, List<Modification> changes)
throws IOException {
Resource resource = request.getResource();
+
if (fileOptimizer.canOptimize(resource)) {
+ if (resource.getChild(JcrConstants.JCR_CONTENT) !=
null) {
+ resource =
resource.getChild(JcrConstants.JCR_CONTENT);
+ }
fileOptimizer.optimizeFile(resource, true);
changes.add(Modification.onModified(resource.getPath()));
}