You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2017/09/12 23:07:30 UTC

svn commit: r1808190 - in /sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl: Main.java launchers/FrameworkLauncher.java

Author: pauls
Date: Tue Sep 12 23:07:30 2017
New Revision: 1808190

URL: http://svn.apache.org/viewvc?rev=1808190&view=rev
Log:
Do variable substitution for framework properties

Modified:
    sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java
    sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java

Modified: sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java?rev=1808190&r1=1808189&r2=1808190&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java (original)
+++ sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java Tue Sep 12 23:07:30 2017
@@ -127,7 +127,7 @@ public class Main {
 
     public static void main(final String[] args) {
         // setup logging
-        System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "info");
+        System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "debug");
         System.setProperty("org.slf4j.simpleLogger.showThreadName", "false");
         System.setProperty("org.slf4j.simpleLogger.levelInBrackets", "true");
         System.setProperty("org.slf4j.simpleLogger.showLogName", "false");
@@ -232,29 +232,6 @@ public class Main {
             installation.getFrameworkProperties().put(START_LEVEL_PROP, "30");
         }
 
-        if ( Main.LOG().isDebugEnabled() ) {
-            Main.LOG().debug("Bundles:");
-            for(final Integer key : installation.getBundleMap().keySet()) {
-                Main.LOG().debug("-- Start Level {}", key);
-                for(final File f : installation.getBundleMap().get(key)) {
-                    Main.LOG().debug("  - {}", f.getName());
-                }
-            }
-            Main.LOG().debug("Settings: ");
-            for(final Map.Entry<String, String> entry : installation.getFrameworkProperties().entrySet()) {
-                Main.LOG().debug("- {}={}", entry.getKey(), entry.getValue());
-            }
-            Main.LOG().debug("Configurations: ");
-            for(final Object[] entry : installation.getConfigurations()) {
-                if ( entry[1] != null ) {
-                    Main.LOG().debug("- Factory {} - {}", entry[1], entry[0]);
-                } else {
-                    Main.LOG().debug("- {}", entry[0]);
-                }
-            }
-            Main.LOG().debug("");
-        }
-
         final Launcher launcher = new FrameworkLauncher();
         launcher.run(installation, createClassLoader(installation));
 

Modified: sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java?rev=1808190&r1=1808189&r2=1808190&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java (original)
+++ sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/launchers/FrameworkLauncher.java Tue Sep 12 23:07:30 2017
@@ -17,11 +17,15 @@
 package org.apache.sling.feature.launcher.impl.launchers;
 
 import org.apache.sling.feature.Application;
+import org.apache.sling.feature.launcher.impl.Main;
 import org.apache.sling.feature.launcher.spi.Launcher;
 import org.apache.sling.feature.launcher.spi.LauncherPrepareContext;
 import org.apache.sling.feature.launcher.spi.LauncherRunContext;
+import org.apache.sling.feature.support.util.SubstVarUtil;
 
+import java.io.File;
 import java.lang.reflect.Constructor;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -42,10 +46,36 @@ public class FrameworkLauncher implement
      */
     @Override
     public void run(final LauncherRunContext context, final ClassLoader cl) throws Exception {
+        Map<String, String> properties = new HashMap<>();
+        context.getFrameworkProperties().forEach((key, value) -> {
+            properties.put(key, SubstVarUtil.substVars(value, key,null, context.getFrameworkProperties()));
+        });
+        if ( Main.LOG().isDebugEnabled() ) {
+            Main.LOG().debug("Bundles:");
+            for(final Integer key : context.getBundleMap().keySet()) {
+                Main.LOG().debug("-- Start Level {}", key);
+                for(final File f : context.getBundleMap().get(key)) {
+                    Main.LOG().debug("  - {}", f.getName());
+                }
+            }
+            Main.LOG().debug("Settings: ");
+            for(final Map.Entry<String, String> entry : properties.entrySet()) {
+                Main.LOG().debug("- {}={}", entry.getKey(), entry.getValue());
+            }
+            Main.LOG().debug("Configurations: ");
+            for(final Object[] entry : context.getConfigurations()) {
+                if ( entry[1] != null ) {
+                    Main.LOG().debug("- Factory {} - {}", entry[1], entry[0]);
+                } else {
+                    Main.LOG().debug("- {}", entry[0]);
+                }
+            }
+            Main.LOG().debug("");
+        }
         final Class<?> runnerClass = cl.loadClass(this.getClass().getPackage().getName() + ".FrameworkRunner");
         final Constructor<?> constructor = runnerClass.getDeclaredConstructor(Map.class, Map.class, List.class, List.class);
         constructor.setAccessible(true);
-        constructor.newInstance(context.getFrameworkProperties(),
+        constructor.newInstance(properties,
                 context.getBundleMap(),
                 context.getConfigurations(),
                 context.getInstallableArtifacts());