You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2017/04/21 22:55:46 UTC

[27/39] brooklyn-server git commit: XPathHelper.getStringList fix and formatting, hashcode/equals fixes.

XPathHelper.getStringList fix and formatting, hashcode/equals fixes.


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/b4e56a59
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/b4e56a59
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/b4e56a59

Branch: refs/heads/master
Commit: b4e56a59c2c9811b8358ea8c4de4dc0a98567c1e
Parents: 51b0b75
Author: Geoff Macartney <ge...@cloudsoftcorp.com>
Authored: Sat Mar 18 20:46:34 2017 +0000
Committer: Geoff Macartney <ge...@cloudsoftcorp.com>
Committed: Thu Apr 20 11:20:36 2017 +0100

----------------------------------------------------------------------
 .../internal/AbstractBrooklynObjectSpec.java    |  14 +-
 .../catalog/CatalogOsgiYamlEntityTest.java      | 145 +++++++++----------
 .../brooklyn/catalog/CatalogYamlEntityTest.java |   6 +-
 .../brooklyn/catalog/CatalogYamlRebindTest.java |  17 ---
 .../internal/CatalogItemDtoAbstract.java        |   4 +-
 .../BrooklynMementoPersisterToObjectStore.java  |   2 +-
 6 files changed, 85 insertions(+), 103 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b4e56a59/api/src/main/java/org/apache/brooklyn/api/internal/AbstractBrooklynObjectSpec.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/internal/AbstractBrooklynObjectSpec.java b/api/src/main/java/org/apache/brooklyn/api/internal/AbstractBrooklynObjectSpec.java
index 10acfe4..12a8e73 100644
--- a/api/src/main/java/org/apache/brooklyn/api/internal/AbstractBrooklynObjectSpec.java
+++ b/api/src/main/java/org/apache/brooklyn/api/internal/AbstractBrooklynObjectSpec.java
@@ -90,9 +90,9 @@ public abstract class AbstractBrooklynObjectSpec<T, SpecT extends AbstractBrookl
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(this).omitNullValues()
-            .add("type", type)
-            .add("displayName", displayName)
-            .toString();
+                .add("type", type)
+                .add("displayName", displayName)
+                .toString();
     }
 
     protected abstract void checkValidType(Class<? extends T> type);
@@ -223,9 +223,9 @@ public abstract class AbstractBrooklynObjectSpec<T, SpecT extends AbstractBrookl
         current.removeAll(params);
 
         return parametersReplace(ImmutableList.<SpecParameter<?>>builder()
-            .addAll(params)
-            .addAll(current)
-            .build());
+                .addAll(params)
+                .addAll(current)
+                .build());
     }
 
     /**
@@ -328,7 +328,7 @@ public abstract class AbstractBrooklynObjectSpec<T, SpecT extends AbstractBrookl
     public boolean equals(Object obj) {
         if (obj == null) return false;
         if (!obj.getClass().equals(getClass())) return false;
-        AbstractBrooklynObjectSpec<?, ?> other = (AbstractBrooklynObjectSpec<?, ?>) obj;
+        AbstractBrooklynObjectSpec<?,?> other = (AbstractBrooklynObjectSpec<?,?>) obj;
         if (!Objects.equal(getDisplayName(), other.getDisplayName())) return false;
         if (!Objects.equal(getCatalogItemId(), other.getCatalogItemId())) return false;
         if (!Objects.equal(getCatalogItemIdSearchPath(), other.getCatalogItemIdSearchPath())) return false;

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b4e56a59/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiYamlEntityTest.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiYamlEntityTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiYamlEntityTest.java
index b0bf747..7b726bc 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiYamlEntityTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogOsgiYamlEntityTest.java
@@ -46,6 +46,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 
 public class CatalogOsgiYamlEntityTest extends AbstractYamlTest {
@@ -745,81 +746,77 @@ public class CatalogOsgiYamlEntityTest extends AbstractYamlTest {
         deleteCatalogEntity(symbolicNameOuter);
     }
 
+    @Test
+    public void testCatalogItemIdInReferencedItems() throws Exception {
+        TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
+
+        String symbolicNameInner = "my.catalog.app.id.inner";
+        String symbolicNameOuter = "my.catalog.app.id.outer";
+        addCatalogItems(
+            "brooklyn.catalog:",
+            "  version: " + TEST_VERSION,
+            "  items:",
+            "  - id: " + symbolicNameInner,
+            "    name: My Catalog App",
+            "    description: My description",
+            "    icon_url: classpath://path/to/myicon.jpg",
+            "    brooklyn.libraries:",
+            "    - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL,
+            "    item: " + SIMPLE_ENTITY_TYPE,
+            "  - id: " + symbolicNameOuter,
+            "    item: " + symbolicNameInner);
+
+        String yaml = "name: " + symbolicNameOuter + "\n" +
+            "services: \n" +
+            "  - serviceType: " + ver(symbolicNameOuter);
+
+        Entity app = createAndStartApplication(yaml);
+        Entity entity = app.getChildren().iterator().next();
+        assertEquals(entity.getCatalogItemId(), ver(symbolicNameOuter));
+        assertEquals(entity.getCatalogItemIdSearchPath(), ImmutableList.of(ver(symbolicNameInner)),
+            "should have just " + symbolicNameInner + " in search path");
+
+        deleteCatalogEntity(symbolicNameInner);
+        deleteCatalogEntity(symbolicNameOuter);
+    }
+    @Test
+    public void testDeepCatalogItemCanLoadResources() throws Exception {
+        TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
+        TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_MORE_ENTITIES_0_1_0_PATH);
+
+        String symbolicNameInner = "my.catalog.app.id.inner";
+        String symbolicNameFiller = "my.catalog.app.id.filler";
+        String symbolicNameOuter = "my.catalog.app.id.outer";
+        addCatalogItems(
+            "brooklyn.catalog:",
+            "  version: " + TEST_VERSION,
+            "  items:",
+            "  - id: " + symbolicNameInner,
+            "    name: My Catalog App",
+            "    brooklyn.libraries:",
+            "    - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL,
+            "    item: " + SIMPLE_ENTITY_TYPE,
+            "  - id: " + symbolicNameFiller,
+            "    name: Filler App",
+            "    brooklyn.libraries:",
+            "    - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_MORE_ENTITIES_0_1_0_URL,
+            "    item: " + symbolicNameInner,
+            "  - id: " + symbolicNameOuter,
+            "    item: " + symbolicNameFiller);
+
+        String yaml = "name: " + symbolicNameOuter + "\n" +
+            "services: \n" +
+            "  - serviceType: "+ver(symbolicNameOuter);
+        Entity app = createAndStartApplication(yaml);
+        Entity entity = app.getChildren().iterator().next();
+
+        final String catalogBom = ResourceUtils.create(entity).getResourceAsString("classpath://" + MORE_ENTITIES_POM_PROPERTIES_PATH);
+        assertTrue(catalogBom.contains("artifactId=brooklyn-test-osgi-more-entities"));
 
-   @Test
-   public void testDeepCatalogItemCanLoadResources() throws Exception {
-      TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
-      TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_MORE_ENTITIES_0_1_0_PATH);
-
-      String symbolicNameInner = "my.catalog.app.id.inner";
-      String symbolicNameFiller = "my.catalog.app.id.filler";
-      String symbolicNameOuter = "my.catalog.app.id.outer";
-      addCatalogItems(
-         "brooklyn.catalog:",
-         "  version: " + TEST_VERSION,
-         "  items:",
-         "  - id: " + symbolicNameInner,
-         "    name: My Catalog App",
-         "    brooklyn.libraries:",
-         "    - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL,
-         "    item: " + SIMPLE_ENTITY_TYPE,
-         "  - id: " + symbolicNameFiller,
-         "    name: Filler App",
-         "    brooklyn.libraries:",
-         "    - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_MORE_ENTITIES_0_1_0_URL,
-         "    item: " + symbolicNameInner,
-         "  - id: " + symbolicNameOuter,
-         "    item: " + symbolicNameFiller);
-
-      String yaml = "name: " + symbolicNameOuter + "\n" +
-         "services: \n" +
-         "  - serviceType: "+ver(symbolicNameOuter);
-      Entity app = createAndStartApplication(yaml);
-      Entity entity = app.getChildren().iterator().next();
-
-      final String catalogBom = ResourceUtils.create(entity).getResourceAsString("classpath://" + MORE_ENTITIES_POM_PROPERTIES_PATH);
-      assertTrue(catalogBom.contains("artifactId=brooklyn-test-osgi-more-entities"));
-
-      deleteCatalogEntity(symbolicNameOuter);
-      deleteCatalogEntity(symbolicNameFiller);
-      deleteCatalogEntity(symbolicNameInner);
-   }
-
-   @Test
-   public void testCatalogItemIdInReferencedItems() throws Exception {
-      TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
-
-      String symbolicNameInner = "my.catalog.app.id.inner";
-      String symbolicNameOuter = "my.catalog.app.id.outer";
-      addCatalogItems(
-         "brooklyn.catalog:",
-         "  version: " + TEST_VERSION,
-         "  items:",
-         "  - id: " + symbolicNameInner,
-         "    name: My Catalog App",
-         "    description: My description",
-         "    icon_url: classpath://path/to/myicon.jpg",
-         "    brooklyn.libraries:",
-         "    - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL,
-         "    item: " + SIMPLE_ENTITY_TYPE,
-         "  - id: " + symbolicNameOuter,
-         "    item: " + symbolicNameInner);
-
-      String yaml = "name: " + symbolicNameOuter + "\n" +
-         "services: \n" +
-         "  - serviceType: "+ver(symbolicNameOuter);
-
-      Entity app = createAndStartApplication(yaml);
-
-      Entity entity = app.getChildren().iterator().next();
-      assertEquals(entity.getCatalogItemId(), ver(symbolicNameOuter));
-      assertEquals(entity.getCatalogItemIdSearchPath().size(), 1, "should have exactly one item in search path");
-      assertEquals(entity.getCatalogItemIdSearchPath().get(0), ver(symbolicNameInner),
-          "should have " + symbolicNameInner + " in search path");
-
-      deleteCatalogEntity(symbolicNameInner);
-      deleteCatalogEntity(symbolicNameOuter);
-   }
+        deleteCatalogEntity(symbolicNameOuter);
+        deleteCatalogEntity(symbolicNameFiller);
+        deleteCatalogEntity(symbolicNameInner);
+    }
 
     private void registerAndLaunchAndAssertSimpleEntity(String symbolicName, String serviceType) throws Exception {
         addCatalogOSGiEntity(symbolicName, serviceType);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b4e56a59/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
index b3264f7..847e461 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
@@ -45,6 +45,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 
 
@@ -643,9 +644,8 @@ public class CatalogYamlEntityTest extends AbstractYamlTest {
 
         Entity entity = app.getChildren().iterator().next();
         assertEquals(entity.getCatalogItemId(), ver(symbolicNameOuter));
-        assertEquals(entity.getCatalogItemIdSearchPath().size(), 1, "should have exactly one item in search path");
-        assertEquals(entity.getCatalogItemIdSearchPath().get(0), ver(symbolicNameInner),
-            "should have " + symbolicNameInner + " in search path");
+        assertEquals(entity.getCatalogItemIdSearchPath(), ImmutableList.of(ver(symbolicNameInner)),
+            "should have just " + symbolicNameInner + " in search path");
 
         deleteCatalogEntity(symbolicNameInner);
         deleteCatalogEntity(symbolicNameOuter);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b4e56a59/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
----------------------------------------------------------------------
diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
index 8daf21c..c4af503 100644
--- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
+++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlRebindTest.java
@@ -25,24 +25,13 @@ import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 
-import java.io.StringReader;
-import java.io.StringWriter;
 import java.util.List;
 
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
 import org.apache.brooklyn.api.catalog.CatalogItem;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoPersister;
 import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoRawData;
 import org.apache.brooklyn.api.objs.BrooklynObjectType;
-import org.apache.brooklyn.api.policy.Policy;
-import org.apache.brooklyn.api.sensor.Enricher;
 import org.apache.brooklyn.api.typereg.RegisteredType;
 import org.apache.brooklyn.camp.brooklyn.AbstractYamlRebindTest;
 import org.apache.brooklyn.core.BrooklynFeatureEnablement;
@@ -68,16 +57,10 @@ import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
 
 import com.google.common.base.Function;
 import com.google.common.base.Joiner;
 import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 
 public class CatalogYamlRebindTest extends AbstractYamlRebindTest {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b4e56a59/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogItemDtoAbstract.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogItemDtoAbstract.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogItemDtoAbstract.java
index 0bae32d..5aec768 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogItemDtoAbstract.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogItemDtoAbstract.java
@@ -191,7 +191,8 @@ public abstract class CatalogItemDtoAbstract<T, SpecT> extends AbstractBrooklynO
 
     @Override
     public int hashCode() {
-        return Objects.hashCode(symbolicName, planYaml, javaType, nullIfEmpty(libraries), version, getCatalogItemId());
+        return Objects.hashCode(symbolicName, planYaml, javaType, nullIfEmpty(libraries), version, getCatalogItemId(),
+            getCatalogItemIdSearchPath());
     }
 
     @Override
@@ -205,6 +206,7 @@ public abstract class CatalogItemDtoAbstract<T, SpecT> extends AbstractBrooklynO
         if (!Objects.equal(javaType, other.javaType)) return false;
         if (!Objects.equal(nullIfEmpty(libraries), nullIfEmpty(other.libraries))) return false;
         if (!Objects.equal(getCatalogItemId(), other.getCatalogItemId())) return false;
+        if (!Objects.equal(getCatalogItemIdSearchPath(), other.getCatalogItemIdSearchPath())) return false;
         if (!Objects.equal(version, other.version)) return false;
         if (!Objects.equal(deprecated, other.deprecated)) return false;
         if (!Objects.equal(description, other.description)) return false;

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b4e56a59/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
index 5aace6d..2e0b8bf 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
@@ -350,7 +350,7 @@ public class BrooklynMementoPersisterToObjectStore implements BrooklynMementoPer
         private List<String> getStringList(String innerPath) {
             List<String> result = MutableList.of();
             final NodeList nodeList =
-                (NodeList) XmlUtil.xpathHandlingIllegalChars(contents, prefix + innerPath + "/string", XPathConstants.NODESET);
+                (NodeList) XmlUtil.xpathHandlingIllegalChars(contents, prefix + innerPath + "//string", XPathConstants.NODESET);
             for(int c = 0 ; c < nodeList.getLength() ; c++) {
                 result.add(nodeList.item(c).getFirstChild().getNodeValue());
             }