AbstractBrooklynRestResource.RestValueResolver uses timeout

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

Branch: refs/heads/master
Commit: 5423137e3f9f925acf54dfc98d39d3fd68d1fd6e
Parents: 781e2cf
Author: Sam Corbett <[email protected]>
Authored: Thu Oct 8 11:58:52 2015 +0100
Committer: Sam Corbett <[email protected]>
Committed: Thu Oct 8 17:54:43 2015 +0100

----------------------------------------------------------------------
 .../rest/resources/AbstractBrooklynRestResource.java    | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/5423137e/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
----------------------------------------------------------------------
diff --git 
a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
 
b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
index 9c24707..a07e684 100644
--- 
a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
+++ 
b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java
@@ -126,7 +126,7 @@ public abstract class AbstractBrooklynRestResource 
implements ManagementContextI
         public RestValueResolver renderAs(Object rendererHintSource) { 
this.rendererHintSource = rendererHintSource; return this; }
 
         public Object resolve() {
-            Object valueResult = getImmediateValue(valueToResolve, entity);
+            Object valueResult = getImmediateValue(valueToResolve, entity, 
timeout);
             if (valueResult==UNRESOLVED) valueResult = valueToResolve;
             if (rendererHintSource!=null && Boolean.FALSE.equals(raw)) {
                 valueResult = 
RendererHints.applyDisplayValueHintUnchecked(rendererHintSource, valueResult);
@@ -136,8 +136,14 @@ public abstract class AbstractBrooklynRestResource 
implements ManagementContextI
         
         private static Object UNRESOLVED = "UNRESOLVED".toCharArray();
         
-        private static Object getImmediateValue(Object value, @Nullable Entity 
context) {
-            return 
Tasks.resolving(value).as(Object.class).defaultValue(UNRESOLVED).timeout(Duration.ZERO).context(context).swallowExceptions().get();
+        private static Object getImmediateValue(Object value, @Nullable Entity 
context, @Nullable Duration timeout) {
+            return Tasks.resolving(value)
+                    .as(Object.class)
+                    .defaultValue(UNRESOLVED)
+                    .timeout(timeout)
+                    .context(context)
+                    .swallowExceptions()
+                    .get();
         }
 
     }

Reply via email to