You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/05/21 15:39:28 UTC
[2/2] git commit: [KARAF-2994] Use the current distribution
configuration for default boot features when creating children
[KARAF-2994] Use the current distribution configuration for default boot features when creating children
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/5bd09d42
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/5bd09d42
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/5bd09d42
Branch: refs/heads/master
Commit: 5bd09d426f326db5699a6f479f21055f2e32e361
Parents: e473b22
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed May 21 15:39:12 2014 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Wed May 21 15:39:12 2014 +0200
----------------------------------------------------------------------
.../karaf/instance/command/CreateCommand.java | 25 ++++++++++++++++++++
1 file changed, 25 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/5bd09d42/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java b/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
index 0dcc3ac..3ad54ad 100644
--- a/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
+++ b/instance/src/main/java/org/apache/karaf/instance/command/CreateCommand.java
@@ -16,8 +16,12 @@
*/
package org.apache.karaf.instance.command;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import org.apache.felix.utils.properties.Properties;
import org.apache.karaf.features.command.completers.AllFeatureCompleter;
import org.apache.karaf.features.command.completers.InstalledRepoUriCompleter;
import org.apache.karaf.instance.core.InstanceSettings;
@@ -34,6 +38,12 @@ import org.apache.karaf.shell.api.action.lifecycle.Service;
@Service
public class CreateCommand extends InstanceCommandSupport
{
+
+ public static final String FEATURES_SERVICE_CONFIG_FILE = "org.apache.karaf.features.cfg";
+
+ @Option(name = "-b", aliases = "--bare", description = "Do not use add default features")
+ boolean bare;
+
@Option(name = "-s", aliases = {"--ssh-port"}, description = "Port number for remote secure shell connection", required = false, multiValued = false)
int sshPort = 0;
@@ -66,6 +76,21 @@ public class CreateCommand extends InstanceCommandSupport
String instance = null;
protected Object doExecute() throws Exception {
+ if (!bare) {
+ Properties configuration = new Properties();
+ File configFile = new File(System.getProperty("karaf.etc"), FEATURES_SERVICE_CONFIG_FILE);
+ configuration.load(configFile);
+ String featuresRepositories = configuration.getProperty("featuresRepositories", "");
+ String featuresBoot = configuration.getProperty("featuresBoot", "");
+ if (featureURLs == null) {
+ featureURLs = new ArrayList<>();
+ }
+ featureURLs.addAll(Arrays.asList(featuresRepositories.split(",")));
+ if (features == null) {
+ features = new ArrayList<>();
+ }
+ features.addAll(Arrays.asList(featuresBoot.split(",")));
+ }
InstanceSettings settings = new InstanceSettings(sshPort, rmiRegistryPort, rmiServerPort, location, javaOpts, featureURLs, features);
getInstanceService().createInstance(instance, settings, verbose);
return null;