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());
+          }
         }
+      }
     }
 
 }

Reply via email to