You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2016/03/31 16:05:35 UTC
svn commit: r1737243 - in
/sling/trunk/contrib/extensions/distribution/core/src:
main/java/org/apache/sling/distribution/serialization/impl/vlt/
test/java/org/apache/sling/distribution/serialization/impl/vlt/
Author: mpetria
Date: Thu Mar 31 14:05:34 2016
New Revision: 1737243
URL: http://svn.apache.org/viewvc?rev=1737243&view=rev
Log:
SLING-5633: allow configuration of autosave threshold
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java?rev=1737243&r1=1737242&r2=1737243&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java Thu Mar 31 14:05:34 2016
@@ -63,16 +63,19 @@ public class FileVaultDistributionPackag
private final AccessControlHandling aclHandling;
private final String[] packageRoots;
+ private final int autosaveThreshold;
private final File tempDirectory;
private final TreeMap<String, List<String>> filters;
private final boolean useBinaryReferences;
- public FileVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots, String[] filterRules, String tempFilesFolder, boolean useBinaryReferences) {
+ public FileVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling,
+ String[] packageRoots, String[] filterRules, String tempFilesFolder, boolean useBinaryReferences, int autosaveThreshold) {
super(type);
this.packaging = packaging;
this.importMode = importMode;
this.aclHandling = aclHandling;
this.packageRoots = packageRoots;
+ this.autosaveThreshold = autosaveThreshold;
this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
this.filters = VltUtils.parseFilters(filterRules);
@@ -148,7 +151,7 @@ public class FileVaultDistributionPackag
File file = new File(distributionPackage.getId());
if (file.exists()) {
VaultPackage pkg = packaging.getPackageManager().open(file);
- ImportOptions opts = VltUtils.getImportOptions(aclHandling, importMode);
+ ImportOptions opts = VltUtils.getImportOptions(aclHandling, importMode, autosaveThreshold);
log.debug("using import mode {} and acl {}", opts.getImportMode(), opts.getAccessControlHandling());
pkg.extract(session, opts);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java?rev=1737243&r1=1737242&r2=1737243&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java Thu Mar 31 14:05:34 2016
@@ -73,6 +73,7 @@ public class JcrVaultDistributionPackage
private final ImportMode importMode;
private final AccessControlHandling aclHandling;
private final String[] packageRoots;
+ private final int autosaveThreshold;
private final String tempPackagesNode;
private final File tempDirectory;
private final TreeMap<String, List<String>> filters;
@@ -80,7 +81,8 @@ public class JcrVaultDistributionPackage
private final Object repolock = new Object();
- public JcrVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots, String[] filterRules, String tempFilesFolder, boolean useBinaryReferences) {
+ public JcrVaultDistributionPackageBuilder(String type, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling,
+ String[] packageRoots, String[] filterRules, String tempFilesFolder, boolean useBinaryReferences, int autosaveThreshold) {
super(type);
this.packaging = packaging;
@@ -88,6 +90,7 @@ public class JcrVaultDistributionPackage
this.importMode = importMode;
this.aclHandling = aclHandling;
this.packageRoots = packageRoots;
+ this.autosaveThreshold = autosaveThreshold;
this.tempPackagesNode = type + "/data";
this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
@@ -158,7 +161,7 @@ public class JcrVaultDistributionPackage
InputStream stream = distributionPackage.createInputStream();
vaultPackage = VltUtils.readPackage(packaging.getPackageManager(), stream, tempDirectory);
- ImportOptions importOptions = VltUtils.getImportOptions(aclHandling, importMode);
+ ImportOptions importOptions = VltUtils.getImportOptions(aclHandling, importMode, autosaveThreshold);
vaultPackage.extract(session, importOptions);
return true;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java?rev=1737243&r1=1737242&r2=1737243&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java Thu Mar 31 14:05:34 2016
@@ -111,6 +111,9 @@ public class VaultDistributionPackageBui
@Property(label="Use Binary References", description = "If activated, it avoids sending binaries in the distribution package.", boolValue = false)
public static final String USE_BINARY_REFERENCES = "useBinaryReferences";
+
+ @Property(label="Autosave threshold", description = "The value after which autosave is triggered for intermediate changes.", intValue = -1)
+ public static final String AUTOSAVE_THRESHOLD = "autoSaveThreshold";
@Reference
private Packaging packaging;
@@ -131,7 +134,9 @@ public class VaultDistributionPackageBui
String tempFsFolder = SettingsUtils.removeEmptyEntry(PropertiesUtil.toString(config.get(TEMP_FS_FOLDER), null));
boolean useBinaryReferences = PropertiesUtil.toBoolean(config.get(USE_BINARY_REFERENCES), false);
-
+ int autosaveThreshold = PropertiesUtil.toInteger(config.get(AUTOSAVE_THRESHOLD), -1);
+
+
ImportMode importMode = null;
if (importModeString != null) {
importMode = ImportMode.valueOf(importModeString.trim());
@@ -143,9 +148,9 @@ public class VaultDistributionPackageBui
}
if ("filevlt".equals(type)) {
- packageBuilder = new FileVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder, useBinaryReferences);
+ packageBuilder = new FileVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder, useBinaryReferences, autosaveThreshold);
} else {
- packageBuilder = new JcrVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder, useBinaryReferences);
+ packageBuilder = new JcrVaultDistributionPackageBuilder(name, packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder, useBinaryReferences, autosaveThreshold);
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java?rev=1737243&r1=1737242&r2=1737243&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java Thu Mar 31 14:05:34 2016
@@ -193,7 +193,7 @@ public class VltUtils {
}
- public static ImportOptions getImportOptions(AccessControlHandling aclHandling, ImportMode importMode) {
+ public static ImportOptions getImportOptions(AccessControlHandling aclHandling, ImportMode importMode, int autosaveThreshold) {
ImportOptions opts = new ImportOptions();
if (aclHandling != null) {
opts.setAccessControlHandling(aclHandling);
@@ -208,6 +208,10 @@ public class VltUtils {
opts.setImportMode(ImportMode.UPDATE);
}
+ if (autosaveThreshold >= 0) {
+ opts.setAutoSaveThreshold(autosaveThreshold);
+ }
+
return opts;
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java?rev=1737243&r1=1737242&r2=1737243&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java Thu Mar 31 14:05:34 2016
@@ -75,7 +75,7 @@ public class FileVaultDistributionPackag
when(resourceResolver.adaptTo(Session.class)).thenReturn(session);
- FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false);
+ FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false, -1);
DistributionRequest request = new SimpleDistributionRequest(DistributionRequestType.ADD, "/");
DistributionPackage distributionPackage = fileVaultdistributionPackageBuilder.createPackageForAdd(resourceResolver, request);
assertNotNull(distributionPackage);
@@ -87,7 +87,7 @@ public class FileVaultDistributionPackag
PackageManager packageManager = mock(PackageManager.class);
when(packaging.getPackageManager()).thenReturn(packageManager);
- FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false);
+ FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false, -1);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
InputStream stream = new ByteArrayInputStream("some binary".getBytes("UTF-8"));
@@ -108,7 +108,7 @@ public class FileVaultDistributionPackag
PackageManager packageManager = mock(PackageManager.class);
when(packaging.getPackageManager()).thenReturn(packageManager);
- FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false);
+ FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false, -1);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
String id = "some-id";
@@ -125,7 +125,7 @@ public class FileVaultDistributionPackag
when(packageManager.open(tempFile)).thenReturn(vaultPackage);
when(packaging.getPackageManager()).thenReturn(packageManager);
- FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false);
+ FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null, null, null, false, -1);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
Session session = mock(Session.class);
@@ -156,7 +156,7 @@ public class FileVaultDistributionPackag
when(packaging.getPackageManager()).thenReturn(packageManager);
FileVaultDistributionPackageBuilder fileVaultdistributionPackageBuilder = new FileVaultDistributionPackageBuilder("filevlt", packaging,
- ImportMode.MERGE, AccessControlHandling.MERGE, null, null, null, false);
+ ImportMode.MERGE, AccessControlHandling.MERGE, null, null, null, false, -1);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
Session session = mock(Session.class);