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/11/13 03:08:50 UTC

[01/11] incubator-brooklyn git commit: Location is not serializable

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 94605444c -> 6665cc66b


Location is not serializable

Deletes “extends Serializable” from location interface, and removes
all declared serialVersionUID from location implementations.

Location was not really serialisable anyway - for example it had 
non-transient references to ManagementContext. The declaration of
“Serializable” was a throwback to very old days when persistence 
was imagined to be very different.

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

Branch: refs/heads/master
Commit: 055940f2127fbfd52dd6b48251901fc45e39736b
Parents: 443ed5e
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 14:17:12 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 14:17:12 2015 +0000

----------------------------------------------------------------------
 .../main/java/org/apache/brooklyn/api/location/Location.java | 3 +--
 .../org/apache/brooklyn/core/location/AbstractLocation.java  | 2 --
 .../location/AggregatingMachineProvisioningLocation.java     | 2 --
 .../core/location/access/PortForwardManagerClient.java       | 2 --
 .../apache/brooklyn/entity/stock/EffectorStartableImpl.java  | 2 --
 .../location/byon/SingleMachineProvisioningLocation.java     | 1 -
 .../localhost/LocalhostMachineProvisioningLocation.java      | 2 --
 .../org/apache/brooklyn/location/multi/MultiLocation.java    | 2 --
 .../apache/brooklyn/core/location/AbstractLocationTest.java  | 1 -
 .../brooklyn/core/location/LocationExtensionsTest.java       | 2 --
 .../org/apache/brooklyn/core/location/SimulatedLocation.java | 2 --
 .../apache/brooklyn/core/mgmt/rebind/RebindLocationTest.java | 8 --------
 .../brooklyn/location/jclouds/JcloudsSshMachineLocation.java | 1 -
 .../brooklyn/location/jclouds/BailOutJcloudsLocation.java    | 3 ---
 .../brooklyn/policy/jclouds/os/CreateUserPolicyTest.java     | 2 --
 .../brooklyn/entity/machine/pool/ServerPoolLocation.java     | 2 --
 .../software/base/SoftwareProcessEntityRebindTest.java       | 2 --
 .../entity/software/base/SoftwareProcessEntityTest.java      | 2 --
 .../software/base/lifecycle/StartStopSshDriverTest.java      | 2 --
 .../base/test/core/mgmt/usage/LocationUsageTrackingTest.java | 2 --
 .../camp/brooklyn/catalog/CatalogParametersTest.java         | 1 -
 .../apache/brooklyn/rest/resources/UsageResourceTest.java    | 2 --
 22 files changed, 1 insertion(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/api/src/main/java/org/apache/brooklyn/api/location/Location.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/brooklyn/api/location/Location.java b/api/src/main/java/org/apache/brooklyn/api/location/Location.java
index 3ef9251..ea43bfd 100644
--- a/api/src/main/java/org/apache/brooklyn/api/location/Location.java
+++ b/api/src/main/java/org/apache/brooklyn/api/location/Location.java
@@ -18,7 +18,6 @@
  */
 package org.apache.brooklyn.api.location;
 
-import java.io.Serializable;
 import java.util.Collection;
 import java.util.Map;
 
@@ -30,7 +29,7 @@ import org.apache.brooklyn.config.ConfigKey.HasConfigKey;
  * A location that an entity can be in. Examples of locations include a single machine
  * or a pool of machines, or a region within a given cloud. 
  */
-public interface Location extends Serializable, BrooklynObject {
+public interface Location extends BrooklynObject {
 
     /**
      * A unique id for this location.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
index c14472d..dc48862 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AbstractLocation.java
@@ -96,8 +96,6 @@ import com.google.common.reflect.TypeToken;
  */
 public abstract class AbstractLocation extends AbstractBrooklynObject implements LocationInternal, HasHostGeoInfo, Configurable {
     
-    private static final long serialVersionUID = -7495805474138619830L;
-
     /** @deprecated since 0.7.0 shouldn't be public */
     @Deprecated
     public static final Logger LOG = LoggerFactory.getLogger(AbstractLocation.class);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/core/location/AggregatingMachineProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/AggregatingMachineProvisioningLocation.java b/core/src/main/java/org/apache/brooklyn/core/location/AggregatingMachineProvisioningLocation.java
index c8e7a6e..6fc9920 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/AggregatingMachineProvisioningLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/AggregatingMachineProvisioningLocation.java
@@ -42,8 +42,6 @@ import com.google.common.collect.Maps;
 public class AggregatingMachineProvisioningLocation<T extends MachineLocation> extends AbstractLocation 
         implements MachineProvisioningLocation<T>, Closeable {
 
-    private static final long serialVersionUID = -8818006672883481775L;
-
     private Object lock;
     
     @SetFromFlag

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
index f2b9662..b0baa01 100644
--- a/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
+++ b/core/src/main/java/org/apache/brooklyn/core/location/access/PortForwardManagerClient.java
@@ -39,8 +39,6 @@ import com.google.common.net.HostAndPort;
 @Deprecated
 public class PortForwardManagerClient implements PortForwardManager {
 
-    private static final long serialVersionUID = -295204304305332895L;
-    
     protected final Supplier<PortForwardManager> delegateSupplier;
     private transient volatile PortForwardManager _delegate;
     

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/entity/stock/EffectorStartableImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/entity/stock/EffectorStartableImpl.java b/core/src/main/java/org/apache/brooklyn/entity/stock/EffectorStartableImpl.java
index 93cb677..b628ec3 100644
--- a/core/src/main/java/org/apache/brooklyn/entity/stock/EffectorStartableImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/entity/stock/EffectorStartableImpl.java
@@ -42,8 +42,6 @@ import com.google.common.reflect.TypeToken;
  * (and same for stop and restart) */
 public class EffectorStartableImpl extends AbstractEntity implements BasicStartable {
 
-    private static final long serialVersionUID = -7109357808001370568L;
-    
     private static final Logger log = LoggerFactory.getLogger(EffectorStartableImpl.class);
 
     public static class StartParameters { 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/location/byon/SingleMachineProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/byon/SingleMachineProvisioningLocation.java b/core/src/main/java/org/apache/brooklyn/location/byon/SingleMachineProvisioningLocation.java
index 3338da5..eb8c4f9 100644
--- a/core/src/main/java/org/apache/brooklyn/location/byon/SingleMachineProvisioningLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/byon/SingleMachineProvisioningLocation.java
@@ -30,7 +30,6 @@ import org.slf4j.LoggerFactory;
 import com.google.common.collect.ImmutableMap;
 
 public class SingleMachineProvisioningLocation<T extends MachineLocation> extends FixedListMachineProvisioningLocation<T> {
-    private static final long serialVersionUID = -4216528515792151062L;
 
     private static final Logger log = LoggerFactory.getLogger(SingleMachineProvisioningLocation.class);
     

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java b/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
index 46adbe0..ab7ad01 100644
--- a/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/localhost/LocalhostMachineProvisioningLocation.java
@@ -71,8 +71,6 @@ import com.google.common.collect.Sets;
  */
 public class LocalhostMachineProvisioningLocation extends FixedListMachineProvisioningLocation<SshMachineLocation> implements AddressableLocation, LocationWithObjectStore {
 
-    private static final long serialVersionUID = -7791239672433897762L;
-
     /** @deprecated since 0.9.0; shouldn't be public */
     @Deprecated
     public static final Logger LOG = LoggerFactory.getLogger(LocalhostMachineProvisioningLocation.class);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/main/java/org/apache/brooklyn/location/multi/MultiLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/location/multi/MultiLocation.java b/core/src/main/java/org/apache/brooklyn/location/multi/MultiLocation.java
index 3b0ffdf..f78d0d6 100644
--- a/core/src/main/java/org/apache/brooklyn/location/multi/MultiLocation.java
+++ b/core/src/main/java/org/apache/brooklyn/location/multi/MultiLocation.java
@@ -55,8 +55,6 @@ import com.google.common.reflect.TypeToken;
  * is used, it may stripe across each of the locations.  See notes at {@link AvailabilityZoneExtension}. */
 public class MultiLocation<T extends MachineLocation> extends AbstractLocation implements MachineProvisioningLocation<T> {
 
-    private static final long serialVersionUID = 7993091317970457862L;
-    
     @SuppressWarnings("serial")
     @SetFromFlag("subLocations")
     public static final ConfigKey<List<MachineProvisioningLocation<?>>> SUB_LOCATIONS = ConfigKeys.newConfigKey(

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/test/java/org/apache/brooklyn/core/location/AbstractLocationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/location/AbstractLocationTest.java b/core/src/test/java/org/apache/brooklyn/core/location/AbstractLocationTest.java
index 389ecb6..93f74c2 100644
--- a/core/src/test/java/org/apache/brooklyn/core/location/AbstractLocationTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/location/AbstractLocationTest.java
@@ -46,7 +46,6 @@ import com.google.common.collect.ImmutableMap;
 public class AbstractLocationTest {
 
     public static class ConcreteLocation extends AbstractLocation {
-        private static final long serialVersionUID = 3954199300889119970L;
         @SetFromFlag(defaultVal="mydefault")
         String myfield;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/test/java/org/apache/brooklyn/core/location/LocationExtensionsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/location/LocationExtensionsTest.java b/core/src/test/java/org/apache/brooklyn/core/location/LocationExtensionsTest.java
index d0f72be..dc25b9c 100644
--- a/core/src/test/java/org/apache/brooklyn/core/location/LocationExtensionsTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/location/LocationExtensionsTest.java
@@ -36,8 +36,6 @@ import org.testng.annotations.Test;
 public class LocationExtensionsTest {
 
     public static class ConcreteLocation extends AbstractLocation {
-        private static final long serialVersionUID = 2407231019435442876L;
-
         public ConcreteLocation() {
             super();
         }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/test/java/org/apache/brooklyn/core/location/SimulatedLocation.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/location/SimulatedLocation.java b/core/src/test/java/org/apache/brooklyn/core/location/SimulatedLocation.java
index c10f376..b1c0204 100644
--- a/core/src/test/java/org/apache/brooklyn/core/location/SimulatedLocation.java
+++ b/core/src/test/java/org/apache/brooklyn/core/location/SimulatedLocation.java
@@ -49,8 +49,6 @@ import com.google.common.collect.Sets;
  */
 public class SimulatedLocation extends AbstractLocation implements MachineProvisioningLocation<MachineLocation>, MachineLocation, PortSupplier {
 
-    private static final long serialVersionUID = 1L;
-    
     private static final InetAddress address;
     static {
         address = Networking.getLocalHost();

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindLocationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindLocationTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindLocationTest.java
index 6b2d8c5..7d13672 100644
--- a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindLocationTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindLocationTest.java
@@ -286,8 +286,6 @@ public class RebindLocationTest extends RebindTestFixtureWithApp {
     }
     
     public static class MyOldStyleLocation extends AbstractLocation {
-        private static final long serialVersionUID = 1L;
-        
         @SetFromFlag
         String myfield;
 
@@ -297,8 +295,6 @@ public class RebindLocationTest extends RebindTestFixtureWithApp {
     }
     
     public static class MyLocation extends AbstractLocation {
-        private static final long serialVersionUID = 1L;
-        
         @SetFromFlag
         public static final ConfigKey<String> MY_CONFIG_WITH_SETFROMFLAG_NO_SHORT_NAME = ConfigKeys.newStringConfigKey("myconfig.withSetfromflag.noShortName");
 
@@ -335,8 +331,6 @@ public class RebindLocationTest extends RebindTestFixtureWithApp {
     }
     
     public static class MyLocationReffingOthers extends AbstractLocation {
-        private static final long serialVersionUID = 1L;
-        
         @SetFromFlag(defaultVal="a")
         String myfield;
 
@@ -355,8 +349,6 @@ public class RebindLocationTest extends RebindTestFixtureWithApp {
     }
     
     public static class MyLocationCustomProps extends AbstractLocation {
-        private static final long serialVersionUID = 1L;
-        
         String myfield;
         boolean rebound;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
index 606f062..2db43d1 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsSshMachineLocation.java
@@ -68,7 +68,6 @@ import com.google.common.util.concurrent.ListenableFuture;
 public class JcloudsSshMachineLocation extends SshMachineLocation implements JcloudsMachineLocation {
     
     private static final Logger LOG = LoggerFactory.getLogger(JcloudsSshMachineLocation.class);
-    private static final long serialVersionUID = -443866395634771659L;
 
     @SetFromFlag
     JcloudsLocation jcloudsParent;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BailOutJcloudsLocation.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BailOutJcloudsLocation.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BailOutJcloudsLocation.java
index 10a32b4..28d1c7b 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BailOutJcloudsLocation.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BailOutJcloudsLocation.java
@@ -61,8 +61,6 @@ public class BailOutJcloudsLocation extends JcloudsLocation {
     public static final ConfigKey<Boolean> BUILD_TEMPLATE = ConfigKeys.newBooleanConfigKey(
             "buildtemplate");
 
-    private static final long serialVersionUID = -3373789512935057842L;
-
     ConfigBag lastConfigBag;
     Template template;
 
@@ -149,7 +147,6 @@ public class BailOutJcloudsLocation extends JcloudsLocation {
 
     /** As {@link BailOutJcloudsLocation}, counting the number of {@link #buildTemplate} calls. */
     public static class CountingBailOutJcloudsLocation extends BailOutJcloudsLocation {
-        private static final long serialVersionUID = 2433684033045735773L;
         int buildTemplateCount = 0;
         @Override
         public Template buildTemplate(ComputeService computeService, ConfigBag config) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java
index 82b6dfa..33e0ed9 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicyTest.java
@@ -51,8 +51,6 @@ public class CreateUserPolicyTest extends BrooklynAppUnitTestSupport {
     private static final Logger LOG = LoggerFactory.getLogger(CreateUserPolicyTest.class);
 
     public static class RecordingSshMachineLocation extends SshMachineLocation {
-        private static final long serialVersionUID = 1641930081769106380L;
-        
         public static List<List<String>> execScriptCalls = Lists.newArrayList();
 
         @Override 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolLocation.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolLocation.java b/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolLocation.java
index c59af7f..bc1e2dd 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolLocation.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/machine/pool/ServerPoolLocation.java
@@ -40,8 +40,6 @@ import org.apache.brooklyn.util.core.flags.SetFromFlag;
 public class ServerPoolLocation extends AbstractLocation implements MachineProvisioningLocation<MachineLocation>,
         DynamicLocation<ServerPool, ServerPoolLocation> {
 
-    private static final long serialVersionUID = -6771844611899475409L;
-
     private static final Logger LOG = LoggerFactory.getLogger(ServerPoolLocation.class);
 
     @SetFromFlag("owner")

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityRebindTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityRebindTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityRebindTest.java
index 4b6e9ce..76cb5c1 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityRebindTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityRebindTest.java
@@ -145,8 +145,6 @@ public class SoftwareProcessEntityRebindTest extends BrooklynAppUnitTestSupport
     }
     
     public static class MyProvisioningLocation extends AbstractLocation implements MachineProvisioningLocation<SshMachineLocation> {
-        private static final long serialVersionUID = 1L;
-        
         @SetFromFlag(defaultVal="0")
         AtomicInteger inUseCount;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityTest.java
index 3af7fe5..017179b 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SoftwareProcessEntityTest.java
@@ -742,8 +742,6 @@ public class SoftwareProcessEntityTest extends BrooklynAppUnitTestSupport {
     }
 
     public static class ReleaseLatchLocation extends SimulatedLocation {
-        private static final long serialVersionUID = 1L;
-        
         private CountDownLatch lock = new CountDownLatch(1);
         private volatile boolean isBlocked;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/software/base/src/test/java/org/apache/brooklyn/entity/software/base/lifecycle/StartStopSshDriverTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/lifecycle/StartStopSshDriverTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/lifecycle/StartStopSshDriverTest.java
index f7af97b..b8455b3 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/lifecycle/StartStopSshDriverTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/lifecycle/StartStopSshDriverTest.java
@@ -83,8 +83,6 @@ public class StartStopSshDriverTest {
 
     @SuppressWarnings("rawtypes")
     protected static class SshMachineLocationWithSshTool extends SshMachineLocation {
-        private static final long serialVersionUID = 1L;
-
         SshTool lastTool;
         public SshMachineLocationWithSshTool(Map flags) { super(flags); }
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/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 13b1c54..f877261 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
@@ -130,8 +130,6 @@ public class LocationUsageTrackingTest extends BrooklynAppUnitTestSupport {
     }
 
     public static class DynamicLocalhostMachineProvisioningLocation extends LocalhostMachineProvisioningLocation {
-        private static final long serialVersionUID = 4822009936654077946L;
-
         @Override
         public SshMachineLocation obtain(Map<?, ?> flags) throws NoMachinesAvailableException {
             System.out.println("called DynamicLocalhostMachineProvisioningLocation.obtain");

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogParametersTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogParametersTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogParametersTest.java
index 6407d4a..810c117 100644
--- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogParametersTest.java
+++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogParametersTest.java
@@ -59,7 +59,6 @@ public class CatalogParametersTest extends AbstractYamlTest {
         public static final ConfigKey<String> SAMPLE_CONFIG = SHARED_CONFIG;
     }
     public static class ConfigLocationForTest extends AbstractLocation {
-        private static final long serialVersionUID = 1L;
         public static final ConfigKey<String> SAMPLE_CONFIG = SHARED_CONFIG;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/055940f2/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/UsageResourceTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/UsageResourceTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/UsageResourceTest.java
index 697ae10..72392fe 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/UsageResourceTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/UsageResourceTest.java
@@ -420,8 +420,6 @@ public class UsageResourceTest extends BrooklynRestResourceTest {
     }
     
     public static class DynamicLocalhostMachineProvisioningLocation extends LocalhostMachineProvisioningLocation {
-        private static final long serialVersionUID = 2163357613938738967L;
-
         @Override
         public SshMachineLocation obtain(Map<?, ?> flags) throws NoMachinesAvailableException {
             return super.obtain(flags);


[09/11] incubator-brooklyn git commit: This closes #1025

Posted by he...@apache.org.
This closes #1025


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

Branch: refs/heads/master
Commit: c02f728b13fa4554a8746ee7d399f008eb28c024
Parents: d923363 dc217ef
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Nov 13 02:05:17 2015 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Nov 13 02:05:17 2015 +0000

----------------------------------------------------------------------
 usage/all/pom.xml | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------



[02/11] incubator-brooklyn git commit: AttributeMap is not serializable

Posted by he...@apache.org.
AttributeMap is not serializable

It doesn’t need to be serialisable; and it contains a non-transient
field of type AbstractEntity so wasn’t really serializable anyway.

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

Branch: refs/heads/master
Commit: 484d9d4bcba9f89c63e5729cbe6037966bff095b
Parents: 055940f
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 14:19:35 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 14:19:35 2015 +0000

----------------------------------------------------------------------
 .../main/java/org/apache/brooklyn/core/sensor/AttributeMap.java | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/484d9d4b/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java b/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
index b584f24..72d6d23 100644
--- a/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
+++ b/core/src/main/java/org/apache/brooklyn/core/sensor/AttributeMap.java
@@ -20,7 +20,6 @@ package org.apache.brooklyn.core.sensor;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import java.io.Serializable;
 import java.util.Collection;
 import java.util.Map;
 
@@ -43,9 +42,7 @@ import com.google.common.collect.Maps;
 /**
  * A {@link Map} of {@link Entity} attribute values.
  */
-public final class AttributeMap implements Serializable {
-
-    private static final long serialVersionUID = -6834883734250888344L;
+public final class AttributeMap {
 
     static final Logger log = LoggerFactory.getLogger(AttributeMap.class);
 


[11/11] incubator-brooklyn git commit: This closes #1023

Posted by he...@apache.org.
This closes #1023


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

Branch: refs/heads/master
Commit: 6665cc66b559c1f1c07579ef4e72267436581d56
Parents: 27d49d6 7d3f2ef
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Nov 13 02:06:37 2015 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Nov 13 02:06:37 2015 +0000

----------------------------------------------------------------------
 .../java/org/apache/brooklyn/api/location/Location.java   |  3 +--
 .../apache/brooklyn/core/location/AbstractLocation.java   |  2 --
 .../location/AggregatingMachineProvisioningLocation.java  |  2 --
 .../core/location/access/PortForwardManagerClient.java    |  2 --
 .../org/apache/brooklyn/core/sensor/AttributeMap.java     |  5 +----
 .../brooklyn/entity/stock/EffectorStartableImpl.java      |  2 --
 .../location/byon/SingleMachineProvisioningLocation.java  |  1 -
 .../localhost/LocalhostMachineProvisioningLocation.java   |  2 --
 .../org/apache/brooklyn/location/multi/MultiLocation.java |  2 --
 .../brooklyn/core/location/AbstractLocationTest.java      |  1 -
 .../brooklyn/core/location/LocationExtensionsTest.java    |  2 --
 .../apache/brooklyn/core/location/SimulatedLocation.java  |  2 --
 .../brooklyn/core/mgmt/rebind/RebindLocationTest.java     |  8 --------
 .../location/jclouds/JcloudsSshMachineLocation.java       |  1 -
 .../brooklyn/location/jclouds/BailOutJcloudsLocation.java |  3 ---
 .../brooklyn/policy/jclouds/os/CreateUserPolicyTest.java  |  2 --
 .../brooklyn/entity/machine/pool/ServerPoolLocation.java  |  2 --
 .../software/base/SoftwareProcessEntityRebindTest.java    |  2 --
 .../entity/software/base/SoftwareProcessEntityTest.java   |  2 --
 .../software/base/lifecycle/StartStopSshDriverTest.java   |  2 --
 .../test/core/mgmt/usage/LocationUsageTrackingTest.java   |  2 --
 .../camp/brooklyn/catalog/CatalogParametersTest.java      |  1 -
 .../apache/brooklyn/rest/resources/UsageResourceTest.java |  2 --
 .../org/apache/brooklyn/util/JavaGroovyEquivalents.java   |  9 +++++----
 .../org/apache/brooklyn/util/maven/MavenArtifactTest.java | 10 +++++++---
 .../apache/brooklyn/util/ssh/IptablesCommandsTest.java    |  2 +-
 .../test/support/TestResourceUnavailableException.java    |  3 ++-
 27 files changed, 17 insertions(+), 60 deletions(-)
----------------------------------------------------------------------



[06/11] incubator-brooklyn git commit: Add missing QA framework dependency

Posted by he...@apache.org.
Add missing QA framework dependency


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

Branch: refs/heads/master
Commit: dc217ef8dc1dd47b53811dff0acf9e7594a87984
Parents: 9460544
Author: Mike Zaccardo <mi...@cloudsoftcorp.com>
Authored: Thu Nov 12 11:01:53 2015 -0700
Committer: Mike Zaccardo <mi...@cloudsoftcorp.com>
Committed: Thu Nov 12 11:01:53 2015 -0700

----------------------------------------------------------------------
 usage/all/pom.xml | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dc217ef8/usage/all/pom.xml
----------------------------------------------------------------------
diff --git a/usage/all/pom.xml b/usage/all/pom.xml
index 9fdeb7c..289d4a6 100644
--- a/usage/all/pom.xml
+++ b/usage/all/pom.xml
@@ -101,6 +101,12 @@
             <version>${project.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.brooklyn</groupId>
+            <artifactId>brooklyn-test-framework</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
         <!-- bring in all jclouds-supported cloud providers -->
         <dependency>
             <groupId>${jclouds.groupId}</groupId>


[05/11] incubator-brooklyn git commit: Fix mime-type typo

Posted by he...@apache.org.
Fix mime-type typo


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

Branch: refs/heads/master
Commit: 434588f817895fe7e58b36b79d8c9ad9ffae355f
Parents: f0612bd
Author: Ciprian Ciubotariu <ch...@gmx.net>
Authored: Thu Nov 12 19:43:40 2015 +0200
Committer: Ciprian Ciubotariu <ch...@gmx.net>
Committed: Thu Nov 12 19:43:40 2015 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/brooklyn/rest/api/ServerApi.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/434588f8/usage/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java b/usage/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java
index 84e7102..ef4fe5d 100644
--- a/usage/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java
+++ b/usage/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java
@@ -50,9 +50,9 @@ import com.wordnik.swagger.core.ApiParam;
 @Beta
 public interface ServerApi {
 
-    public final String MIME_TYPE_ZIP = "applicaiton/zip";
+    public final String MIME_TYPE_ZIP = "application/zip";
     // TODO support TGZ, and check mime type
-    public final String MIME_TYPE_TGZ = "applicaiton/gzip";
+    public final String MIME_TYPE_TGZ = "application/gzip";
     
     @POST
     @Path("/properties/reload")


[10/11] incubator-brooklyn git commit: This closes #1024

Posted by he...@apache.org.
This closes #1024


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

Branch: refs/heads/master
Commit: 27d49d617821645d034b42777c03496a1466c480
Parents: c02f728 434588f
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Nov 13 02:05:33 2015 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Nov 13 02:05:33 2015 +0000

----------------------------------------------------------------------
 .../src/main/java/org/apache/brooklyn/rest/api/ServerApi.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[03/11] incubator-brooklyn git commit: Fix some trivial compiler warnings

Posted by he...@apache.org.
Fix some trivial compiler warnings

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

Branch: refs/heads/master
Commit: ae7532c61c737410576db9a60ce89b2fa6cd715b
Parents: 484d9d4
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 14:34:17 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 14:34:17 2015 +0000

----------------------------------------------------------------------
 .../org/apache/brooklyn/util/JavaGroovyEquivalents.java   |  9 +++++----
 .../org/apache/brooklyn/util/maven/MavenArtifactTest.java | 10 +++++++---
 .../test/support/TestResourceUnavailableException.java    |  3 ++-
 3 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ae7532c6/utils/common/src/main/java/org/apache/brooklyn/util/JavaGroovyEquivalents.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/JavaGroovyEquivalents.java b/utils/common/src/main/java/org/apache/brooklyn/util/JavaGroovyEquivalents.java
index 94f9a04..6c25ea7 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/JavaGroovyEquivalents.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/JavaGroovyEquivalents.java
@@ -72,6 +72,7 @@ public class JavaGroovyEquivalents {
     public static <T> T elvis(Iterable<?> preferences) {
         return elvis(Iterables.toArray(preferences, Object.class));
     }
+    @SuppressWarnings("unchecked")
     public static <T> T elvis(Object... preferences) {
         if (preferences.length == 0) throw new IllegalArgumentException("preferences must not be empty for elvis");
         for (Object contender : preferences) {
@@ -109,13 +110,13 @@ public class JavaGroovyEquivalents {
         } else if (o instanceof String) {
             return !((String)o).isEmpty();
         } else if (o instanceof Collection) {
-            return !((Collection)o).isEmpty();
+            return !((Collection<?>)o).isEmpty();
         } else if (o instanceof Map) {
-            return !((Map)o).isEmpty();
+            return !((Map<?,?>)o).isEmpty();
         } else if (o instanceof Iterator) {
-            return ((Iterator)o).hasNext();
+            return ((Iterator<?>)o).hasNext();
         } else if (o instanceof Enumeration) {
-            return ((Enumeration)o).hasMoreElements();
+            return ((Enumeration<?>)o).hasMoreElements();
         } else {
             return true;
         }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ae7532c6/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
index e1028e1..654eebd 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/maven/MavenArtifactTest.java
@@ -198,9 +198,13 @@ public class MavenArtifactTest {
         // Note URLClassLoader.close was only added in Java 7; do not call it until Java 6 support is not needed!
         URL realUrl = followRedirects(new URL(url));
         URLClassLoader classLoader = new URLClassLoader(new URL[] { realUrl });
-        URL innerU = classLoader.findResource(resource);
-        InputStream innerUin = innerU.openConnection().getInputStream();
-        innerUin.close();
+        try {
+            URL innerU = classLoader.findResource(resource);
+            InputStream innerUin = innerU.openConnection().getInputStream();
+            innerUin.close();
+        } finally {
+            classLoader.close();
+        }
     }
 
     /*

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ae7532c6/utils/test-support/src/main/java/org/apache/brooklyn/test/support/TestResourceUnavailableException.java
----------------------------------------------------------------------
diff --git a/utils/test-support/src/main/java/org/apache/brooklyn/test/support/TestResourceUnavailableException.java b/utils/test-support/src/main/java/org/apache/brooklyn/test/support/TestResourceUnavailableException.java
index 1596801..cb4205f 100644
--- a/utils/test-support/src/main/java/org/apache/brooklyn/test/support/TestResourceUnavailableException.java
+++ b/utils/test-support/src/main/java/org/apache/brooklyn/test/support/TestResourceUnavailableException.java
@@ -42,9 +42,10 @@ import static com.google.common.base.Preconditions.checkNotNull;
  * is not available. The exception message is then derived from this. The two-string constructors take both the
  * resource name and an explicit exception message.</p>
  */
-@SuppressWarnings("UnusedDeclaration")
 public class TestResourceUnavailableException extends SkipException {
 
+    private static final long serialVersionUID = -6150059547094292069L;
+    
     private final String resourceName;
 
     /**


[04/11] incubator-brooklyn git commit: IptablesCommandsTest: focus on non-deprecated methods

Posted by he...@apache.org.
IptablesCommandsTest: focus on non-deprecated methods

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

Branch: refs/heads/master
Commit: 7d3f2efefcaa50af08b13b771c8dc92286171e67
Parents: ae7532c
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 14:34:39 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 14:34:39 2015 +0000

----------------------------------------------------------------------
 .../java/org/apache/brooklyn/util/ssh/IptablesCommandsTest.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/7d3f2efe/utils/common/src/test/java/org/apache/brooklyn/util/ssh/IptablesCommandsTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/ssh/IptablesCommandsTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/ssh/IptablesCommandsTest.java
index d30a1b4..2d01ad1 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/ssh/IptablesCommandsTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/ssh/IptablesCommandsTest.java
@@ -18,10 +18,10 @@
  */
 package org.apache.brooklyn.util.ssh;
 
+import org.apache.brooklyn.util.net.Protocol;
 import org.apache.brooklyn.util.ssh.IptablesCommands;
 import org.apache.brooklyn.util.ssh.IptablesCommands.Chain;
 import org.apache.brooklyn.util.ssh.IptablesCommands.Policy;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Protocol;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 


[08/11] incubator-brooklyn git commit: This closes #1026

Posted by he...@apache.org.
This closes #1026


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

Branch: refs/heads/master
Commit: d923363c1e3b38e4d94a1afb544e59a4df81fe19
Parents: 9460544 315babf
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Fri Nov 13 02:05:11 2015 +0000
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Nov 13 02:05:11 2015 +0000

----------------------------------------------------------------------
 .../mgmt/ha/HighAvailabilityManagerImpl.java    | 17 ++++++---
 .../persist/FileBasedStoreObjectAccessor.java   | 10 +++---
 .../FileBasedStoreObjectAccessorWriterTest.java | 38 ++++++++++++++++++--
 .../brooklyn/util/exceptions/Exceptions.java    | 29 ++++++++++++---
 .../org/apache/brooklyn/util/io/FileUtil.java   | 18 +++++-----
 .../util/exceptions/ExceptionsTest.java         | 22 ++++++++++++
 6 files changed, 108 insertions(+), 26 deletions(-)
----------------------------------------------------------------------



[07/11] incubator-brooklyn git commit: BROOKLYN-144: avoid err when persisting ha-record

Posted by he...@apache.org.
BROOKLYN-144: avoid err when persisting ha-record

- Adds Exception.propagate(msg, throwable) so can include info about
  the file that could not be created.
- Fix FileUtil.setFilePermissions so that createNewFile creates the
  parent directory if necessary.
- HighAvailabilityManager’s polling task: log.err on first exception,
  then log.debug for subsequent consecutive exceptions.

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

Branch: refs/heads/master
Commit: 315babf59cdf7206c7f8aac129a3454e5d82c4b6
Parents: 9460544
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 20:42:39 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 20:42:39 2015 +0000

----------------------------------------------------------------------
 .../mgmt/ha/HighAvailabilityManagerImpl.java    | 17 ++++++---
 .../persist/FileBasedStoreObjectAccessor.java   | 10 +++---
 .../FileBasedStoreObjectAccessorWriterTest.java | 38 ++++++++++++++++++--
 .../brooklyn/util/exceptions/Exceptions.java    | 29 ++++++++++++---
 .../org/apache/brooklyn/util/io/FileUtil.java   | 18 +++++-----
 .../util/exceptions/ExceptionsTest.java         | 22 ++++++++++++
 6 files changed, 108 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/315babf5/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
index 0d8de30..d6a3efa 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
@@ -540,12 +540,20 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
     @SuppressWarnings("unchecked")
     protected void registerPollTask() {
         final Runnable job = new Runnable() {
+            private boolean lastFailed;
+            
             @Override public void run() {
                 try {
                     publishAndCheck(false);
+                    lastFailed = false;
                 } catch (Exception e) {
                     if (running) {
-                        LOG.error("Problem in HA-poller: "+e, e);
+                        if (lastFailed) {
+                            if (LOG.isDebugEnabled()) LOG.debug("Recurring problem in HA-poller: "+e, e);
+                        } else {
+                            LOG.error("Problem in HA-poller: "+e, e);
+                            lastFailed = true;
+                        }
                     } else {
                         if (LOG.isDebugEnabled()) LOG.debug("Problem in HA-poller, but no longer running: "+e, e);
                     }
@@ -562,8 +570,9 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
             }
         };
         
-        LOG.debug("Registering poll task for "+this+", period "+getPollPeriod());
-        if (getPollPeriod().equals(Duration.PRACTICALLY_FOREVER)) {
+        Duration pollPeriod = getPollPeriod();
+        LOG.debug("Registering poll task for "+this+", period "+pollPeriod);
+        if (pollPeriod.equals(Duration.PRACTICALLY_FOREVER)) {
             // don't schedule - used for tests
             // (scheduling fires off one initial task in the background before the delay, 
             // which affects tests that want to know exactly when publishing happens;
@@ -571,7 +580,7 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
         } else {
             if (pollingTask!=null) pollingTask.cancel(true);
             
-            ScheduledTask task = new ScheduledTask(MutableMap.of("period", getPollPeriod(), "displayName", "scheduled:[HA poller task]"), taskFactory);
+            ScheduledTask task = new ScheduledTask(MutableMap.of("period", pollPeriod, "displayName", "scheduled:[HA poller task]"), taskFactory);
             pollingTask = managementContext.getExecutionManager().submit(task);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/315babf5/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
index b0ae877..f061884 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessor.java
@@ -30,7 +30,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Charsets;
 import com.google.common.base.Objects;
-import com.google.common.base.Throwables;
 import com.google.common.io.Files;
 
 /**
@@ -56,7 +55,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             if (!exists()) return null;
             return Files.asCharSource(file, Charsets.UTF_8).read();
         } catch (IOException e) {
-            throw Throwables.propagate(e);
+            throw Exceptions.propagate("Problem reading String contents of file "+file, e);
         }
     }
 
@@ -66,7 +65,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             if (!exists()) return null;
             return Files.asByteSource(file).read();
         } catch (IOException e) {
-            throw Throwables.propagate(e);
+            throw Exceptions.propagate("Problem reading bytes of file "+file, e);
         }
     }
 
@@ -83,12 +82,13 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             Files.write(val, tmpFile, Charsets.UTF_8);
             FileBasedObjectStore.moveFile(tmpFile, file);
         } catch (IOException e) {
-            throw Exceptions.propagate(e);
+            throw Exceptions.propagate("Problem writing data to file "+file+" (via temporary file "+tmpFile+")", e);
         } catch (InterruptedException e) {
             throw Exceptions.propagate(e);
         }
     }
 
+    // TODO Should this write to the temporary file? Otherwise we'll risk getting a partial view of the write.
     @Override
     public void append(String val) {
         try {
@@ -97,7 +97,7 @@ public class FileBasedStoreObjectAccessor implements PersistenceObjectStore.Stor
             Files.append(val, file, Charsets.UTF_8);
             
         } catch (IOException e) {
-            throw Exceptions.propagate(e);
+            throw Exceptions.propagate("Problem appending to file "+file, e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/315babf5/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessorWriterTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessorWriterTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessorWriterTest.java
index 14ae4b2..f6db2df 100644
--- a/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessorWriterTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/FileBasedStoreObjectAccessorWriterTest.java
@@ -22,6 +22,7 @@ import static org.testng.Assert.assertEquals;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.brooklyn.core.mgmt.persist.PersistenceObjectStore.StoreObjectAccessorWithLock;
 import org.apache.brooklyn.util.os.Os;
@@ -29,6 +30,7 @@ import org.apache.brooklyn.util.time.Duration;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Charsets;
+import com.google.common.base.Stopwatch;
 import com.google.common.collect.ImmutableList;
 import com.google.common.io.Files;
 
@@ -61,16 +63,46 @@ public class FileBasedStoreObjectAccessorWriterTest extends PersistenceStoreObje
         FileBasedObjectStoreTest.assertFilePermission600(file);
     }
 
-    @Test(enabled = false)
+    @Test(groups="Integration")
+    public void testPutCreatesNewFile() throws Exception {
+        File nonExistantFile = Os.newTempFile(getClass(), "txt");
+        nonExistantFile.delete();
+        StoreObjectAccessorLocking accessor = new StoreObjectAccessorLocking(new FileBasedStoreObjectAccessor(nonExistantFile, ".tmp"));
+        try {
+            accessor.put("abc");
+            assertEquals(Files.readLines(nonExistantFile, Charsets.UTF_8), ImmutableList.of("abc"));
+        } finally {
+            accessor.delete();
+        }
+    }
+
+    @Test(groups="Integration")
+    public void testPutCreatesNewFileAndParentDir() throws Exception {
+        File nonExistantDir = Os.newTempDir(getClass());
+        nonExistantDir.delete();
+        File nonExistantFile = new File(nonExistantDir, "file.txt");
+        StoreObjectAccessorLocking accessor = new StoreObjectAccessorLocking(new FileBasedStoreObjectAccessor(nonExistantFile, ".tmp"));
+        try {
+            accessor.put("abc");
+            assertEquals(Files.readLines(nonExistantFile, Charsets.UTF_8), ImmutableList.of("abc"));
+        } finally {
+            accessor.delete();
+        }
+    }
+
+    @Test(groups={"Integration", "Acceptance"})
     public void testFilePermissionsPerformance() throws Exception {
         long interval = 10 * 1000; // millis
         long start = System.currentTimeMillis();
 
         int count = 0;
+        Stopwatch stopwatch = Stopwatch.createStarted();
         while (System.currentTimeMillis() < start + interval) {
             accessor.put("abc" + count);
-            ++count;
+            count++;
         }
-        System.out.println("writes per second:" + (count * 1000 / interval));
+        stopwatch.stop();
+        double writesPerSec = ((double)count) / stopwatch.elapsed(TimeUnit.MILLISECONDS) * 1000;
+        System.out.println("writes per second: " + writesPerSec);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/315babf5/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java b/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
index 9439faa..9643018 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/exceptions/Exceptions.java
@@ -97,12 +97,31 @@ public class Exceptions {
      * <li> wraps as PropagatedRuntimeException for easier filtering
      */
     public static RuntimeException propagate(Throwable throwable) {
-        if (throwable instanceof InterruptedException)
+        if (throwable instanceof InterruptedException) {
             throw new RuntimeInterruptedException((InterruptedException) throwable);
+        } else if (throwable instanceof RuntimeInterruptedException) {
+            Thread.currentThread().interrupt();
+            throw (RuntimeInterruptedException) throwable;
+        }
         Throwables.propagateIfPossible(checkNotNull(throwable));
         throw new PropagatedRuntimeException(throwable);
     }
 
+    /**
+     * See {@link #propagate(Throwable)}. If wrapping the exception, then include the given message;
+     * otherwise the message is not used.
+     */
+    public static RuntimeException propagate(String msg, Throwable throwable) {
+        if (throwable instanceof InterruptedException) {
+            throw new RuntimeInterruptedException(msg, (InterruptedException) throwable);
+        } else if (throwable instanceof RuntimeInterruptedException) {
+            Thread.currentThread().interrupt();
+            throw (RuntimeInterruptedException) throwable;
+        }
+        Throwables.propagateIfPossible(checkNotNull(throwable));
+        throw new PropagatedRuntimeException(msg, throwable);
+    }
+    
     /** 
      * Propagate exceptions which are fatal.
      * <p>
@@ -110,12 +129,14 @@ public class Exceptions {
      * such as {@link InterruptedException} and {@link Error}s.
      */
     public static void propagateIfFatal(Throwable throwable) {
-        if (throwable instanceof InterruptedException)
+        if (throwable instanceof InterruptedException) {
             throw new RuntimeInterruptedException((InterruptedException) throwable);
-        if (throwable instanceof RuntimeInterruptedException)
+        } else if (throwable instanceof RuntimeInterruptedException) {
+            Thread.currentThread().interrupt();
             throw (RuntimeInterruptedException) throwable;
-        if (throwable instanceof Error)
+        } else if (throwable instanceof Error) {
             throw (Error) throwable;
+        }
     }
 
     /** returns the first exception of the given type, or null */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/315babf5/utils/common/src/main/java/org/apache/brooklyn/util/io/FileUtil.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/util/io/FileUtil.java b/utils/common/src/main/java/org/apache/brooklyn/util/io/FileUtil.java
index 45bea31..a4908f2 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/util/io/FileUtil.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/util/io/FileUtil.java
@@ -26,11 +26,9 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.List;
-import java.util.regex.Pattern;
 
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
-import org.apache.brooklyn.util.io.FileUtil;
 import org.apache.brooklyn.util.os.Os;
 import org.apache.brooklyn.util.stream.StreamGobbler;
 import org.apache.brooklyn.util.stream.Streams;
@@ -40,12 +38,6 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableList;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.attribute.PosixFileAttributeView;
-import java.nio.file.attribute.PosixFilePermission;
-import java.nio.file.attribute.PosixFilePermissions;
-import java.util.Set;
 
 public class FileUtil {
 
@@ -57,7 +49,7 @@ public class FileUtil {
     private static final FilePermissions permissions700 = new FilePermissions(0700);
 
     public static void setFilePermissionsTo700(File file) throws IOException {
-        file.createNewFile();
+        createNewFile(file);
         try {
             permissions700.apply(file);
             if (LOG.isTraceEnabled()) LOG.trace("Set permissions to 700 for file {}", file.getAbsolutePath());
@@ -67,7 +59,7 @@ public class FileUtil {
     }
 
     public static void setFilePermissionsTo600(File file) throws IOException {
-        file.createNewFile();
+        createNewFile(file);
         try {
             permissions600.apply(file);
             if (LOG.isTraceEnabled()) LOG.trace("Set permissions to 600 for file {}", file.getAbsolutePath());
@@ -186,4 +178,10 @@ public class FileUtil {
         }
     }
 
+    private static boolean createNewFile(File file) throws IOException {
+        if (!file.getParentFile().exists()) {
+            file.getParentFile().mkdirs();
+        }
+        return file.createNewFile();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/315babf5/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
----------------------------------------------------------------------
diff --git a/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java b/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
index 0e7d590..dee7651 100644
--- a/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
+++ b/utils/common/src/test/java/org/apache/brooklyn/util/exceptions/ExceptionsTest.java
@@ -59,6 +59,28 @@ public class ExceptionsTest {
     }
     
     @Test
+    public void testPropagateCheckedExceptionWithMessage() throws Exception {
+        String extraMsg = "my message";
+        Exception tothrow = new Exception("simulated");
+        try {
+            throw Exceptions.propagate(extraMsg, tothrow);
+        } catch (RuntimeException e) {
+            assertEquals(e.getMessage(), "my message");
+            assertEquals(e.getCause(), tothrow);
+        }
+    }
+    
+    @Test
+    public void testPropagateRuntimeExceptionIgnoresMessage() throws Exception {
+        NullPointerException tothrow = new NullPointerException("simulated");
+        try {
+            throw Exceptions.propagate("my message", tothrow);
+        } catch (NullPointerException e) {
+            assertEquals(e, tothrow);
+        }
+    }
+    
+    @Test
     public void testPropagateIfFatalPropagatesInterruptedException() throws Exception {
         InterruptedException tothrow = new InterruptedException("simulated");
         try {