/** returns tasks started by this context (or tasks which have all the tags on this object) */ @Override public Set<Task<?>> getTasks() { return executionManager.getTasksWithAllTags(tags); }
@Test public void testDelegatedNestedEffectorNotRepresentedAsTask() { e.delegateSayHi1("Bob", "hi"); Set<Task<?>> tasks = mgmt.getExecutionManager().getTasksWithAllTags(ImmutableList.of( BrooklynTaskTags.tagForContextEntity(e),ManagementContextInternal.EFFECTOR_TAG)); assertEquals(tasks.size(), 1); assertTrue(tasks.iterator().next().getDescription().contains("delegateSayHi1")); assertFalse(tasks.iterator().next().getDescription().contains("sayHi1")); }
@Test public void testCanRetrieveTaskForEffector() { e.sayHi1("Bob", "hi"); Set<Task<?>> tasks = mgmt.getExecutionManager().getTasksWithAllTags(ImmutableList.of( BrooklynTaskTags.tagForContextEntity(e),ManagementContextInternal.EFFECTOR_TAG)); assertEquals(tasks.size(), 1); assertTrue(tasks.iterator().next().getDescription().contains("sayHi1")); }
@Test public void testEffectorOnProxyIsRecorded() { Object result = entity.identityEffector("abc"); assertEquals(result, "abc"); Set<Task<?>> tasks = mgmt.getExecutionManager().getTasksWithAllTags( ImmutableList.of(ManagementContextInternal.EFFECTOR_TAG, BrooklynTaskTags.tagForContextEntity(entity))); Task<?> task = Iterables.get(tasks, 0); assertEquals(tasks.size(), 1, "tasks="+tasks); assertTrue(task.getDescription().contains("identityEffector")); }
@Override public void run() { Set<Task<?>> storedTasks2 = app.getManagementContext().getExecutionManager().getTasksWithAllTags( ImmutableList.of(BrooklynTaskTags.tagForContextEntity(entity), ManagementContextInternal.EFFECTOR_TAG)); List<String> storedTasks2Str = FluentIterable .from(storedTasks2) .transform(new Function<Task<?>, String>() { @Override public String apply(Task<?> input) { return taskToVerboseString(input); }}) .toList(); assertEquals(storedTasks2, ImmutableSet.copyOf(recentTasks), "storedTasks="+storedTasks2Str+"; expected="+recentTasks); }}); }
@Override public void run() { Set<Task<?>> storedTasks = app.getManagementContext().getExecutionManager().getTasksWithAllTags(ImmutableList.of( BrooklynTaskTags.tagForTargetEntity(entity), ManagementContextInternal.EFFECTOR_TAG)); assertEquals(storedTasks, ImmutableSet.of(), "storedTasks="+storedTasks); }});
@Override public void run() { Task<?> entityTask = Iterables.getOnlyElement(entity.getApplication().getManagementContext().getExecutionManager().getTasksWithAllTags( ImmutableList.of(BrooklynTaskTags.EFFECTOR_TAG, BrooklynTaskTags.tagForContextEntity(entity)))); String blockingDetails = getBlockingDetails(entityTask); assertTrue(blockingDetails.contains(blockingDetailsSnippet)); }}); }
@Override public void run() { final Set<Task<?>> tasksWithAllTags = mgmt.getExecutionManager().getTasksWithAllTags(ImmutableList.of(BrooklynTaskTags.EFFECTOR_TAG, BrooklynTaskTags.tagForContextEntity(entity))); Task<?> entityTask = null; for (Task<?> item : tasksWithAllTags) { final String itemName = getEffectorName(item); entityTask = itemName.equals(effectorName) ? item : entityTask; } if (entityTask == null) { Asserts.fail("Could not find task for effector " + effectorName); } String blockingDetails = getBlockingDetails(entityTask); assertTrue(blockingDetails.contains(blockingDetailsSnippet)); }}); }
@Test public void testCanExcludeNonEffectorTasks() throws Exception { ExecutionContext executionContext = mgmt.getExecutionContext(e); executionContext.submit(new BasicTask<Void>(new Runnable() { @Override public void run() {} })); Set<Task<?>> effectTasks = mgmt.getExecutionManager().getTasksWithAllTags(ImmutableList.of( BrooklynTaskTags.tagForContextEntity(e),ManagementContextInternal.EFFECTOR_TAG)); assertEquals(effectTasks.size(), 0); }
@Test public void resizeLoggedAsEffectorCall() throws Exception { DynamicCluster cluster = app.createAndManageChild(EntitySpec.create(DynamicCluster.class) .configure("memberSpec", EntitySpec.create(TestEntity.class))); app.start(ImmutableList.of(loc)); cluster.resize(1); Set<Task<?>> tasks = app.getManagementContext().getExecutionManager().getTasksWithAllTags(ImmutableList.of( BrooklynTaskTags.tagForContextEntity(cluster),"EFFECTOR")); assertEquals(tasks.size(), 2); assertTrue(Iterables.get(tasks, 0).getDescription().contains("start")); assertTrue(Iterables.get(tasks, 1).getDescription().contains("resize")); }
protected Entity createAndStartApplication(Reader input) throws Exception { AssemblyTemplate at = platform.pdp().registerDeploymentPlan(input); Assembly assembly; try { assembly = at.getInstantiator().newInstance().instantiate(at, platform); } catch (Exception e) { LOG.warn("Unable to instantiate " + at + " (rethrowing): " + e); throw e; } LOG.info("Test - created " + assembly); final Entity app = mgmt().getEntityManager().getEntity(assembly.getId()); LOG.info("App - " + app); // wait for app to have started Set<Task<?>> tasks = mgmt().getExecutionManager().getTasksWithAllTags(ImmutableList.of( BrooklynTaskTags.EFFECTOR_TAG, BrooklynTaskTags.tagForContextEntity(app), BrooklynTaskTags.tagForEffectorCall(app, "start", ConfigBag.newInstance(ImmutableMap.of("locations", ImmutableMap.of()))))); Iterables.getOnlyElement(tasks).get(); return app; }
Set<Task<?>> storedTasks = app.getManagementContext().getExecutionManager().getTasksWithAllTags( ImmutableList.of(BrooklynTaskTags.tagForContextEntity(entity), ManagementContextInternal.EFFECTOR_TAG)); assertEquals(storedTasks, ImmutableSet.copyOf(tasks), "storedTasks="+storedTasks+"; expected="+tasks);