Move `newBrooklynMemento` to RebindTestUtils Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/4dac225b Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/4dac225b Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/4dac225b
Branch: refs/heads/master Commit: 4dac225ba633468cf3a362ad6dcc1bdf20eca103 Parents: 846314a Author: Aled Sage <[email protected]> Authored: Thu May 18 16:14:31 2017 +0100 Committer: Aled Sage <[email protected]> Committed: Fri May 19 10:47:26 2017 +0100 ---------------------------------------------------------------------- .../mgmt/rebind/dto/BrooklynMementoImpl.java | 3 ++ .../mgmt/rebind/dto/MementosGenerators.java | 39 -------------------- .../core/mgmt/rebind/RebindTestUtils.java | 33 +++++++++++++++-- 3 files changed, 33 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/4dac225b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BrooklynMementoImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BrooklynMementoImpl.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BrooklynMementoImpl.java index d60c8f3..68a3392 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BrooklynMementoImpl.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BrooklynMementoImpl.java @@ -74,6 +74,9 @@ public class BrooklynMementoImpl implements BrooklynMemento, Serializable { public Builder applicationIds(Collection<String> vals) { applicationIds.addAll(vals); return this; } + public Builder topLevelLocationId(String val) { + topLevelLocationIds.add(val); return this; + } public Builder topLevelLocationIds(Collection<String> vals) { topLevelLocationIds.addAll(vals); return this; } http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/4dac225b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MementosGenerators.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MementosGenerators.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MementosGenerators.java index 3a33498..d4983ca 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MementosGenerators.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MementosGenerators.java @@ -30,9 +30,7 @@ import org.apache.brooklyn.api.entity.Application; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.Group; import org.apache.brooklyn.api.location.Location; -import org.apache.brooklyn.api.mgmt.ManagementContext; import org.apache.brooklyn.api.mgmt.Task; -import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMemento; import org.apache.brooklyn.api.mgmt.rebind.mementos.CatalogItemMemento; import org.apache.brooklyn.api.mgmt.rebind.mementos.EnricherMemento; import org.apache.brooklyn.api.mgmt.rebind.mementos.EntityMemento; @@ -60,7 +58,6 @@ import org.apache.brooklyn.core.location.internal.LocationInternal; import org.apache.brooklyn.core.mgmt.persist.BrooklynPersistenceUtils; import org.apache.brooklyn.core.mgmt.persist.OsgiClassPrefixer; import org.apache.brooklyn.core.mgmt.rebind.AbstractBrooklynObjectRebindSupport; -import org.apache.brooklyn.core.mgmt.rebind.TreeUtils; import org.apache.brooklyn.core.objs.BrooklynTypes; import org.apache.brooklyn.core.policy.AbstractPolicy; import org.apache.brooklyn.util.collections.MutableMap; @@ -114,42 +111,6 @@ public class MementosGenerators { } /** - * Walks the contents of a ManagementContext, to create a corresponding memento. - * - * @deprecated since 0.7.0; will be moved to test code; generate each entity/location memento separately - */ - @Deprecated - public static BrooklynMemento newBrooklynMemento(ManagementContext managementContext) { - BrooklynMementoImpl.Builder builder = BrooklynMementoImpl.builder(); - - for (Application app : managementContext.getApplications()) { - builder.applicationIds.add(app.getId()); - } - for (Entity entity : managementContext.getEntityManager().getEntities()) { - builder.entities.put(entity.getId(), ((EntityInternal)entity).getRebindSupport().getMemento()); - - for (Location location : entity.getLocations()) { - if (!builder.locations.containsKey(location.getId())) { - for (Location locationInHierarchy : TreeUtils.findLocationsInHierarchy(location)) { - if (!builder.locations.containsKey(locationInHierarchy.getId())) { - builder.locations.put(locationInHierarchy.getId(), ((LocationInternal)locationInHierarchy).getRebindSupport().getMemento()); - } - } - } - } - } - for (LocationMemento memento : builder.locations.values()) { - if (memento.getParent() == null) { - builder.topLevelLocationIds.add(memento.getId()); - } - } - - BrooklynMemento result = builder.build(); - MementoValidators.validateMemento(result); - return result; - } - - /** * Inspects an entity to create a corresponding memento. */ private static EntityMemento newEntityMemento(Entity entityRaw) { http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/4dac225b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestUtils.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestUtils.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestUtils.java index 537ff8c..912f7ef 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestUtils.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestUtils.java @@ -40,7 +40,9 @@ 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.objs.Identifiable; +import org.apache.brooklyn.core.entity.EntityInternal; import org.apache.brooklyn.core.internal.BrooklynProperties; +import org.apache.brooklyn.core.location.internal.LocationInternal; import org.apache.brooklyn.core.mgmt.ha.ManagementPlaneSyncRecordPersisterToObjectStore; import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext; import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal; @@ -49,7 +51,8 @@ import org.apache.brooklyn.core.mgmt.persist.FileBasedObjectStore; import org.apache.brooklyn.core.mgmt.persist.PersistMode; import org.apache.brooklyn.core.mgmt.persist.PersistenceObjectStore; import org.apache.brooklyn.core.mgmt.rebind.Dumpers.Pointer; -import org.apache.brooklyn.core.mgmt.rebind.dto.MementosGenerators; +import org.apache.brooklyn.core.mgmt.rebind.dto.BrooklynMementoImpl; +import org.apache.brooklyn.core.mgmt.rebind.dto.MementoValidators; import org.apache.brooklyn.core.server.BrooklynServerConfig; import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; import org.apache.brooklyn.util.io.FileUtil; @@ -114,7 +117,7 @@ public class RebindTestUtils { } public static void checkMementoSerializable(Application app) throws Exception { - BrooklynMemento memento = MementosGenerators.newBrooklynMemento(app.getManagementContext()); + BrooklynMemento memento = newBrooklynMemento(app.getManagementContext()); checkMementoSerializable(memento); } @@ -530,7 +533,7 @@ public class RebindTestUtils { } public static void checkCurrentMementoSerializable(ManagementContext mgmt) throws Exception { - BrooklynMemento memento = MementosGenerators.newBrooklynMemento(mgmt); + BrooklynMemento memento = newBrooklynMemento(mgmt); serializeAndDeserialize(memento); } @@ -567,4 +570,28 @@ public class RebindTestUtils { mgmt.terminate(); } } + + /** + * Walks the contents of a ManagementContext, to create a corresponding memento. + */ + protected static BrooklynMemento newBrooklynMemento(ManagementContext managementContext) { + BrooklynMementoImpl.Builder builder = BrooklynMementoImpl.builder(); + + for (Application app : managementContext.getApplications()) { + builder.applicationId(app.getId()); + } + for (Entity entity : managementContext.getEntityManager().getEntities()) { + builder.entity(((EntityInternal)entity).getRebindSupport().getMemento()); + } + for (Location location : managementContext.getLocationManager().getLocations()) { + builder.location(((LocationInternal)location).getRebindSupport().getMemento()); + if (location.getParent() == null) { + builder.topLevelLocationId(location.getId()); + } + } + + BrooklynMemento result = builder.build(); + MementoValidators.validateMemento(result); + return result; + } }
