You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2016/01/14 17:45:17 UTC

[1/3] incubator-brooklyn git commit: Fix catalog XML deserializing

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master e2392c3a0 -> a2fde1af6


Fix catalog XML deserializing

Fixes the serialized XML format so it can be deserialized later.


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

Branch: refs/heads/master
Commit: f9591d9f2da776deb51536dba2e064989dbeda87
Parents: 58337c4
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Thu Jan 14 17:01:38 2016 +0200
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Thu Jan 14 17:01:48 2016 +0200

----------------------------------------------------------------------
 .../catalog/internal/CatalogXmlSerializer.java     |  3 ++-
 .../apache/brooklyn/core/mgmt/BrooklynTags.java    | 17 ++++++++++++-----
 2 files changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f9591d9f/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogXmlSerializer.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogXmlSerializer.java b/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogXmlSerializer.java
index 855a753..3cf686e 100644
--- a/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogXmlSerializer.java
+++ b/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogXmlSerializer.java
@@ -36,7 +36,8 @@ public class CatalogXmlSerializer extends XmlSerializer<Object> {
         super(DeserializingClassRenamesProvider.loadDeserializingClassRenames());
         
         xstream.addDefaultImplementation(ArrayList.class, Collection.class);
-        
+       
+        //Doesn't work well for non-standard lists, like Lists.transform results
         xstream.aliasType("list", List.class);
         xstream.aliasType("map", Map.class);
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/f9591d9f/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTags.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTags.java b/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTags.java
index e8d7915..a08eb56 100644
--- a/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTags.java
+++ b/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTags.java
@@ -19,6 +19,7 @@
 package org.apache.brooklyn.core.mgmt;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.codehaus.jackson.annotate.JsonIgnore;
@@ -85,11 +86,17 @@ public class BrooklynTags {
 
     public static class TraitsTag extends ListTag<String> {
         public TraitsTag(List<Class<?>> interfaces) {
-            super(Lists.transform(interfaces, new Function<Class<?>, String>() {
-                @Override public String apply(Class<?> input) {
-                    return input.getName();
-                }
-            }));
+            // The transformed list is a view, meaning that it references
+            // the instances list. This means that it will serialize 
+            // the list of classes along with the anonymous function which
+            // is not what we want. Force eager evaluation instead, using
+            // a simple list, supported by {@link CatalogXmlSerializer}.
+            super(new ArrayList<String>(
+                Lists.transform(interfaces, new Function<Class<?>, String>() {
+                    @Override public String apply(Class<?> input) {
+                        return input.getName();
+                    }
+                })));
         }
 
         @JsonProperty("traits")


[2/3] incubator-brooklyn git commit: Test catalog item tags serialization

Posted by al...@apache.org.
Test catalog item tags serialization


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

Branch: refs/heads/master
Commit: 9c64872fa2e204c8091cf1d7fefa90403747595c
Parents: f9591d9
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Thu Jan 14 17:17:25 2016 +0200
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Thu Jan 14 17:17:25 2016 +0200

----------------------------------------------------------------------
 .../apache/brooklyn/core/catalog/internal/CatalogDtoTest.java   | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9c64872f/brooklyn-server/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java b/brooklyn-server/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java
index dc3662c..228c922 100644
--- a/brooklyn-server/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java
+++ b/brooklyn-server/core/src/test/java/org/apache/brooklyn/core/catalog/internal/CatalogDtoTest.java
@@ -39,12 +39,14 @@ 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.entity.Entities;
+import org.apache.brooklyn.core.mgmt.BrooklynTags;
 import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
 import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
 import org.apache.brooklyn.core.test.entity.TestApplication;
 import org.apache.brooklyn.core.test.entity.TestEntity;
 import org.apache.brooklyn.util.core.BrooklynMavenArtifacts;
 import org.apache.brooklyn.util.maven.MavenRetriever;
+import org.apache.commons.lang3.ClassUtils;
 
 import com.google.common.collect.ImmutableList;
 
@@ -111,6 +113,9 @@ public class CatalogDtoTest {
         testEntitiesJavaCatalog.addEntry(CatalogItemBuilder.newTemplate(TestApplication.class.getCanonicalName(), BasicBrooklynCatalog.NO_VERSION)
                 .displayName("Test App from JAR")
                 .javaType(TestApplication.class.getCanonicalName())
+                .tag(BrooklynTags.newNotesTag("Some notes for catalog testing"))
+                .tag(BrooklynTags.newYamlSpecTag("This is the spec for a test catalog item"))
+                .tag(BrooklynTags.newTraitsTag(ClassUtils.getAllInterfaces(TestApplication.class)))
                 .build());
         testEntitiesJavaCatalog.addEntry(CatalogItemBuilder.newEntity(TestEntity.class.getCanonicalName(), BasicBrooklynCatalog.NO_VERSION)
                 .displayName("Test Entity from JAR")


[3/3] incubator-brooklyn git commit: This closes #1147

Posted by al...@apache.org.
This closes #1147


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

Branch: refs/heads/master
Commit: a2fde1af6da656e3b81ab31e61e35d445c201f76
Parents: e2392c3 9c64872
Author: Aled Sage <al...@gmail.com>
Authored: Thu Jan 14 16:44:57 2016 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Jan 14 16:44:57 2016 +0000

----------------------------------------------------------------------
 .../catalog/internal/CatalogXmlSerializer.java     |  3 ++-
 .../apache/brooklyn/core/mgmt/BrooklynTags.java    | 17 ++++++++++++-----
 .../core/catalog/internal/CatalogDtoTest.java      |  5 +++++
 3 files changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------