Repository: brooklyn-server
Updated Branches:
  refs/heads/master 9f7a7787a -> 2276de020


Call Strings.trimEnd() on SSH sensor command output


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/33b0b1c8
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/33b0b1c8
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/33b0b1c8

Branch: refs/heads/master
Commit: 33b0b1c879a9ed07bcdc3138893cd8017e211cfa
Parents: 917e101
Author: Andrew Donald Kennedy <andrew.kenn...@cloudsoftcorp.com>
Authored: Fri Feb 26 18:44:58 2016 +0000
Committer: Andrew Donald Kennedy <andrew.kenn...@cloudsoftcorp.com>
Committed: Mon May 16 15:46:15 2016 +0100

----------------------------------------------------------------------
 .../core/sensor/ssh/SshCommandSensor.java       | 21 +++++++++--------
 .../org/apache/brooklyn/feed/ssh/SshFeed.java   | 24 ++++++++------------
 2 files changed, 20 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/33b0b1c8/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java 
b/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
index 0218a99..839448e 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java
@@ -20,6 +20,15 @@ package org.apache.brooklyn.core.sensor.ssh;
 
 import java.util.Map;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.annotations.Beta;
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Supplier;
+
 import org.apache.brooklyn.api.entity.EntityInitializer;
 import org.apache.brooklyn.api.entity.EntityLocal;
 import org.apache.brooklyn.config.ConfigKey;
@@ -35,14 +44,6 @@ import org.apache.brooklyn.util.core.config.ConfigBag;
 import org.apache.brooklyn.util.core.flags.TypeCoercions;
 import org.apache.brooklyn.util.os.Os;
 import org.apache.brooklyn.util.text.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.annotations.Beta;
-import com.google.common.base.Function;
-import com.google.common.base.Functions;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Supplier;
 
 /** 
  * Configurable {@link EntityInitializer} which adds an SSH sensor feed 
running the <code>command</code> supplied
@@ -69,7 +70,7 @@ public final class SshCommandSensor<T> extends AddSensor<T> {
 
         // TODO create a supplier for the command string to support attribute 
embedding
         command = Preconditions.checkNotNull(params.get(SENSOR_COMMAND), 
"command");
-        
+
         executionDir = params.get(SENSOR_EXECUTION_DIR);
     }
 
@@ -104,7 +105,7 @@ public final class SshCommandSensor<T> extends AddSensor<T> 
{
                 .onSuccess(Functions.compose(new Function<String, T>() {
                         @Override
                         public T apply(String input) {
-                            return TypeCoercions.coerce(input, getType(type));
+                            return 
TypeCoercions.coerce(Strings.trimEnd(input), getType(type));
                         }}, SshValueFunctions.stdout()));
 
         SshFeed.builder()

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/33b0b1c8/core/src/main/java/org/apache/brooklyn/feed/ssh/SshFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/ssh/SshFeed.java 
b/core/src/main/java/org/apache/brooklyn/feed/ssh/SshFeed.java
index 6a13528..f887e96 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/ssh/SshFeed.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/ssh/SshFeed.java
@@ -198,23 +198,17 @@ public class SshFeed extends AbstractFeed {
                     Objects.equal(env, o.env);
         }
     }
-    
-    /** @deprecated since 0.7.0, use static convenience on {@link Locations} */
-    @Deprecated
-    public static SshMachineLocation getMachineOfEntity(Entity entity) {
-        return Machines.findUniqueMachineLocation(entity.getLocations(), 
SshMachineLocation.class).orNull();
-    }
 
     /**
      * For rebind; do not call directly; use builder
      */
     public SshFeed() {
     }
-    
+
     protected SshFeed(final Builder builder) {
-        setConfig(ONLY_IF_SERVICE_UP, builder.onlyIfServiceUp);
-        setConfig(MACHINE, builder.machine != null ? builder.machine : null);
-        setConfig(EXEC_AS_COMMAND, builder.execAsCommand);
+        config().set(ONLY_IF_SERVICE_UP, builder.onlyIfServiceUp);
+        config().set(MACHINE, builder.machine);
+        config().set(EXEC_AS_COMMAND, builder.execAsCommand);
         
         SetMultimap<SshPollIdentifier, SshPollConfig<?>> polls = 
HashMultimap.<SshPollIdentifier,SshPollConfig<?>>create();
         for (SshPollConfig<?> config : builder.polls) {
@@ -223,12 +217,12 @@ public class SshFeed extends AbstractFeed {
             if (configCopy.getPeriod() < 0) configCopy.period(builder.period);
             polls.put(new SshPollIdentifier(config.getCommandSupplier(), 
config.getEnvSupplier()), configCopy);
         }
-        setConfig(POLLS, polls);
+        config().set(POLLS, polls);
         initUniqueTag(builder.uniqueTag, polls.values());
     }
 
     protected SshMachineLocation getMachine() {
-        Supplier<SshMachineLocation> supplier = getConfig(MACHINE);
+        Supplier<SshMachineLocation> supplier = config().get(MACHINE);
         if (supplier != null) {
             return supplier.get();
         } else {
@@ -238,7 +232,7 @@ public class SshFeed extends AbstractFeed {
     
     @Override
     protected void preStart() {
-        SetMultimap<SshPollIdentifier, SshPollConfig<?>> polls = 
getConfig(POLLS);
+        SetMultimap<SshPollIdentifier, SshPollConfig<?>> polls = 
config().get(POLLS);
         
         for (final SshPollIdentifier pollInfo : polls.keySet()) {
             Set<SshPollConfig<?>> configs = polls.get(pollInfo);
@@ -267,13 +261,13 @@ public class SshFeed extends AbstractFeed {
     
     private SshPollValue exec(String command, Map<String,String> env) throws 
IOException {
         SshMachineLocation machine = getMachine();
-        Boolean execAsCommand = getConfig(EXEC_AS_COMMAND);
+        Boolean execAsCommand = config().get(EXEC_AS_COMMAND);
         if (log.isTraceEnabled()) log.trace("Ssh polling for {}, executing {} 
with env {}", new Object[] {machine, command, env});
         ByteArrayOutputStream stdout = new ByteArrayOutputStream();
         ByteArrayOutputStream stderr = new ByteArrayOutputStream();
 
         int exitStatus;
-        ConfigBag flags = ConfigBag.newInstance()
+        ConfigBag flags = ConfigBag.newInstanceExtending(config().getBag())
             .configure(SshTool.PROP_NO_EXTRA_OUTPUT, true)
             .configure(SshTool.PROP_OUT_STREAM, stdout)
             .configure(SshTool.PROP_ERR_STREAM, stderr);

Reply via email to