Return-Path: X-Original-To: apmail-karaf-commits-archive@minotaur.apache.org Delivered-To: apmail-karaf-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DDC7810AD6 for ; Tue, 8 Apr 2014 12:47:30 +0000 (UTC) Received: (qmail 18145 invoked by uid 500); 8 Apr 2014 12:47:30 -0000 Delivered-To: apmail-karaf-commits-archive@karaf.apache.org Received: (qmail 18061 invoked by uid 500); 8 Apr 2014 12:47:24 -0000 Mailing-List: contact commits-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list commits@karaf.apache.org Received: (qmail 18044 invoked by uid 99); 8 Apr 2014 12:47:21 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Apr 2014 12:47:21 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 9AFB794E046; Tue, 8 Apr 2014 12:47:21 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: jbonofre@apache.org To: commits@karaf.apache.org Message-Id: <6b2a6787134d43ccb4454cbcb69d8261@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: git commit: [KARAF-2842] Add a new option to just install bundles (without starting) while installing a feature Date: Tue, 8 Apr 2014 12:47:21 +0000 (UTC) Repository: karaf Updated Branches: refs/heads/karaf-3.0.x 2ce5574c9 -> 059c755ac [KARAF-2842] Add a new option to just install bundles (without starting) while installing a feature Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/059c755a Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/059c755a Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/059c755a Branch: refs/heads/karaf-3.0.x Commit: 059c755ac328672ceaaefd2c7b996c1e3cbf962d Parents: 2ce5574 Author: Jean-Baptiste Onofré Authored: Tue Apr 8 14:46:33 2014 +0200 Committer: Jean-Baptiste Onofré Committed: Tue Apr 8 14:46:33 2014 +0200 ---------------------------------------------------------------------- .../features/command/InstallFeatureCommand.java | 5 ++++ .../apache/karaf/features/FeaturesService.java | 1 + .../features/internal/FeaturesServiceImpl.java | 4 ++- .../management/FeaturesServiceMBean.java | 4 +++ .../internal/FeaturesServiceMBeanImpl.java | 28 ++++++++++++++++++++ 5 files changed, 41 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/059c755a/features/command/src/main/java/org/apache/karaf/features/command/InstallFeatureCommand.java ---------------------------------------------------------------------- diff --git a/features/command/src/main/java/org/apache/karaf/features/command/InstallFeatureCommand.java b/features/command/src/main/java/org/apache/karaf/features/command/InstallFeatureCommand.java index 371ce2f..1fa6885 100644 --- a/features/command/src/main/java/org/apache/karaf/features/command/InstallFeatureCommand.java +++ b/features/command/src/main/java/org/apache/karaf/features/command/InstallFeatureCommand.java @@ -35,6 +35,8 @@ public class InstallFeatureCommand extends FeaturesCommandSupport { boolean noClean; @Option(name = "-r", aliases = "--no-auto-refresh", description = "Do not automatically refresh bundles", required = false, multiValued = false) boolean noRefresh; + @Option(name = "-s", aliases = "--no-auto-start", description = "Do not automatically start bundles", required = false, multiValued = false) + boolean noStart; @Option(name = "-v", aliases = "--verbose", description = "Explain what is being done", required = false, multiValued = false) boolean verbose; @@ -56,6 +58,9 @@ public class InstallFeatureCommand extends FeaturesCommandSupport { if (noClean) { options.add(FeaturesService.Option.NoCleanIfFailure); } + if (noStart) { + options.add(FeaturesService.Option.NoAutoStartBundles); + } if (verbose) { options.add(FeaturesService.Option.Verbose); } http://git-wip-us.apache.org/repos/asf/karaf/blob/059c755a/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java b/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java index 25e3baa..28123e3 100644 --- a/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java +++ b/features/core/src/main/java/org/apache/karaf/features/FeaturesService.java @@ -29,6 +29,7 @@ public interface FeaturesService { NoCleanIfFailure, PrintBundlesToRefresh, NoAutoRefreshBundles, + NoAutoStartBundles, ContinueBatchOnFailure, Verbose } http://git-wip-us.apache.org/repos/asf/karaf/blob/059c755a/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java index 68c7714..a6f9462 100644 --- a/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java +++ b/features/core/src/main/java/org/apache/karaf/features/internal/FeaturesServiceImpl.java @@ -429,7 +429,9 @@ public class FeaturesServiceImpl implements FeaturesService { } for (Bundle b : bundlesSortedByStartLvl) { LOGGER.debug("Starting bundle: {}", b.getSymbolicName()); - startBundle(state, b); + if (!options.contains(Option.NoAutoStartBundles)) { + startBundle(state, b); + } } // Clean up for batch if (!options.contains(Option.NoCleanIfFailure)) { http://git-wip-us.apache.org/repos/asf/karaf/blob/059c755a/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java b/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java index da4a36e..bf8768a 100644 --- a/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java +++ b/features/core/src/main/java/org/apache/karaf/features/management/FeaturesServiceMBean.java @@ -36,10 +36,14 @@ public interface FeaturesServiceMBean { void installFeature(String name, boolean noClean, boolean noRefresh) throws Exception; + void installFeature(String name, boolean noClean, boolean noRefresh, boolean noStart) throws Exception; + void installFeature(String name, String version) throws Exception; void installFeature(String name, String version, boolean noClean, boolean noRefresh) throws Exception; + void installFeature(String name, String version, boolean noClean, boolean noRefresh, boolean noStart) throws Exception; + TabularData infoFeature(String name) throws Exception; TabularData infoFeature(String name, String version) throws Exception; http://git-wip-us.apache.org/repos/asf/karaf/blob/059c755a/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java b/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java index 700e835..3479586 100644 --- a/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java +++ b/features/core/src/main/java/org/apache/karaf/features/management/internal/FeaturesServiceMBeanImpl.java @@ -150,6 +150,20 @@ public class FeaturesServiceMBeanImpl extends StandardEmitterMBean implements featuresService.installFeature(name, options); } + public void installFeature(String name, boolean noClean, boolean noRefresh, boolean noStart) throws Exception { + EnumSet options = EnumSet.noneOf(org.apache.karaf.features.FeaturesService.Option.class); + if (noClean) { + options.add(org.apache.karaf.features.FeaturesService.Option.NoCleanIfFailure); + } + if (noRefresh) { + options.add(org.apache.karaf.features.FeaturesService.Option.NoAutoRefreshBundles); + } + if (noStart) { + options.add(org.apache.karaf.features.FeaturesService.Option.NoAutoStartBundles); + } + featuresService.installFeature(name, options); + } + public void installFeature(String name, String version) throws Exception { featuresService.installFeature(name, version); } @@ -165,6 +179,20 @@ public class FeaturesServiceMBeanImpl extends StandardEmitterMBean implements featuresService.installFeature(name, version, options); } + public void installFeature(String name, String version, boolean noClean, boolean noRefresh, boolean noStart) throws Exception { + EnumSet options = EnumSet.noneOf(org.apache.karaf.features.FeaturesService.Option.class); + if (noClean) { + options.add(org.apache.karaf.features.FeaturesService.Option.NoCleanIfFailure); + } + if (noRefresh) { + options.add(org.apache.karaf.features.FeaturesService.Option.NoAutoRefreshBundles); + } + if (noStart) { + options.add(org.apache.karaf.features.FeaturesService.Option.NoAutoStartBundles); + } + featuresService.installFeature(name, version, options); + } + public TabularData infoFeature(String name) throws Exception { try { Feature feature = featuresService.getFeature(name);