http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/catalog/internal/CatalogVersioningTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/catalog/internal/CatalogVersioningTest.java b/core/src/test/java/brooklyn/catalog/internal/CatalogVersioningTest.java deleted file mode 100644 index 78c11ea..0000000 --- a/core/src/test/java/brooklyn/catalog/internal/CatalogVersioningTest.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * 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. - */ -package brooklyn.catalog.internal; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; - -import org.testng.Assert; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; -import org.apache.brooklyn.api.catalog.BrooklynCatalog; -import org.apache.brooklyn.api.catalog.CatalogItem; -import org.apache.brooklyn.core.management.internal.LocalManagementContext; -import org.apache.brooklyn.test.entity.LocalManagementContextForTests; - -import brooklyn.catalog.CatalogPredicates; -import brooklyn.entity.basic.Entities; - -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; - -public class CatalogVersioningTest { - private LocalManagementContext managementContext; - private BrooklynCatalog catalog; - - @BeforeMethod(alwaysRun = true) - public void setUp() throws Exception { - managementContext = LocalManagementContextForTests.newInstance(); - catalog = managementContext.getCatalog(); - } - - @AfterMethod(alwaysRun = true) - public void tearDown() throws Exception { - if (managementContext != null) Entities.destroyAll(managementContext); - } - - @Test - public void testParsingVersion() { - assertVersionParsesAs("foo:1", "foo", "1"); - assertVersionParsesAs("foo", null, null); - assertVersionParsesAs("foo:1.1", "foo", "1.1"); - assertVersionParsesAs("foo:1_SNAPSHOT", "foo", "1_SNAPSHOT"); - assertVersionParsesAs("foo:10.9.8_SNAPSHOT", "foo", "10.9.8_SNAPSHOT"); - assertVersionParsesAs("foo:bar", null, null); - assertVersionParsesAs("chef:cookbook", null, null); - assertVersionParsesAs("http://foo:8080", null, null); - } - - private static void assertVersionParsesAs(String versionedId, String id, String version) { - if (version==null) { - Assert.assertFalse(CatalogUtils.looksLikeVersionedId(versionedId)); - } else { - Assert.assertTrue(CatalogUtils.looksLikeVersionedId(versionedId)); - Assert.assertEquals(CatalogUtils.getIdFromVersionedId(versionedId), id); - Assert.assertEquals(CatalogUtils.getVersionFromVersionedId(versionedId), version); - } - } - - @Test - public void testAddVersioned() { - String symbolicName = "sampleId"; - String version = "0.1.0"; - createCatalogItem(symbolicName, version); - assertSingleCatalogItem(symbolicName, version); - } - - @Test - public void testAddSameVersionFails() { - String symbolicName = "sampleId"; - String version = "0.1.0"; - createCatalogItem(symbolicName, version); - createCatalogItem(symbolicName, version); - //forced update assumed in the above call - assertSingleCatalogItem(symbolicName, version); - } - - @Test - public void testGetLatest() { - String symbolicName = "sampleId"; - String v1 = "0.1.0"; - String v2 = "0.2.0"; - createCatalogItem(symbolicName, v1); - createCatalogItem(symbolicName, v2); - CatalogItem<?, ?> item = catalog.getCatalogItem(symbolicName, BasicBrooklynCatalog.DEFAULT_VERSION); - assertEquals(item.getSymbolicName(), symbolicName); - assertEquals(item.getVersion(), v2); - } - - @Test - public void testGetLatestStable() { - String symbolicName = "sampleId"; - String v1 = "0.1.0"; - String v2 = "0.2.0-SNAPSHOT"; - createCatalogItem(symbolicName, v1); - createCatalogItem(symbolicName, v2); - CatalogItem<?, ?> item = catalog.getCatalogItem(symbolicName, BasicBrooklynCatalog.DEFAULT_VERSION); - assertEquals(item.getSymbolicName(), symbolicName); - assertEquals(item.getVersion(), v1); - } - - @Test - public void testDelete() { - String symbolicName = "sampleId"; - String version = "0.1.0"; - createCatalogItem(symbolicName, version); - assertSingleCatalogItem(symbolicName, version); - assertTrue(catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))).iterator().hasNext()); - catalog.deleteCatalogItem(symbolicName, version); - assertFalse(catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))).iterator().hasNext()); - } - - @Test - public void testList() { - String symbolicName = "sampleId"; - String v1 = "0.1.0"; - String v2 = "0.2.0-SNAPSHOT"; - createCatalogItem(symbolicName, v1); - createCatalogItem(symbolicName, v2); - Iterable<CatalogItem<Object, Object>> items = catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))); - assertEquals(Iterables.size(items), 2); - } - - @SuppressWarnings("deprecation") - private void createCatalogItem(String symbolicName, String version) { - catalog.addItem(CatalogItemBuilder.newEntity(symbolicName, version). - plan("services:\n- type: brooklyn.entity.basic.BasicEntity") - .build()); - } - - private void assertSingleCatalogItem(String symbolicName, String version) { - Iterable<CatalogItem<Object, Object>> items = catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))); - CatalogItem<Object, Object> item = Iterables.getOnlyElement(items); - assertEquals(item.getSymbolicName(), symbolicName); - assertEquals(item.getVersion(), version); - } - - -}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/catalog/internal/MyCatalogItems.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/catalog/internal/MyCatalogItems.java b/core/src/test/java/brooklyn/catalog/internal/MyCatalogItems.java deleted file mode 100644 index 44067ed..0000000 --- a/core/src/test/java/brooklyn/catalog/internal/MyCatalogItems.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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. - */ -package brooklyn.catalog.internal; - -import org.apache.brooklyn.api.catalog.Catalog; - -import brooklyn.entity.basic.AbstractApplication; -import brooklyn.entity.basic.ApplicationBuilder; - -public class MyCatalogItems { - - @Catalog(description="Some silly app test") - public static class MySillyAppTemplate extends AbstractApplication { - } - - @Catalog(description="Some silly app builder test") - public static class MySillyAppBuilderTemplate extends ApplicationBuilder { - @Override protected void doBuild() { - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/entity/rebind/ActivePartialRebindVersionTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/ActivePartialRebindVersionTest.java b/core/src/test/java/brooklyn/entity/rebind/ActivePartialRebindVersionTest.java index 41917d4..dc9d8fe 100644 --- a/core/src/test/java/brooklyn/entity/rebind/ActivePartialRebindVersionTest.java +++ b/core/src/test/java/brooklyn/entity/rebind/ActivePartialRebindVersionTest.java @@ -25,10 +25,10 @@ import org.testng.annotations.Test; import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.proxying.EntitySpec; +import org.apache.brooklyn.core.catalog.internal.CatalogTestUtils; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.core.management.osgi.OsgiVersionMoreEntityTest; -import brooklyn.catalog.internal.CatalogTestUtils; import brooklyn.entity.group.DynamicCluster; import brooklyn.entity.rebind.transformer.CompoundTransformer; import brooklyn.util.collections.MutableList; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/entity/rebind/RebindCatalogEntityTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindCatalogEntityTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindCatalogEntityTest.java index 2b5cebf..3debe30 100644 --- a/core/src/test/java/brooklyn/entity/rebind/RebindCatalogEntityTest.java +++ b/core/src/test/java/brooklyn/entity/rebind/RebindCatalogEntityTest.java @@ -31,7 +31,6 @@ import org.slf4j.LoggerFactory; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import brooklyn.catalog.internal.CatalogInitialization; import brooklyn.entity.basic.AbstractApplication; import brooklyn.entity.basic.ApplicationBuilder; import brooklyn.entity.basic.ConfigKeys; @@ -44,6 +43,7 @@ import org.apache.brooklyn.api.entity.Application; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.ha.ManagementNodeState; +import org.apache.brooklyn.core.catalog.internal.CatalogInitialization; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.test.TestResourceUnavailableException; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/entity/rebind/RebindCatalogItemTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindCatalogItemTest.java b/core/src/test/java/brooklyn/entity/rebind/RebindCatalogItemTest.java index f46df75..92383fc 100644 --- a/core/src/test/java/brooklyn/entity/rebind/RebindCatalogItemTest.java +++ b/core/src/test/java/brooklyn/entity/rebind/RebindCatalogItemTest.java @@ -40,12 +40,12 @@ import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.catalog.CatalogItem.CatalogItemType; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; +import org.apache.brooklyn.core.catalog.internal.CatalogDto; import org.apache.brooklyn.core.internal.BrooklynFeatureEnablement; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.test.entity.TestEntity; -import brooklyn.catalog.internal.BasicBrooklynCatalog; -import brooklyn.catalog.internal.CatalogDto; import brooklyn.config.BrooklynProperties; import brooklyn.config.BrooklynServerConfig; @@ -88,7 +88,7 @@ public class RebindCatalogItemTest extends RebindTestFixtureWithApp { protected LocalManagementContext createOrigManagementContext() { BrooklynProperties properties = BrooklynProperties.Factory.newDefault(); properties.put(BrooklynServerConfig.BROOKLYN_CATALOG_URL, "classpath://brooklyn/entity/rebind/rebind-catalog-item-test-catalog.xml"); - properties.put(BrooklynServerConfig.CATALOG_LOAD_MODE, brooklyn.catalog.CatalogLoadMode.LOAD_BROOKLYN_CATALOG_URL); + properties.put(BrooklynServerConfig.CATALOG_LOAD_MODE, org.apache.brooklyn.core.catalog.CatalogLoadMode.LOAD_BROOKLYN_CATALOG_URL); return RebindTestUtils.managementContextBuilder(mementoDir, classLoader) .properties(properties) .persistPeriodMillis(getPersistPeriodMillis()) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java index d563bea..5c39216 100644 --- a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java +++ b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java @@ -40,10 +40,10 @@ import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.Task; import org.apache.brooklyn.api.management.ha.HighAvailabilityMode; import org.apache.brooklyn.api.mementos.BrooklynMementoManifest; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.core.management.internal.ManagementContextInternal; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.Entities; import brooklyn.entity.basic.EntityFunctions; import brooklyn.entity.basic.StartableApplication; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java b/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java index 3dcef6a..c0bab54 100644 --- a/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java +++ b/core/src/test/java/brooklyn/entity/rebind/persister/XmlMementoSerializerTest.java @@ -52,12 +52,12 @@ import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.mementos.BrooklynMementoPersister.LookupContext; import org.apache.brooklyn.api.policy.Enricher; import org.apache.brooklyn.api.policy.Policy; +import org.apache.brooklyn.core.catalog.internal.CatalogItemBuilder; +import org.apache.brooklyn.core.catalog.internal.CatalogItemDtoAbstract; +import org.apache.brooklyn.core.catalog.internal.CatalogTestUtils; import org.apache.brooklyn.core.management.osgi.OsgiTestResources; import org.apache.brooklyn.core.management.osgi.OsgiVersionMoreEntityTest; -import brooklyn.catalog.internal.CatalogItemBuilder; -import brooklyn.catalog.internal.CatalogItemDtoAbstract; -import brooklyn.catalog.internal.CatalogTestUtils; import brooklyn.entity.basic.Entities; import brooklyn.entity.group.DynamicCluster; import brooklyn.util.collections.MutableList; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java new file mode 100644 index 0000000..90e039d --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java @@ -0,0 +1,158 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import org.apache.brooklyn.api.catalog.CatalogItem.CatalogBundle; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; +import org.apache.brooklyn.core.catalog.internal.CatalogBundleDto; +import org.apache.brooklyn.core.catalog.internal.CatalogDo; +import org.apache.brooklyn.core.catalog.internal.CatalogDto; +import org.apache.brooklyn.core.catalog.internal.CatalogEntityItemDto; +import org.apache.brooklyn.core.catalog.internal.CatalogItemBuilder; +import org.apache.brooklyn.core.catalog.internal.CatalogItemDo; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; +import org.apache.brooklyn.core.catalog.internal.CatalogXmlSerializer; +import org.apache.brooklyn.core.catalog.internal.CatalogClasspathDo.CatalogScanningModes; +import org.apache.brooklyn.core.management.internal.LocalManagementContext; +import org.apache.brooklyn.test.entity.LocalManagementContextForTests; +import org.apache.brooklyn.test.entity.TestApplication; +import org.apache.brooklyn.test.entity.TestEntity; + +import brooklyn.entity.basic.Entities; +import brooklyn.util.BrooklynMavenArtifacts; +import brooklyn.util.maven.MavenRetriever; + +import com.google.common.collect.ImmutableList; + +public class CatalogDtoTest { + + private static final Logger log = LoggerFactory.getLogger(CatalogDtoTest.class); + + private LocalManagementContext managementContext; + + @BeforeMethod(alwaysRun = true) + public void setUp() throws Exception { + managementContext = LocalManagementContextForTests.newInstanceWithOsgi(); + } + + @AfterMethod(alwaysRun = true) + public void tearDown() throws Exception { + if (managementContext != null) Entities.destroyAll(managementContext); + } + + @Test(groups="Integration") + public void testCatalogLookup() { + CatalogDto root = buildExampleCatalog(); + checkCatalogHealthy(root); + } + + @Test(groups="Integration") + public void testCatalogSerializeAndLookup() { + CatalogDto root = buildExampleCatalog(); + CatalogXmlSerializer serializer = new CatalogXmlSerializer(); + + String xml = serializer.toString(root); + log.info("Example catalog serialized as:\n"+xml); + + CatalogDto root2 = (CatalogDto) serializer.fromString(xml); + checkCatalogHealthy(root2); + } + + protected void checkCatalogHealthy(CatalogDto root) { + assertEquals(root.catalogs.size(), 4); + CatalogDo loader = new CatalogDo(managementContext, root).load(); + + // test app comes from jar, by default + CatalogItemDo<?,?> worker = loader.getIdCache().get(CatalogUtils.getVersionedId(TestApplication.class.getCanonicalName(), BasicBrooklynCatalog.NO_VERSION)); + assertNotNull(worker); + assertEquals(worker.getDisplayName(), "Test App from JAR"); + + // TODO can test scanned elements, links to other catalogs, etc + } + + public CatalogDto buildExampleCatalog() { + CatalogDo root = new CatalogDo( + managementContext, + CatalogDto.newNamedInstance("My Local Catalog", + "My favourite local settings, including remote catalogs -- intended partly as a teaching " + + "example for what can be expressed, and how", "contents-built-in-test")); + root.setClasspathScanForEntities(CatalogScanningModes.NONE); + + String bundleUrl = MavenRetriever.localUrl(BrooklynMavenArtifacts.artifact("", "brooklyn-core", "jar", "tests")); + CatalogDo testEntitiesJavaCatalog = new CatalogDo( + managementContext, + CatalogDto.newNamedInstance("Test Entities from Java", null, "test-java")); + testEntitiesJavaCatalog.setClasspathScanForEntities(CatalogScanningModes.NONE); + testEntitiesJavaCatalog.addToClasspath(bundleUrl); + testEntitiesJavaCatalog.addEntry(CatalogItemBuilder.newTemplate(TestApplication.class.getCanonicalName(), BasicBrooklynCatalog.NO_VERSION) + .displayName("Test App from JAR") + .javaType(TestApplication.class.getCanonicalName()) + .build()); + testEntitiesJavaCatalog.addEntry(CatalogItemBuilder.newEntity(TestEntity.class.getCanonicalName(), BasicBrooklynCatalog.NO_VERSION) + .displayName("Test Entity from JAR") + .javaType(TestEntity.class.getCanonicalName()) + .build()); + root.addCatalog(testEntitiesJavaCatalog.dto); + + CatalogDo testEntitiesJavaCatalogScanning = new CatalogDo( + managementContext, + CatalogDto.newNamedInstance("Test Entities from Java Scanning", null, "test-java-scan")); + testEntitiesJavaCatalogScanning.addToClasspath(bundleUrl); + testEntitiesJavaCatalogScanning.setClasspathScanForEntities(CatalogScanningModes.ANNOTATIONS); + root.addCatalog(testEntitiesJavaCatalogScanning.dto); + + CatalogDo osgiCatalog = new CatalogDo( + managementContext, + CatalogDto.newNamedInstance("Test Entities from OSGi", + "A catalog whose entries define their libraries as a list of OSGi bundles", "test-osgi-defined")); + osgiCatalog.setClasspathScanForEntities(CatalogScanningModes.NONE); + CatalogEntityItemDto osgiEntity = CatalogItemBuilder.newEntity(TestEntity.class.getCanonicalName(), "Test Entity from OSGi") + // NB: this is not actually an OSGi bundle, but it's okay as we don't instantiate the bundles ahead of time (currently) + .libraries(ImmutableList.<CatalogBundle>of(new CatalogBundleDto(null, null, bundleUrl))) + .build(); + testEntitiesJavaCatalog.addEntry(osgiEntity); + root.addCatalog(osgiCatalog.dto); + + root.addCatalog(CatalogDto.newLinkedInstance("classpath://brooklyn-catalog-empty.xml")); + return root.dto; + } + + @Test + public void testVersionedIdSplitter() { + String id = "simple.id"; + String version = "0.1.2"; + String versionedId = CatalogUtils.getVersionedId(id, version); + + Assert.assertNull(CatalogUtils.getIdFromVersionedId(null)); + Assert.assertNull(CatalogUtils.getVersionFromVersionedId(null)); + Assert.assertNull(CatalogUtils.getIdFromVersionedId(id)); + Assert.assertNull(CatalogUtils.getVersionFromVersionedId(version)); + Assert.assertEquals(CatalogUtils.getIdFromVersionedId(versionedId), id); + Assert.assertEquals(CatalogUtils.getVersionFromVersionedId(versionedId), version); + } +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogItemComparatorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogItemComparatorTest.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogItemComparatorTest.java new file mode 100644 index 0000000..e7d43cd --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogItemComparatorTest.java @@ -0,0 +1,82 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; + +import org.testng.annotations.Test; +import org.apache.brooklyn.api.catalog.CatalogItem; +import org.apache.brooklyn.core.catalog.internal.CatalogItemBuilder; +import org.apache.brooklyn.core.catalog.internal.CatalogItemComparator; + +public class CatalogItemComparatorTest { + private static final String RC2 = "10.5.8-rc2"; + private static final String STABLE = "10.5.8"; + + @Test + public void testComparison() { + compare("0.0.1", "0.0.2", 1); + compare("0.0.2", "0.0.1", -1); + compare("0.0.1-qual", "0.0.2", 1); + compare("0.0.1.qual", "0.0.2", 1); + compare("0.0.1-qual", "0.0.1_qual", 0); + compare("0.0.1.qual", "0.0.1.qual", 0); + compare("0.0.1", "0.0.2-SNAPSHOT", -1); + compare("0.0.1", "0.0.2.SNAPSHOT", -1); + compare("0.0.0_SNAPSHOT", "0.0.1-SNAPSHOT-20141111114709760", 1); + compare("0.0.0.SNAPSHOT", "0.0.1.SNAPSHOT-20141111114709760", 1); + compare("2.0", "2.0.1-BUILD", 1); + compare("2.0", "2.0.1.BUILD", 1); + compare("2.0.1", "2.0-BUILD", -1); + compare("2.0.1", "2.0.0.BUILD", -1); + compare("2.0", "2.0-BUILD", -1); + // Note not true for .qualifier: compare("2.0", "2.0.0.BUILD", -1); + compare("2.1", "2.0-BUILD", -1); + compare("2.1", "2.0.0.BUILD", -1); + compare("1", "1.3", 1); + compare("1-beta", "1-rc2", 1); + // Note not true for .qualifier: compare("1.0.0.beta", "1.0.0.rc2", 1); + compare("1-beta1", "1-beta10", 1); + + compare(STABLE, "10.5", -1); + compare(STABLE, STABLE, 0); + + compare(STABLE, "10.6", 1); + compare(STABLE, "10.5.8.1", 1); + + compare("10.5.8-rc2", "10.5.8-rc3", 1) ; + compare("10.5.8-rc2", "10.5.8-rc1", -1); + + compare(STABLE, RC2, -1); + + CatalogItemComparator cmp = CatalogItemComparator.INSTANCE; + assertTrue(cmp.compare(v(RC2), v("10.5.8-beta1")) == cmp.compare(v(RC2), v("10.5.8-beta3"))); + } + + private void compare(String v1, String v2, int expected) { + CatalogItemComparator cmp = CatalogItemComparator.INSTANCE; + assertEquals(cmp.compare(v(v1), v(v2)), expected); + assertEquals(cmp.compare(v(v2), v(v1)), -expected); + } + + private CatalogItem<?, ?> v(String version) { + return CatalogItemBuilder.newEntity("xxx", version).build(); + } +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogLoadTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogLoadTest.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogLoadTest.java new file mode 100644 index 0000000..eea4933 --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogLoadTest.java @@ -0,0 +1,80 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; + +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import org.apache.brooklyn.api.catalog.CatalogItem.CatalogBundle; +import org.apache.brooklyn.core.catalog.internal.CatalogDto; +import org.apache.brooklyn.core.catalog.internal.CatalogItemDtoAbstract; +import org.apache.brooklyn.core.catalog.internal.CatalogXmlSerializer; + +import brooklyn.util.ResourceUtils; + +import com.google.common.base.Joiner; +import com.google.common.collect.Iterables; + +public class CatalogLoadTest { + + CatalogXmlSerializer serializer; + + @BeforeMethod + public void setUp() { + serializer = new CatalogXmlSerializer(); + } + + private String loadFile(String file) { + return ResourceUtils.create(this).getResourceAsString(file); + } + + // CAMP YAML parsing not available in core, so YAML catalog tests are in camp, e.g. CatalogYamlEntitiesTest + + @Test + public void testLoadXmlCatalog() { + CatalogDto catalog = (CatalogDto) serializer.fromString( + loadFile("classpath://brooklyn/catalog/internal/osgi-catalog.xml")); + assertNotNull(catalog); + assertEquals(catalog.name, "OSGi catalogue"); + assertEquals(Iterables.size(catalog.getUniqueEntries()), 1, "Catalog entries = " + Joiner.on(", ").join(catalog.getUniqueEntries())); + + CatalogItemDtoAbstract<?,?> template = Iterables.getOnlyElement(catalog.getUniqueEntries()); + assertEquals(template.getDisplayName(), "Entity name"); + assertEquals(template.getVersion(), "9.1.3"); + assertEquals(template.getJavaType(), "com.example.ExampleApp"); + assertEquals(template.getLibraries().size(), 2, + "Template bundles=" + Joiner.on(", ").join(template.getLibraries())); + + boolean foundBundle1 = false, foundBundle2 = false; + for (CatalogBundle bundle : template.getLibraries()) { + if (bundle.getUrl().equals("file://path/to/bundle.jar")) { + foundBundle1 = true; + } + if (bundle.getUrl().equals("http://www.url.com/for/bundle.jar")) { + foundBundle2 = true; + } + } + assertTrue(foundBundle1); + assertTrue(foundBundle2); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogScanTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogScanTest.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogScanTest.java new file mode 100644 index 0000000..2d5abad --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogScanTest.java @@ -0,0 +1,200 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import java.net.URLEncoder; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.Test; +import org.apache.brooklyn.api.catalog.BrooklynCatalog; +import org.apache.brooklyn.api.catalog.CatalogItem; +import org.apache.brooklyn.api.entity.Application; +import org.apache.brooklyn.api.entity.proxying.EntitySpec; +import org.apache.brooklyn.core.catalog.CatalogPredicates; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; +import org.apache.brooklyn.core.catalog.internal.MyCatalogItems.MySillyAppTemplate; +import org.apache.brooklyn.core.management.internal.LocalManagementContext; + +import brooklyn.config.BrooklynProperties; +import brooklyn.config.BrooklynServerConfig; +import brooklyn.entity.basic.Entities; +import brooklyn.util.ResourceUtils; +import brooklyn.util.net.Urls; +import brooklyn.util.text.Strings; + +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + +public class CatalogScanTest { + + private static final Logger log = LoggerFactory.getLogger(CatalogScanTest.class); + + private BrooklynCatalog defaultCatalog, annotsCatalog, fullCatalog; + + private List<LocalManagementContext> managementContexts = Lists.newCopyOnWriteArrayList(); + + @AfterMethod(alwaysRun = true) + public void tearDown(){ + for (LocalManagementContext managementContext : managementContexts) { + Entities.destroyAll(managementContext); + } + managementContexts.clear(); + } + + private LocalManagementContext newManagementContext(BrooklynProperties props) { + LocalManagementContext result = new LocalManagementContext(props); + managementContexts.add(result); + return result; + } + + private synchronized void loadFullCatalog() { + if (fullCatalog!=null) return; + BrooklynProperties props = BrooklynProperties.Factory.newEmpty(); + props.put(BrooklynServerConfig.BROOKLYN_CATALOG_URL.getName(), + "data:,"+Urls.encode("<catalog><classpath scan=\"types\"/></catalog>")); + fullCatalog = newManagementContext(props).getCatalog(); + log.info("ENTITIES loaded for FULL: "+fullCatalog.getCatalogItems(Predicates.alwaysTrue())); + } + + private synchronized void loadTheDefaultCatalog(boolean lookOnDiskForDefaultCatalog) { + if (defaultCatalog!=null) return; + BrooklynProperties props = BrooklynProperties.Factory.newEmpty(); + props.put(BrooklynServerConfig.BROOKLYN_CATALOG_URL.getName(), + // if default catalog is picked up from the system, we might get random stuff from ~/.brooklyn/ instead of the default; + // useful as an integration check that we default correctly, but irritating for people to use if they have such a catalog installed + (lookOnDiskForDefaultCatalog ? "" : + "data:,"+Urls.encode(new ResourceUtils(this).getResourceAsString("classpath:/brooklyn/default.catalog.bom")))); + LocalManagementContext managementContext = newManagementContext(props); + defaultCatalog = managementContext.getCatalog(); + log.info("ENTITIES loaded for DEFAULT: "+defaultCatalog.getCatalogItems(Predicates.alwaysTrue())); + } + + @SuppressWarnings("deprecation") + private synchronized void loadAnnotationsOnlyCatalog() { + if (annotsCatalog!=null) return; + BrooklynProperties props = BrooklynProperties.Factory.newEmpty(); + props.put(BrooklynServerConfig.BROOKLYN_CATALOG_URL.getName(), + "data:,"+URLEncoder.encode("<catalog><classpath scan=\"annotations\"/></catalog>")); + LocalManagementContext managementContext = newManagementContext(props); + annotsCatalog = managementContext.getCatalog(); + log.info("ENTITIES loaded with annotation: "+annotsCatalog.getCatalogItems(Predicates.alwaysTrue())); + } + + @Test + public void testLoadAnnotations() { + loadAnnotationsOnlyCatalog(); + BrooklynCatalog c = annotsCatalog; + + Iterable<CatalogItem<Object,Object>> bases = c.getCatalogItems(CatalogPredicates.displayName(Predicates.containsPattern("MyBaseEntity"))); + Assert.assertEquals(Iterables.size(bases), 0, "should have been empty: "+bases); + + Iterable<CatalogItem<Object,Object>> asdfjkls = c.getCatalogItems(CatalogPredicates.displayName(Predicates.containsPattern("__asdfjkls__shouldnotbefound"))); + Assert.assertEquals(Iterables.size(asdfjkls), 0); + + Iterable<CatalogItem<Object,Object>> silly1 = c.getCatalogItems(CatalogPredicates.displayName(Predicates.equalTo("MySillyAppTemplate"))); + Iterable<CatalogItem<Object,Object>> silly2 = c.getCatalogItems(CatalogPredicates.javaType(Predicates.equalTo(MySillyAppTemplate.class.getName()))); + CatalogItem<Object, Object> silly1El = Iterables.getOnlyElement(silly1); + Assert.assertEquals(silly1El, Iterables.getOnlyElement(silly2)); + + CatalogItem<Application,EntitySpec<? extends Application>> s1 = c.getCatalogItem(Application.class, silly1El.getSymbolicName(), silly1El.getVersion()); + Assert.assertEquals(s1, silly1El); + + Assert.assertEquals(s1.getDescription(), "Some silly app test"); + + Class<? extends Application> app = c.loadClass(s1); + Assert.assertEquals(MySillyAppTemplate.class, app); + + String xml = ((BasicBrooklynCatalog)c).toXmlString(); + log.info("Catalog is:\n"+xml); + Assert.assertTrue(xml.indexOf("Some silly app test") >= 0); + } + + @Test + public void testAnnotationLoadsSomeApps() { + loadAnnotationsOnlyCatalog(); + Iterable<CatalogItem<Object,Object>> silly1 = annotsCatalog.getCatalogItems(CatalogPredicates.displayName(Predicates.equalTo("MySillyAppTemplate"))); + Assert.assertEquals(Iterables.getOnlyElement(silly1).getDescription(), "Some silly app test"); + } + + @Test + public void testAnnotationLoadsSomeAppBuilders() { + loadAnnotationsOnlyCatalog(); + Iterable<CatalogItem<Object,Object>> silly1 = annotsCatalog.getCatalogItems(CatalogPredicates.displayName(Predicates.equalTo("MySillyAppBuilderTemplate"))); + Assert.assertEquals(Iterables.getOnlyElement(silly1).getDescription(), "Some silly app builder test"); + } + + @Test + public void testMoreTypesThanAnnotations() { + loadAnnotationsOnlyCatalog(); + loadFullCatalog(); + + int numFromAnnots = Iterables.size(annotsCatalog.getCatalogItems(Predicates.alwaysTrue())); + int numFromTypes = Iterables.size(fullCatalog.getCatalogItems(Predicates.alwaysTrue())); + + Assert.assertTrue(numFromAnnots < numFromTypes, "full="+numFromTypes+" annots="+numFromAnnots); + } + + @Test + public void testMoreTypesThanAnnotationsForApps() { + loadAnnotationsOnlyCatalog(); + loadFullCatalog(); + + int numFromAnnots = Iterables.size(annotsCatalog.getCatalogItems(CatalogPredicates.IS_TEMPLATE)); + int numFromTypes = Iterables.size(fullCatalog.getCatalogItems(CatalogPredicates.IS_TEMPLATE)); + + Assert.assertTrue(numFromAnnots < numFromTypes, "full="+numFromTypes+" annots="+numFromAnnots); + } + + @Test + public void testAnnotationIsDefault() { + doTestAnnotationIsDefault(false); + } + + // see comment in load method; likely fails if a custom catalog is installed in ~/.brooklyn/ + @Test(groups="Integration", enabled=false) + public void testAnnotationIsDefaultOnDisk() { + doTestAnnotationIsDefault(true); + } + + private void doTestAnnotationIsDefault(boolean lookOnDiskForDefaultCatalog) { + loadTheDefaultCatalog(false); + int numInDefault = Iterables.size(defaultCatalog.getCatalogItems(Predicates.alwaysTrue())); + + loadAnnotationsOnlyCatalog(); + int numFromAnnots = Iterables.size(annotsCatalog.getCatalogItems(Predicates.alwaysTrue())); + + Assert.assertEquals(numInDefault, numFromAnnots); + Assert.assertTrue(numInDefault>0, "Expected more than 0 entries"); + } + + // a simple test asserting no errors when listing the real catalog, and listing them for reference + // also useful to test variants in a stored catalog to assert they all load + // TODO integration tests which build up catalogs assuming other things are installed + @Test + public void testListCurrentCatalogItems() { + LocalManagementContext mgmt = newManagementContext(BrooklynProperties.Factory.newDefault()); + log.info("ITEMS\n"+Strings.join(mgmt.getCatalog().getCatalogItems(), "\n")); + } + +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogTestUtils.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogTestUtils.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogTestUtils.java new file mode 100644 index 0000000..510fdf8 --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogTestUtils.java @@ -0,0 +1,47 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import org.apache.brooklyn.api.catalog.CatalogItem; +import org.apache.brooklyn.api.entity.proxying.EntitySpec; +import org.apache.brooklyn.api.management.ManagementContext; +import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; + +import com.google.common.annotations.Beta; + +public class CatalogTestUtils { + + /** creates entity spec with the java type of a catalog item; + * would be nice to have this in {@link CatalogUtils}, + * but the logic for parsing the yaml is buried in camp code, + * so it's a little bit hard to make this a first class method. + * <p> + * (this impl ignores many things, including config and location.) + */ + @Beta + public static EntitySpec<?> createEssentialEntitySpec(ManagementContext mgmt, CatalogItem<?, ?> catalogItem) { + BrooklynClassLoadingContext loader = CatalogUtils.newClassLoadingContext(mgmt, catalogItem); + @SuppressWarnings({ "unchecked", "rawtypes" }) + EntitySpec<?> spec = EntitySpec.create( (Class)loader.loadClass(catalogItem.getJavaType()) ); + spec.catalogItemId(catalogItem.getId()); + return spec; + } + +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogVersioningTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogVersioningTest.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogVersioningTest.java new file mode 100644 index 0000000..f8a75cc --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogVersioningTest.java @@ -0,0 +1,159 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; + +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import org.apache.brooklyn.api.catalog.BrooklynCatalog; +import org.apache.brooklyn.api.catalog.CatalogItem; +import org.apache.brooklyn.core.catalog.CatalogPredicates; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; +import org.apache.brooklyn.core.catalog.internal.CatalogItemBuilder; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; +import org.apache.brooklyn.core.management.internal.LocalManagementContext; +import org.apache.brooklyn.test.entity.LocalManagementContextForTests; + +import brooklyn.entity.basic.Entities; + +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; + +public class CatalogVersioningTest { + private LocalManagementContext managementContext; + private BrooklynCatalog catalog; + + @BeforeMethod(alwaysRun = true) + public void setUp() throws Exception { + managementContext = LocalManagementContextForTests.newInstance(); + catalog = managementContext.getCatalog(); + } + + @AfterMethod(alwaysRun = true) + public void tearDown() throws Exception { + if (managementContext != null) Entities.destroyAll(managementContext); + } + + @Test + public void testParsingVersion() { + assertVersionParsesAs("foo:1", "foo", "1"); + assertVersionParsesAs("foo", null, null); + assertVersionParsesAs("foo:1.1", "foo", "1.1"); + assertVersionParsesAs("foo:1_SNAPSHOT", "foo", "1_SNAPSHOT"); + assertVersionParsesAs("foo:10.9.8_SNAPSHOT", "foo", "10.9.8_SNAPSHOT"); + assertVersionParsesAs("foo:bar", null, null); + assertVersionParsesAs("chef:cookbook", null, null); + assertVersionParsesAs("http://foo:8080", null, null); + } + + private static void assertVersionParsesAs(String versionedId, String id, String version) { + if (version==null) { + Assert.assertFalse(CatalogUtils.looksLikeVersionedId(versionedId)); + } else { + Assert.assertTrue(CatalogUtils.looksLikeVersionedId(versionedId)); + Assert.assertEquals(CatalogUtils.getIdFromVersionedId(versionedId), id); + Assert.assertEquals(CatalogUtils.getVersionFromVersionedId(versionedId), version); + } + } + + @Test + public void testAddVersioned() { + String symbolicName = "sampleId"; + String version = "0.1.0"; + createCatalogItem(symbolicName, version); + assertSingleCatalogItem(symbolicName, version); + } + + @Test + public void testAddSameVersionFails() { + String symbolicName = "sampleId"; + String version = "0.1.0"; + createCatalogItem(symbolicName, version); + createCatalogItem(symbolicName, version); + //forced update assumed in the above call + assertSingleCatalogItem(symbolicName, version); + } + + @Test + public void testGetLatest() { + String symbolicName = "sampleId"; + String v1 = "0.1.0"; + String v2 = "0.2.0"; + createCatalogItem(symbolicName, v1); + createCatalogItem(symbolicName, v2); + CatalogItem<?, ?> item = catalog.getCatalogItem(symbolicName, BasicBrooklynCatalog.DEFAULT_VERSION); + assertEquals(item.getSymbolicName(), symbolicName); + assertEquals(item.getVersion(), v2); + } + + @Test + public void testGetLatestStable() { + String symbolicName = "sampleId"; + String v1 = "0.1.0"; + String v2 = "0.2.0-SNAPSHOT"; + createCatalogItem(symbolicName, v1); + createCatalogItem(symbolicName, v2); + CatalogItem<?, ?> item = catalog.getCatalogItem(symbolicName, BasicBrooklynCatalog.DEFAULT_VERSION); + assertEquals(item.getSymbolicName(), symbolicName); + assertEquals(item.getVersion(), v1); + } + + @Test + public void testDelete() { + String symbolicName = "sampleId"; + String version = "0.1.0"; + createCatalogItem(symbolicName, version); + assertSingleCatalogItem(symbolicName, version); + assertTrue(catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))).iterator().hasNext()); + catalog.deleteCatalogItem(symbolicName, version); + assertFalse(catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))).iterator().hasNext()); + } + + @Test + public void testList() { + String symbolicName = "sampleId"; + String v1 = "0.1.0"; + String v2 = "0.2.0-SNAPSHOT"; + createCatalogItem(symbolicName, v1); + createCatalogItem(symbolicName, v2); + Iterable<CatalogItem<Object, Object>> items = catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))); + assertEquals(Iterables.size(items), 2); + } + + @SuppressWarnings("deprecation") + private void createCatalogItem(String symbolicName, String version) { + catalog.addItem(CatalogItemBuilder.newEntity(symbolicName, version). + plan("services:\n- type: brooklyn.entity.basic.BasicEntity") + .build()); + } + + private void assertSingleCatalogItem(String symbolicName, String version) { + Iterable<CatalogItem<Object, Object>> items = catalog.getCatalogItems(CatalogPredicates.symbolicName(Predicates.equalTo(symbolicName))); + CatalogItem<Object, Object> item = Iterables.getOnlyElement(items); + assertEquals(item.getSymbolicName(), symbolicName); + assertEquals(item.getVersion(), version); + } + + +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java new file mode 100644 index 0000000..1fc0de9 --- /dev/null +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java @@ -0,0 +1,37 @@ +/* + * 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. + */ +package org.apache.brooklyn.core.catalog.internal; + +import org.apache.brooklyn.api.catalog.Catalog; + +import brooklyn.entity.basic.AbstractApplication; +import brooklyn.entity.basic.ApplicationBuilder; + +public class MyCatalogItems { + + @Catalog(description="Some silly app test") + public static class MySillyAppTemplate extends AbstractApplication { + } + + @Catalog(description="Some silly app builder test") + public static class MySillyAppBuilderTemplate extends ApplicationBuilder { + @Override protected void doBuild() { + } + } +} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/core/src/test/java/org/apache/brooklyn/core/management/osgi/OsgiVersionMoreEntityTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/management/osgi/OsgiVersionMoreEntityTest.java b/core/src/test/java/org/apache/brooklyn/core/management/osgi/OsgiVersionMoreEntityTest.java index 8a555ed..7220e47 100644 --- a/core/src/test/java/org/apache/brooklyn/core/management/osgi/OsgiVersionMoreEntityTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/management/osgi/OsgiVersionMoreEntityTest.java @@ -38,14 +38,14 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext; import org.apache.brooklyn.api.policy.PolicySpec; +import org.apache.brooklyn.core.catalog.internal.CatalogEntityItemDto; +import org.apache.brooklyn.core.catalog.internal.CatalogItemBuilder; +import org.apache.brooklyn.core.catalog.internal.CatalogItemDtoAbstract; +import org.apache.brooklyn.core.catalog.internal.CatalogTestUtils; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.core.management.internal.ManagementContextInternal; -import brooklyn.catalog.internal.CatalogEntityItemDto; -import brooklyn.catalog.internal.CatalogItemBuilder; -import brooklyn.catalog.internal.CatalogItemDtoAbstract; -import brooklyn.catalog.internal.CatalogTestUtils; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.Entities; import brooklyn.entity.effector.Effectors; import brooklyn.entity.proxying.InternalEntityFactory; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynAssemblyTemplateInstantiator.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynAssemblyTemplateInstantiator.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynAssemblyTemplateInstantiator.java index 7def6cf..9241a73 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynAssemblyTemplateInstantiator.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynAssemblyTemplateInstantiator.java @@ -47,11 +47,11 @@ import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext; import org.apache.brooklyn.camp.brooklyn.BrooklynCampConstants; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog.BrooklynLoaderTracker; import org.apache.brooklyn.core.management.internal.EntityManagementUtils; import org.apache.brooklyn.core.management.internal.EntityManagementUtils.CreationResult; -import brooklyn.catalog.internal.BasicBrooklynCatalog.BrooklynLoaderTracker; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.config.BrooklynServerConfig; import brooklyn.entity.basic.BasicApplicationImpl; import brooklyn.util.ResourceUtils; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java index 57d53da..33bb6a1 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java @@ -46,11 +46,11 @@ import org.apache.brooklyn.camp.brooklyn.BrooklynCampConstants; import org.apache.brooklyn.camp.brooklyn.BrooklynCampReservedKeys; import org.apache.brooklyn.camp.brooklyn.spi.creation.service.BrooklynServiceTypeResolver; import org.apache.brooklyn.camp.brooklyn.spi.creation.service.ServiceTypeResolver; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.ManagementContextInjectable; import org.apache.brooklyn.core.management.classloading.JavaBrooklynClassLoadingContext; import org.apache.brooklyn.core.management.internal.ManagementContextInternal; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.config.ConfigKey; import brooklyn.entity.basic.AbstractEntity; import brooklyn.entity.basic.BrooklynTags; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java index ff60237..527a44c 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityDecorationResolver.java @@ -32,8 +32,8 @@ import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.api.policy.PolicySpec; import org.apache.brooklyn.camp.brooklyn.BrooklynCampReservedKeys; import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynYamlTypeInstantiator.InstantiatorFromKey; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.util.collections.MutableList; import brooklyn.util.config.ConfigBag; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityMatcher.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityMatcher.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityMatcher.java index be18cc2..409ca1c 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityMatcher.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynEntityMatcher.java @@ -31,11 +31,11 @@ import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.classloading.BrooklynClassLoadingContext; import org.apache.brooklyn.camp.brooklyn.BrooklynCampConstants; import org.apache.brooklyn.camp.brooklyn.BrooklynCampReservedKeys; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; import org.apache.brooklyn.core.management.classloading.JavaBrooklynClassLoadingContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import brooklyn.catalog.internal.BasicBrooklynCatalog; import brooklyn.util.collections.MutableMap; import brooklyn.util.net.Urls; import brooklyn.util.text.Strings; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java index 7b6328a..1f12663 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java @@ -29,8 +29,8 @@ import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynComponentTemplateResolver; import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynEntityDecorationResolver; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.util.text.Strings; /** http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java index 49cbb6e..63ac989 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java @@ -28,8 +28,7 @@ import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; - -import brooklyn.catalog.internal.CatalogUtils; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; public abstract class AbstractTemplateBrooklynLookup<T extends AbstractResource> extends AbstractBrooklynResourceLookup<T> { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java index 5158550..a41ee05 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java @@ -31,8 +31,7 @@ import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynAssemblyTemplateInstantiator; - -import brooklyn.catalog.CatalogPredicates; +import org.apache.brooklyn.core.catalog.CatalogPredicates; public class AssemblyTemplateBrooklynLookup extends AbstractTemplateBrooklynLookup<AssemblyTemplate> { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java index 02a0cb6..a7089e8 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java @@ -29,8 +29,7 @@ import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.management.ManagementContext; - -import brooklyn.catalog.CatalogPredicates; +import org.apache.brooklyn.core.catalog.CatalogPredicates; public class PlatformComponentTemplateBrooklynLookup extends AbstractTemplateBrooklynLookup<PlatformComponentTemplate> { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java index d2ada07..c0b77f4 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java @@ -30,13 +30,13 @@ import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.Task; import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatform; import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.BrooklynTaskTags; import brooklyn.entity.basic.Entities; import brooklyn.entity.basic.StartableApplication; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java index df4b41b..d96b132 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java @@ -30,6 +30,7 @@ import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.Task; import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatform; import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.test.entity.LocalManagementContextForTests; import org.slf4j.Logger; @@ -37,7 +38,6 @@ import org.slf4j.LoggerFactory; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.BrooklynTaskTags; import brooklyn.entity.basic.Entities; import brooklyn.util.ResourceUtils; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java index 1bf481d..66fee85 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiVersionMoreEntityTest.java @@ -37,10 +37,8 @@ import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.api.policy.PolicySpec; import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest; import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynEntityMatcher; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.osgi.OsgiVersionMoreEntityTest; - -import brooklyn.catalog.internal.CatalogUtils; - import org.apache.brooklyn.test.TestResourceUnavailableException; import brooklyn.util.ResourceUtils; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java index c4579ff..3aa9b74 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java @@ -32,10 +32,10 @@ import org.apache.brooklyn.api.catalog.BrooklynCatalog; import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.osgi.OsgiStandaloneTest; import org.apache.brooklyn.core.management.osgi.OsgiTestResources; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.BasicEntity; import org.apache.brooklyn.test.TestResourceUnavailableException; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlLocationTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlLocationTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlLocationTest.java index 70076f9..7d283a9 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlLocationTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlLocationTest.java @@ -33,9 +33,9 @@ import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.location.LocationDefinition; import org.apache.brooklyn.api.location.LocationSpec; import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest; +import org.apache.brooklyn.core.catalog.CatalogPredicates; import org.apache.brooklyn.core.management.osgi.OsgiStandaloneTest; -import brooklyn.catalog.CatalogPredicates; import brooklyn.event.basic.BasicConfigKey; import org.apache.brooklyn.location.basic.LocalhostMachineProvisioningLocation; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java index 6a44df3..e6f9d3d 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlPolicyTest.java @@ -25,9 +25,9 @@ import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest; +import org.apache.brooklyn.core.catalog.CatalogPredicates; import org.apache.brooklyn.core.management.osgi.OsgiStandaloneTest; -import brooklyn.catalog.CatalogPredicates; import brooklyn.event.basic.BasicConfigKey; import org.apache.brooklyn.test.TestResourceUnavailableException; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java index 3081243..e33f739 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java @@ -24,10 +24,10 @@ import static org.testng.Assert.assertFalse; import org.apache.brooklyn.api.policy.Enricher; import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.camp.brooklyn.AbstractYamlRebindTest; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.internal.BrooklynFeatureEnablement; import org.testng.annotations.Test; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.BasicEntity; import brooklyn.entity.basic.Entities; import brooklyn.entity.basic.StartableApplication; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlVersioningTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlVersioningTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlVersioningTest.java index a250c37..b98cb94 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlVersioningTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlVersioningTest.java @@ -30,9 +30,9 @@ import org.apache.brooklyn.api.catalog.BrooklynCatalog; import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.camp.brooklyn.AbstractYamlTest; +import org.apache.brooklyn.core.catalog.CatalogPredicates; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; -import brooklyn.catalog.CatalogPredicates; -import brooklyn.catalog.internal.BasicBrooklynCatalog; import brooklyn.entity.basic.BasicApplication; import brooklyn.entity.basic.BasicEntity; import brooklyn.entity.basic.ConfigKeys; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java ---------------------------------------------------------------------- diff --git a/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java b/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java index 09cba24..8d3ed07 100644 --- a/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java +++ b/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java @@ -66,9 +66,6 @@ import org.apache.brooklyn.cli.CloudExplorer.ComputeListImagesCommand; import org.apache.brooklyn.cli.CloudExplorer.ComputeListInstancesCommand; import org.apache.brooklyn.cli.CloudExplorer.ComputeTerminateInstancesCommand; import org.apache.brooklyn.cli.ItemLister.ListAllCommand; - -import brooklyn.catalog.internal.CatalogInitialization; - import org.apache.brooklyn.cli.CloudExplorer.BlobstoreGetBlobCommand; import org.apache.brooklyn.cli.CloudExplorer.BlobstoreListContainerCommand; import org.apache.brooklyn.cli.CloudExplorer.BlobstoreListContainersCommand; @@ -79,6 +76,7 @@ import org.apache.brooklyn.cli.CloudExplorer.ComputeListImagesCommand; import org.apache.brooklyn.cli.CloudExplorer.ComputeListInstancesCommand; import org.apache.brooklyn.cli.CloudExplorer.ComputeTerminateInstancesCommand; import org.apache.brooklyn.cli.ItemLister.ListAllCommand; +import org.apache.brooklyn.core.catalog.internal.CatalogInitialization; import org.apache.brooklyn.core.management.ha.OsgiManager; import brooklyn.entity.basic.AbstractApplication; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java ---------------------------------------------------------------------- diff --git a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java index 8267ca3..504363a 100644 --- a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java +++ b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java @@ -49,6 +49,7 @@ import org.apache.brooklyn.api.management.ha.ManagementPlaneSyncRecordPersister; import org.apache.brooklyn.api.mementos.BrooklynMementoRawData; import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer; import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynAssemblyTemplateInstantiator; +import org.apache.brooklyn.core.catalog.internal.CatalogInitialization; import org.apache.brooklyn.core.management.ha.HighAvailabilityManagerImpl; import org.apache.brooklyn.core.management.ha.ManagementPlaneSyncRecordPersisterToObjectStore; import org.apache.brooklyn.core.management.internal.LocalManagementContext; @@ -64,7 +65,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import brooklyn.catalog.internal.CatalogInitialization; import brooklyn.config.BrooklynProperties; import brooklyn.config.BrooklynServerConfig; import brooklyn.config.BrooklynServerPaths; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindCatalogTest.java ---------------------------------------------------------------------- diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindCatalogTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindCatalogTest.java index 0e56483..49596d6 100644 --- a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindCatalogTest.java +++ b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherRebindCatalogTest.java @@ -36,9 +36,9 @@ import com.google.common.io.Files; import org.apache.brooklyn.api.catalog.BrooklynCatalog; import org.apache.brooklyn.api.catalog.CatalogItem; +import org.apache.brooklyn.core.catalog.internal.CatalogInitialization; import org.apache.brooklyn.test.entity.LocalManagementContextForTests; -import brooklyn.catalog.internal.CatalogInitialization; import brooklyn.entity.rebind.persister.PersistMode; import brooklyn.util.ResourceUtils; import brooklyn.util.os.Os; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java ---------------------------------------------------------------------- diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java index b0796db..02521e5 100644 --- a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java +++ b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynLauncherTest.java @@ -22,6 +22,7 @@ import org.apache.brooklyn.api.entity.Application; import org.apache.brooklyn.api.entity.proxying.EntitySpec; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.management.ManagementContext; +import org.apache.brooklyn.core.catalog.internal.CatalogInitialization; import org.apache.brooklyn.core.management.internal.LocalManagementContext; import org.apache.brooklyn.core.management.internal.ManagementContextInternal; import org.apache.brooklyn.launcher.BrooklynLauncher; @@ -49,7 +50,6 @@ import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.Test; -import brooklyn.catalog.internal.CatalogInitialization; import brooklyn.config.BrooklynProperties; import brooklyn.config.BrooklynServerConfig; import brooklyn.entity.basic.ApplicationBuilder; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java index 8a54607..98d5648 100644 --- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java +++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java @@ -46,7 +46,6 @@ import org.codehaus.jackson.node.ObjectNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.entity.basic.AbstractGroup; import brooklyn.entity.basic.Attributes; import brooklyn.entity.basic.Lifecycle; @@ -60,6 +59,7 @@ import org.apache.brooklyn.api.event.AttributeSensor; import org.apache.brooklyn.api.event.Sensor; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.management.Task; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.entitlement.EntitlementPredicates; import org.apache.brooklyn.core.management.entitlement.Entitlements; import org.apache.brooklyn.core.management.entitlement.Entitlements.EntityAndItem; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java index e841b27..80dc2a3 100644 --- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java +++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java @@ -44,15 +44,13 @@ import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.location.LocationSpec; import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.api.policy.PolicySpec; +import org.apache.brooklyn.core.catalog.CatalogPredicates; +import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog; +import org.apache.brooklyn.core.catalog.internal.CatalogDto; +import org.apache.brooklyn.core.catalog.internal.CatalogItemComparator; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.entitlement.Entitlements; import org.apache.brooklyn.core.management.entitlement.Entitlements.StringAndArgument; - -import brooklyn.catalog.CatalogPredicates; -import brooklyn.catalog.internal.BasicBrooklynCatalog; -import brooklyn.catalog.internal.CatalogDto; -import brooklyn.catalog.internal.CatalogItemComparator; -import brooklyn.catalog.internal.CatalogUtils; - import org.apache.brooklyn.rest.api.CatalogApi; import org.apache.brooklyn.rest.domain.ApiError; import org.apache.brooklyn.rest.domain.CatalogEntitySummary; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/LocationResource.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/LocationResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/LocationResource.java index 83fa84d..1dc0bf2 100644 --- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/LocationResource.java +++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/LocationResource.java @@ -32,9 +32,7 @@ import org.slf4j.LoggerFactory; import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.location.LocationDefinition; - -import brooklyn.catalog.internal.CatalogUtils; - +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.location.basic.LocationConfigKeys; import org.apache.brooklyn.rest.api.LocationApi; import org.apache.brooklyn.rest.domain.LocationSpec; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6caee589/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java index bfe82ba..d09d05b 100644 --- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java +++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java @@ -50,10 +50,10 @@ import org.apache.brooklyn.api.location.LocationRegistry; import org.apache.brooklyn.api.management.ManagementContext; import org.apache.brooklyn.api.management.Task; import org.apache.brooklyn.api.policy.Policy; +import org.apache.brooklyn.core.catalog.internal.CatalogUtils; import org.apache.brooklyn.core.management.entitlement.Entitlements; import org.apache.brooklyn.core.management.entitlement.Entitlements.StringAndArgument; -import brooklyn.catalog.internal.CatalogUtils; import brooklyn.config.ConfigKey; import brooklyn.enricher.Enrichers; import brooklyn.entity.basic.AbstractEntity;
