Repository: brooklyn-server
Updated Branches:
  refs/heads/master 4236ff272 -> 30ce7faea


SSH Sensor value-on-error

Adds `value.on.error` config key to SshCommandSensor to allow a value
to be specified for use when an exception occurs when executing the
ssh command


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

Branch: refs/heads/master
Commit: 5a353b6ed41f45e43cb9bdf0ac590dc8c1613124
Parents: 4236ff2
Author: Martin Harris <git...@nakomis.com>
Authored: Mon Apr 16 12:34:11 2018 +0100
Committer: Martin Harris <git...@nakomis.com>
Committed: Mon Apr 16 13:10:55 2018 +0100

----------------------------------------------------------------------
 .../org/apache/brooklyn/core/sensor/ssh/SshCommandSensor.java    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/5a353b6e/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 84b7322..6224ed3 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
@@ -70,6 +70,8 @@ public final class SshCommandSensor<T> extends 
AbstractAddSensorFeed<T> {
     public static final ConfigKey<String> SENSOR_EXECUTION_DIR = 
ConfigKeys.newStringConfigKey("executionDir", "Directory where the command 
should run; "
         + "if not supplied, executes in the entity's run dir (or home dir if 
no run dir is defined); "
         + "use '~' to always execute in the home dir, or 'custom-feed/' to 
execute in a custom-feed dir relative to the run dir");
+    public static final ConfigKey<Object> VALUE_ON_ERROR = 
ConfigKeys.newConfigKey(Object.class, "value.on.error",
+            "Value to be used if an error occurs whilst executing the ssh 
command", null);
     public static final MapConfigKey<Object> SENSOR_SHELL_ENVIRONMENT = 
BrooklynConfigKeys.SHELL_ENVIRONMENT;
 
     protected final String command;
@@ -136,7 +138,7 @@ public final class SshCommandSensor<T> extends 
AbstractAddSensorFeed<T> {
                 .command(commandSupplier)
                 .suppressDuplicates(Boolean.TRUE.equals(suppressDuplicates))
                 .checkSuccess(SshValueFunctions.exitStatusEquals(0))
-                .onFailureOrException(Functions.constant((T) null))
+                
.onFailureOrException(Functions.constant((T)params.get(VALUE_ON_ERROR)))
                 .onSuccess(Functions.compose(new Function<String, T>() {
                         @Override
                         public T apply(String input) {

Reply via email to