You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2020/03/20 07:04:46 UTC

[sling-org-apache-sling-installer-core] branch master updated: SLING-9172 - rename property to experimental

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

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


The following commit(s) were added to refs/heads/master by this push:
     new f3227c1  SLING-9172 - rename property to experimental
f3227c1 is described below

commit f3227c19b1b84bfdb241bea7ceb41c1b4ba841bc
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Mar 20 08:04:32 2020 +0100

    SLING-9172 - rename property to experimental
---
 .../apache/sling/installer/core/impl/DefaultTransformer.java  |  4 ++--
 .../apache/sling/installer/core/impl/OsgiInstallerImpl.java   | 11 +++++++++++
 .../sling/installer/core/impl/tasks/BundleTaskCreator.java    |  9 +++++----
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/apache/sling/installer/core/impl/DefaultTransformer.java b/src/main/java/org/apache/sling/installer/core/impl/DefaultTransformer.java
index e10cdfe..2f32e55 100644
--- a/src/main/java/org/apache/sling/installer/core/impl/DefaultTransformer.java
+++ b/src/main/java/org/apache/sling/installer/core/impl/DefaultTransformer.java
@@ -42,7 +42,7 @@ public class DefaultTransformer
 
     /** Logger */
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
-    
+
     private boolean isMultiVersion;
 
     /**
@@ -50,7 +50,7 @@ public class DefaultTransformer
      */
     @Override
     public void init(final BundleContext bctx, final ResourceChangeListener rcl, RetryHandler retryHandler) {
-        this.isMultiVersion = Boolean.TRUE.equals(Boolean.valueOf(bctx.getProperty("sling.installer.multiversion")));
+        this.isMultiVersion = OsgiInstallerImpl.isMultiVersionSupportEnabled(bctx);
     }
 
     /**
diff --git a/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java b/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java
index dde3da7..646f173 100644
--- a/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java
+++ b/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java
@@ -91,6 +91,11 @@ implements OsgiInstaller, ResourceChangeListener, RetryHandler, InfoProvider, Ru
     private static final String PROP_START_LEVEL_HANDLING = "sling.installer.switchstartlevel";
 
     /**
+     * Property to enable experimental multi version support
+     */
+    private static final String PROP_EXPERIMENTAL_MULTI_VERSION_SUPPORT = "sling.installer.experimental.multiversion";
+
+    /**
      * The name of the framework property setting required services
      */
     private static final String PROP_REQUIRED_SERVICES = "sling.installer.requiredservices";
@@ -1643,4 +1648,10 @@ implements OsgiInstaller, ResourceChangeListener, RetryHandler, InfoProvider, Ru
             up.update(groups);
         }
     }
+
+    public static boolean isMultiVersionSupportEnabled(final BundleContext bundleContext) {
+        return Converters.standardConverter()
+              .convert(bundleContext.getProperty(OsgiInstallerImpl.PROP_EXPERIMENTAL_MULTI_VERSION_SUPPORT))
+              .defaultValue(false).to(Boolean.class);
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java b/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java
index 1cbf26c..a8a1453 100644
--- a/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java
+++ b/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java
@@ -33,6 +33,7 @@ import org.apache.sling.installer.api.tasks.TaskResourceGroup;
 import org.apache.sling.installer.core.impl.BundleBlackList;
 import org.apache.sling.installer.core.impl.EntityResourceList;
 import org.apache.sling.installer.core.impl.InternalService;
+import org.apache.sling.installer.core.impl.OsgiInstallerImpl;
 import org.apache.sling.installer.core.impl.PersistentResourceList;
 import org.apache.sling.installer.core.impl.RegisteredResourceImpl;
 import org.apache.sling.installer.core.impl.Util;
@@ -80,8 +81,8 @@ public class BundleTaskCreator
     public void init(final BundleContext bc, final ResourceChangeListener listener, final RetryHandler retryHandler) {
         this.bundleContext = bc;
         this.retryHandler = retryHandler;
-        
-        this.isMultiVersion = Boolean.TRUE.equals(Boolean.valueOf(bc.getProperty("sling.installer.multiversion")));
+
+        this.isMultiVersion = OsgiInstallerImpl.isMultiVersionSupportEnabled(bc);
         this.bundleContext.addBundleListener(this);
         this.bundleContext.addFrameworkListener(this);
 
@@ -234,13 +235,13 @@ public class BundleTaskCreator
                     logger.info(message);
                     result = new ChangeStateTask(resourceList, ResourceState.IGNORED, message);
                 } else {
-                    
+
                     // if not isMultiVersion for install and update, we want the bundle with the
                     // highest version - otherwise only check for very same version (potential updates of snapshots)
                     String bundleVersion = null;
                     if (this.isMultiVersion) {
                         bundleVersion = newVersion.toString();
-                    } 
+                    }
 
                     final BundleInfo info = this.getBundleInfo(symbolicName, bundleVersion);