You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2018/07/02 15:04:53 UTC

[sling-org-apache-sling-installer-factory-packages] branch master updated: SLING-7761 optionally set observation manager's user data during package operations

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-installer-factory-packages.git


The following commit(s) were added to refs/heads/master by this push:
     new b8d5009  SLING-7761 optionally set observation manager's user data during package operations
b8d5009 is described below

commit b8d5009855acf6b0375be6ade0b9d5393c71209c
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Jul 2 17:04:48 2018 +0200

    SLING-7761 optionally set observation manager's user data during package
    operations
---
 .../sling/installer/factory/packages/impl/PackageTransformer.java      | 3 +++
 .../factory/packages/impl/PackageTransformerConfiguration.java         | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java b/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
index f178ca5..23e1cf2 100644
--- a/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
+++ b/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
@@ -249,6 +249,9 @@ public class PackageTransformer implements ResourceTransformer, InstallTaskFacto
             JcrPackage pkg = null;
             try {
                 session = repository.loginAdministrative(null);
+                if (!configuration.observationManagerUserData().isEmpty()) {
+                    session.getWorkspace().getObservationManager().setUserData(configuration.observationManagerUserData());
+                }
                 final JcrPackageManager pkgMgr = pkgSvc.getPackageManager(session);
 
                 doExecute(ctx, pkgMgr, resource);
diff --git a/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformerConfiguration.java b/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformerConfiguration.java
index 67fc504..f2b527b 100644
--- a/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformerConfiguration.java
+++ b/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformerConfiguration.java
@@ -27,4 +27,6 @@ public @interface PackageTransformerConfiguration {
     boolean shouldCreateSnapshots() default true;
     @AttributeDefinition(name = "Use hollow packages", description = "Boolean flag indicating whether hollow packages (i.e. packages not containing actual content) should be used. This prevents the package file from being copied to the repository first before being installed (i.e. reduces required disk space, improves speed) but also prevents snapshot creation and uninstallation.")
     boolean shouldCreateHollowPackages() default false;
+    @AttributeDefinition(name = "Observation Manager's User Data", description = "Sets the user data on the observation manager (only affects the session used for package installation) to the given value. Leave empty to not set it. Can be used to check in EventListeners whether an event was caused by package installation/uninstallation.")
+    String observationManagerUserData() default "";
 }