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());