Author: mpetria
Date: Thu Jan 28 15:19:15 2016
New Revision: 1727381
URL: http://svn.apache.org/viewvc?rev=1727381&view=rev
Log:
SLING-5432: expose configuration option for binaryless distribution
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=1727381&r1=1727380&r2=1727381&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 Jan 28 15:19:15 2016
@@ -65,8 +65,9 @@ public class FileVaultDistributionPackag
private final String[] packageRoots;
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) {
+ public FileVaultDistributionPackageBuilder(String type, Packaging
packaging, ImportMode importMode, AccessControlHandling aclHandling, String[]
packageRoots, String[] filterRules, String tempFilesFolder, boolean
useBinaryReferences) {
super(type);
this.packaging = packaging;
this.importMode = importMode;
@@ -75,7 +76,7 @@ public class FileVaultDistributionPackag
this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
this.filters = VltUtils.parseFilters(filterRules);
-
+ this.useBinaryReferences = useBinaryReferences;
log.info("using temp directory {}", tempDirectory == null ?
tempDirectory : tempDirectory.getPath());
}
@@ -92,7 +93,7 @@ public class FileVaultDistributionPackag
String packageName = getType() + "_" + System.currentTimeMillis()
+ "_" + UUID.randomUUID();
WorkspaceFilter filter = VltUtils.createFilter(request, filters);
- ExportOptions opts = VltUtils.getExportOptions(filter,
packageRoots, packageGroup, packageName, VERSION);
+ ExportOptions opts = VltUtils.getExportOptions(filter,
packageRoots, packageGroup, packageName, VERSION, useBinaryReferences);
log.debug("assembling package {}", packageGroup + '/' +
packageName + "-" + VERSION);
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=1727381&r1=1727380&r2=1727381&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 Jan 28 15:19:15 2016
@@ -76,8 +76,9 @@ public class JcrVaultDistributionPackage
private final String tempPackagesNode;
private final File tempDirectory;
private final TreeMap<String, List<String>> filters;
+ private final boolean useBinaryReferences;
- public JcrVaultDistributionPackageBuilder(String type, Packaging
packaging, ImportMode importMode, AccessControlHandling aclHandling, String[]
packageRoots, String[] filterRules, String tempFilesFolder) {
+ public JcrVaultDistributionPackageBuilder(String type, Packaging
packaging, ImportMode importMode, AccessControlHandling aclHandling, String[]
packageRoots, String[] filterRules, String tempFilesFolder, boolean
useBinaryReferences) {
super(type);
this.packaging = packaging;
@@ -89,6 +90,7 @@ public class JcrVaultDistributionPackage
this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
this.filters = VltUtils.parseFilters(filterRules);
+ this.useBinaryReferences = useBinaryReferences;
}
@Override
@@ -104,7 +106,7 @@ public class JcrVaultDistributionPackage
String packageName = getType() + "_" + System.currentTimeMillis()
+ "_" + UUID.randomUUID();
WorkspaceFilter filter = VltUtils.createFilter(request, filters);
- ExportOptions opts = VltUtils.getExportOptions(filter,
packageRoots, packageGroup, packageName, VERSION);
+ ExportOptions opts = VltUtils.getExportOptions(filter,
packageRoots, packageGroup, packageName, VERSION, useBinaryReferences);
log.debug("assembling package {} user {}", packageGroup + '/' +
packageName + "-" + VERSION, resourceResolver.getUserID());
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=1727381&r1=1727380&r2=1727381&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 Jan 28 15:19:15 2016
@@ -109,6 +109,9 @@ public class VaultDistributionPackageBui
@Property(label = "Temp Filesystem Folder", description = "The filesystem
folder where the temporary files should be saved.")
private static final String TEMP_FS_FOLDER = "tempFsFolder";
+ @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";
+
@Reference
private Packaging packaging;
@@ -127,7 +130,8 @@ public class VaultDistributionPackageBui
String[] packageFilters =
SettingsUtils.removeEmptyEntries(PropertiesUtil.toStringArray(config.get(PACKAGE_FILTERS),
null));
String tempFsFolder =
SettingsUtils.removeEmptyEntry(PropertiesUtil.toString(config.get(TEMP_FS_FOLDER),
null));
-
+ boolean useBinaryReferences =
PropertiesUtil.toBoolean(config.get(USE_BINARY_REFERENCES), false);
+
ImportMode importMode = null;
if (importModeString != null) {
importMode = ImportMode.valueOf(importModeString.trim());
@@ -139,9 +143,9 @@ public class VaultDistributionPackageBui
}
if ("filevlt".equals(type)) {
- packageBuilder = new FileVaultDistributionPackageBuilder(name,
packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder);
+ packageBuilder = new FileVaultDistributionPackageBuilder(name,
packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder,
useBinaryReferences);
} else {
- packageBuilder = new JcrVaultDistributionPackageBuilder(name,
packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder);
+ packageBuilder = new JcrVaultDistributionPackageBuilder(name,
packaging, importMode, aclHandling, packageRoots, packageFilters, tempFsFolder,
useBinaryReferences);
}
}
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=1727381&r1=1727380&r2=1727381&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 Jan 28 15:19:15 2016
@@ -50,6 +50,7 @@ import org.apache.jackrabbit.vault.fs.io
import org.apache.jackrabbit.vault.packaging.ExportOptions;
import org.apache.jackrabbit.vault.packaging.JcrPackage;
import org.apache.jackrabbit.vault.packaging.PackageManager;
+import org.apache.jackrabbit.vault.packaging.PackageProperties;
import org.apache.jackrabbit.vault.packaging.VaultPackage;
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.DistributionRequestType;
@@ -132,7 +133,8 @@ public class VltUtils {
public static ExportOptions getExportOptions(WorkspaceFilter filter,
String[] packageRoots,
String packageGroup,
String packageName,
- String packageVersion) {
+ String packageVersion,
+ boolean useBinaryReferences) {
DefaultMetaInf inf = new DefaultMetaInf();
ExportOptions opts = new ExportOptions();
inf.setFilter(filter);
@@ -141,6 +143,7 @@ public class VltUtils {
props.setProperty(VaultPackage.NAME_GROUP, packageGroup);
props.setProperty(VaultPackage.NAME_NAME, packageName);
props.setProperty(VaultPackage.NAME_VERSION, packageVersion);
+ props.setProperty(PackageProperties.NAME_USE_BINARY_REFERENCES,
String.valueOf(useBinaryReferences));
inf.setProperties(props);
opts.setMetaInf(inf);
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=1727381&r1=1727380&r2=1727381&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 Jan 28 15:19:15 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);
+ FileVaultDistributionPackageBuilder
fileVaultdistributionPackageBuilder = new
FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null,
null, null, false);
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);
+ FileVaultDistributionPackageBuilder
fileVaultdistributionPackageBuilder = new
FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null,
null, null, false);
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);
+ FileVaultDistributionPackageBuilder
fileVaultdistributionPackageBuilder = new
FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null,
null, null, false);
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);
+ FileVaultDistributionPackageBuilder
fileVaultdistributionPackageBuilder = new
FileVaultDistributionPackageBuilder("filevlt", packaging, null, null, null,
null, null, false);
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);
+ ImportMode.MERGE, AccessControlHandling.MERGE, null, null,
null, false);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
Session session = mock(Session.class);