Closes #645 Persist OSGi bundles
This works to persist bundles and is ready for review. However it has conflicts and needs to be reconciled with #338 -- both coming soon. Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/ce5ee7b8 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/ce5ee7b8 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/ce5ee7b8 Branch: refs/heads/master Commit: ce5ee7b866494f148d1f4af9a0c157882c9c11e9 Parents: d09b58f 6938922 Author: Geoff Macartney <[email protected]> Authored: Fri Apr 28 11:31:50 2017 +0100 Committer: Geoff Macartney <[email protected]> Committed: Fri Apr 28 11:31:50 2017 +0100 ---------------------------------------------------------------------- .../org/apache/brooklyn/api/entity/Entity.java | 8 +- .../brooklyn/api/mgmt/ManagementContext.java | 23 +-- .../api/mgmt/rebind/RebindExceptionHandler.java | 8 +- .../mgmt/rebind/mementos/BrooklynMemento.java | 3 + .../mementos/BrooklynMementoManifest.java | 7 +- .../mementos/BrooklynMementoPersister.java | 4 + .../rebind/mementos/BrooklynMementoRawData.java | 38 +++- .../rebind/mementos/CatalogItemMemento.java | 1 + .../rebind/mementos/ManagedBundleMemento.java | 33 ++++ .../brooklyn/api/objs/BrooklynObjectType.java | 4 +- .../api/typereg/BrooklynTypeRegistry.java | 2 +- .../brooklyn/api/typereg/ManagedBundle.java | 32 ++++ .../brooklyn/api/typereg/OsgiBundleWithUrl.java | 2 +- .../spi/creation/CampToSpecTransformer.java | 8 +- .../camp/brooklyn/AbstractYamlRebindTest.java | 13 ++ .../catalog/CatalogMakeOsgiBundleTest.java | 13 +- .../CatalogOsgiVersionMoreEntityRebindTest.java | 33 +++- .../CatalogOsgiVersionMoreEntityTest.java | 30 +++- .../catalog/CatalogYamlTemplateTest.java | 3 +- .../core/BrooklynFeatureEnablement.java | 4 + .../internal/JavaCatalogToSpecTransformer.java | 10 +- .../brooklyn/core/entity/AbstractEntity.java | 8 +- .../mgmt/ha/HighAvailabilityManagerImpl.java | 26 +-- .../brooklyn/core/mgmt/ha/OsgiManager.java | 155 +++++++++++++--- .../internal/AbstractManagementContext.java | 2 +- .../mgmt/internal/LocalManagementContext.java | 11 +- .../NonDeploymentManagementContext.java | 5 +- .../BrooklynMementoPersisterToObjectStore.java | 123 +++++++++++-- .../mgmt/persist/BrooklynPersistenceUtils.java | 34 ++-- .../persist/FileBasedStoreObjectAccessor.java | 16 +- .../mgmt/persist/PersistenceObjectStore.java | 2 + .../persist/StoreObjectAccessorLocking.java | 24 +++ .../core/mgmt/persist/XmlMementoSerializer.java | 5 +- .../AbstractBrooklynObjectRebindSupport.java | 1 - .../rebind/ActivePartialRebindIteration.java | 19 +- .../rebind/BasicManagedBundleRebindSupport.java | 41 +++++ .../rebind/ImmediateDeltaChangeListener.java | 10 +- .../rebind/PeriodicDeltaChangeListener.java | 33 ++-- .../core/mgmt/rebind/PersisterDeltaImpl.java | 21 ++- .../core/mgmt/rebind/RebindContextImpl.java | 23 ++- .../mgmt/rebind/RebindContextLookupContext.java | 13 ++ .../mgmt/rebind/RebindExceptionHandlerImpl.java | 16 +- .../core/mgmt/rebind/RebindIteration.java | 37 +++- .../core/mgmt/rebind/RebindManagerImpl.java | 4 +- .../core/mgmt/rebind/dto/AbstractMemento.java | 6 +- .../rebind/dto/AbstractTreeNodeMemento.java | 4 +- .../rebind/dto/BasicCatalogItemMemento.java | 4 +- .../mgmt/rebind/dto/BasicEnricherMemento.java | 4 +- .../mgmt/rebind/dto/BasicEntityMemento.java | 4 +- .../core/mgmt/rebind/dto/BasicFeedMemento.java | 4 +- .../mgmt/rebind/dto/BasicLocationMemento.java | 4 +- .../rebind/dto/BasicManagedBundleMemento.java | 135 ++++++++++++++ .../mgmt/rebind/dto/BasicPolicyMemento.java | 4 +- .../mgmt/rebind/dto/BrooklynMementoImpl.java | 25 ++- .../rebind/dto/BrooklynMementoManifestImpl.java | 33 +++- .../mgmt/rebind/dto/MementosGenerators.java | 13 ++ .../mgmt/rebind/dto/MutableBrooklynMemento.java | 27 +++ .../rebind/transformer/CompoundTransformer.java | 15 ++ .../brooklyn/core/plan/PlanToSpecFactory.java | 6 +- .../core/plan/PlanToSpecTransformer.java | 9 +- .../core/typereg/BasicBrooklynTypeRegistry.java | 4 + .../core/typereg/BasicManagedBundle.java | 175 +++++++++++++++++++ .../core/typereg/BasicOsgiBundleWithUrl.java | 13 +- .../core/typereg/TypePlanTransformers.java | 6 +- .../brooklyn/util/core/osgi/BundleMaker.java | 7 +- .../HighAvailabilityManagerSplitBrainTest.java | 6 +- .../ha/HighAvailabilityManagerTestFixture.java | 2 +- .../brooklyn/core/mgmt/ha/HotStandbyTest.java | 4 +- .../brooklyn/core/mgmt/ha/WarmStandbyTest.java | 4 +- .../mgmt/osgi/OsgiVersionMoreEntityTest.java | 16 +- .../BrooklynMementoPersisterTestFixture.java | 4 +- .../core/mgmt/persist/InMemoryObjectStore.java | 47 +++-- .../core/mgmt/persist/ListeningObjectStore.java | 18 ++ .../mgmt/persist/XmlMementoSerializerTest.java | 122 +++++++------ .../core/mgmt/rebind/ManagementPlaneIdTest.java | 22 +-- .../core/mgmt/rebind/RebindTestFixture.java | 3 +- .../core/mgmt/rebind/RebindTestUtils.java | 8 +- .../rebind/RecordingRebindExceptionHandler.java | 2 +- .../transformer/CompoundTransformerTest.java | 6 +- .../core/plan/XmlPlanToSpecTransformer.java | 7 +- .../util/core/osgi/BundleMakerTest.java | 3 +- .../brooklyn/launcher/common/BasicLauncher.java | 4 +- .../AbstractCleanOrphanedStateTest.java | 1 + .../CleanOrphanedLocationsIntegrationTest.java | 4 +- .../jclouds/JcloudsStoreObjectAccessor.java | 19 +- .../apache/brooklyn/rest/api/CatalogApi.java | 1 + .../rest/resources/CatalogResource.java | 48 ++--- .../apache/brooklyn/util/stream/Streams.java | 11 ++ .../brooklyn/util/text/StringShortener.java | 6 +- .../brooklyn/util/osgi/OsgiTestResources.java | 11 +- .../brooklyn/util/text/StringShortenerTest.java | 2 +- .../brooklyn-test-osgi-com-example-entities.jar | Bin 22144 -> 22130 bytes .../osgi/brooklyn-test-osgi-entities.jar | Bin 22075 -> 22067 bytes .../brooklyn-test-osgi-more-entities_0.1.0.jar | Bin 16004 -> 15997 bytes .../brooklyn-test-osgi-more-entities_0.2.0.jar | Bin 16906 -> 16903 bytes ...-test-osgi-more-entities_evil-twin_0.2.0.jar | Bin 13811 -> 14091 bytes 96 files changed, 1401 insertions(+), 390 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/ce5ee7b8/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/CatalogResource.java ----------------------------------------------------------------------
