You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by sj...@apache.org on 2017/05/24 14:44:56 UTC
[2/4] brooklyn-server git commit: DslYamlTest.getConfigEventually: don’t use entity’s task
DslYamlTest.getConfigEventually: don’t use entity’s task
As per previous TODO about PR #480, we don’t need to retrieve the config
in the context of the given entity.
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/3200ee8c
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/3200ee8c
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/3200ee8c
Branch: refs/heads/master
Commit: 3200ee8c74b45c30a087ff57b6509798e69a01d3
Parents: a4b1377
Author: Aled Sage <al...@gmail.com>
Authored: Wed May 24 12:45:46 2017 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Wed May 24 12:45:46 2017 +0100
----------------------------------------------------------------------
.../camp/brooklyn/spi/dsl/DslYamlTest.java | 31 ++++++++++++--------
1 file changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3200ee8c/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/DslYamlTest.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/DslYamlTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/DslYamlTest.java
index c8463e6..f7ec4c8 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/DslYamlTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/DslYamlTest.java
@@ -19,10 +19,13 @@ import static org.testng.Assert.assertEquals;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
import org.apache.brooklyn.api.entity.Entity;
import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.api.mgmt.Task;
import org.apache.brooklyn.api.sensor.AttributeSensor;
import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest;
import org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslTestObjects.DslTestCallable;
@@ -758,17 +761,19 @@ public class DslYamlTest extends AbstractYamlTest {
}
private static <T> T getConfigEventually(final Entity entity, final ConfigKey<T> configKey) throws Exception {
- Task<T> result = ((EntityInternal)entity).getExecutionContext().submit(new Callable<T>() {
- @Override
- public T call() throws Exception {
- // TODO Move the getNonBlocking call out of the task after #480 is merged.
- // Currently doesn't work because no execution context available.
- T blockingValue = entity.config().get(configKey);
- Maybe<T> immediateValue = ((EntityInternal)entity).config().getNonBlocking(configKey);
- assertEquals(immediateValue.get(), blockingValue);
- return blockingValue;
- }
- });
- return result.get(Asserts.DEFAULT_LONG_TIMEOUT);
+ // Use an executor, in case config().get() blocks forever, waiting for the config value.
+ ExecutorService executor = Executors.newSingleThreadExecutor();
+ try {
+ Future<T> future = executor.submit(new Callable<T>() {
+ public T call() {
+ T blockingValue = entity.config().get(configKey);
+ Maybe<T> immediateValue = ((EntityInternal)entity).config().getNonBlocking(configKey);
+ assertEquals(immediateValue.get(), blockingValue);
+ return blockingValue;
+ }});
+ return future.get(Asserts.DEFAULT_LONG_TIMEOUT.toMilliseconds(), TimeUnit.MILLISECONDS);
+ } finally {
+ executor.shutdownNow();
+ }
}
}