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:28 UTC
[4/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/itests/src/test/java/org/apache/karaf/itests/RegionTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/RegionTest.java b/itests/src/test/java/org/apache/karaf/itests/RegionTest.java
index 07e05fd..3d7d6b0 100644
--- a/itests/src/test/java/org/apache/karaf/itests/RegionTest.java
+++ b/itests/src/test/java/org/apache/karaf/itests/RegionTest.java
@@ -35,7 +35,7 @@ public class RegionTest extends KarafTestSupport {
@Test
public void addRegionCommand() throws Exception {
- System.out.println(executeCommand("region:addregion itest"));
+ System.out.println(executeCommand("region:region-add itest"));
String infoOutput = executeCommand("region:info");
System.out.println(infoOutput);
assertTrue("Region itest should be present", infoOutput.contains("itest"));
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
index 775f9ad..fa629da 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
@@ -21,8 +21,10 @@ 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.completer.StringsCompleter;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jdbc", name = "create", description = "Create a JDBC datasource")
+@Service
public class CreateCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "name", description = "The JDBC datasource name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
index 36df691..e314c9c 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
@@ -17,12 +17,14 @@
package org.apache.karaf.jdbc.command;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
import java.util.List;
import java.util.Map;
@Command(scope = "jdbc", name = "datasources", description = "List the JDBC datasources")
+@Service
public class DataSourcesCommand extends JdbcCommandSupport {
public Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
index 20982bb..3b6aa16 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.jdbc.command.completers.DataSourcesFileNameCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jdbc", name = "delete", description = "Delete a JDBC datasource")
+@Service
public class DeleteCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "name", description = "The JDBC datasource name (the one used at creation time)", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
index 42f0a76..48bd412 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jdbc", name = "execute", description = "Execute a SQL command on a given JDBC datasource")
+@Service
public class ExecuteCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
index 89bca19..14df91b 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
@@ -20,11 +20,13 @@ import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
import java.util.Map;
@Command(scope = "jdbc", name = "info", description = "Display details about a JDBC datasource")
+@Service
public class InfoCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
index 6fb8bfc..f274cfb 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
@@ -18,9 +18,11 @@ package org.apache.karaf.jdbc.command;
import org.apache.karaf.jdbc.JdbcService;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
public abstract class JdbcCommandSupport extends OsgiCommandSupport {
+ @Reference
private JdbcService jdbcService;
public abstract Object doExecute() throws Exception;
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
index 7fc641a..f591cd9 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
@@ -20,6 +20,7 @@ import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.Row;
import org.apache.karaf.shell.table.ShellTable;
@@ -27,6 +28,7 @@ import java.util.List;
import java.util.Map;
@Command(scope = "jdbc", name = "query", description = "Execute a SQL query on a JDBC datasource")
+@Service
public class QueryCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource to use", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
index 6256cbc..8a7acdd 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
@@ -20,6 +20,7 @@ import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.Row;
import org.apache.karaf.shell.table.ShellTable;
@@ -27,6 +28,7 @@ import java.util.List;
import java.util.Map;
@Command(scope = "jdbc", name = "tables", description = "List the tables on a given JDBC datasource")
+@Service
public class TablesCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource to use", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
index b99b57a..3eb7eb6 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.jdbc.command.completers;
import org.apache.karaf.jdbc.JdbcService;
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 java.util.List;
/**
* Completer on the JDBC datasources file name.
*/
+@Service
public class DataSourcesFileNameCompleter implements Completer {
+ @Reference
private JdbcService jdbcService;
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
index e0adb31..af4c0e3 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.jdbc.command.completers;
import org.apache.karaf.jdbc.JdbcService;
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 java.util.List;
/**
* Completer on the JDBC datasources name (JNDI or OSGi service property).
*/
+@Service
public class DataSourcesNameCompleter implements Completer {
+ @Reference
private JdbcService jdbcService;
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml b/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
index 2433e00..fe843fc 100644
--- a/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
+++ b/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
@@ -17,54 +17,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
- <reference id="jdbcService" interface="org.apache.karaf.jdbc.JdbcService" />
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.jdbc.command.CreateCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jdbc.command.DeleteCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jdbc.command.DataSourcesCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jdbc.command.QueryCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jdbc.command.ExecuteCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jdbc.command.InfoCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jdbc.command.TablesCommand">
- <property name="jdbcService" ref="jdbcService"/>
- </action>
- </command>
- </command-bundle>
-
- <bean id="dataSourcesNameCompleter" class="org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter">
- <property name="jdbcService" ref="jdbcService" />
- </bean>
- <service ref="dataSourcesNameCompleter" auto-export="all-classes"/>
-
- <bean id="dataSourcesFileNameCompleter" class="org.apache.karaf.jdbc.command.completers.DataSourcesFileNameCompleter">
- <property name="jdbcService" ref="jdbcService" />
- </bean>
- <service ref="dataSourcesFileNameCompleter" auto-export="all-classes"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.jdbc.command.*" />
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
index c99374a..49bd545 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
@@ -20,11 +20,13 @@ import org.apache.karaf.jms.JmsMessage;
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.shell.table.ShellTable;
import java.util.List;
@Command(scope = "jms", name = "browse", description = "Browse a JMS queue")
+@Service
public class BrowseCommand extends JmsConnectionCommandSupport {
@Argument(index = 1, name = "queue", description = "The JMS queue to browse", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
index 8142449..91182e7 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
@@ -17,11 +17,13 @@
package org.apache.karaf.jms.command;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
import java.util.List;
@Command(scope = "jms", name = "connectionfactories", description = "List the JMS connection factories")
+@Service
public class ConnectionFactoriesCommand extends JmsCommandSupport {
public Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
index 84e1d19..a1b3855 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
@@ -19,8 +19,10 @@ package org.apache.karaf.jms.command;
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;
@Command(scope = "jms", name = "consume", description = "Consume messages from a JMS queue.")
+@Service
public class ConsumeCommand extends JmsConnectionCommandSupport {
@Argument(index = 1, name = "queue", description = "The JMS queue where to consume messages", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
index 016d6cd..600477a 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
@@ -18,9 +18,11 @@ package org.apache.karaf.jms.command;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
@Command(scope = "jms", name = "count", description = "Count the number of messages on a JMS queue.")
+@Service
public class CountCommand extends JmsConnectionCommandSupport {
@Argument(index = 1, name = "queue", description = "The JMS queue name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
index dcea101..0750a57 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
@@ -21,8 +21,10 @@ 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.completer.StringsCompleter;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jms", name = "create", description = "Create a JMS connection factory.")
+@Service
public class CreateCommand extends JmsCommandSupport {
@Argument(index = 0, name = "name", description = "The JMS connection factory name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
index 882c318..2cd701f 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.jms.command.completers.ConnectionFactoriesFileNameComple
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jms", name = "delete", description = "Delete a JMS connection factory")
+@Service
public class DeleteCommand extends JmsCommandSupport {
@Argument(index = 0, name = "name", description = "The JMS connection factory name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
index 8b25130..732a164 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
@@ -19,9 +19,11 @@ package org.apache.karaf.jms.command;
import java.util.Map;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
@Command(scope = "jms", name = "info", description = "Provides details about a JMS connection factory.")
+@Service
public class InfoCommand extends JmsConnectionCommandSupport {
public Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java b/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
index 86b99a7..e4d514c 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
@@ -18,9 +18,11 @@ package org.apache.karaf.jms.command;
import org.apache.karaf.jms.JmsService;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
public abstract class JmsCommandSupport extends OsgiCommandSupport {
+ @Reference
private JmsService jmsService;
public JmsService getJmsService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
index 4ab8b46..8afe253 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
@@ -19,8 +19,10 @@ package org.apache.karaf.jms.command;
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;
@Command(scope = "jms", name = "move", description = "Move messages from one JMS queue to another one.")
+@Service
public class MoveCommand extends JmsConnectionCommandSupport {
@Argument(index = 1, name = "source", description = "The source JMS queue", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
index 8ae4cab..105eeb2 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
@@ -17,9 +17,11 @@
package org.apache.karaf.jms.command;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
@Command(scope = "jms", name = "queues", description = "List the JMS queues.")
+@Service
public class QueuesCommand extends JmsConnectionCommandSupport {
public Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
index 792de7f..3af7436 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
@@ -19,8 +19,10 @@ package org.apache.karaf.jms.command;
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;
@Command(scope = "jms", name = "send", description = "Send a message to ")
+@Service
public class SendCommand extends JmsConnectionCommandSupport {
@Argument(index = 1, name = "queue", description = "The JMS queue name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
index bd27dcf..7a0b707 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
@@ -17,9 +17,11 @@
package org.apache.karaf.jms.command;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
@Command(scope = "jms", name = "topics", description = "List the JMS topics.")
+@Service
public class TopicsCommand extends JmsConnectionCommandSupport {
public Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
index e5cfabf..12c42bd 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.jms.command.completers;
import org.apache.karaf.jms.JmsService;
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 java.util.List;
/**
* Completer on the JMS connection factory file names.
*/
+@Service
public class ConnectionFactoriesFileNameCompleter implements Completer {
+ @Reference
private JmsService jmsService;
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
index 2d19e76..3437c8e 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.jms.command.completers;
import org.apache.karaf.jms.JmsService;
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 java.util.List;
/**
* Completer on the JMS connection factories name.
*/
+@Service
public class ConnectionFactoriesNameCompleter implements Completer {
+ @Reference
private JmsService jmsService;
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
----------------------------------------------------------------------
diff --git a/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml b/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
index be81647..b5a912f 100644
--- a/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
+++ b/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
@@ -17,74 +17,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
- <reference id="jmsService" interface="org.apache.karaf.jms.JmsService"/>
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.jms.command.BrowseCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.ConnectionFactoriesCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.ConsumeCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.CountCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.CreateCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.DeleteCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.InfoCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.MoveCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.QueuesCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.SendCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jms.command.TopicsCommand">
- <property name="jmsService" ref="jmsService"/>
- </action>
- </command>
- </command-bundle>
-
- <bean id="connectionFactoriesNameCompleter" class="org.apache.karaf.jms.command.completers.ConnectionFactoriesNameCompleter">
- <property name="jmsService" ref="jmsService"/>
- </bean>
- <service ref="connectionFactoriesNameCompleter" auto-export="all-classes"/>
-
- <bean id="connectionFactoriesFileNameCompleter" class="org.apache.karaf.jms.command.completers.ConnectionFactoriesFileNameCompleter">
- <property name="jmsService" ref="jmsService"/>
- </bean>
- <service ref="connectionFactoriesFileNameCompleter" auto-export="all-classes"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.jms.command.*" />
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
index 86a126e..3733858 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
@@ -21,8 +21,10 @@ import org.apache.karaf.jndi.command.completers.NamesCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jndi", name = "alias", description = "Create a JNDI alias on a given name.")
+@Service
public class AliasCommand extends JndiCommandSupport {
@Argument(index = 0, name = "name", description = "The JNDI name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
index a0560d3..5192853 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
@@ -21,8 +21,10 @@ import org.apache.karaf.jndi.command.completers.ServicesIdCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jndi", name = "bind", description = "Bind an OSGi service in the JNDI context")
+@Service
public class BindCommand extends JndiCommandSupport {
@Argument(index = 0, name = "service", description = "The ID of the OSGi service to bind", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
index b50f3c3..34def8f 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
@@ -20,11 +20,13 @@ import org.apache.karaf.jndi.command.completers.ContextsCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
import java.util.List;
@Command(scope = "jndi", name = "contexts", description = "List the JNDI sub-contexts.")
+@Service
public class ContextsCommand extends JndiCommandSupport {
@Argument(index = 0, name = "context", description = "The base JNDI context", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
index dfaa108..d8627a3 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.jndi.command.completers.ContextsCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jndi", name = "create", description = "Create a new JNDI sub-context.")
+@Service
public class CreateCommand extends JndiCommandSupport {
@Argument(index = 0, name = "context", description = "The JNDI sub-context name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
index 0370859..7e8a631 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.jndi.command.completers.ContextsCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jndi", name = "delete", description = "Delete a JNDI sub-context.")
+@Service
public class DeleteCommand extends JndiCommandSupport {
@Argument(index = 0, name = "context", description = "The JNDI sub-context name", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
index 0e46be3..e3e4e48 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
@@ -18,9 +18,11 @@ package org.apache.karaf.jndi.command;
import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
public abstract class JndiCommandSupport extends OsgiCommandSupport {
+ @Reference
private JndiService jndiService;
public JndiService getJndiService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
index 661dbbf..c893843 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
@@ -20,11 +20,13 @@ import org.apache.karaf.jndi.command.completers.ContextsCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
import java.util.Map;
@Command(scope = "jndi", name = "names", description = "List the JNDI names.")
+@Service
public class NamesCommand extends JndiCommandSupport {
@Argument(index = 0, name = "context", description = "The JNDI context to display the names", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
index 10b9740..058a822 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.jndi.command.completers.NamesCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "jndi", name = "unbind", description = "Unbind a JNDI name.")
+@Service
public class UnbindCommand extends JndiCommandSupport {
@Argument(index = 0, name = "name", description = "The JNDI name to unbind", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
index 88705c0..deab19b 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.jndi.command.completers;
import org.apache.karaf.jndi.JndiService;
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 java.util.List;
/**
* Completers on the JNDI contexts.
*/
+@Service
public class ContextsCompleter implements Completer {
+ @Reference
private JndiService jndiService;
public int complete(String buffer, int cursor, List candidates) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
index 33aef6b..618977a 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.jndi.command.completers;
import org.apache.karaf.jndi.JndiService;
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 java.util.List;
/**
* Completer to the JNDI names.
*/
+@Service
public class NamesCompleter implements Completer {
+ @Reference
private JndiService jndiService;
public int complete(String buffer, int cursor, List candidates) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ServicesIdCompleter.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ServicesIdCompleter.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ServicesIdCompleter.java
index e1673cd..c56490b 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ServicesIdCompleter.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ServicesIdCompleter.java
@@ -18,6 +18,8 @@ package org.apache.karaf.jndi.command.completers;
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.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@@ -28,8 +30,10 @@ import java.util.List;
/**
* Completer on the OSGi services ID.
*/
+@Service
public class ServicesIdCompleter implements Completer {
+ @Reference
private BundleContext bundleContext;
public int complete(String buffer, int cursor, List candidates) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/jndi/command/src/main/resources/OSGI-INF/blueprint/jndi-command.xml
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/resources/OSGI-INF/blueprint/jndi-command.xml b/jndi/command/src/main/resources/OSGI-INF/blueprint/jndi-command.xml
index d9b9f14..f59750b 100644
--- a/jndi/command/src/main/resources/OSGI-INF/blueprint/jndi-command.xml
+++ b/jndi/command/src/main/resources/OSGI-INF/blueprint/jndi-command.xml
@@ -17,59 +17,7 @@
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
- <reference id="jndiService" interface="org.apache.karaf.jndi.JndiService" />
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.jndi.command.AliasCommand">
- <property name="jndiService" ref="jndiService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jndi.command.ContextsCommand">
- <property name="jndiService" ref="jndiService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jndi.command.NamesCommand">
- <property name="jndiService" ref="jndiService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jndi.command.CreateCommand">
- <property name="jndiService" ref="jndiService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jndi.command.DeleteCommand">
- <property name="jndiService" ref="jndiService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jndi.command.BindCommand">
- <property name="jndiService" ref="jndiService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.jndi.command.UnbindCommand">
- <property name="jndiService" ref="jndiService" />
- </action>
- </command>
- </command-bundle>
-
- <bean id="namesCompleter" class="org.apache.karaf.jndi.command.completers.NamesCompleter">
- <property name="jndiService" ref="jndiService" />
- </bean>
- <service ref="namesCompleter" auto-export="all-classes"/>
-
- <bean id="contextsCompleter" class="org.apache.karaf.jndi.command.completers.ContextsCompleter">
- <property name="jndiService" ref="jndiService" />
- </bean>
- <service ref="contextsCompleter" auto-export="all-classes"/>
-
- <bean id="servicesIdCompleter" class="org.apache.karaf.jndi.command.completers.ServicesIdCompleter">
- <property name="bundleContext" ref="blueprintBundleContext" />
- </bean>
- <service ref="servicesIdCompleter" auto-export="all-classes"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.jndi.command.*" />
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/java/org/apache/karaf/kar/command/CreateKarCommand.java
----------------------------------------------------------------------
diff --git a/kar/command/src/main/java/org/apache/karaf/kar/command/CreateKarCommand.java b/kar/command/src/main/java/org/apache/karaf/kar/command/CreateKarCommand.java
index 96c99c7..dbc34a6 100644
--- a/kar/command/src/main/java/org/apache/karaf/kar/command/CreateKarCommand.java
+++ b/kar/command/src/main/java/org/apache/karaf/kar/command/CreateKarCommand.java
@@ -22,8 +22,10 @@ import org.apache.karaf.features.command.completers.InstalledRepoNameCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "kar", name = "create", description = "Create a kar file for a list of feature repos")
+@Service
public class CreateKarCommand extends KarCommandSupport {
@Argument(index = 0, name = "repoName", description = "Repository name. The kar will contain all features of the named repository by default", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/java/org/apache/karaf/kar/command/InstallKarCommand.java
----------------------------------------------------------------------
diff --git a/kar/command/src/main/java/org/apache/karaf/kar/command/InstallKarCommand.java b/kar/command/src/main/java/org/apache/karaf/kar/command/InstallKarCommand.java
index 8deff2f..1053e74 100644
--- a/kar/command/src/main/java/org/apache/karaf/kar/command/InstallKarCommand.java
+++ b/kar/command/src/main/java/org/apache/karaf/kar/command/InstallKarCommand.java
@@ -18,10 +18,12 @@ package org.apache.karaf.kar.command;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import java.net.URI;
@Command(scope = "kar", name = "install", description = "Installs a KAR file.")
+@Service
public class InstallKarCommand extends KarCommandSupport {
@Argument(index = 0, name = "url", description = "The URL of the KAR file to install.", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/java/org/apache/karaf/kar/command/KarCommandSupport.java
----------------------------------------------------------------------
diff --git a/kar/command/src/main/java/org/apache/karaf/kar/command/KarCommandSupport.java b/kar/command/src/main/java/org/apache/karaf/kar/command/KarCommandSupport.java
index 16c250a..3af6622 100644
--- a/kar/command/src/main/java/org/apache/karaf/kar/command/KarCommandSupport.java
+++ b/kar/command/src/main/java/org/apache/karaf/kar/command/KarCommandSupport.java
@@ -18,9 +18,11 @@ package org.apache.karaf.kar.command;
import org.apache.karaf.kar.KarService;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
public abstract class KarCommandSupport extends OsgiCommandSupport {
+ @Reference
private KarService karService;
public KarService getKarService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java
----------------------------------------------------------------------
diff --git a/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java b/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java
index 1a8902a..e1b59bb 100644
--- a/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java
+++ b/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java
@@ -18,9 +18,11 @@ package org.apache.karaf.kar.command;
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.shell.table.ShellTable;
@Command(scope = "kar", name = "list", description = "List the installed KAR files.")
+@Service
public class ListKarCommand extends KarCommandSupport {
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/java/org/apache/karaf/kar/command/UninstallKarCommand.java
----------------------------------------------------------------------
diff --git a/kar/command/src/main/java/org/apache/karaf/kar/command/UninstallKarCommand.java b/kar/command/src/main/java/org/apache/karaf/kar/command/UninstallKarCommand.java
index a02efb5..ce5664d 100644
--- a/kar/command/src/main/java/org/apache/karaf/kar/command/UninstallKarCommand.java
+++ b/kar/command/src/main/java/org/apache/karaf/kar/command/UninstallKarCommand.java
@@ -20,8 +20,10 @@ import org.apache.karaf.kar.command.completers.KarCompleter;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "kar", name = "uninstall", description = "Uninstall a KAR file.")
+@Service
public class UninstallKarCommand extends KarCommandSupport {
@Argument(index = 0, name = "name", description = "The name of the KAR file to uninstall.", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/java/org/apache/karaf/kar/command/completers/KarCompleter.java
----------------------------------------------------------------------
diff --git a/kar/command/src/main/java/org/apache/karaf/kar/command/completers/KarCompleter.java b/kar/command/src/main/java/org/apache/karaf/kar/command/completers/KarCompleter.java
index e7e556a..460a21b 100644
--- a/kar/command/src/main/java/org/apache/karaf/kar/command/completers/KarCompleter.java
+++ b/kar/command/src/main/java/org/apache/karaf/kar/command/completers/KarCompleter.java
@@ -19,14 +19,18 @@ package org.apache.karaf.kar.command.completers;
import org.apache.karaf.kar.KarService;
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 java.util.List;
/**
* Completer on all installed KAR files.
*/
+@Service
public class KarCompleter implements Completer {
-
+
+ @Reference
private KarService karService;
public int complete(String buffer, int cursor, @SuppressWarnings("rawtypes") List candidates) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/kar/command/src/main/resources/OSGI-INF/blueprint/kar-command.xml
----------------------------------------------------------------------
diff --git a/kar/command/src/main/resources/OSGI-INF/blueprint/kar-command.xml b/kar/command/src/main/resources/OSGI-INF/blueprint/kar-command.xml
index 17acba1..53d56d7 100644
--- a/kar/command/src/main/resources/OSGI-INF/blueprint/kar-command.xml
+++ b/kar/command/src/main/resources/OSGI-INF/blueprint/kar-command.xml
@@ -17,34 +17,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.kar.command.ListKarCommand">
- <property name="karService" ref="karService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.kar.command.InstallKarCommand">
- <property name="karService" ref="karService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.kar.command.UninstallKarCommand">
- <property name="karService" ref="karService"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.kar.command.CreateKarCommand">
- <property name="karService" ref="karService"/>
- </action>
- </command>
- </command-bundle>
-
- <reference id="karService" interface="org.apache.karaf.kar.KarService"/>
-
- <bean id="karCompleter" class="org.apache.karaf.kar.command.completers.KarCompleter">
- <property name="karService" ref="karService"/>
- </bean>
- <service ref="karCompleter" auto-export="all-classes"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.kar.command.*" />
</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/ClearLog.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/ClearLog.java b/log/command/src/main/java/org/apache/karaf/log/command/ClearLog.java
index 24454cb..8733568 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/ClearLog.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/ClearLog.java
@@ -17,11 +17,13 @@
package org.apache.karaf.log.command;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
/**
* Clear the last log entries.
*/
@Command(scope = "log", name = "clear", description = "Clear log entries.")
+@Service
public class ClearLog extends LogCommandSupport {
protected Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/DisplayException.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/DisplayException.java b/log/command/src/main/java/org/apache/karaf/log/command/DisplayException.java
index 2cbf406..d8cb4b5 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/DisplayException.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/DisplayException.java
@@ -18,9 +18,11 @@ package org.apache.karaf.log.command;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.ops4j.pax.logging.spi.PaxLoggingEvent;
@Command(scope = "log", name = "exception-display", description = "Displays the last occurred exception from the log.")
+@Service
public class DisplayException extends LogCommandSupport {
@Argument(index = 0, name = "logger", description = "The name of the logger. This can be ROOT, ALL, or the name of a logger specified in the org.ops4j.pax.logger.cfg file.", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/DisplayLog.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/DisplayLog.java b/log/command/src/main/java/org/apache/karaf/log/command/DisplayLog.java
index 1a5a845..f17e775 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/DisplayLog.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/DisplayLog.java
@@ -22,12 +22,15 @@ import org.apache.karaf.log.core.LogEventFormatter;
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.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.ops4j.pax.logging.spi.PaxLoggingEvent;
/**
* Displays the last log entries
*/
@Command(scope = "log", name = "display", description = "Displays log entries.")
+@Service
public class DisplayLog extends LogCommandSupport {
@Option(name = "-n", aliases = {}, description="Number of entries to display", required = false, multiValued = false)
@@ -42,6 +45,7 @@ public class DisplayLog extends LogCommandSupport {
@Argument(index = 0, name = "logger", description = "The name of the logger. This can be ROOT, ALL, or the name of a logger specified in the org.ops4j.pax.logger.cfg file.", required = false, multiValued = false)
String logger;
+ @Reference
protected LogEventFormatter formatter;
public void setFormatter(LogEventFormatter formatter) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java b/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java
index 4b32913..290fffb 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java
@@ -19,6 +19,7 @@ package org.apache.karaf.log.command;
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.shell.table.ShellTable;
import java.util.Enumeration;
@@ -29,6 +30,7 @@ import java.util.Map;
* Get the log level
*/
@Command(scope = "log", name = "get", description = "Shows the currently set log level.")
+@Service
public class GetLogLevel extends LogCommandSupport {
@Argument(index = 0, name = "logger", description = "The name of the logger, ALL or ROOT (default)", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/LogCommandSupport.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/LogCommandSupport.java b/log/command/src/main/java/org/apache/karaf/log/command/LogCommandSupport.java
index 8a8f979..9ce0f8c 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/LogCommandSupport.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/LogCommandSupport.java
@@ -18,8 +18,11 @@ package org.apache.karaf.log.command;
import org.apache.karaf.log.core.LogService;
import org.apache.karaf.shell.console.AbstractAction;
+import org.apache.karaf.shell.inject.Reference;
public abstract class LogCommandSupport extends AbstractAction {
+
+ @Reference
protected LogService logService;
public void setLogService(LogService logService) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/LogEntry.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/LogEntry.java b/log/command/src/main/java/org/apache/karaf/log/command/LogEntry.java
index 4bb53d0..d2c1786 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/LogEntry.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/LogEntry.java
@@ -22,12 +22,15 @@ import org.apache.karaf.shell.commands.Completer;
import org.apache.karaf.shell.commands.Option;
import org.apache.karaf.shell.console.AbstractAction;
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.service.log.LogService;
import java.util.HashMap;
import java.util.Map;
@Command(scope = "log", name = "log", description = "Log a message.")
+@Service
public class LogEntry extends AbstractAction {
@Argument(index = 0, name = "message", description = "The message to log", required = true, multiValued = false)
@@ -37,13 +40,12 @@ public class LogEntry extends AbstractAction {
@Completer(value = StringsCompleter.class, values = { "DEBUG", "INFO", "WARNING", "ERROR" })
private String level = "INFO";
+ @Reference
private LogService logService;
private final Map<String,Integer> mappings = new HashMap<String,Integer>();
- public LogEntry(LogService logService) {
- this.logService = logService;
-
+ public LogEntry() {
mappings.put("ERROR",1);
mappings.put("WARNING",2);
mappings.put("INFO",3);
@@ -65,4 +67,7 @@ public class LogEntry extends AbstractAction {
return level;
}
+ public void setLogService(LogService logService) {
+ this.logService = logService;
+ }
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/LogTail.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/LogTail.java b/log/command/src/main/java/org/apache/karaf/log/command/LogTail.java
index 93ae14a..a79b8a9 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/LogTail.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/LogTail.java
@@ -21,10 +21,12 @@ import java.io.PrintStream;
import java.util.concurrent.*;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import org.ops4j.pax.logging.spi.PaxAppender;
import org.ops4j.pax.logging.spi.PaxLoggingEvent;
@Command(scope = "log", name = "tail", description = "Continuously display log entries. Use ctrl-c to quit this command")
+@Service
public class LogTail extends DisplayLog {
private ExecutorService executorService = Executors.newSingleThreadExecutor();
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/java/org/apache/karaf/log/command/SetLogLevel.java
----------------------------------------------------------------------
diff --git a/log/command/src/main/java/org/apache/karaf/log/command/SetLogLevel.java b/log/command/src/main/java/org/apache/karaf/log/command/SetLogLevel.java
index ae41b7d..4bdf5d8 100644
--- a/log/command/src/main/java/org/apache/karaf/log/command/SetLogLevel.java
+++ b/log/command/src/main/java/org/apache/karaf/log/command/SetLogLevel.java
@@ -20,11 +20,13 @@ import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.shell.commands.Completer;
import org.apache.karaf.shell.console.completer.StringsCompleter;
+import org.apache.karaf.shell.inject.Service;
/**
* Set the log level for a given logger
*/
@Command(scope = "log", name = "set", description = "Sets the log level.")
+@Service
public class SetLogLevel extends LogCommandSupport {
@Argument(index = 0, name = "level", description = "The log level to set (TRACE, DEBUG, INFO, WARN, ERROR) or DEFAULT to unset", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/log/command/src/main/resources/OSGI-INF/blueprint/shell-log.xml
----------------------------------------------------------------------
diff --git a/log/command/src/main/resources/OSGI-INF/blueprint/shell-log.xml b/log/command/src/main/resources/OSGI-INF/blueprint/shell-log.xml
index 0b94658..d074489 100644
--- a/log/command/src/main/resources/OSGI-INF/blueprint/shell-log.xml
+++ b/log/command/src/main/resources/OSGI-INF/blueprint/shell-log.xml
@@ -21,48 +21,7 @@
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
default-activation="lazy">
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.log.command.DisplayLog">
- <property name="logService" ref="logService" />
- <property name="formatter" ref="formatter"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.log.command.DisplayException">
- <property name="logService" ref="logService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.log.command.ClearLog">
- <property name="logService" ref="logService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.log.command.GetLogLevel">
- <property name="logService" ref="logService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.log.command.SetLogLevel" >
- <property name="logService" ref="logService" />
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.log.command.LogTail">
- <property name="logService" ref="logService" />
- <property name="formatter" ref="formatter"/>
- </action>
- </command>
- <command>
- <action class="org.apache.karaf.log.command.LogEntry">
- <argument ref="osgiLogService" />
- </action>
- </command>
- </command-bundle>
-
- <reference id="formatter" interface="org.apache.karaf.log.core.LogEventFormatter"/>
- <reference id="logService" interface="org.apache.karaf.log.core.LogService"/>
- <reference id="osgiLogService" interface="org.osgi.service.log.LogService"/>
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
+ scan="org.apache.karaf.log.command.*" />
</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/AddUrlCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/AddUrlCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/AddUrlCommand.java
index 112a2fc..416639f 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/AddUrlCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/AddUrlCommand.java
@@ -21,8 +21,10 @@ import java.util.List;
import org.apache.felix.bundlerepository.RepositoryAdmin;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "obr", name = "url-add", description = "Adds a list of repository URLs to the OBR service.")
+@Service
public class AddUrlCommand extends ObrCommandSupport {
@Argument(index = 0, name = "urls", description = "Repository URLs to add to the OBR service separated by whitespaces", required = true, multiValued = true)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/DeployCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/DeployCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/DeployCommand.java
index a008004..48e42d6 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/DeployCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/DeployCommand.java
@@ -22,8 +22,10 @@ import org.apache.felix.bundlerepository.RepositoryAdmin;
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;
@Command(scope = "obr", name = "deploy", description = "Deploys a list of bundles using OBR service.")
+@Service
public class DeployCommand extends ObrCommandSupport {
@Argument(index = 0, name = "bundles", description = "List of bundle names to deploy (separated by whitespaces)", required = true, multiValued = true)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/FindCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/FindCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/FindCommand.java
index c442285..cfa4c53 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/FindCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/FindCommand.java
@@ -22,6 +22,7 @@ import org.apache.felix.bundlerepository.Requirement;
import org.apache.felix.bundlerepository.Resource;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
import java.io.PrintStream;
import java.lang.reflect.Array;
@@ -30,6 +31,7 @@ import java.util.List;
import java.util.Map;
@Command(scope = "obr", name = "find", description = "Find OBR bundles for a given filter.")
+@Service
public class FindCommand extends ObrCommandSupport {
@Argument(index = 0, name = "requirements", description = "Requirement", required = true, multiValued = true)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/InfoCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/InfoCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/InfoCommand.java
index d91830a..e2efa16 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/InfoCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/InfoCommand.java
@@ -28,8 +28,10 @@ import org.apache.felix.bundlerepository.Requirement;
import org.apache.felix.bundlerepository.Resource;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.inject.Service;
@Command(scope = "obr", name = "info", description = "Prints information about OBR bundles.")
+@Service
public class InfoCommand extends ObrCommandSupport {
@Argument(index = 0, name = "bundles", description = "Specify bundles to query for information (separated by whitespaces)", required = true, multiValued = true)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java
index ca17ba2..71df53f 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java
@@ -25,10 +25,13 @@ import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
import org.apache.felix.service.command.CommandSession;
import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.inject.Service;
import org.apache.karaf.shell.table.ShellTable;
@Command(scope = "obr", name = "list", description = "Lists OBR bundles, optionally providing the given packages.")
-public class ListCommand implements Action {
+@Service
+public class ListCommand extends ObrCommandSupport {
@Argument(index = 0, name = "packages", description = "A list of packages separated by whitespaces.", required = false, multiValued = true)
List<String> packages;
@@ -36,14 +39,8 @@ public class ListCommand implements Action {
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
boolean noFormat;
- RepositoryAdmin repoAdmin;
-
- public void setRepoAdmin(RepositoryAdmin repoAdmin) {
- this.repoAdmin = repoAdmin;
- }
-
@Override
- public Object execute(CommandSession session) throws Exception {
+ void doExecute(RepositoryAdmin admin) throws Exception {
StringBuilder substr = new StringBuilder();
if (packages != null) {
@@ -59,7 +56,7 @@ public class ListCommand implements Action {
} else {
query = "(|(presentationname=*" + substr + "*)(symbolicname=*" + substr + "*))";
}
- Resource[] resources = repoAdmin.discoverResources(query);
+ Resource[] resources = admin.discoverResources(query);
int maxPName = 4;
int maxSName = 13;
int maxVersion = 7;
@@ -82,8 +79,6 @@ public class ListCommand implements Action {
}
table.print(System.out, !noFormat);
-
- return null;
}
private String emptyIfNull(Object st) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java
index 07767ce..e03477b 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java
@@ -20,9 +20,11 @@ import org.apache.felix.bundlerepository.Repository;
import org.apache.felix.bundlerepository.RepositoryAdmin;
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.shell.table.ShellTable;
@Command(scope = "obr", name = "url-list", description = "Displays the repository URLs currently associated with the OBR service.")
+@Service
public class ListUrlCommand extends ObrCommandSupport {
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/ObrCommandSupport.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/ObrCommandSupport.java b/obr/command/src/main/java/org/apache/karaf/obr/command/ObrCommandSupport.java
index 0a9d0fe..9b70875 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/ObrCommandSupport.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/ObrCommandSupport.java
@@ -33,6 +33,7 @@ import org.apache.felix.bundlerepository.Requirement;
import org.apache.felix.bundlerepository.Resolver;
import org.apache.felix.bundlerepository.Resource;
import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.inject.Reference;
import org.osgi.framework.Bundle;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
@@ -42,23 +43,15 @@ public abstract class ObrCommandSupport extends OsgiCommandSupport {
protected static final char VERSION_DELIM = ',';
- protected Object doExecute() throws Exception {
- ServiceReference<RepositoryAdmin> ref = getBundleContext().getServiceReference(RepositoryAdmin.class);
- if (ref == null) {
- System.out.println("RepositoryAdmin service is unavailable.");
- return null;
- }
- try {
- RepositoryAdmin admin = getBundleContext().getService(ref);
- if (admin == null) {
- System.out.println("RepositoryAdmin service is unavailable.");
- return null;
- }
+ @Reference
+ private RepositoryAdmin repositoryAdmin;
- doExecute(admin);
- } finally {
- getBundleContext().ungetService(ref);
- }
+ public void setRepositoryAdmin(RepositoryAdmin repositoryAdmin) {
+ this.repositoryAdmin = repositoryAdmin;
+ }
+
+ protected Object doExecute() throws Exception {
+ doExecute(repositoryAdmin);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/RefreshUrlCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/RefreshUrlCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/RefreshUrlCommand.java
index ce8607a..9610b97 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/RefreshUrlCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/RefreshUrlCommand.java
@@ -23,8 +23,10 @@ import org.apache.felix.bundlerepository.RepositoryAdmin;
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;
@Command(scope = "obr", name = "url-refresh", description = "Reloads the repositories to obtain a fresh list of bundles.")
+@Service
public class RefreshUrlCommand extends ObrCommandSupport {
@Option(name = "-i", aliases = { "--index" }, description = "Use index to identify URL", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/RemoveUrlCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/RemoveUrlCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/RemoveUrlCommand.java
index 771d3d6..dd183d1 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/RemoveUrlCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/RemoveUrlCommand.java
@@ -23,8 +23,10 @@ import org.apache.felix.bundlerepository.RepositoryAdmin;
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;
@Command(scope = "obr", name = "url-remove", description = "Removes a list of repository URLs from the OBR service.")
+@Service
public class RemoveUrlCommand extends ObrCommandSupport {
@Option(name = "-i", aliases = { "--index" }, description = "Use index to identify URL", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/ResolveCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/ResolveCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/ResolveCommand.java
index 30ef4ca..edbf11f 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/ResolveCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/ResolveCommand.java
@@ -29,8 +29,10 @@ import org.apache.felix.bundlerepository.Resource;
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;
@Command(scope = "obr", name = "resolve", description = "Shows the resolution output for a given set of requirements.")
+@Service
public class ResolveCommand extends ObrCommandSupport {
@Option(name = "-w", aliases = "--why", description = "Display the reason of the inclusion of the resource")
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/SourceCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/SourceCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/SourceCommand.java
index 307cbad..8c2eb89 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/SourceCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/SourceCommand.java
@@ -25,8 +25,10 @@ import org.apache.karaf.obr.command.util.FileUtil;
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;
@Command(scope = "obr", name = "source", description = "Downloads the sources for an OBR bundle.")
+@Service
public class SourceCommand extends ObrCommandSupport {
@Option(name = "-x", aliases = {}, description = "Extract the archive", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/e4f7bc4a/obr/command/src/main/java/org/apache/karaf/obr/command/StartCommand.java
----------------------------------------------------------------------
diff --git a/obr/command/src/main/java/org/apache/karaf/obr/command/StartCommand.java b/obr/command/src/main/java/org/apache/karaf/obr/command/StartCommand.java
index ec631d6..9947986 100644
--- a/obr/command/src/main/java/org/apache/karaf/obr/command/StartCommand.java
+++ b/obr/command/src/main/java/org/apache/karaf/obr/command/StartCommand.java
@@ -20,10 +20,12 @@ import org.apache.felix.bundlerepository.RepositoryAdmin;
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 java.util.List;
@Command(scope = "obr", name = "start", description = "Deploys and starts a list of bundles using OBR.")
+@Service
public class StartCommand extends ObrCommandSupport {
@Argument(index = 0, name = "bundles", description = "List of bundles to deploy (separated by whitespaces)", required = true, multiValued = true)