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 2016/04/21 17:16:20 UTC
[1/2] brooklyn-server git commit: Fix loading yaml CAMP specs from
bundles classpath
Repository: brooklyn-server
Updated Branches:
refs/heads/master df406eb7b -> 8cf7bbcc7
Fix loading yaml CAMP specs from bundles classpath
Also fix the build path of helper test bundles, so they end up in the correct folder.
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/84ad923e
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/84ad923e
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/84ad923e
Branch: refs/heads/master
Commit: 84ad923eb8125e62cc53fd7519a486c0a7916d68
Parents: df406eb
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Thu Apr 21 14:31:53 2016 +0100
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Thu Apr 21 15:04:07 2016 +0100
----------------------------------------------------------------------
.../BrooklynComponentTemplateResolver.java | 12 +++++++---
.../service/UrlServiceSpecResolver.java | 4 +++-
.../camp/brooklyn/ReferencedYamlTest.java | 22 +++++++++++++++++++
utils/common/dependencies/osgi/entities/pom.xml | 2 +-
.../main/resources/yaml-ref-osgi-entity.yaml | 21 ++++++++++++++++++
.../dependencies/osgi/more-entities-v1/pom.xml | 2 +-
.../osgi/more-entities-v2-evil-twin/pom.xml | 2 +-
.../dependencies/osgi/more-entities-v2/pom.xml | 2 +-
.../osgi/brooklyn-test-osgi-entities.jar | Bin 14649 -> 0 bytes
.../osgi/brooklyn-test-osgi-entities.jar | Bin 14454 -> 15301 bytes
10 files changed, 59 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
index d19177b..e2eb9b6 100644
--- a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
+++ b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java
@@ -162,9 +162,15 @@ public class BrooklynComponentTemplateResolver {
". Other catalog items being resolved up the stack are " + encounteredRegisteredTypeSymbolicNames +
". Tried loading it as a Java class instead but failed.";
} else if (proto != null) {
- msgDetails = "The reference " + type + " looks like a URL (running the CAMP Brooklyn assembly-template instantiator) but the protocol " +
- proto + " isn't white listed (" + BrooklynCampConstants.YAML_URL_PROTOCOL_WHITELIST + "). " +
- "It's also neither a catalog item nor a java type.";
+ if (BrooklynCampConstants.YAML_URL_PROTOCOL_WHITELIST.contains(proto)) {
+ // TODO propagate exception so we can provide better error messages
+ msgDetails = "The reference " + type + " looks like a URL (running the CAMP Brooklyn assembly-template instantiator) but couldn't load it (missing or invalid syntax?). " +
+ "It's also neither a catalog item nor a java type.";
+ } else {
+ msgDetails = "The reference " + type + " looks like a URL (running the CAMP Brooklyn assembly-template instantiator) but the protocol " +
+ proto + " isn't white listed (" + BrooklynCampConstants.YAML_URL_PROTOCOL_WHITELIST + "). " +
+ "It's also neither a catalog item nor a java type.";
+ }
} else {
msgDetails = "No resolver knew how to handle it. Using resolvers: " + serviceSpecResolver;
}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java
index 62f079f..b8fe3a2 100644
--- a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java
+++ b/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java
@@ -31,6 +31,7 @@ import org.apache.brooklyn.core.typereg.RegisteredTypeLoadingContexts;
import org.apache.brooklyn.core.typereg.RegisteredTypes;
import org.apache.brooklyn.util.collections.MutableSet;
import org.apache.brooklyn.util.core.ResourceUtils;
+import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.net.Urls;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,8 +56,9 @@ public class UrlServiceSpecResolver implements EntitySpecResolver {
public EntitySpec<?> resolve(String type, BrooklynClassLoadingContext loader, Set<String> encounteredTypes) {
String yaml;
try {
- yaml = ResourceUtils.create(this).getResourceAsString(type);
+ yaml = ResourceUtils.create(loader).getResourceAsString(type);
} catch (Exception e) {
+ Exceptions.propagateIfFatal(e);
log.warn("AssemblyTemplate type " + type + " looks like a URL that can't be fetched.", e);
return null;
}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ReferencedYamlTest.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ReferencedYamlTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ReferencedYamlTest.java
index d05da3e..7979f7c 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ReferencedYamlTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ReferencedYamlTest.java
@@ -115,6 +115,28 @@ public class ReferencedYamlTest extends AbstractYamlTest {
}
@Test
+ public void testCatalogReferencingYamlUrlFromOsgiBundle() throws Exception {
+ TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
+
+ addCatalogItems(
+ "brooklyn.catalog:",
+ " id: yaml.reference",
+ " version: " + TEST_VERSION,
+ " libraries:",
+ " - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL,
+ "services:",
+ "- type: classpath://yaml-ref-osgi-entity.yaml");
+
+ String entityName = "YAML -> catalog item -> yaml url (osgi)";
+ Entity app = createAndStartApplication(
+ "services:",
+ "- name: " + entityName,
+ " type: " + ver("yaml.reference"));
+
+ checkChildEntitySpec(app, entityName);
+ }
+
+ @Test
public void testYamlUrlReferencingCatalog() throws Exception {
addCatalogItems(
"brooklyn.catalog:",
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/dependencies/osgi/entities/pom.xml
----------------------------------------------------------------------
diff --git a/utils/common/dependencies/osgi/entities/pom.xml b/utils/common/dependencies/osgi/entities/pom.xml
index 4792666..13cce9e 100644
--- a/utils/common/dependencies/osgi/entities/pom.xml
+++ b/utils/common/dependencies/osgi/entities/pom.xml
@@ -63,7 +63,7 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
- <outputDirectory>../../../resources/brooklyn/osgi</outputDirectory>
+ <outputDirectory>../../../src/test/resources/brooklyn/osgi</outputDirectory>
<finalName>brooklyn-test-osgi-entities</finalName>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/dependencies/osgi/entities/src/main/resources/yaml-ref-osgi-entity.yaml
----------------------------------------------------------------------
diff --git a/utils/common/dependencies/osgi/entities/src/main/resources/yaml-ref-osgi-entity.yaml b/utils/common/dependencies/osgi/entities/src/main/resources/yaml-ref-osgi-entity.yaml
new file mode 100644
index 0000000..c9b1c55
--- /dev/null
+++ b/utils/common/dependencies/osgi/entities/src/main/resources/yaml-ref-osgi-entity.yaml
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+name: Basic entity
+services:
+- name: service
+ type: org.apache.brooklyn.entity.stock.BasicEntity
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/dependencies/osgi/more-entities-v1/pom.xml
----------------------------------------------------------------------
diff --git a/utils/common/dependencies/osgi/more-entities-v1/pom.xml b/utils/common/dependencies/osgi/more-entities-v1/pom.xml
index 262baa0..e97b3d4 100644
--- a/utils/common/dependencies/osgi/more-entities-v1/pom.xml
+++ b/utils/common/dependencies/osgi/more-entities-v1/pom.xml
@@ -63,7 +63,7 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
- <outputDirectory>../../../resources/brooklyn/osgi</outputDirectory>
+ <outputDirectory>../../../src/test/resources/brooklyn/osgi</outputDirectory>
<finalName>brooklyn-test-osgi-more-entities_${project.version}</finalName>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
----------------------------------------------------------------------
diff --git a/utils/common/dependencies/osgi/more-entities-v2-evil-twin/pom.xml b/utils/common/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
index dce8733..7c1b625 100644
--- a/utils/common/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
+++ b/utils/common/dependencies/osgi/more-entities-v2-evil-twin/pom.xml
@@ -68,7 +68,7 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
- <outputDirectory>../../../resources/brooklyn/osgi</outputDirectory>
+ <outputDirectory>../../../src/test/resources/brooklyn/osgi</outputDirectory>
<finalName>brooklyn-test-osgi-more-entities_evil-twin_${project.version}</finalName>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/dependencies/osgi/more-entities-v2/pom.xml
----------------------------------------------------------------------
diff --git a/utils/common/dependencies/osgi/more-entities-v2/pom.xml b/utils/common/dependencies/osgi/more-entities-v2/pom.xml
index 405229e..e363a2c 100644
--- a/utils/common/dependencies/osgi/more-entities-v2/pom.xml
+++ b/utils/common/dependencies/osgi/more-entities-v2/pom.xml
@@ -68,7 +68,7 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
- <outputDirectory>../../../resources/brooklyn/osgi</outputDirectory>
+ <outputDirectory>../../../src/test/resources/brooklyn/osgi</outputDirectory>
<finalName>brooklyn-test-osgi-more-entities_${project.version}</finalName>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar
----------------------------------------------------------------------
diff --git a/utils/common/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar b/utils/common/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar
deleted file mode 100644
index 20c84ed..0000000
Binary files a/utils/common/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar and /dev/null differ
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/84ad923e/utils/common/src/test/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar
----------------------------------------------------------------------
diff --git a/utils/common/src/test/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar b/utils/common/src/test/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar
index c76d03b..5470401 100644
Binary files a/utils/common/src/test/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar and b/utils/common/src/test/resources/brooklyn/osgi/brooklyn-test-osgi-entities.jar differ
[2/2] brooklyn-server git commit: This closes #121
Posted by sj...@apache.org.
This closes #121
Fix loading yaml CAMP specs from bundles classpath
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/8cf7bbcc
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/8cf7bbcc
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/8cf7bbcc
Branch: refs/heads/master
Commit: 8cf7bbcc7643a8b258b9c36e308bc56d2d24cdf0
Parents: df406eb 84ad923
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Thu Apr 21 16:14:35 2016 +0100
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Thu Apr 21 16:14:35 2016 +0100
----------------------------------------------------------------------
.../BrooklynComponentTemplateResolver.java | 12 +++++++---
.../service/UrlServiceSpecResolver.java | 4 +++-
.../camp/brooklyn/ReferencedYamlTest.java | 22 +++++++++++++++++++
utils/common/dependencies/osgi/entities/pom.xml | 2 +-
.../main/resources/yaml-ref-osgi-entity.yaml | 21 ++++++++++++++++++
.../dependencies/osgi/more-entities-v1/pom.xml | 2 +-
.../osgi/more-entities-v2-evil-twin/pom.xml | 2 +-
.../dependencies/osgi/more-entities-v2/pom.xml | 2 +-
.../osgi/brooklyn-test-osgi-entities.jar | Bin 14649 -> 0 bytes
.../osgi/brooklyn-test-osgi-entities.jar | Bin 14454 -> 15301 bytes
10 files changed, 59 insertions(+), 8 deletions(-)
----------------------------------------------------------------------