winrm: avoid NPE if command==null && psCommand==null

Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/868f765a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/868f765a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/868f765a

Branch: refs/heads/master
Commit: 868f765a7e0532b7a46a70af496ffef9e195f168
Parents: b9d95a4
Author: Aled Sage <[email protected]>
Authored: Wed Sep 23 00:54:17 2015 +0100
Committer: Aled Sage <[email protected]>
Committed: Wed Sep 23 01:32:49 2015 +0100

----------------------------------------------------------------------
 .../base/lifecycle/WinRmExecuteHelper.java      | 31 ++++++++++++--------
 1 file changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/868f765a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/WinRmExecuteHelper.java
----------------------------------------------------------------------
diff --git 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/WinRmExecuteHelper.java
 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/WinRmExecuteHelper.java
index 703a44b..65d05ab 100644
--- 
a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/WinRmExecuteHelper.java
+++ 
b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/WinRmExecuteHelper.java
@@ -18,10 +18,16 @@
  */
 package org.apache.brooklyn.entity.software.base.lifecycle;
 
-import com.google.common.annotations.Beta;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import org.apache.brooklyn.api.entity.Entity;
+import static java.lang.String.format;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.concurrent.Callable;
+
+import javax.annotation.Nullable;
+
 import org.apache.brooklyn.api.mgmt.ExecutionContext;
 import org.apache.brooklyn.api.mgmt.Task;
 import org.apache.brooklyn.api.mgmt.TaskQueueingContext;
@@ -33,14 +39,9 @@ import org.apache.brooklyn.util.stream.Streams;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.annotation.Nullable;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.concurrent.Callable;
-
-import static java.lang.String.format;
+import com.google.common.annotations.Beta;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
 
 /**
  * 
<code>org.apache.brooklyn.entity.software.base.lifecycle.ScriptHelper</code> 
analog for WinRM
@@ -96,7 +97,11 @@ public class WinRmExecuteHelper {
 
         try {
             ByteArrayOutputStream stdin = new ByteArrayOutputStream();
-            stdin.write((command != null ? command : psCommand).getBytes());
+            if (command != null) {
+                stdin.write(command.getBytes());
+            } else if (psCommand != null) {
+                stdin.write(psCommand.getBytes());
+            }
             
tb.tag(BrooklynTaskTags.tagForStreamSoft(BrooklynTaskTags.STREAM_STDIN, stdin));
         } catch (IOException e) {
             LOG.warn("Error registering stream 
"+BrooklynTaskTags.STREAM_STDIN+" on "+tb+": "+e, e);

Reply via email to