[KARAF-2911] Small fixes to subsystem commands
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/486ad3ac Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/486ad3ac Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/486ad3ac Branch: refs/heads/master Commit: 486ad3aca57b364940f8d71d8f520b877ee614e2 Parents: 53ad48f Author: Guillaume Nodet <gno...@gmail.com> Authored: Thu Apr 17 16:07:14 2014 +0200 Committer: Guillaume Nodet <gno...@gmail.com> Committed: Fri Apr 18 23:33:51 2014 +0200 ---------------------------------------------------------------------- .../org/apache/karaf/subsystem/commands/ListAction.java | 10 ++++++++++ .../apache/karaf/subsystem/commands/SubsystemSupport.java | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/486ad3ac/subsystem/src/main/java/org/apache/karaf/subsystem/commands/ListAction.java ---------------------------------------------------------------------- diff --git a/subsystem/src/main/java/org/apache/karaf/subsystem/commands/ListAction.java b/subsystem/src/main/java/org/apache/karaf/subsystem/commands/ListAction.java index 458ff5b..8b7ee12 100644 --- a/subsystem/src/main/java/org/apache/karaf/subsystem/commands/ListAction.java +++ b/subsystem/src/main/java/org/apache/karaf/subsystem/commands/ListAction.java @@ -36,6 +36,7 @@ public class ListAction extends SubsystemSupport implements Action { table.column("SymbolicName"); table.column("Version"); table.column("State"); + table.column("Type"); table.column("Parents"); table.column("Children"); @@ -45,6 +46,7 @@ public class ListAction extends SubsystemSupport implements Action { ss.getSymbolicName(), ss.getVersion(), ss.getState().toString(), + getType(ss), getSubsytemIds(ss.getParents()), getSubsytemIds(ss.getChildren()) ); @@ -53,4 +55,12 @@ public class ListAction extends SubsystemSupport implements Action { return null; } + private String getType(Subsystem subsystem) { + String type = subsystem.getType(); + if (type.startsWith("osgi.subsystem.")) { + type = type.substring("osgi.subsystem.".length()); + } + return type; + } + } http://git-wip-us.apache.org/repos/asf/karaf/blob/486ad3ac/subsystem/src/main/java/org/apache/karaf/subsystem/commands/SubsystemSupport.java ---------------------------------------------------------------------- diff --git a/subsystem/src/main/java/org/apache/karaf/subsystem/commands/SubsystemSupport.java b/subsystem/src/main/java/org/apache/karaf/subsystem/commands/SubsystemSupport.java index e91461e..c19ebfe 100644 --- a/subsystem/src/main/java/org/apache/karaf/subsystem/commands/SubsystemSupport.java +++ b/subsystem/src/main/java/org/apache/karaf/subsystem/commands/SubsystemSupport.java @@ -104,8 +104,12 @@ public abstract class SubsystemSupport { protected List<Long> getSubsytemIds(Collection<Subsystem> subsystems) { List<Long> ids = new ArrayList<Long>(); for (Subsystem ss : subsystems) { - ids.add(ss.getSubsystemId()); + long id = ss.getSubsystemId(); + if (!ids.contains(id)) { + ids.add(id); + } } + Collections.sort(ids); return ids; }