You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/07/19 16:26:07 UTC
[37/39] brooklyn-server git commit: fix broken tests by reverting the
increased flexibility to the java catalog spec transformer
fix broken tests by reverting the increased flexibility to the java catalog spec transformer
andre-enable camp items in rebind-osgi tests a different way
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/c7034e60
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/c7034e60
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/c7034e60
Branch: refs/heads/master
Commit: c7034e60367b95945351558b4267c085e5b52909
Parents: c2d9bff
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Jul 18 13:42:32 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Jul 18 13:42:32 2017 +0100
----------------------------------------------------------------------
.../brooklyn/catalog/CatalogYamlRebindTest.java | 24 ++++++++----------
.../internal/JavaCatalogToSpecTransformer.java | 26 --------------------
.../core/typereg/TypePlanTransformers.java | 1 +
.../apache/brooklyn/util/core/task/Tasks.java | 8 +++++-
4 files changed, 18 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c7034e60/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
index 0aa01be..66e5663 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
@@ -87,28 +87,24 @@ public class CatalogYamlRebindTest extends AbstractYamlRebindTest {
enum OsgiMode {
NONE,
- // we don't test OSGi with this because CAMP isn't available
- // (and the library bundles assume CAMP in their catalog.bom)
- // OSGi rebind isn't the focus of the tests which use this parameter
- // so it's okay, though a bit ugly
-// NORMAL,
+ NORMAL
}
boolean useOsgi = false;
- private Boolean defaultEnablementOfFeatureAutoFixatalogRefOnRebind;
+ private Boolean defaultEnablementOfFeatureAutoFixCatalogRefOnRebind;
@BeforeMethod(alwaysRun=true)
@Override
public void setUp() throws Exception {
- defaultEnablementOfFeatureAutoFixatalogRefOnRebind = BrooklynFeatureEnablement.isEnabled(BrooklynFeatureEnablement.FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND);
+ defaultEnablementOfFeatureAutoFixCatalogRefOnRebind = BrooklynFeatureEnablement.isEnabled(BrooklynFeatureEnablement.FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND);
super.setUp();
}
@AfterMethod(alwaysRun=true)
@Override
public void tearDown() throws Exception {
- if (defaultEnablementOfFeatureAutoFixatalogRefOnRebind != null) {
- BrooklynFeatureEnablement.setEnablement(BrooklynFeatureEnablement.FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND, defaultEnablementOfFeatureAutoFixatalogRefOnRebind);
+ if (defaultEnablementOfFeatureAutoFixCatalogRefOnRebind != null) {
+ BrooklynFeatureEnablement.setEnablement(BrooklynFeatureEnablement.FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND, defaultEnablementOfFeatureAutoFixCatalogRefOnRebind);
}
super.tearDown();
}
@@ -368,8 +364,10 @@ public class CatalogYamlRebindTest extends AbstractYamlRebindTest {
Entities.destroyAll(origManagementContext);
try {
useOsgi = true;
- origManagementContext = createOrigManagementContext();
- origApp = createApp();
+ tearDown();
+ setUp();
+ } catch (Exception e) {
+ throw Exceptions.propagate(e);
} finally {
useOsgi = false;
}
@@ -380,10 +378,8 @@ public class CatalogYamlRebindTest extends AbstractYamlRebindTest {
doTestLongReferenceSequence();
}
- @Test(groups="Broken")
+ @Test
public void testLongReferenceSequenceWithOsgi() throws Exception {
- // won't work in OSGi mode because we need CAMP to resolve type "a0"
- // (poor man's resolver only resolves Java classes)
recreateOrigManagementContextWithOsgi();
doTestLongReferenceSequence();
}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c7034e60/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
index 83dabc4..9d95542 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
@@ -18,7 +18,6 @@
*/
package org.apache.brooklyn.core.catalog.internal;
-import java.util.Map;
import java.util.Set;
import org.apache.brooklyn.api.catalog.CatalogItem;
@@ -38,13 +37,9 @@ import org.apache.brooklyn.core.objs.BasicSpecParameter;
import org.apache.brooklyn.core.plan.PlanToSpecTransformer;
import org.apache.brooklyn.core.typereg.UnsupportedTypePlanException;
import org.apache.brooklyn.util.exceptions.Exceptions;
-import org.apache.brooklyn.util.text.Strings;
-import org.apache.brooklyn.util.yaml.Yamls;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.Iterables;
-
/**
* Instantiates classes from a registered type which simply
* defines the java class name and OSGi bundles to use.
@@ -82,28 +77,7 @@ public class JavaCatalogToSpecTransformer implements PlanToSpecTransformer {
CatalogItem<T, SpecT> item, Set<String> encounteredTypes) throws UnsupportedTypePlanException {
@SuppressWarnings("deprecation")
String javaType = item.getJavaType();
- boolean poorMansCamp = false;
- if (javaType == null) {
- if (Strings.isNonBlank( item.getPlanYaml() )) {
- try {
- Map<?,?> parsed = (Map<?,?>) Iterables.getOnlyElement( Yamls.parseAll(item.getPlanYaml()) );
- if ("type".equals(Iterables.getOnlyElement(parsed.keySet()))) {
- javaType = (String) Iterables.getOnlyElement(parsed.values());
- poorMansCamp = true;
- }
- } catch (Exception e) {
- throw new UnsupportedTypePlanException(getClass().getName() + " parses only old-style catalog items containing only 'type: JavaClass' in YAML (or javaType in DTO)", e);
- }
- }
- }
if (javaType != null) {
- // TODO "JavaType" should never be used any more; but we do want to support a poor-man's camp
- // for tests that expect CAMP in core where CAMP module isn't available
- if (poorMansCamp) {
- // cannot warn here as -- however all CatalogToSpec transformers including this will be removed;
- // in favour of TypePlanTransformer instances
- log.trace("Deprecated functionality (since 0.9.0). Using old-style java type attribute for " + item);
- }
Class<?> type;
try {
// java types were deprecated before we added osgi support so this isn't necessary,
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c7034e60/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java b/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
index ba81e07..cc4845c 100644
--- a/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
+++ b/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
@@ -125,6 +125,7 @@ public class TypePlanTransformers {
(Strings.isNonBlank(e.getMessage()) ? " ("+e.getMessage()+")" : ""));
} catch (Throwable e) {
Exceptions.propagateIfFatal(e);
+ log.debug("Transformer for "+t.getFormatCode()+" gave an error creating this plan (retrying with others): "+e, e);
failuresFromTransformers.add(new PropagatedRuntimeException(
(type.getSymbolicName()!=null ? "Error in definition of "+type.getId() :
"Transformer for "+t.getFormatCode()+" gave an error creating this plan") + ": "+
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/c7034e60/core/src/main/java/org/apache/brooklyn/util/core/task/Tasks.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/task/Tasks.java b/core/src/main/java/org/apache/brooklyn/util/core/task/Tasks.java
index 09116af..ac07c35 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/task/Tasks.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/task/Tasks.java
@@ -33,13 +33,14 @@ import org.apache.brooklyn.api.mgmt.Task;
import org.apache.brooklyn.api.mgmt.TaskAdaptable;
import org.apache.brooklyn.api.mgmt.TaskFactory;
import org.apache.brooklyn.api.mgmt.TaskQueueingContext;
+import org.apache.brooklyn.config.ConfigKey;
+import org.apache.brooklyn.util.core.config.ConfigBag;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.exceptions.ReferenceWithError;
import org.apache.brooklyn.util.repeat.Repeater;
import org.apache.brooklyn.util.time.CountdownTimer;
import org.apache.brooklyn.util.time.Duration;
import org.apache.brooklyn.util.time.Time;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -133,6 +134,11 @@ public class Tasks {
public static ValueResolver.ResolverBuilderPretype resolving(Object v) {
return new ValueResolver.ResolverBuilderPretype(v);
}
+
+ @SuppressWarnings("unchecked")
+ public static <T> ValueResolver<T> resolving(ConfigBag config, ConfigKey<T> key) {
+ return new ValueResolver.ResolverBuilderPretype(config.getStringKey(key.getName())).as((Class<T>)key.getType());
+ }
/** @see #resolveValue(Object, Class, ExecutionContext, String) */
public static <T> T resolveValue(Object v, Class<T> type, @Nullable ExecutionContext exec) throws ExecutionException, InterruptedException {