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