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 2017/08/15 13:32:51 UTC
svn commit: r1805079 - in
/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl:
FeatureProcessor.java Main.java
Author: cziegeler
Date: Tue Aug 15 13:32:51 2017
New Revision: 1805079
URL: http://svn.apache.org/viewvc?rev=1805079&view=rev
Log:
Fix application launching and add missing support for framework properties
Modified:
sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/Main.java
Modified: sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java?rev=1805079&r1=1805078&r2=1805079&view=diff
==============================================================================
--- sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java (original)
+++ sling/whiteboard/cziegeler/feature-launcher/src/main/java/org/apache/sling/feature/launcher/impl/FeatureProcessor.java Tue Aug 15 13:32:51 2017
@@ -16,6 +16,13 @@
*/
package org.apache.sling.feature.launcher.impl;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
import org.apache.sling.feature.Application;
import org.apache.sling.feature.Artifact;
import org.apache.sling.feature.Configuration;
@@ -28,13 +35,6 @@ import org.apache.sling.feature.support.
import org.apache.sling.feature.support.json.ApplicationJSONReader;
import org.apache.sling.feature.support.json.ApplicationJSONWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
public class FeatureProcessor {
/**
@@ -94,6 +94,7 @@ public class FeatureProcessor {
config.getInstallation().addBundle(entry.getKey(), artifactFile);
}
}
+ int index = 1;
for(final Extension ext : app.getExtensions()) {
if ( ext.getType() == ExtensionType.ARTIFACTS ) {
for(final Artifact a : ext.getArtifacts() ) {
@@ -103,6 +104,20 @@ public class FeatureProcessor {
final ArtifactHandler handler = artifactManager.getArtifactHandler(":" + a.getId().toMvnPath());
config.getInstallation().addInstallableArtifact(handler.getFile());
}
+ } else {
+ if ( ext.getName().equals(Extension.NAME_REPOINIT) ) {
+ if ( ext.getType() != ExtensionType.TEXT ) {
+ throw new Exception(Extension.NAME_REPOINIT + " extension must be of type text and not json");
+ }
+ final Configuration cfg = new Configuration("org.apache.sling.jcr.repoinit.RepositoryInitializer", "repoinit" + String.valueOf(index));
+ index++;
+ cfg.getProperties().put("scripts", ext.getText());
+ config.getInstallation().addConfiguration(cfg.getName(), cfg.getFactoryPid(), cfg.getProperties());
+ } else {
+ if ( ext.isRequired() ) {
+ throw new Exception("Unknown required extension " + ext.getName());
+ }
+ }
}
}
@@ -113,5 +128,11 @@ public class FeatureProcessor {
config.getInstallation().addConfiguration(cfg.getPid(), null, cfg.getProperties());
}
}
+
+ for(final Map.Entry<String, String> prop : app.getFrameworkProperties()) {
+ if ( !config.getInstallation().getFrameworkProperties().containsKey(prop.getKey()) ) {
+ config.getInstallation().getFrameworkProperties().put(prop.getKey(), prop.getValue());
+ }
+ }
}
}
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=1805079&r1=1805078&r2=1805079&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 Aug 15 13:32:51 2017
@@ -16,6 +16,15 @@
*/
package org.apache.sling.feature.launcher.impl;
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
@@ -32,15 +41,6 @@ import org.apache.sling.feature.support.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
/**
* This is the launcher main class.
* It parses command line parameters and prepares the launcher.
@@ -84,6 +84,7 @@ public class Main {
final Option installerOption = new Option("I", true, "Use OSGi installer for additional artifacts.");
installerOption.setArgs(0);
options.addOption(repoOption);
+ options.addOption(appOption);
options.addOption(modelOption);
options.addOption(fwkProperties);
options.addOption(debugOption);