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 2015/08/20 14:39:44 UTC
[06/16] incubator-brooklyn git commit: Delete deprecated
UsageManager.UsageListener
Delete deprecated UsageManager.UsageListener
- Instead, use org.apache.brooklyn.core.mgmt.usage.UsageListener
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/1ffacc62
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/1ffacc62
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/1ffacc62
Branch: refs/heads/master
Commit: 1ffacc629fa1725121ee3d7d57f2d349d2aede4f
Parents: 147f9ec
Author: Aled Sage <al...@gmail.com>
Authored: Wed Aug 19 18:35:05 2015 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Aug 20 12:04:12 2015 +0100
----------------------------------------------------------------------
.../core/mgmt/internal/LocalUsageManager.java | 55 +++++---------
.../internal/NonDeploymentUsageManager.java | 17 +----
.../brooklyn/core/mgmt/usage/UsageManager.java | 77 ++------------------
.../usage/ApplicationUsageTrackingTest.java | 44 -----------
.../mgmt/usage/LocationUsageTrackingTest.java | 42 +----------
.../usage/RecordingLegacyUsageListener.java | 70 ------------------
.../core/mgmt/usage/RecordingUsageListener.java | 3 +-
.../test/core/mgmt/usage/UsageListenerTest.java | 39 +---------
8 files changed, 34 insertions(+), 313 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java
index ba47c02..6793bfc 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java
@@ -46,6 +46,7 @@ import org.apache.brooklyn.core.mgmt.ManagementContextInjectable;
import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
import org.apache.brooklyn.core.mgmt.usage.ApplicationUsage;
import org.apache.brooklyn.core.mgmt.usage.LocationUsage;
+import org.apache.brooklyn.core.mgmt.usage.UsageListener;
import org.apache.brooklyn.core.mgmt.usage.UsageManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -77,7 +78,7 @@ public class LocalUsageManager implements UsageManager {
private static final Logger log = LoggerFactory.getLogger(LocalUsageManager.class);
- private static class ApplicationMetadataImpl implements org.apache.brooklyn.core.mgmt.usage.UsageListener.ApplicationMetadata {
+ private static class ApplicationMetadataImpl implements UsageListener.ApplicationMetadata {
private final Application app;
private String applicationId;
private String applicationName;
@@ -113,7 +114,7 @@ public class LocalUsageManager implements UsageManager {
}
}
- private static class LocationMetadataImpl implements org.apache.brooklyn.core.mgmt.usage.UsageListener.LocationMetadata {
+ private static class LocationMetadataImpl implements UsageListener.LocationMetadata {
private final Location loc;
private String locationId;
private Map<String, String> metadata;
@@ -137,17 +138,13 @@ public class LocalUsageManager implements UsageManager {
// Register a coercion from String->UsageListener, so that USAGE_LISTENERS defined in brooklyn.properties
// will be instantiated, given their class names.
static {
- TypeCoercions.registerAdapter(String.class, org.apache.brooklyn.core.mgmt.usage.UsageListener.class, new Function<String, org.apache.brooklyn.core.mgmt.usage.UsageListener>() {
- @Override public org.apache.brooklyn.core.mgmt.usage.UsageListener apply(String input) {
+ TypeCoercions.registerAdapter(String.class, UsageListener.class, new Function<String, UsageListener>() {
+ @Override public UsageListener apply(String input) {
// TODO Want to use classLoader = mgmt.getCatalog().getRootClassLoader();
ClassLoader classLoader = LocalUsageManager.class.getClassLoader();
Optional<Object> result = Reflections.invokeConstructorWithArgs(classLoader, input);
if (result.isPresent()) {
- if (result.get() instanceof org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener) {
- return new org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener.UsageListenerAdapter((org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener) result.get());
- } else {
- return (org.apache.brooklyn.core.mgmt.usage.UsageListener) result.get();
- }
+ return (UsageListener) result.get();
} else {
throw new IllegalStateException("Failed to create UsageListener from class name '"+input+"' using no-arg constructor");
}
@@ -165,7 +162,7 @@ public class LocalUsageManager implements UsageManager {
private final Object mutex = new Object();
- private final List<org.apache.brooklyn.core.mgmt.usage.UsageListener> listeners = Lists.newCopyOnWriteArrayList();
+ private final List<UsageListener> listeners = Lists.newCopyOnWriteArrayList();
private final AtomicInteger listenerQueueSize = new AtomicInteger();
@@ -184,14 +181,12 @@ public class LocalUsageManager implements UsageManager {
if (listener instanceof ManagementContextInjectable) {
((ManagementContextInjectable)listener).injectManagementContext(managementContext);
}
- if (listener instanceof org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener) {
- addUsageListener((org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener)listener);
- } else if (listener instanceof org.apache.brooklyn.core.mgmt.usage.UsageListener) {
- addUsageListener((org.apache.brooklyn.core.mgmt.usage.UsageListener)listener);
+ if (listener instanceof UsageListener) {
+ addUsageListener((UsageListener)listener);
} else if (listener == null) {
throw new NullPointerException("null listener in config "+UsageManager.USAGE_LISTENERS);
} else {
- throw new ClassCastException("listener "+listener+" of type "+listener.getClass()+" is not of type "+org.apache.brooklyn.core.mgmt.usage.UsageListener.class.getName());
+ throw new ClassCastException("listener "+listener+" of type "+listener.getClass()+" is not of type "+UsageListener.class.getName());
}
}
}
@@ -204,7 +199,7 @@ public class LocalUsageManager implements UsageManager {
log.info("Usage manager waiting for "+listenerQueueSize+" listener events for up to "+timeout);
}
List<ListenableFuture<?>> futures = Lists.newArrayList();
- for (final org.apache.brooklyn.core.mgmt.usage.UsageListener listener : listeners) {
+ for (final UsageListener listener : listeners) {
ListenableFuture<?> future = listenerExecutor.submit(new Runnable() {
public void run() {
if (listener instanceof Closeable) {
@@ -227,8 +222,8 @@ public class LocalUsageManager implements UsageManager {
}
}
- private void execOnListeners(final Function<org.apache.brooklyn.core.mgmt.usage.UsageListener, Void> job) {
- for (final org.apache.brooklyn.core.mgmt.usage.UsageListener listener : listeners) {
+ private void execOnListeners(final Function<UsageListener, Void> job) {
+ for (final UsageListener listener : listeners) {
listenerQueueSize.incrementAndGet();
listenerExecutor.execute(new Runnable() {
public void run() {
@@ -257,8 +252,8 @@ public class LocalUsageManager implements UsageManager {
usage.addEvent(event);
eventMap.put(app.getId(), usage);
- execOnListeners(new Function<org.apache.brooklyn.core.mgmt.usage.UsageListener, Void>() {
- public Void apply(org.apache.brooklyn.core.mgmt.usage.UsageListener listener) {
+ execOnListeners(new Function<UsageListener, Void>() {
+ public Void apply(UsageListener listener) {
listener.onApplicationEvent(new ApplicationMetadataImpl(Entities.proxy(app)), event);
return null;
}
@@ -319,8 +314,8 @@ public class LocalUsageManager implements UsageManager {
usage.addEvent(event);
usageMap.put(loc.getId(), usage);
- execOnListeners(new Function<org.apache.brooklyn.core.mgmt.usage.UsageListener, Void>() {
- public Void apply(org.apache.brooklyn.core.mgmt.usage.UsageListener listener) {
+ execOnListeners(new Function<UsageListener, Void>() {
+ public Void apply(UsageListener listener) {
listener.onLocationEvent(new LocationMetadataImpl(loc), event);
return null;
}
@@ -397,24 +392,12 @@ public class LocalUsageManager implements UsageManager {
}
@Override
- @Deprecated
- public void addUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener listener) {
- addUsageListener(new org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener.UsageListenerAdapter(listener));
- }
-
- @Override
- @Deprecated
- public void removeUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener listener) {
- removeUsageListener(new org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener.UsageListenerAdapter(listener));
- }
-
- @Override
- public void addUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageListener listener) {
+ public void addUsageListener(UsageListener listener) {
listeners.add(listener);
}
@Override
- public void removeUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageListener listener) {
+ public void removeUsageListener(UsageListener listener) {
listeners.remove(listener);
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/NonDeploymentUsageManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/NonDeploymentUsageManager.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/NonDeploymentUsageManager.java
index df28363..abf602c 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/NonDeploymentUsageManager.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/NonDeploymentUsageManager.java
@@ -25,6 +25,7 @@ import org.apache.brooklyn.api.location.Location;
import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
import org.apache.brooklyn.core.mgmt.usage.ApplicationUsage;
import org.apache.brooklyn.core.mgmt.usage.LocationUsage;
+import org.apache.brooklyn.core.mgmt.usage.UsageListener;
import org.apache.brooklyn.core.mgmt.usage.UsageManager;
import com.google.common.base.Predicate;
@@ -101,19 +102,7 @@ public class NonDeploymentUsageManager implements UsageManager {
}
@Override
- @Deprecated
- public void addUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener listener) {
- addUsageListener(new org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener.UsageListenerAdapter(listener));
- }
-
- @Override
- @Deprecated
- public void removeUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener listener) {
- removeUsageListener(new org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener.UsageListenerAdapter(listener));
- }
-
- @Override
- public void addUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageListener listener) {
+ public void addUsageListener(UsageListener listener) {
if (isInitialManagementContextReal()) {
initialManagementContext.getUsageManager().addUsageListener(listener);
} else {
@@ -122,7 +111,7 @@ public class NonDeploymentUsageManager implements UsageManager {
}
@Override
- public void removeUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageListener listener) {
+ public void removeUsageListener(UsageListener listener) {
if (isInitialManagementContextReal()) {
initialManagementContext.getUsageManager().removeUsageListener(listener);
} else {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/core/src/main/java/org/apache/brooklyn/core/mgmt/usage/UsageManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/usage/UsageManager.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/usage/UsageManager.java
index 919c867..1bc7d78 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/usage/UsageManager.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/usage/UsageManager.java
@@ -18,10 +18,7 @@
*/
package org.apache.brooklyn.core.mgmt.usage;
-import static com.google.common.base.Preconditions.checkNotNull;
-
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.brooklyn.api.entity.Application;
@@ -29,14 +26,9 @@ import org.apache.brooklyn.api.location.Location;
import org.apache.brooklyn.config.ConfigKey;
import org.apache.brooklyn.core.config.ConfigKeys;
import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
-import org.apache.brooklyn.core.mgmt.usage.ApplicationUsage;
-import org.apache.brooklyn.core.mgmt.usage.LocationUsage;
-import org.apache.brooklyn.core.mgmt.usage.ApplicationUsage.ApplicationEvent;
-import org.apache.brooklyn.core.mgmt.usage.LocationUsage.LocationEvent;
import org.apache.brooklyn.util.time.Duration;
import com.google.common.annotations.Beta;
-import com.google.common.base.Objects;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.reflect.TypeToken;
@@ -45,10 +37,10 @@ import com.google.common.reflect.TypeToken;
public interface UsageManager {
@SuppressWarnings("serial")
- public static final ConfigKey<List<org.apache.brooklyn.core.mgmt.usage.UsageListener>> USAGE_LISTENERS = ConfigKeys.newConfigKey(
- new TypeToken<List<org.apache.brooklyn.core.mgmt.usage.UsageListener>>() {},
+ public static final ConfigKey<List<UsageListener>> USAGE_LISTENERS = ConfigKeys.newConfigKey(
+ new TypeToken<List<UsageListener>>() {},
"brooklyn.usageManager.listeners", "Optional usage listeners (i.e. for metering)",
- ImmutableList.<org.apache.brooklyn.core.mgmt.usage.UsageListener>of());
+ ImmutableList.<UsageListener>of());
public static final ConfigKey<Duration> USAGE_LISTENER_TERMINATION_TIMEOUT = ConfigKeys.newConfigKey(
Duration.class,
@@ -57,51 +49,6 @@ public interface UsageManager {
Duration.TEN_SECONDS);
/**
- * @since 0.7.0
- * @deprecated since 0.7.0; use {@link org.apache.brooklyn.core.mgmt.internal.UsageListener}; see {@link UsageListenerAdapter}
- */
- public interface UsageListener {
- public static final UsageListener NOOP = new UsageListener() {
- @Override public void onApplicationEvent(String applicationId, String applicationName, String entityType,
- String catalogItemId, Map<String, String> metadata, ApplicationEvent event) {}
- @Override public void onLocationEvent(String locationId, Map<String, String> metadata, LocationEvent event) {}
- };
-
- public static class UsageListenerAdapter implements org.apache.brooklyn.core.mgmt.usage.UsageListener {
- private final UsageListener listener;
-
- public UsageListenerAdapter(UsageListener listener) {
- this.listener = checkNotNull(listener, "listener");
- }
-
- @Override
- public void onApplicationEvent(ApplicationMetadata app, ApplicationEvent event) {
- listener.onApplicationEvent(app.getApplicationId(), app.getApplicationName(), app.getEntityType(), app.getCatalogItemId(), app.getMetadata(), event);
- }
-
- @Override
- public void onLocationEvent(LocationMetadata loc, LocationEvent event) {
- listener.onLocationEvent(loc.getLocationId(), loc.getMetadata(), event);
- }
-
- @Override
- public boolean equals(Object obj) {
- return (obj instanceof UsageListenerAdapter) && listener.equals(((UsageListenerAdapter)obj).listener);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(listener);
- }
- }
-
- void onApplicationEvent(String applicationId, String applicationName, String entityType, String catalogItemId,
- Map<String, String> metadata, ApplicationEvent event);
-
- void onLocationEvent(String locationId, Map<String, String> metadata, LocationEvent event);
- }
-
- /**
* Adds this application event to the usage record for the given app (creating the usage
* record if one does not already exist).
*/
@@ -136,30 +83,16 @@ public interface UsageManager {
Set<ApplicationUsage> getApplicationUsage(Predicate<? super ApplicationUsage> filter);
/**
- * @since 0.7.0
- * @deprecated since 0.7.0; use {@link #removeUsageListener(org.apache.brooklyn.core.mgmt.internal.UsageListener)};
- * see {@link org.apache.brooklyn.core.mgmt.internal.UsageManager.UsageListener.UsageListenerAdapter}
- */
- void addUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener listener);
-
- /**
- * @since 0.7.0
- * @deprecated since 0.7.0; use {@link #removeUsageListener(org.apache.brooklyn.core.mgmt.internal.UsageListener)}
- */
- @Deprecated
- void removeUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener listener);
-
- /**
* Adds the given listener, to be notified on recording of application/location events.
* The listener notifications may be asynchronous.
*
* As of 0.7.0, the listener is not persisted so will be lost on restart/rebind. This
* behaviour may change in a subsequent release.
*/
- void addUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageListener listener);
+ void addUsageListener(UsageListener listener);
/**
* Removes the given listener.
*/
- void removeUsageListener(org.apache.brooklyn.core.mgmt.usage.UsageListener listener);
+ void removeUsageListener(UsageListener listener);
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/ApplicationUsageTrackingTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/ApplicationUsageTrackingTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/ApplicationUsageTrackingTest.java
index e727891..6f11431 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/ApplicationUsageTrackingTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/ApplicationUsageTrackingTest.java
@@ -25,7 +25,6 @@ import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.brooklyn.api.entity.Application;
@@ -86,49 +85,6 @@ public class ApplicationUsageTrackingTest {
}
@Test
- @SuppressWarnings("deprecation")
- public void testAddAndRemoveLegacyUsageListener() throws Exception {
- final RecordingLegacyUsageListener listener = new RecordingLegacyUsageListener();
- mgmt.getUsageManager().addUsageListener(listener);
-
- app = TestApplication.Factory.newManagedInstanceForTests(mgmt);
- app.setCatalogItemId("testCatalogItem");
- app.start(ImmutableList.<Location>of());
-
- Asserts.succeedsEventually(new Runnable() {
- @Override public void run() {
- List<List<?>> events = listener.getApplicationEvents();
- assertEquals(events.size(), 2, "events="+events); // expect STARTING and RUNNING
-
- String appId = (String) events.get(0).get(1);
- String appName = (String) events.get(0).get(2);
- String entityType = (String) events.get(0).get(3);
- String catalogItemId = (String) events.get(0).get(4);
- Map<?,?> metadata = (Map<?, ?>) events.get(0).get(5);
- ApplicationEvent appEvent = (ApplicationEvent) events.get(0).get(6);
-
- assertEquals(appId, app.getId(), "events="+events);
- assertNotNull(appName, "events="+events);
- assertEquals(catalogItemId, app.getCatalogItemId(), "events="+events);
- assertNotNull(entityType, "events="+events);
- assertNotNull(metadata, "events="+events);
- assertEquals(appEvent.getState(), Lifecycle.STARTING, "events="+events);
- }});
-
-
- // Remove the listener; will get no more notifications
- listener.clearEvents();
- mgmt.getUsageManager().removeUsageListener(listener);
-
- app.start(ImmutableList.<Location>of());
- Asserts.succeedsContinually(new Runnable() {
- @Override public void run() {
- List<List<?>> events = listener.getLocationEvents();
- assertEquals(events.size(), 0, "events="+events);
- }});
- }
-
- @Test
public void testAddAndRemoveUsageListener() throws Exception {
final RecordingUsageListener listener = new RecordingUsageListener();
mgmt.getUsageManager().addUsageListener(listener);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/LocationUsageTrackingTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/LocationUsageTrackingTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/LocationUsageTrackingTest.java
index bb8b597..13b1c54 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/LocationUsageTrackingTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/LocationUsageTrackingTest.java
@@ -31,18 +31,18 @@ import org.apache.brooklyn.api.entity.EntitySpec;
import org.apache.brooklyn.api.location.Location;
import org.apache.brooklyn.api.location.LocationSpec;
import org.apache.brooklyn.api.location.NoMachinesAvailableException;
-import org.apache.brooklyn.core.mgmt.usage.UsageListener.LocationMetadata;
import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
import org.apache.brooklyn.core.mgmt.usage.LocationUsage;
import org.apache.brooklyn.core.mgmt.usage.LocationUsage.LocationEvent;
+import org.apache.brooklyn.core.mgmt.usage.UsageListener.LocationMetadata;
import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
import org.apache.brooklyn.entity.software.base.SoftwareProcessEntityTest;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
import org.apache.brooklyn.location.ssh.SshMachineLocation;
import org.apache.brooklyn.test.Asserts;
import org.apache.brooklyn.util.time.Time;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
@@ -67,42 +67,6 @@ public class LocationUsageTrackingTest extends BrooklynAppUnitTestSupport {
}
@Test
- @SuppressWarnings("deprecation")
- public void testAddAndRemoveLegacyUsageListener() throws Exception {
- final RecordingLegacyUsageListener listener = new RecordingLegacyUsageListener();
- mgmt.getUsageManager().addUsageListener(listener);
-
- app.createAndManageChild(EntitySpec.create(SoftwareProcessEntityTest.MyService.class));
- app.start(ImmutableList.of(loc));
- final SshMachineLocation machine = Iterables.getOnlyElement(loc.getAllMachines());
-
- Asserts.succeedsEventually(new Runnable() {
- @Override public void run() {
- List<List<?>> events = listener.getLocationEvents();
- String locId = (String) events.get(0).get(1);
- LocationEvent locEvent = (LocationEvent) events.get(0).get(3);
- Map<?,?> metadata = (Map<?, ?>) events.get(0).get(2);
-
- assertEquals(events.size(), 1, "events="+events);
- assertEquals(locId, machine.getId(), "events="+events);
- assertNotNull(metadata, "events="+events);
- assertEquals(locEvent.getApplicationId(), app.getId(), "events="+events);
- assertEquals(locEvent.getState(), Lifecycle.CREATED, "events="+events);
- }});
-
- // Remove the listener; will get no more notifications
- listener.clearEvents();
- mgmt.getUsageManager().removeUsageListener(listener);
-
- app.stop();
- Asserts.succeedsContinually(new Runnable() {
- @Override public void run() {
- List<List<?>> events = listener.getLocationEvents();
- assertEquals(events.size(), 0, "events="+events);
- }});
- }
-
- @Test
public void testAddAndRemoveUsageListener() throws Exception {
final RecordingUsageListener listener = new RecordingUsageListener();
mgmt.getUsageManager().addUsageListener(listener);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingLegacyUsageListener.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingLegacyUsageListener.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingLegacyUsageListener.java
deleted file mode 100644
index 3a3d95b..0000000
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingLegacyUsageListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.entity.software.base.test.core.mgmt.usage;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.brooklyn.core.mgmt.usage.ApplicationUsage.ApplicationEvent;
-import org.apache.brooklyn.core.mgmt.usage.LocationUsage.LocationEvent;
-import org.apache.brooklyn.util.collections.MutableList;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-
-@Deprecated
-public class RecordingLegacyUsageListener implements org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener {
-
- private final List<List<?>> events = Lists.newCopyOnWriteArrayList();
-
- @Override
- public void onApplicationEvent(String applicationId, String applicationName, String entityType,
- String catalogItemId, Map<String, String> metadata, ApplicationEvent event) {
- events.add(MutableList.of("application", applicationId, applicationName, entityType, catalogItemId, metadata, event));
- }
-
- @Override
- public void onLocationEvent(String locationId, Map<String, String> metadata, LocationEvent event) {
- events.add(MutableList.of("location", locationId, metadata, event));
- }
-
- public void clearEvents() {
- events.clear();
- }
-
- public List<List<?>> getEvents() {
- return ImmutableList.copyOf(events);
- }
-
- public List<List<?>> getLocationEvents() {
- List<List<?>> result = Lists.newArrayList();
- for (List<?> event : events) {
- if (event.get(0).equals("location")) result.add(event);
- }
- return ImmutableList.copyOf(result);
- }
-
- public List<List<?>> getApplicationEvents() {
- List<List<?>> result = Lists.newArrayList();
- for (List<?> event : events) {
- if (event.get(0).equals("application")) result.add(event);
- }
- return ImmutableList.copyOf(result);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingUsageListener.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingUsageListener.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingUsageListener.java
index 539d204..3a54178 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingUsageListener.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/RecordingUsageListener.java
@@ -22,12 +22,13 @@ import java.util.List;
import org.apache.brooklyn.core.mgmt.usage.ApplicationUsage.ApplicationEvent;
import org.apache.brooklyn.core.mgmt.usage.LocationUsage.LocationEvent;
+import org.apache.brooklyn.core.mgmt.usage.UsageListener;
import org.apache.brooklyn.util.collections.MutableList;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-public class RecordingUsageListener implements org.apache.brooklyn.core.mgmt.usage.UsageListener {
+public class RecordingUsageListener implements UsageListener {
private final List<List<?>> events = Lists.newCopyOnWriteArrayList();
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1ffacc62/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/UsageListenerTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/UsageListenerTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/UsageListenerTest.java
index 7a55018..b517920 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/UsageListenerTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/core/mgmt/usage/UsageListenerTest.java
@@ -32,6 +32,7 @@ import org.apache.brooklyn.api.location.Location;
import org.apache.brooklyn.core.entity.Entities;
import org.apache.brooklyn.core.internal.BrooklynProperties;
import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
+import org.apache.brooklyn.core.mgmt.usage.UsageListener;
import org.apache.brooklyn.core.mgmt.usage.UsageManager;
import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
import org.apache.brooklyn.core.test.entity.TestApplication;
@@ -55,7 +56,6 @@ public class UsageListenerTest {
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
- RecordingStaticLegacyUsageListener.clearInstances();
RecordingStaticUsageListener.clearInstances();
}
@@ -67,28 +67,11 @@ public class UsageListenerTest {
LOG.error("Caught exception in tearDown method", t);
} finally {
mgmt = null;
- RecordingStaticLegacyUsageListener.clearInstances();
RecordingStaticUsageListener.clearInstances();
}
}
@Test
- public void testAddLegacyUsageListenerViaProperties() throws Exception {
- BrooklynProperties brooklynProperties = BrooklynProperties.Factory.newEmpty();
- brooklynProperties.put(UsageManager.USAGE_LISTENERS, RecordingStaticLegacyUsageListener.class.getName());
- mgmt = LocalManagementContextForTests.newInstance(brooklynProperties);
-
- app = TestApplication.Factory.newManagedInstanceForTests(mgmt);
- app.start(ImmutableList.<Location>of());
-
- Asserts.succeedsEventually(new Runnable() {
- @Override public void run() {
- List<List<?>> events = RecordingStaticLegacyUsageListener.getInstance().getApplicationEvents();
- assertTrue(events.size() > 0, "events="+events); // expect some events
- }});
- }
-
- @Test
public void testAddUsageListenerViaProperties() throws Exception {
BrooklynProperties brooklynProperties = BrooklynProperties.Factory.newEmpty();
brooklynProperties.put(UsageManager.USAGE_LISTENERS, RecordingStaticUsageListener.class.getName());
@@ -104,25 +87,7 @@ public class UsageListenerTest {
}});
}
- public static class RecordingStaticLegacyUsageListener extends RecordingLegacyUsageListener implements org.apache.brooklyn.core.mgmt.usage.UsageManager.UsageListener {
- private static final List<RecordingStaticLegacyUsageListener> STATIC_INSTANCES = Lists.newCopyOnWriteArrayList();
-
- public static RecordingStaticLegacyUsageListener getInstance() {
- return Iterables.getOnlyElement(STATIC_INSTANCES);
- }
-
- public static void clearInstances() {
- STATIC_INSTANCES.clear();
- }
-
- public RecordingStaticLegacyUsageListener() {
- // Bad to leak a ref to this before constructor finished, but we'll live with it because
- // it's just test code!
- STATIC_INSTANCES.add(this);
- }
- }
-
- public static class RecordingStaticUsageListener extends RecordingUsageListener implements org.apache.brooklyn.core.mgmt.usage.UsageListener {
+ public static class RecordingStaticUsageListener extends RecordingUsageListener implements UsageListener {
private static final List<RecordingStaticUsageListener> STATIC_INSTANCES = Lists.newCopyOnWriteArrayList();
public static RecordingStaticUsageListener getInstance() {