private Object readResolve() { if (type != null && configKey == null) { return new BasicSpecParameter<T>(label, pinned, type, sensor); } else { return this; } }
@Test(dataProvider = "brooklynTypes") public void testParameters(Class<? extends BrooklynObject> testClass) { addCatalogItems( "brooklyn.catalog:", " id: " + SYMBOLIC_NAME, " version: " + TEST_VERSION, " itemType: " + inferItemType(testClass), " item:", " type: " + testClass.getName(), " brooklyn.parameters:", " - simple"); ConfigKey<String> SIMPLE_CONFIG = ConfigKeys.newStringConfigKey("simple"); SpecParameter<String> SIMPLE_PARAM = new BasicSpecParameter<>("simple", true, SIMPLE_CONFIG); AbstractBrooklynObjectSpec<?,?> spec = peekSpec(); assertTrue(Iterables.tryFind(spec.getParameters(), Predicates.<SpecParameter<?>>equalTo(SIMPLE_PARAM)).isPresent()); }
/** used if yaml specifies a parameter, but possibly incomplete, and a spec supertype has a parameter */ @SuppressWarnings("unchecked") SpecParameter<?> resolveWithAncestor(SpecParameter<?> ancestor) { if (ancestor==null) return new BasicSpecParameter<>(getLabel(), isPinned(), getConfigKey(), getSensor()); return new BasicSpecParameter( hasLabelSet ? getLabel() : ancestor.getLabel(), hasPinnedSet ? isPinned() : ancestor.isPinned(), resolveWithAncestorConfigKey(ancestor.getConfigKey()), hasType ? getSensor() : ancestor.getSensor()); }
public static WeightedParameter getFieldConfig(ConfigKey<?> config, Field configKeyField) { if (configKeyField == null) return null; CatalogConfig catalogConfig = configKeyField.getAnnotation(CatalogConfig.class); String label = config.getName(); Double priority = null; Boolean pinned = Boolean.FALSE; if (catalogConfig != null) { label = Maybe.fromNullable(catalogConfig.label()).or(config.getName()); priority = catalogConfig.priority(); pinned = catalogConfig.pinned(); } @SuppressWarnings({ "unchecked", "rawtypes" }) SpecParameter<?> param = new BasicSpecParameter(label, pinned, config); return new WeightedParameter(priority, param); }
@Test public void testOsgiClassScanned() { TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiTestResources.BROOKLYN_TEST_OSGI_ENTITIES_PATH); TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiTestResources.BROOKLYN_TEST_MORE_ENTITIES_V2_PATH); addCatalogItems(CatalogScanOsgiTest.bomForLegacySiblingLibraries()); RegisteredType item = mgmt().getTypeRegistry().get(OsgiTestResources.BROOKLYN_TEST_MORE_ENTITIES_MORE_ENTITY); AbstractBrooklynObjectSpec<?,?> spec = createSpec(item); List<SpecParameter<?>> inputs = spec.getParameters(); if (inputs.isEmpty()) Assert.fail("no inputs (if you're in the IDE, mvn clean install may need to be run to rebuild osgi test JARs)"); Set<SpecParameter<?>> actual = ImmutableSet.copyOf(inputs); Set<SpecParameter<?>> expected = ImmutableSet.<SpecParameter<?>>of( new BasicSpecParameter<>("more_config", false, ConfigKeys.newStringConfigKey("more_config")), new BasicSpecParameter<>(AbstractEntity.DEFAULT_DISPLAY_NAME.getName(), false, AbstractEntity.DEFAULT_DISPLAY_NAME)); assertEquals(actual, expected); }
@BeforeMethod(alwaysRun=true) @Override public void setUp() throws Exception{ super.setUp(); entity = (EntityInternal) app.createAndManageChild(EntitySpec.create(ConfigEntityForTesting.class) .parameters(ImmutableList.of(new BasicSpecParameter<>("spec config", true, SPEC_CONFIG)))); listener = new RecordingSensorEventListener<>(); app.subscriptions().subscribe(entity, AbstractEntity.CONFIG_KEY_ADDED, listener); app.subscriptions().subscribe(entity, AbstractEntity.CONFIG_KEY_REMOVED, listener); }
@Test public void testConfigUsesParameterDefaultValue() throws Exception { final ConfigKey<String> configKey = ConfigKeys.newStringConfigKey("testConfig"); ConfigKey<String> configParam = ConfigKeys.newStringConfigKey("testParam", "myDescription", "myDefaultConfigValue"); BrooklynDslDeferredSupplier<?> dsl = BrooklynDslCommon.config(configKey.getName()); Supplier<ConfigValuePair> valueSupplier = new Supplier<ConfigValuePair>() { @Override public ConfigValuePair get() { return new ConfigValuePair(BrooklynDslCommon.config("testParam"), "myDefaultConfigValue"); } }; new ConfigTestWorker(app, configKey, valueSupplier, dsl) .childSpec(EntitySpec.create(TestEntity.class).parameters(ImmutableList.of(new BasicSpecParameter<String>("myLabel", true, configParam)))) .run(); }
for (int i = 0; i < 100; i++) { ConfigKey<String> key = ConfigKeys.newStringConfigKey("myparam"+i); params.add(new BasicSpecParameter<String>("mylabel"+i, false, key)); config.put(key, "val"+i);
for (int i = 0; i < 100; i++) { ConfigKey<String> key = ConfigKeys.newStringConfigKey("myparam"+i); params.add(new BasicSpecParameter<String>("mylabel"+i, false, key)); config.put(key, "val"+i);