public static <T> Predicate<Entity> configEqualTo(final HasConfigKey<T> configKey, final T val) { return configEqualTo(configKey.getConfigKey(), val); }
@Test public void testConfigEqualTo() throws Exception { entity.config().set(TestEntity.CONF_NAME, "myname"); assertTrue(EntityPredicates.configEqualTo(TestEntity.CONF_NAME, "myname").apply(entity)); assertTrue(EntityPredicates.configEqualTo(TestEntity.CONF_NAME.getName(), "myname").apply(entity)); assertFalse(EntityPredicates.configEqualTo(TestEntity.CONF_NAME, "wrongname").apply(entity)); assertFalse(EntityPredicates.configEqualTo(TestEntity.CONF_NAME.getName(), "wrongname").apply(entity)); }
@Override public Entity call() { EntityInternal entity = entity(); Collection<Entity> entitiesToSearch = entity.getManagementContext().getEntityManager().getEntities(); Optional<Entity> result = Iterables.tryFind(entitiesToSearch, EntityPredicates.configEqualTo(TAG, tag)); if (result.isPresent()) { return result.get(); } else { throw new NoSuchElementException("No entity matching id " + tag+" in "+entitiesToSearch); } }}) .build();
private Entity find(String desiredComponentId) { return Iterables.tryFind(mgmt().getEntityManager().getEntities(), EntityPredicates.configEqualTo(BrooklynCampConstants.PLAN_ID, desiredComponentId)).orNull(); }
Iterable<Entity> netcatI = Iterables.filter(app.getChildren(), EntityPredicates.configEqualTo(BrooklynCampConstants.PLAN_ID, "netcat-server")); Assert.assertTrue(netcatI.iterator().hasNext(), "no 'netcat-server' child of app: "+app.getChildren()); Entity netcat = Iterables.getOnlyElement(netcatI);
@Test public void shouldAssertGroupSizeEqualsEventually() throws Exception { stooges = app.createAndManageChild(EntitySpec.create(DynamicGroup.class)); final EntitySpec<TestEntity> stooge = EntitySpec.create(TestEntity.class).configure(TestEntity.CONF_NAME, STOOGE); app.createAndManageChild(stooge); app.createAndManageChild(stooge); app.createAndManageChild(stooge); Task<?> assertValue1 = entity.getExecutionContext().submit(new Runnable() { @Override public void run() { EntityAsserts.assertGroupSizeEqualsEventually(ImmutableMap.of("timeout", "2s"), stooges, 3); } }); stooges.setEntityFilter(EntityPredicates.configEqualTo(TestEntity.CONF_NAME, STOOGE)); assertValue1.get(); Task<?> assertValue2 = entity.getExecutionContext().submit(new Runnable() { @Override public void run() { EntityAsserts.assertGroupSizeEqualsEventually(stooges, 0); } }); stooges.setEntityFilter(EntityPredicates.configEqualTo(TestEntity.CONF_NAME, "Marx Brother")); assertValue2.get(); }