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);
