This is an automated email from the ASF dual-hosted git repository.

duncangrant pushed a commit to branch winrmtaskfactory
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git

commit 1d152cfb2c045cef76b17e9ca76eac787de7e780
Author: Duncan Grant <duncan.gr...@cloudsoft.io>
AuthorDate: Mon Nov 9 09:54:09 2020 +0000

    Better? Outputstream handling
---
 .../apache/brooklyn/location/winrm/WinRmMachineLocation.java   | 10 ++++++----
 .../brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java |  6 +++++-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
 
b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
index 88d29a0..1198697 100644
--- 
a/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
+++ 
b/software/winrm/src/main/java/org/apache/brooklyn/location/winrm/WinRmMachineLocation.java
@@ -556,10 +556,12 @@ public class WinRmMachineLocation extends 
AbstractMachineLocation implements Mac
             sgsO.setLogPrefix("[curl @ "+getAddress()+":stdout] ").start();
             sgsE.setLogPrefix("[curl @ "+getAddress()+":stderr] ").start();
             Map<String, ?> winrmProps = MutableMap.<String, 
Object>builder().putAll(props).put("out", outO).put("err", outE).build();
-            int result = execScript(winrmProps,"",ImmutableList.of(
-                    "$WebClient = New-Object System.Net.WebClient",
-                    "$WebClient.DownloadFile(" + url + "," + destPath + ")"
-            ));
+//            int result = execScript(winrmProps,"",ImmutableList.of(
+//                    "$WebClient = New-Object System.Net.WebClient",
+//                    "$WebClient.DownloadFile(" + url + "," + destPath + ")"
+//            ));
+
+            int result = 1;
 
             if (result != 0) {
                 LOG.debug("installing {} to {} on {}, curl failed, attempting 
local fetch and copy", new Object[] { url, destPath, this });
diff --git 
a/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
 
b/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
index 332b008..784e7d1 100644
--- 
a/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
+++ 
b/software/winrm/src/main/java/org/apache/brooklyn/util/core/internal/winrm/winrm4j/Winrm4jTool.java
@@ -141,7 +141,11 @@ public class Winrm4jTool implements 
org.apache.brooklyn.util.core.internal.winrm
     public org.apache.brooklyn.util.core.internal.winrm.WinRmToolResponse 
executePs(final List<String> commands) {
         return exec(new Function<io.cloudsoft.winrm4j.winrm.WinRmTool, 
io.cloudsoft.winrm4j.winrm.WinRmToolResponse>() {
             @Override public WinRmToolResponse 
apply(io.cloudsoft.winrm4j.winrm.WinRmTool tool) {
-                return tool.executePs(commands);
+                OutputStream outputStream = bag.get(ShellTool.PROP_OUT_STREAM);
+                OutputStream errorStream = bag.get(ShellTool.PROP_ERR_STREAM);
+                Writer out = outputStream != null ? new 
OutputStreamWriter(outputStream): new StringWriter();
+                Writer err = errorStream != null ? new 
OutputStreamWriter(errorStream): new StringWriter();
+                return tool.executePs(commands, out, err);
             }
         });
     }

Reply via email to