You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/04/28 10:32:07 UTC
[06/13] brooklyn-server git commit: Merge branch 'master' into
persist-osgi-bundles
Merge branch 'master' into persist-osgi-bundles
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/340e036d
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/340e036d
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/340e036d
Branch: refs/heads/master
Commit: 340e036d78ed3c55317c5d38bf3d2cc9791d6b0b
Parents: abd0cb8 b08c482
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Sat Apr 22 00:05:32 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Sat Apr 22 00:05:32 2017 +0100
----------------------------------------------------------------------
.../internal/AbstractBrooklynObjectSpec.java | 211 ++++++++++----
.../mementos/BrooklynMementoManifest.java | 36 +--
.../api/mgmt/rebind/mementos/Memento.java | 33 ++-
.../brooklyn/api/objs/BrooklynObject.java | 19 ++
.../brooklyn/spi/creation/CampResolver.java | 2 +-
.../brooklyn/camp/brooklyn/RebindOsgiTest.java | 54 ++++
.../catalog/CatalogOsgiYamlEntityTest.java | 59 +++-
.../brooklyn/catalog/CatalogYamlEntityTest.java | 79 +++---
.../brooklyn/catalog/CatalogYamlRebindTest.java | 273 +++++++++----------
.../src/test/yaml/python-webserver.bom | 98 +++++++
.../core/catalog/internal/CatalogItemDo.java | 21 ++
.../internal/CatalogItemDtoAbstract.java | 5 +-
.../core/catalog/internal/CatalogUtils.java | 26 +-
.../internal/JavaCatalogToSpecTransformer.java | 8 +-
.../apache/brooklyn/core/entity/Entities.java | 9 +
.../access/PortForwardManagerClient.java | 6 +
.../core/mgmt/EntityManagementUtils.java | 7 +-
.../BrooklynClassLoadingContextSequential.java | 7 +-
.../internal/AbstractManagementContext.java | 17 +-
.../BrooklynMementoPersisterToObjectStore.java | 61 +++--
.../core/mgmt/rebind/RebindIteration.java | 233 ++++++++++------
.../core/mgmt/rebind/dto/AbstractMemento.java | 30 +-
.../rebind/dto/BrooklynMementoManifestImpl.java | 5 +-
.../rebind/dto/EntityMementoManifestImpl.java | 13 +-
.../mgmt/rebind/dto/MementosGenerators.java | 5 +-
.../rebind/transformer/CompoundTransformer.java | 30 +-
.../core/objs/AbstractBrooklynObject.java | 60 +++-
.../core/objs/AbstractEntityAdjunct.java | 8 +-
.../core/objs/BrooklynObjectInternal.java | 9 +
.../core/objs/proxy/InternalEntityFactory.java | 14 +-
.../objs/proxy/InternalLocationFactory.java | 13 +-
.../core/objs/proxy/InternalPolicyFactory.java | 24 +-
.../resolve/entity/JavaEntitySpecResolver.java | 2 +-
.../typereg/AbstractTypePlanTransformer.java | 3 +-
.../brooklyn/util/core/ClassLoaderUtils.java | 40 ++-
.../brooklyn/util/core/xstream/XmlUtil.java | 26 +-
.../core/mgmt/osgi/OsgiStandaloneTest.java | 2 +
.../rebind/RebindConfigInheritanceTest.java | 2 +-
.../util/core/ClassLoaderUtilsTest.java | 3 +-
.../brooklyn/util/osgi/OsgiTestResources.java | 2 +
40 files changed, 1082 insertions(+), 473 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoManifest.java
----------------------------------------------------------------------
diff --cc api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoManifest.java
index 97fd91a,fa56d1d..41ca61e
--- a/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoManifest.java
+++ b/api/src/main/java/org/apache/brooklyn/api/mgmt/rebind/mementos/BrooklynMementoManifest.java
@@@ -32,33 -33,31 +33,34 @@@ import org.apache.brooklyn.api.objs.Ide
public interface BrooklynMementoManifest extends Serializable {
public interface EntityMementoManifest extends Identifiable{
@Override
- public String getId();
- public String getType();
- public String getParent();
- public String getCatalogItemId();
+ String getId();
+ String getType();
+ String getParent();
+ String getCatalogItemId();
+ List<String> getCatalogItemIdSearchPath();
}
- public String getPlaneId();
+ String getPlaneId();
- public Map<String, EntityMementoManifest> getEntityIdToManifest();
+ Map<String, EntityMementoManifest> getEntityIdToManifest();
- public Map<String, String> getLocationIdToType();
+ Map<String, String> getLocationIdToType();
- public Map<String, String> getPolicyIdToType();
+ Map<String, String> getPolicyIdToType();
- public Map<String, String> getEnricherIdToType();
+ Map<String, String> getEnricherIdToType();
- public Map<String, String> getFeedIdToType();
+ Map<String, String> getFeedIdToType();
- public CatalogItemMemento getCatalogItemMemento(String id);
- public Collection<String> getCatalogItemIds();
- public Map<String, CatalogItemMemento> getCatalogItemMementos();
+ CatalogItemMemento getCatalogItemMemento(String id);
-
+ Collection<String> getCatalogItemIds();
-
+ Map<String, CatalogItemMemento> getCatalogItemMementos();
- public ManagedBundleMemento getBundle(String id);
++ ManagedBundleMemento getBundle(String id);
+ /** returns UID not symbolic name + version */
- public Collection<String> getBundleIds();
- public Map<String, ManagedBundleMemento> getBundles();
++ Collection<String> getBundleIds();
++ Map<String, ManagedBundleMemento> getBundles();
+
- public boolean isEmpty();
+ boolean isEmpty();
}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
index 2c76520,e8bb23b..4e4fcb0
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java
@@@ -29,9 -29,10 +29,10 @@@ import org.apache.brooklyn.api.mgmt.Man
import org.apache.brooklyn.api.policy.Policy;
import org.apache.brooklyn.api.policy.PolicySpec;
import org.apache.brooklyn.api.typereg.RegisteredType;
+ import org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential;
import org.apache.brooklyn.core.objs.BasicSpecParameter;
-import org.apache.brooklyn.core.plan.PlanNotRecognizedException;
import org.apache.brooklyn.core.plan.PlanToSpecTransformer;
+import org.apache.brooklyn.core.typereg.UnsupportedTypePlanException;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterToObjectStore.java
index 142bcbc,2e0b8bf..7707adb
--- 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
@@@ -55,14 -53,14 +56,16 @@@ import org.apache.brooklyn.config.Confi
import org.apache.brooklyn.config.StringConfigMap;
import org.apache.brooklyn.core.catalog.internal.CatalogUtils;
import org.apache.brooklyn.core.config.ConfigKeys;
+ import org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential;
import org.apache.brooklyn.core.mgmt.classloading.ClassLoaderFromBrooklynClassLoadingContext;
+import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
import org.apache.brooklyn.core.mgmt.persist.PersistenceObjectStore.StoreObjectAccessor;
import org.apache.brooklyn.core.mgmt.persist.PersistenceObjectStore.StoreObjectAccessorWithLock;
import org.apache.brooklyn.core.mgmt.rebind.PeriodicDeltaChangeListener;
import org.apache.brooklyn.core.mgmt.rebind.dto.BrooklynMementoImpl;
import org.apache.brooklyn.core.mgmt.rebind.dto.BrooklynMementoManifestImpl;
+import org.apache.brooklyn.core.typereg.BasicManagedBundle;
+ import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.collections.MutableSet;
import org.apache.brooklyn.util.core.xstream.XmlUtil;
@@@ -354,9 -335,36 +364,35 @@@ public class BrooklynMementoPersisterTo
return result;
}
+ private static class XPathHelper {
+ private String contents;
+ private String prefix;
+
+ public XPathHelper(String contents, String prefix) {
+ this.contents = contents;
+ this.prefix = prefix;
+ }
+
+ private String get(String innerPath) {
+ return (String) XmlUtil.xpathHandlingIllegalChars(contents, prefix+innerPath);
+ }
+ private List<String> getStringList(String innerPath) {
+ List<String> result = MutableList.of();
+ final NodeList nodeList =
+ (NodeList) XmlUtil.xpathHandlingIllegalChars(contents, prefix + innerPath + "//string", XPathConstants.NODESET);
+ for(int c = 0 ; c < nodeList.getLength() ; c++) {
+ result.add(nodeList.item(c).getFirstChild().getNodeValue());
+ }
+ return result;
+ }
+ }
+
+
@Override
- public BrooklynMementoManifest loadMementoManifest(BrooklynMementoRawData mementoDataR, final RebindExceptionHandler exceptionHandler) throws IOException {
- public BrooklynMementoManifest loadMementoManifest(BrooklynMementoRawData mementoData,
++ public BrooklynMementoManifest loadMementoManifest(BrooklynMementoRawData mementoDataR,
+ final RebindExceptionHandler exceptionHandler) throws IOException {
- if (mementoData==null)
- mementoData = loadMementoRawData(exceptionHandler);
+ final BrooklynMementoRawData mementoData = mementoDataR==null ? loadMementoRawData(exceptionHandler) : mementoDataR;
+
final BrooklynMementoManifestImpl.Builder builder = BrooklynMementoManifestImpl.builder();
builder.planeId(mementoData.getPlaneId());
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
index 92a87a7,ad12c52..5ed1dd5
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
@@@ -19,9 -19,11 +19,12 @@@
package org.apache.brooklyn.core.mgmt.rebind;
import static com.google.common.base.Preconditions.checkNotNull;
+ import static org.apache.brooklyn.core.BrooklynFeatureEnablement.FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND;
+ import static org.apache.brooklyn.core.BrooklynFeatureEnablement.FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND;
+ import static org.apache.brooklyn.core.catalog.internal.CatalogUtils.newClassLoadingContextForCatalogItems;
import java.io.IOException;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/AbstractMemento.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BrooklynMementoManifestImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MementosGenerators.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/transformer/CompoundTransformer.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/340e036d/utils/common/src/test/java/org/apache/brooklyn/util/osgi/OsgiTestResources.java
----------------------------------------------------------------------