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/02/18 09:28:27 UTC
[3/6] [KARAF-2763] Leverage blueprint support for bundle, config, http,
instance, jdbc, mms, jndi, car, log, orb, package, region, service, system,
web and wrapper commands
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/obr/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/obr/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index dd974f2..941d890 100644
--- a/obr/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/obr/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -19,46 +19,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
- <reference id="repoAdmin"
- interface="org.apache.felix.bundlerepository.RepositoryAdmin"
- availability="optional" />
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.obr.command.AddUrlCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.DeployCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.FindCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.InfoCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.ListCommand">
- <property name="repoAdmin" ref="repoAdmin" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.ListUrlCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.RefreshUrlCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.RemoveUrlCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.ResolveCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.SourceCommand" />
- </command>
- <command>
- <action class="org.apache.karaf.obr.command.StartCommand" />
- </command>
- </command-bundle>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.obr.command.*" />
</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/test/java/org/apache/karaf/obr/command/ListCommandTest.java
----------------------------------------------------------------------
diff --git a/obr/command/src/test/java/org/apache/karaf/obr/command/ListCommandTest.java b/obr/command/src/test/java/org/apache/karaf/obr/command/ListCommandTest.java
index 18b5f87..46b5e38 100644
--- a/obr/command/src/test/java/org/apache/karaf/obr/command/ListCommandTest.java
+++ b/obr/command/src/test/java/org/apache/karaf/obr/command/ListCommandTest.java
@@ -34,7 +34,7 @@ public class ListCommandTest {
IMocksControl control = EasyMock.createControl();
RepositoryAdmin repoAdmin = control.createMock(RepositoryAdmin.class);
ListCommand command = new ListCommand();
- command.setRepoAdmin(repoAdmin);
+ command.setRepositoryAdmin(repoAdmin);
Resource[] resources = new Resource[] {
createResource("My bundle", "my.bundle", "1.0.0"),
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java
----------------------------------------------------------------------
diff --git a/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java b/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java
index ccacc31..72d1af2 100644
--- a/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java
+++ b/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java
@@ -27,6 +27,8 @@ import org.apache.karaf.packages.core.PackageVersion;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.Col;
import org.apache.karaf.shell.table.ShellTable;
import org.osgi.framework.Bundle;
@@ -35,18 +37,19 @@ import org.osgi.framework.wiring.BundleCapability;
import org.osgi.framework.wiring.BundleRevision;
@Command(scope = "package", name = "exports", description = "Lists exported packages and the bundles that export them")
+@Service
public class Exports extends OsgiCommandSupport {
- private PackageService packageService;
-
@Option(name = "-d", description = "Only show packages that are exported by more than one bundle", required = false, multiValued = false)
private boolean onlyDuplicates;
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
boolean noFormat;
- public Exports(PackageService packageService) {
- super();
+ @Reference
+ private PackageService packageService;
+
+ public void setPackageService(PackageService packageService) {
this.packageService = packageService;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java
----------------------------------------------------------------------
diff --git a/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java b/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java
index 0944412..e5ea17a 100644
--- a/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java
+++ b/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java
@@ -23,11 +23,14 @@ import org.apache.karaf.packages.core.PackageService;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.Col;
import org.apache.karaf.shell.table.ShellTable;
import org.osgi.framework.Bundle;
@Command(scope = "package", name = "imports", description = "Lists imported packages and the bundles that import them")
+@Service
public class Imports extends OsgiCommandSupport {
@Option(name = "-p", description = "Only show package instead of full filter", required = false, multiValued = false)
@@ -36,10 +39,10 @@ public class Imports extends OsgiCommandSupport {
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
boolean noFormat;
+ @Reference
private PackageService packageService;
- public Imports(PackageService packageService) {
- super();
+ public void setPackageService(PackageService packageService) {
this.packageService = packageService;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/package/command/src/main/resources/OSGI-INF/blueprint/shell-bundles.xml
----------------------------------------------------------------------
diff --git a/package/command/src/main/resources/OSGI-INF/blueprint/shell-bundles.xml b/package/command/src/main/resources/OSGI-INF/blueprint/shell-bundles.xml
index 8f24296..e66dd06 100644
--- a/package/command/src/main/resources/OSGI-INF/blueprint/shell-bundles.xml
+++ b/package/command/src/main/resources/OSGI-INF/blueprint/shell-bundles.xml
@@ -19,21 +19,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
-
- <command>
- <action class="org.apache.karaf.packages.command.Exports">
- <argument ref="packageService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.packages.command.Imports">
- <argument ref="packageService"/>
- </action>
- </command>
-
- </command-bundle>
-
- <reference id="packageService" interface="org.apache.karaf.packages.core.PackageService" />
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.packages.command.*" />
</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/region/command/src/main/java/org/apache/karaf/region/commands/AddBundleCommand.java
----------------------------------------------------------------------
diff --git a/region/command/src/main/java/org/apache/karaf/region/commands/AddBundleCommand.java b/region/command/src/main/java/org/apache/karaf/region/commands/AddBundleCommand.java
index 23d0253..ed7c28f 100644
--- a/region/command/src/main/java/org/apache/karaf/region/commands/AddBundleCommand.java
+++ b/region/command/src/main/java/org/apache/karaf/region/commands/AddBundleCommand.java
@@ -20,11 +20,13 @@ import java.util.List;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.eclipse.equinox.region.Region;
import org.eclipse.equinox.region.RegionDigraph;
import org.osgi.framework.Bundle;
@Command(scope = "region", name = "bundle-add", description = "Adds a list of known bundles by id to a specified region.")
+@Service
public class AddBundleCommand extends RegionCommandSupport {
@Argument(index = 0, name = "region", description = "Region to add the bundles to", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/region/command/src/main/java/org/apache/karaf/region/commands/AddFilterCommand.java
----------------------------------------------------------------------
diff --git a/region/command/src/main/java/org/apache/karaf/region/commands/AddFilterCommand.java b/region/command/src/main/java/org/apache/karaf/region/commands/AddFilterCommand.java
index 192dacb..bbe35b6 100644
--- a/region/command/src/main/java/org/apache/karaf/region/commands/AddFilterCommand.java
+++ b/region/command/src/main/java/org/apache/karaf/region/commands/AddFilterCommand.java
@@ -24,6 +24,7 @@ import org.apache.aries.util.VersionRange;
import org.apache.aries.util.manifest.ManifestHeaderProcessor;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.eclipse.equinox.region.Region;
import org.eclipse.equinox.region.RegionDigraph;
import org.eclipse.equinox.region.RegionFilter;
@@ -33,6 +34,7 @@ import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@Command(scope = "region", name = "filter-add", description = "Adds a filter between two regions.")
+@Service
public class AddFilterCommand extends RegionCommandSupport {
@Argument(index = 0, name = "from", description = "The from region.", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/region/command/src/main/java/org/apache/karaf/region/commands/AddRegionCommand.java
----------------------------------------------------------------------
diff --git a/region/command/src/main/java/org/apache/karaf/region/commands/AddRegionCommand.java b/region/command/src/main/java/org/apache/karaf/region/commands/AddRegionCommand.java
index e3857cf..0daeea3 100644
--- a/region/command/src/main/java/org/apache/karaf/region/commands/AddRegionCommand.java
+++ b/region/command/src/main/java/org/apache/karaf/region/commands/AddRegionCommand.java
@@ -20,9 +20,11 @@ import java.util.List;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.eclipse.equinox.region.RegionDigraph;
@Command(scope = "region", name = "region-add", description = "Adds a list of regions to the region digraph service.")
+@Service
public class AddRegionCommand extends RegionCommandSupport {
@Argument(index = 0, name = "name", description = "Regions to add to the region digraph service separated by whitespaces.", required = true, multiValued = true)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/region/command/src/main/java/org/apache/karaf/region/commands/InfoCommand.java
----------------------------------------------------------------------
diff --git a/region/command/src/main/java/org/apache/karaf/region/commands/InfoCommand.java b/region/command/src/main/java/org/apache/karaf/region/commands/InfoCommand.java
index 73979f9..0843538 100644
--- a/region/command/src/main/java/org/apache/karaf/region/commands/InfoCommand.java
+++ b/region/command/src/main/java/org/apache/karaf/region/commands/InfoCommand.java
@@ -23,12 +23,14 @@ import java.util.Map;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.inject.Service;
import org.eclipse.equinox.region.Region;
import org.eclipse.equinox.region.RegionDigraph;
import org.eclipse.equinox.region.RegionFilter;
import org.osgi.framework.Bundle;
@Command(scope = "region", name = "info", description = "Prints information about region digraph.")
+@Service
public class InfoCommand extends RegionCommandSupport {
@Option(name = "-v", aliases = "--verbose", required = false, description = "Show all info.")
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/region/command/src/main/resources/OSGI-INF/blueprint/region-commands.xml
----------------------------------------------------------------------
diff --git a/region/command/src/main/resources/OSGI-INF/blueprint/region-commands.xml b/region/command/src/main/resources/OSGI-INF/blueprint/region-commands.xml
index 18da1a2..e769ff2 100644
--- a/region/command/src/main/resources/OSGI-INF/blueprint/region-commands.xml
+++ b/region/command/src/main/resources/OSGI-INF/blueprint/region-commands.xml
@@ -19,28 +19,8 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
default-activation="lazy">
- <reference id="regionDigraph"
- interface="org.eclipse.equinox.region.RegionDigraph"
- availability="mandatory" />
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0">
- <command name="region/addBundle">
- <action class="org.apache.karaf.region.commands.AddBundleCommand" />
- </command>
- <command name="region/addFilter">
- <action class="org.apache.karaf.region.commands.AddFilterCommand" />
- </command>
- <command name="region/addRegion">
- <action class="org.apache.karaf.region.commands.AddRegionCommand" />
- </command>
- <command name="region/info">
- <action class="org.apache.karaf.region.commands.InfoCommand" />
- </command>
- <!--<command name="region/list">-->
- <!--<action class="org.apache.karaf.shell.region.ListCommand">-->
- <!--<property name="repoAdmin" ref="repoAdmin" />-->
- <!--</action>-->
- <!--</command>-->
- </command-bundle>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.region.commands.*" />
</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/service/command/src/main/java/org/apache/karaf/service/command/ListServices.java
----------------------------------------------------------------------
diff --git a/service/command/src/main/java/org/apache/karaf/service/command/ListServices.java b/service/command/src/main/java/org/apache/karaf/service/command/ListServices.java
index 9b8f389..0b12db1 100644
--- a/service/command/src/main/java/org/apache/karaf/service/command/ListServices.java
+++ b/service/command/src/main/java/org/apache/karaf/service/command/ListServices.java
@@ -29,6 +29,7 @@ import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.util.ShellUtil;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -36,6 +37,7 @@ import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
@Command(scope = "service", name = "list", description = "Lists OSGi services.")
+@Service
public class ListServices extends OsgiCommandSupport {
@Argument(index = 0, name = "objectClass", description = "Name of service objectClass to filter for", required = false,
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/service/command/src/main/java/org/apache/karaf/service/command/ObjectClassCompleter.java
----------------------------------------------------------------------
diff --git a/service/command/src/main/java/org/apache/karaf/service/command/ObjectClassCompleter.java b/service/command/src/main/java/org/apache/karaf/service/command/ObjectClassCompleter.java
index d12675e..9533215 100644
--- a/service/command/src/main/java/org/apache/karaf/service/command/ObjectClassCompleter.java
+++ b/service/command/src/main/java/org/apache/karaf/service/command/ObjectClassCompleter.java
@@ -19,18 +19,21 @@
package org.apache.karaf.service.command;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.karaf.shell.console.Completer;
import org.apache.karaf.shell.console.completer.StringsCompleter;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.osgi.framework.BundleContext;
+@Service
public class ObjectClassCompleter implements Completer {
- private final StringsCompleter delegate = new StringsCompleter();
-
+ @Reference
private BundleContext context;
public void setContext(BundleContext context) {
@@ -39,16 +42,14 @@ public class ObjectClassCompleter implements Completer {
@SuppressWarnings("rawtypes")
public int complete(final String buffer, final int cursor, final List candidates) {
- delegate.getStrings().clear();
Map<String, Integer> serviceNamesMap = ListServices.getServiceNamesMap(context);
Set<String> serviceNames = serviceNamesMap.keySet();
+ List<String> strings = new ArrayList<String>();
for (String name : serviceNames) {
- delegate.getStrings().add(ObjectClassMatcher.getShortName(name));
+ strings.add(ObjectClassMatcher.getShortName(name));
}
- delegate.getStrings().addAll(serviceNames);
- return delegate.complete(buffer, cursor, candidates);
+ strings.addAll(serviceNames);
+ return new StringsCompleter(strings).complete(buffer, cursor, candidates);
}
-
-
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/service/command/src/main/java/org/apache/karaf/service/command/Wait.java
----------------------------------------------------------------------
diff --git a/service/command/src/main/java/org/apache/karaf/service/command/Wait.java b/service/command/src/main/java/org/apache/karaf/service/command/Wait.java
index e647d11..fb9794f 100644
--- a/service/command/src/main/java/org/apache/karaf/service/command/Wait.java
+++ b/service/command/src/main/java/org/apache/karaf/service/command/Wait.java
@@ -22,6 +22,7 @@ import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Service;
import org.osgi.framework.Constants;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkUtil;
@@ -32,6 +33,7 @@ import org.osgi.util.tracker.ServiceTracker;
* Command that can be used to wait for an OSGi service.
*/
@Command(scope = "service", name = "wait", description = "Wait for a given OSGi service.")
+@Service
public class Wait extends OsgiCommandSupport {
@Option(name = "-e", aliases = { "--exception" }, description = "throw an exception if the service is not found after the timeout")
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/service/command/src/main/resources/OSGI-INF/blueprint/shell-services.xml
----------------------------------------------------------------------
diff --git a/service/command/src/main/resources/OSGI-INF/blueprint/shell-services.xml b/service/command/src/main/resources/OSGI-INF/blueprint/shell-services.xml
index 8bc4308..80d4fbe 100644
--- a/service/command/src/main/resources/OSGI-INF/blueprint/shell-services.xml
+++ b/service/command/src/main/resources/OSGI-INF/blueprint/shell-services.xml
@@ -20,17 +20,7 @@
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
default-activation="lazy">
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.service.command.ListServices"/>
- </command>
- <command>
- <action class="org.apache.karaf.service.command.Wait"/>
- </command>
- </command-bundle>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.service.command.*" />
- <bean id="objectClassCompleter" class="org.apache.karaf.service.command.ObjectClassCompleter">
- <property name="context" ref="blueprintBundleContext"/>
- </bean>
- <service ref="objectClassCompleter" auto-export="all-classes"/>
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/AbstractSystemAction.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/AbstractSystemAction.java b/system/command/src/main/java/org/apache/karaf/system/commands/AbstractSystemAction.java
index 6c89e53..0ffdae9 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/AbstractSystemAction.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/AbstractSystemAction.java
@@ -17,10 +17,13 @@
package org.apache.karaf.system.commands;
import org.apache.karaf.shell.console.AbstractAction;
+import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
import org.apache.karaf.system.SystemService;
-public abstract class AbstractSystemAction extends AbstractAction {
+public abstract class AbstractSystemAction extends OsgiCommandSupport {
+ @Reference
protected SystemService systemService;
public void setSystemService(SystemService systemService) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/FrameworkOptions.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/FrameworkOptions.java b/system/command/src/main/java/org/apache/karaf/system/commands/FrameworkOptions.java
index 1a403cc..13f7d42 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/FrameworkOptions.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/FrameworkOptions.java
@@ -19,12 +19,14 @@ package org.apache.karaf.system.commands;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.system.FrameworkType;
/**
* Command for enabling/disabling debug logging on the OSGi framework
*/
@Command(scope = "system", name = "framework", description = "OSGi Framework options.")
+@Service
public class FrameworkOptions extends AbstractSystemAction {
@Option(name = "-debug", aliases={"--enable-debug"}, description="Enable debug for the OSGi framework", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/Name.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/Name.java b/system/command/src/main/java/org/apache/karaf/system/commands/Name.java
index eaffce7..6e6eb41 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/Name.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/Name.java
@@ -18,11 +18,13 @@ package org.apache.karaf.system.commands;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
/**
* Command to shut down Karaf container.
*/
@Command(scope = "system", name = "name", description = "Show or change Karaf instance name.")
+@Service
public class Name extends AbstractSystemAction {
@Argument(name = "name", index = 0, description = "New name for the instance", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/Shutdown.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/Shutdown.java b/system/command/src/main/java/org/apache/karaf/system/commands/Shutdown.java
index 1d167d9..a95b9d0 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/Shutdown.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/Shutdown.java
@@ -20,12 +20,14 @@ import jline.console.ConsoleReader;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.system.SystemService;
/**
* Command to shut down Karaf container.
*/
@Command(scope = "system", name = "shutdown", description = "Shutdown Karaf.")
+@Service
public class Shutdown extends AbstractSystemAction {
@Option(name = "-f", aliases = "--force", description = "Force the shutdown without confirmation message.", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/StartLevel.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/StartLevel.java b/system/command/src/main/java/org/apache/karaf/system/commands/StartLevel.java
index 86a5aaf..1d7dfdf 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/StartLevel.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/StartLevel.java
@@ -19,23 +19,19 @@ package org.apache.karaf.system.commands;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.system.SystemService;
/**
* Get/set the system start level.
*/
@Command(scope = "system", name = "start-level", description = "Gets or sets the system start level.")
-public class StartLevel extends OsgiCommandSupport {
+@Service
+public class StartLevel extends AbstractSystemAction {
@Argument(index = 0, name = "level", description = "The new system start level to set", required = false, multiValued = false)
Integer level;
- private SystemService systemService;
-
- public void setSystemService(SystemService systemService) {
- this.systemService = systemService;
- }
-
protected Object doExecute() throws Exception {
if (level == null) {
System.out.println("Level " + systemService.getStartLevel());
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/SystemProperty.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/SystemProperty.java b/system/command/src/main/java/org/apache/karaf/system/commands/SystemProperty.java
index e1cf3f4..b03d40f 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/SystemProperty.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/SystemProperty.java
@@ -19,6 +19,7 @@ package org.apache.karaf.system.commands;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.inject.Service;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@@ -31,6 +32,7 @@ import java.util.*;
* Command that allow access to system properties easily.
*/
@Command(scope = "system", name = "property", description = "Get or set a system property.")
+@Service
public class SystemProperty extends AbstractSystemAction {
@Option(name = "-p", aliases = {"--persistent"}, description = "Persist the new value to the etc/system.properties file")
@@ -48,12 +50,6 @@ public class SystemProperty extends AbstractSystemAction {
@Argument(index = 1, name = "value", required = false, description = "New value for the system property")
String value;
- private BundleContext bundleContext;
-
- public void setBundleContext(BundleContext bundleContext) {
- this.bundleContext = bundleContext;
- }
-
@Override
protected Object doExecute() throws Exception {
if (key == null && value == null) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/java/org/apache/karaf/system/commands/Version.java
----------------------------------------------------------------------
diff --git a/system/command/src/main/java/org/apache/karaf/system/commands/Version.java b/system/command/src/main/java/org/apache/karaf/system/commands/Version.java
index c331e72..4dd0d2c 100644
--- a/system/command/src/main/java/org/apache/karaf/system/commands/Version.java
+++ b/system/command/src/main/java/org/apache/karaf/system/commands/Version.java
@@ -17,8 +17,10 @@
package org.apache.karaf.system.commands;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "system", name = "version", description = "Display the instance version")
+@Service
public class Version extends AbstractSystemAction {
protected Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/system/command/src/main/resources/OSGI-INF/blueprint/system-commands.xml
----------------------------------------------------------------------
diff --git a/system/command/src/main/resources/OSGI-INF/blueprint/system-commands.xml b/system/command/src/main/resources/OSGI-INF/blueprint/system-commands.xml
index 6ce751a..6c9f328 100644
--- a/system/command/src/main/resources/OSGI-INF/blueprint/system-commands.xml
+++ b/system/command/src/main/resources/OSGI-INF/blueprint/system-commands.xml
@@ -19,40 +19,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.system.commands.Shutdown">
- <property name="systemService" ref="systemService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.system.commands.StartLevel">
- <property name="systemService" ref="systemService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.system.commands.Name">
- <property name="systemService" ref="systemService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.system.commands.Version">
- <property name="systemService" ref="systemService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.system.commands.FrameworkOptions" >
- <property name="systemService" ref="systemService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.system.commands.SystemProperty" >
- <property name="systemService" ref="systemService"/>
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
- </command>
- </command-bundle>
-
- <reference id="systemService" interface="org.apache.karaf.system.SystemService"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.system.commands.*" />
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/web/command/src/main/java/org/apache/karaf/web/commands/List.java
----------------------------------------------------------------------
diff --git a/web/command/src/main/java/org/apache/karaf/web/commands/List.java b/web/command/src/main/java/org/apache/karaf/web/commands/List.java
index 523d13c..c2508ad 100644
--- a/web/command/src/main/java/org/apache/karaf/web/commands/List.java
+++ b/web/command/src/main/java/org/apache/karaf/web/commands/List.java
@@ -19,6 +19,8 @@ package org.apache.karaf.web.commands;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.Col;
import org.apache.karaf.shell.table.ShellTable;
import org.apache.karaf.web.WebBundle;
@@ -26,11 +28,13 @@ import org.apache.karaf.web.WebContainerService;
@Command(scope = "web", name = "list", description = "Lists details for war bundles.")
+@Service
public class List extends OsgiCommandSupport {
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
boolean noFormat;
-
+
+ @Reference
private WebContainerService webContainerService;
public void setWebContainerService(WebContainerService webContainerService) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/web/command/src/main/java/org/apache/karaf/web/commands/Start.java
----------------------------------------------------------------------
diff --git a/web/command/src/main/java/org/apache/karaf/web/commands/Start.java b/web/command/src/main/java/org/apache/karaf/web/commands/Start.java
index ba62062..f87846e 100644
--- a/web/command/src/main/java/org/apache/karaf/web/commands/Start.java
+++ b/web/command/src/main/java/org/apache/karaf/web/commands/Start.java
@@ -19,14 +19,18 @@ package org.apache.karaf.web.commands;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.web.WebContainerService;
@Command(scope = "web", name = "start", description = "Start the web context of given bundles.")
+@Service
public class Start extends OsgiCommandSupport {
@Argument(index = 0, name = "ids", description = "The list of bundle IDs separated by whitespaces", required = true, multiValued = true)
java.util.List<Long> ids;
+ @Reference
private WebContainerService webContainerService;
public void setWebContainerService(WebContainerService webContainerService) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/web/command/src/main/java/org/apache/karaf/web/commands/Stop.java
----------------------------------------------------------------------
diff --git a/web/command/src/main/java/org/apache/karaf/web/commands/Stop.java b/web/command/src/main/java/org/apache/karaf/web/commands/Stop.java
index 8a68bf2..bff6180 100644
--- a/web/command/src/main/java/org/apache/karaf/web/commands/Stop.java
+++ b/web/command/src/main/java/org/apache/karaf/web/commands/Stop.java
@@ -19,6 +19,8 @@ package org.apache.karaf.web.commands;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.web.WebContainerService;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -26,15 +28,15 @@ import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
@Command(scope = "web", name = "stop", description = "Stop the web context of given bundles.")
+@Service
public class Stop extends OsgiCommandSupport {
@Argument(index = 0, name = "ids", description = "The list of bundle IDs separated by whitespaces", required = true, multiValued = true)
java.util.List<Long> ids;
+ @Reference
private WebContainerService webContainerService;
-
-
public void setWebContainerService(WebContainerService webContainerService) {
this.webContainerService = webContainerService;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/web/command/src/main/resources/OSGI-INF/blueprint/web-commands.xml
----------------------------------------------------------------------
diff --git a/web/command/src/main/resources/OSGI-INF/blueprint/web-commands.xml b/web/command/src/main/resources/OSGI-INF/blueprint/web-commands.xml
index e1e5d3f..b00ac40 100644
--- a/web/command/src/main/resources/OSGI-INF/blueprint/web-commands.xml
+++ b/web/command/src/main/resources/OSGI-INF/blueprint/web-commands.xml
@@ -19,24 +19,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.web.commands.List">
- <property name="webContainerService" ref="webContainerService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.web.commands.Start">
- <property name="webContainerService" ref="webContainerService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.web.commands.Stop">
- <property name="webContainerService" ref="webContainerService"/>
- </action>
- </command>
- </command-bundle>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.web.commands.*" />
- <reference id="webContainerService" interface="org.apache.karaf.web.WebContainerService"/>
-
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/wrapper/command/src/main/java/org/apache/karaf/wrapper/commands/Install.java
----------------------------------------------------------------------
diff --git a/wrapper/command/src/main/java/org/apache/karaf/wrapper/commands/Install.java b/wrapper/command/src/main/java/org/apache/karaf/wrapper/commands/Install.java
index a7fffac..14c921a 100644
--- a/wrapper/command/src/main/java/org/apache/karaf/wrapper/commands/Install.java
+++ b/wrapper/command/src/main/java/org/apache/karaf/wrapper/commands/Install.java
@@ -21,6 +21,8 @@ import java.io.File;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.AbstractAction;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.wrapper.WrapperService;
import org.apache.karaf.wrapper.internal.WrapperServiceImpl;
import org.fusesource.jansi.Ansi;
@@ -29,6 +31,7 @@ import org.fusesource.jansi.Ansi;
* Installs the Karaf instance as a service in your operating system.
*/
@Command(scope = "wrapper", name = "install", description = "Install the container as a system service in the OS.")
+@Service
public class Install extends AbstractAction {
@Option(name = "-n", aliases = { "--name" }, description = "The service name that will be used when installing the service. (Default: karaf)", required = false, multiValued = false)
@@ -43,6 +46,7 @@ public class Install extends AbstractAction {
@Option(name = "-s", aliases = { "--start-type" }, description = "Mode in which the service is installed. AUTO_START or DEMAND_START (Default: AUTO_START)", required = false, multiValued = false)
private String startType = "AUTO_START";
+ @Reference
private WrapperService wrapperService = new WrapperServiceImpl();
public void setWrapperService(WrapperService wrapperService) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/wrapper/command/src/main/resources/OSGI-INF/blueprint/wrapper-commands.xml
----------------------------------------------------------------------
diff --git a/wrapper/command/src/main/resources/OSGI-INF/blueprint/wrapper-commands.xml b/wrapper/command/src/main/resources/OSGI-INF/blueprint/wrapper-commands.xml
index 7f4e9a8..f29e8a0 100644
--- a/wrapper/command/src/main/resources/OSGI-INF/blueprint/wrapper-commands.xml
+++ b/wrapper/command/src/main/resources/OSGI-INF/blueprint/wrapper-commands.xml
@@ -20,14 +20,7 @@
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
default-activation="lazy">
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.wrapper.commands.Install">
- <property name="wrapperService" ref="wrapperService"/>
- </action>
- </command>
- </command-bundle>
-
- <reference id="wrapperService" interface="org.apache.karaf.wrapper.WrapperService"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.wrapper.commands.*" />
</blueprint>
\ No newline at end of file