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 2017/10/03 14:24:08 UTC

[31/35] brooklyn-server git commit: steps toward bringing FeedSupport in line with other AdjunctSupport classes

steps toward bringing FeedSupport in line with other AdjunctSupport classes

deprecating more methods which need to change or should go

will need to add FeedSpec in future to bring it fully in line


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

Branch: refs/heads/master
Commit: dd4f05e04efc1bbfa70d024f6ad4191017291e5f
Parents: e016053
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Oct 3 09:50:39 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Oct 3 09:50:39 2017 +0100

----------------------------------------------------------------------
 .../org/apache/brooklyn/api/entity/Entity.java  |  3 ++
 .../brooklyn/core/entity/AbstractEntity.java    | 29 ++++++++++++++++----
 .../brooklyn/core/entity/EntityInternal.java    | 14 ++++------
 .../apache/brooklyn/core/feed/AbstractFeed.java |  2 +-
 .../core/entity/EntityConcurrencyTest.java      |  2 +-
 .../launcher/CleanOrphanedAdjunctsTest.java     |  6 ++--
 6 files changed, 39 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dd4f05e0/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java b/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
index da9169e..bbee0ad 100644
--- a/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
+++ b/api/src/main/java/org/apache/brooklyn/api/entity/Entity.java
@@ -286,7 +286,10 @@ public interface Entity extends BrooklynObject {
     
     /**
      * Adds the given feed to this entity. Also calls feed.setEntity if available.
+     * 
+     * @deprecated since 0.13.0; see {@link FeedSupport#add(Feed)}
      */
+    @Deprecated
     <T extends Feed> T addFeed(T feed);
     
     SensorSupport sensors();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dd4f05e0/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
index d221c16..bd7df06 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/AbstractEntity.java
@@ -1871,7 +1871,8 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
      */
     @Override
     public <T extends Feed> T addFeed(T feed) {
-        return feeds().add(feed);
+        feeds().add(feed);
+        return feed;
     }
 
     @Override
@@ -1896,8 +1897,9 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
         public <T extends Feed> T add(T feed) {
             return addFeed(feed);
         }
-
-        @Override
+        
+        /** @deprecated since 0.13.0 use {@link #add(Feed)} */
+        @Deprecated
         public <T extends Feed> T addFeed(T feed) {
             Feed old = findApparentlyEqualAndWarnIfNotSameUniqueTag(feedsInternal, feed);
             if (old != null) {
@@ -1921,7 +1923,7 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
             getManagementContext().getRebindManager().getChangeListener().onManaged(feed);
             getManagementSupport().getEntityChangeListener().onFeedAdded(feed);
             // TODO Could add equivalent of AbstractEntity.POLICY_ADDED for feeds; no use-case for that yet
-
+            
             return feed;
         }
 
@@ -1930,7 +1932,8 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
             return removeFeed(feed);
         }
 
-        @Override
+        /** @deprecated since 0.13.0 use {@link #remove(Feed)} */
+        @Deprecated
         public boolean removeFeed(Feed feed) {
             feed.stop();
             boolean changed = feedsInternal.remove(feed);
@@ -1960,6 +1963,22 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E
         public Iterator<Feed> iterator() {
             return getFeeds().iterator();
         }
+
+        // TODO add these back when we implement AdjunctSupport (after 0.13.0)
+//        @Override
+//        public int size() {
+//            return getFeeds().size();
+//        }
+//
+//        @Override
+//        public boolean isEmpty() {
+//            return getFeeds().isEmpty();
+//        }
+//
+//        @Override
+//        public List<Feed> asList() {
+//            return ImmutableList.copyOf(getFeeds());
+//        }
     }
     
     // -------- SENSORS --------------------

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dd4f05e0/core/src/main/java/org/apache/brooklyn/core/entity/EntityInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/EntityInternal.java b/core/src/main/java/org/apache/brooklyn/core/entity/EntityInternal.java
index 7377f38..46d10ab 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/EntityInternal.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/EntityInternal.java
@@ -189,29 +189,27 @@ public interface EntityInternal extends BrooklynObjectInternal, EntityLocal, Reb
         void remove(AttributeSensor<?> attribute);
     }
 
+    // TODO extend AdjunctSupport<Feed>, after 0.13.0
     public interface FeedSupport extends Iterable<Feed> {
 
         Collection<Feed> getFeeds();
 
         /**
          * Adds the given feed to this entity. The feed will automatically be re-added on brooklyn restart.
+         * 
+         * @deprecated since 0.13.0 will change to return type 'void', for consistency with other {@link AdjunctSupport}
          */
-        <T extends Feed> T add(T feed);
-
-        /** @deprecated since 0.10.0; use {@link #add()} */
         @Deprecated
-        <T extends Feed> T addFeed(T feed);
+//        @Override
+        <T extends Feed> T add(T feed);
 
         /**
          * Removes the given feed from this entity. 
          * @return True if the feed existed at this entity; false otherwise
          */
+//        @Override
         boolean remove(Feed feed);
 
-        /** @deprecated since 0.10.0; use {@link #remove()} */
-        @Deprecated
-        boolean removeFeed(Feed feed);
-
         /**
          * Removes all feeds from this entity.
          * Use with caution as some entities automatically register feeds; this will remove those feeds as well.

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dd4f05e0/core/src/main/java/org/apache/brooklyn/core/feed/AbstractFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/feed/AbstractFeed.java b/core/src/main/java/org/apache/brooklyn/core/feed/AbstractFeed.java
index 84165ea..316d269 100644
--- a/core/src/main/java/org/apache/brooklyn/core/feed/AbstractFeed.java
+++ b/core/src/main/java/org/apache/brooklyn/core/feed/AbstractFeed.java
@@ -62,7 +62,7 @@ public abstract class AbstractFeed extends AbstractEntityAdjunct implements Feed
     public void setEntity(EntityLocal entity) {
         super.setEntity(entity);
         if (BrooklynFeatureEnablement.isEnabled(BrooklynFeatureEnablement.FEATURE_FEED_REGISTRATION_PROPERTY)) {
-            ((EntityInternal)entity).feeds().addFeed(this);
+            ((EntityInternal)entity).feeds().add(this);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dd4f05e0/core/src/test/java/org/apache/brooklyn/core/entity/EntityConcurrencyTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/EntityConcurrencyTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/EntityConcurrencyTest.java
index f606226..a4a77c0 100644
--- a/core/src/test/java/org/apache/brooklyn/core/entity/EntityConcurrencyTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/entity/EntityConcurrencyTest.java
@@ -261,7 +261,7 @@ public class EntityConcurrencyTest extends BrooklynAppUnitTestSupport {
         for (int i = 0; i < NUM_TASKS; i++) {
             ListenableFuture<?> future = executor.submit(new Runnable() {
                 @Override public void run() {
-                    entity.feeds().addFeed(new MyFeed());
+                    entity.feeds().add(new MyFeed());
                 }});
             futures.add(future);
         }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/dd4f05e0/launcher/src/test/java/org/apache/brooklyn/launcher/CleanOrphanedAdjunctsTest.java
----------------------------------------------------------------------
diff --git a/launcher/src/test/java/org/apache/brooklyn/launcher/CleanOrphanedAdjunctsTest.java b/launcher/src/test/java/org/apache/brooklyn/launcher/CleanOrphanedAdjunctsTest.java
index f9e772a..b8f8fef 100644
--- a/launcher/src/test/java/org/apache/brooklyn/launcher/CleanOrphanedAdjunctsTest.java
+++ b/launcher/src/test/java/org/apache/brooklyn/launcher/CleanOrphanedAdjunctsTest.java
@@ -54,7 +54,8 @@ public class CleanOrphanedAdjunctsTest extends AbstractCleanOrphanedStateTest {
     @Test
     public void testDeletesOrphanedFeeds() throws Exception {
         EntityInternal entity = origApp.addChild(EntitySpec.create(TestEntity.class).impl(MyEntity.class));
-        Feed feed = entity.feeds().add(new MyFeed());
+        Feed feed = new MyFeed();
+        entity.feeds().add(feed);
         MementoTweaker tweaker = new MementoTweaker(new Deletions().entities(entity.getId()));
         assertTransformDeletes(new Deletions().feeds(feed.getId()), tweaker);
     }
@@ -63,7 +64,8 @@ public class CleanOrphanedAdjunctsTest extends AbstractCleanOrphanedStateTest {
     public void testKeepsReachableAdjuncts() throws Exception {
         MyPolicy policy = origApp.policies().add(PolicySpec.create(MyPolicy.class));
         MyEnricher enricher = origApp.enrichers().add(EnricherSpec.create(MyEnricher.class));
-        Feed feed = origApp.feeds().add(new MyFeed());
+        Feed feed = new MyFeed();
+        origApp.feeds().add(feed);
         
         // Double-check we have the state we expected for the assertions that it is unmodified!
         BrooklynMementoRawData origData = getRawData();