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 2014/07/03 11:42:16 UTC

[6/6] git commit: add back error handling, and misc minor code review comments.

add back error handling, and misc minor code review comments.

This closes #34. And this closes #35.


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

Branch: refs/heads/master
Commit: abf21bdc49088d2df8d1f4cd34735a983f2ac7c0
Parents: fdbacdf
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Thu Jul 3 10:18:05 2014 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Thu Jul 3 10:41:43 2014 +0100

----------------------------------------------------------------------
 .../entity/rebind/BasicEntityRebindSupport.java | 12 ++++++--
 .../BrooklynMementoPersisterToObjectStore.java  |  1 -
 .../internal/BrooklynFeatureEnablement.java     |  6 ++--
 .../entity/rebind/RebindTestFixture.java        | 31 +++++++-------------
 4 files changed, 23 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/abf21bdc/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
index 50fc396..f154474 100644
--- a/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
+++ b/core/src/main/java/brooklyn/entity/rebind/BasicEntityRebindSupport.java
@@ -101,7 +101,11 @@ public class BasicEntityRebindSupport implements RebindSupport<EntityMemento> {
         for (String policyId : memento.getPolicies()) {
             AbstractPolicy policy = (AbstractPolicy) rebindContext.getPolicy(policyId);
             if (policy != null) {
-                entity.addPolicy(policy);
+                try {
+                    entity.addPolicy(policy);
+                } catch (Exception e) {
+                    rebindContext.getExceptionHandler().onAddPolicyFailed(entity, policy, e);
+                }
             } else {
                 LOG.warn("Policy not found; discarding policy {} of entity {}({})",
                         new Object[] {policyId, memento.getType(), memento.getId()});
@@ -114,7 +118,11 @@ public class BasicEntityRebindSupport implements RebindSupport<EntityMemento> {
         for (String enricherId : memento.getEnrichers()) {
             AbstractEnricher enricher = (AbstractEnricher) rebindContext.getEnricher(enricherId);
             if (enricher != null) {
-                entity.addEnricher(enricher);
+                try {
+                    entity.addEnricher(enricher);
+                } catch (Exception e) {
+                    rebindContext.getExceptionHandler().onAddEnricherFailed(entity, enricher, e);
+                }
             } else {
                 LOG.warn("Enricher not found; discarding enricher {} of entity {}({})",
                         new Object[] {enricherId, memento.getType(), memento.getId()});

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/abf21bdc/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
index 8a2b549..8746cc0 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
@@ -50,7 +50,6 @@ public class BrooklynMementoPersisterToObjectStore implements BrooklynMementoPer
     private volatile boolean running = true;
 
 
-    // FIXME Delete
     public BrooklynMementoPersisterToObjectStore(PersistenceObjectStore objectStore, ClassLoader classLoader) {
         this.objectStore = checkNotNull(objectStore, "objectStore");
         MementoSerializer<Object> rawSerializer = new XmlMementoSerializer<Object>(classLoader);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/abf21bdc/core/src/main/java/brooklyn/internal/BrooklynFeatureEnablement.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/internal/BrooklynFeatureEnablement.java b/core/src/main/java/brooklyn/internal/BrooklynFeatureEnablement.java
index a0a520d..8838b46 100644
--- a/core/src/main/java/brooklyn/internal/BrooklynFeatureEnablement.java
+++ b/core/src/main/java/brooklyn/internal/BrooklynFeatureEnablement.java
@@ -24,9 +24,9 @@ public class BrooklynFeatureEnablement {
     
     static {
         // Idea is here one can put experimental features that are *enabled* by default, but 
-        // that can be turned off via system properties. One might want to do that because
-        // the feature is deemed risky!
-        //   e.g. setDefault(ENABLE_POLICY_PERSISTENCE_PROPERTY, true);
+        // that can be turned off via system properties, or vice versa.
+        // Typically this is useful where a feature is deemed risky!
+        
         setDefault(FEATURE_POLICY_PERSISTENCE_PROPERTY, true);
         setDefault(FEATURE_ENRICHER_PERSISTENCE_PROPERTY, true);
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/abf21bdc/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
index 89ac7a1..3b1992d 100644
--- a/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
+++ b/core/src/test/java/brooklyn/entity/rebind/RebindTestFixture.java
@@ -35,14 +35,8 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
     protected T newApp;
     protected ManagementContext newManagementContext;
 
-    private boolean origPolicyPersistenceEnabled;
-    private boolean origEnricherPersistenceEnabled;
-    
     @BeforeMethod(alwaysRun=true)
     public void setUp() throws Exception {
-        origPolicyPersistenceEnabled = BrooklynFeatureEnablement.enable(BrooklynFeatureEnablement.FEATURE_POLICY_PERSISTENCE_PROPERTY);
-        origEnricherPersistenceEnabled = BrooklynFeatureEnablement.enable(BrooklynFeatureEnablement.FEATURE_ENRICHER_PERSISTENCE_PROPERTY);
-        
         mementoDir = Os.newTempDir(getClass());
         origManagementContext = RebindTestUtils.newPersistingManagementContext(mementoDir, classLoader, getPersistPeriodMillis());
         origApp = createApp();
@@ -59,21 +53,16 @@ public abstract class RebindTestFixture<T extends StartableApplication> {
 
     @AfterMethod(alwaysRun=true)
     public void tearDown() throws Exception {
-        try {
-            if (origApp != null) Entities.destroyAll(origApp.getManagementContext());
-            if (newApp != null) Entities.destroyAll(newApp.getManagementContext());
-            if (newManagementContext != null) Entities.destroyAll(newManagementContext);
-            origApp = null;
-            newApp = null;
-            newManagementContext = null;
-    
-            if (origManagementContext != null) Entities.destroyAll(origManagementContext);
-            if (mementoDir != null) FileBasedObjectStore.deleteCompletely(mementoDir);
-            origManagementContext = null;
-        } finally {
-            BrooklynFeatureEnablement.setEnablement(BrooklynFeatureEnablement.FEATURE_POLICY_PERSISTENCE_PROPERTY, origPolicyPersistenceEnabled);
-            BrooklynFeatureEnablement.setEnablement(BrooklynFeatureEnablement.FEATURE_ENRICHER_PERSISTENCE_PROPERTY, origEnricherPersistenceEnabled);
-        }
+        if (origApp != null) Entities.destroyAll(origApp.getManagementContext());
+        if (newApp != null) Entities.destroyAll(newApp.getManagementContext());
+        if (newManagementContext != null) Entities.destroyAll(newManagementContext);
+        origApp = null;
+        newApp = null;
+        newManagementContext = null;
+
+        if (origManagementContext != null) Entities.destroyAll(origManagementContext);
+        if (mementoDir != null) FileBasedObjectStore.deleteCompletely(mementoDir);
+        origManagementContext = null;
     }
 
     /** rebinds, and sets newApp */