Repository: karaf Updated Branches: refs/heads/karaf-4.1.x e02e0fccc -> 380929f83
[KARAF-4174] Prevent NPE in obr:info command if resource is not complete Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/380929f8 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/380929f8 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/380929f8 Branch: refs/heads/karaf-4.1.x Commit: 380929f830b152d5c86bcf3ae5b143f1f7db20f2 Parents: e02e0fc Author: Jean-Baptiste Onofré <[email protected]> Authored: Mon Jul 24 18:14:41 2017 +0200 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Mon Jul 24 18:14:41 2017 +0200 ---------------------------------------------------------------------- .../apache/karaf/obr/command/InfoCommand.java | 49 +++++++++----------- 1 file changed, 21 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/380929f8/obr/src/main/java/org/apache/karaf/obr/command/InfoCommand.java ---------------------------------------------------------------------- diff --git a/obr/src/main/java/org/apache/karaf/obr/command/InfoCommand.java b/obr/src/main/java/org/apache/karaf/obr/command/InfoCommand.java index 616e8cb..4650bae 100644 --- a/obr/src/main/java/org/apache/karaf/obr/command/InfoCommand.java +++ b/obr/src/main/java/org/apache/karaf/obr/command/InfoCommand.java @@ -62,6 +62,7 @@ public class InfoCommand extends ObrCommandSupport { private void printResource(PrintStream out, Resource resource) { + if (out != null && resource != null) { // OBR R5 per Spec has no presentation name String resourceId = getResourceId(resource); @@ -70,42 +71,34 @@ public class InfoCommand extends ObrCommandSupport { printUnderline(out, resourceId.length()); Map map = resource.getProperties(); - for (Iterator iter = map.entrySet().iterator(); iter.hasNext(); ) - { - Map.Entry entry = (Map.Entry) iter.next(); - if (entry.getValue().getClass().isArray()) - { - out.println(entry.getKey() + ":"); - for (int j = 0; j < Array.getLength(entry.getValue()); j++) - { - out.println(" " + Array.get(entry.getValue(), j)); - } - } - else - { - out.println(entry.getKey() + ": " + entry.getValue()); + for (Iterator iter = map.entrySet().iterator(); iter.hasNext(); ) { + Map.Entry entry = (Map.Entry) iter.next(); + if (entry.getValue().getClass().isArray()) { + out.println(entry.getKey() + ":"); + for (int j = 0; j < Array.getLength(entry.getValue()); j++) { + out.println(" " + Array.get(entry.getValue(), j)); } + } else { + out.println(entry.getKey() + ": " + entry.getValue()); + } } Requirement[] reqs = resource.getRequirements(); - if ((reqs != null) && (reqs.length > 0)) - { - out.println("Requires:"); - for (int i = 0; i < reqs.length; i++) - { - out.println(" " + reqs[i].getName() + ":" + reqs[i].getFilter()); - } + if ((reqs != null) && (reqs.length > 0)) { + out.println("Requires:"); + for (int i = 0; i < reqs.length; i++) { + out.println(" " + reqs[i].getName() + ":" + reqs[i].getFilter()); + } } Capability[] caps = resource.getCapabilities(); - if ((caps != null) && (caps.length > 0)) - { - out.println("Capabilities:"); - for (int i = 0; i < caps.length; i++) - { - out.println(" " + caps[i].getName() + ":" + caps[i].getPropertiesAsMap()); - } + if ((caps != null) && (caps.length > 0)) { + out.println("Capabilities:"); + for (int i = 0; i < caps.length; i++) { + out.println(" " + caps[i].getName() + ":" + caps[i].getPropertiesAsMap()); + } } + } } }
