diff --git a/core/src/main/resources/rest.properties b/core/src/main/resources/rest.properties
index 76cd22a9a7..c8442950b8 100644
--- a/core/src/main/resources/rest.properties
+++ b/core/src/main/resources/rest.properties
@@ -22,6 +22,9 @@ aws-simpledb.propertiesbuilder=org.jclouds.aws.simpledb.AWSSimpleDBPropertiesBui
aws-sqs.contextbuilder=org.jclouds.sqs.SQSContextBuilder
aws-sqs.propertiesbuilder=org.jclouds.aws.sqs.AWSSQSPropertiesBuilder
+elb.contextbuilder=org.jclouds.elb.ELBContextBuilder
+elb.propertiesbuilder=org.jclouds.elb.ELBPropertiesBuilder
+
aws-elb.contextbuilder=org.jclouds.elb.ELBContextBuilder
aws-elb.propertiesbuilder=org.jclouds.aws.elb.AWSELBPropertiesBuilder
diff --git a/sandbox-providers/aws-elb/README.txt b/labs/aws-elb/README.txt
similarity index 100%
rename from sandbox-providers/aws-elb/README.txt
rename to labs/aws-elb/README.txt
diff --git a/sandbox-providers/aws-elb/pom.xml b/labs/aws-elb/pom.xml
similarity index 98%
rename from sandbox-providers/aws-elb/pom.xml
rename to labs/aws-elb/pom.xml
index 0227cb482c..c4a43951db 100644
--- a/sandbox-providers/aws-elb/pom.xml
+++ b/labs/aws-elb/pom.xml
@@ -27,7 +27,7 @@
1.5.0-SNAPSHOT
../../project/pom.xml
- org.jclouds.provider
+ org.jclouds.labs
aws-elb
jclouds Amazon Elastic Load Balancer provider
Elastic Load Balancer implementation targeted to Amazon Web Services
@@ -50,13 +50,13 @@
- org.jclouds.api
+ org.jclouds.labs
elb
${project.version}
jar
- org.jclouds.api
+ org.jclouds.labs
elb
${project.version}
test-jar
diff --git a/sandbox-providers/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBPropertiesBuilder.java b/labs/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBPropertiesBuilder.java
similarity index 98%
rename from sandbox-providers/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBPropertiesBuilder.java
rename to labs/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBPropertiesBuilder.java
index 759565c7ff..f22894ab4e 100644
--- a/sandbox-providers/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBPropertiesBuilder.java
+++ b/labs/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBPropertiesBuilder.java
@@ -69,10 +69,6 @@ public class AWSELBPropertiesBuilder extends ELBPropertiesBuilder {
return properties;
}
- public AWSELBPropertiesBuilder() {
- super();
- }
-
public AWSELBPropertiesBuilder(Properties properties) {
super(properties);
}
diff --git a/sandbox-providers/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBProviderMetadata.java b/labs/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBProviderMetadata.java
similarity index 100%
rename from sandbox-providers/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBProviderMetadata.java
rename to labs/aws-elb/src/main/java/org/jclouds/aws/elb/AWSELBProviderMetadata.java
diff --git a/sandbox-providers/aws-elb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/labs/aws-elb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
similarity index 100%
rename from sandbox-providers/aws-elb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
rename to labs/aws-elb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
diff --git a/sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBAsyncClientTest.java b/labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBAsyncClientTest.java
similarity index 100%
rename from sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBAsyncClientTest.java
rename to labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBAsyncClientTest.java
diff --git a/sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBClientLiveTest.java b/labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBClientLiveTest.java
similarity index 92%
rename from sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBClientLiveTest.java
rename to labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBClientLiveTest.java
index d8aa824f68..25bc4e26af 100644
--- a/sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBClientLiveTest.java
+++ b/labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBClientLiveTest.java
@@ -27,7 +27,7 @@ import org.testng.annotations.Test;
*
* @author Adrian Cole
*/
-@Test(groups = "live", sequential = true, testName = "AWSELBClientLiveTest")
+@Test(groups = "live", singleThreaded = true, testName = "AWSELBClientLiveTest")
public class AWSELBClientLiveTest extends ELBClientLiveTest {
public AWSELBClientLiveTest() {
provider = "aws-elb";
@@ -47,7 +47,7 @@ public class AWSELBClientLiveTest extends ELBClientLiveTest {
}
}
- @Test
+ @Test(dependsOnMethods = "testDescribeLoadBalancers")
public void testDeleteLoadBalancer() {
for (String region : Region.DEFAULT_REGIONS) {
deleteLoadBalancerInRegion(region);
diff --git a/sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBProviderTest.java b/labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBProviderTest.java
similarity index 100%
rename from sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBProviderTest.java
rename to labs/aws-elb/src/test/java/org/jclouds/aws/elb/AWSELBProviderTest.java
diff --git a/sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/config/AWSELBLoadBalancerServiceLiveTest.java b/labs/aws-elb/src/test/java/org/jclouds/aws/elb/config/AWSELBLoadBalancerServiceLiveTest.java
similarity index 100%
rename from sandbox-providers/aws-elb/src/test/java/org/jclouds/aws/elb/config/AWSELBLoadBalancerServiceLiveTest.java
rename to labs/aws-elb/src/test/java/org/jclouds/aws/elb/config/AWSELBLoadBalancerServiceLiveTest.java
diff --git a/sandbox-apis/elb/README.txt b/labs/elb/README.txt
similarity index 100%
rename from sandbox-apis/elb/README.txt
rename to labs/elb/README.txt
diff --git a/sandbox-apis/elb/pom.xml b/labs/elb/pom.xml
similarity index 95%
rename from sandbox-apis/elb/pom.xml
rename to labs/elb/pom.xml
index 11362160b8..e1cd5f7fbe 100644
--- a/sandbox-apis/elb/pom.xml
+++ b/labs/elb/pom.xml
@@ -27,7 +27,7 @@
1.5.0-SNAPSHOT
../../project/pom.xml
- org.jclouds.api
+ org.jclouds.labs
elb
jcloud elb api
jclouds components to access an implementation of Elastic Load Balancer
@@ -40,7 +40,7 @@
${test.aws.identity}
${test.aws.credential}
- ec2
+ aws-ec2
https://ec2.us-east-1.amazonaws.com
2010-06-15
@@ -75,6 +75,12 @@
test-jar
test
+
+ org.jclouds.provider
+ aws-ec2
+ ${project.version}
+ test
+
org.jclouds.driver
jclouds-sshj
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBAsyncClient.java b/labs/elb/src/main/java/org/jclouds/elb/ELBAsyncClient.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBAsyncClient.java
rename to labs/elb/src/main/java/org/jclouds/elb/ELBAsyncClient.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBClient.java b/labs/elb/src/main/java/org/jclouds/elb/ELBClient.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBClient.java
rename to labs/elb/src/main/java/org/jclouds/elb/ELBClient.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBContextBuilder.java b/labs/elb/src/main/java/org/jclouds/elb/ELBContextBuilder.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBContextBuilder.java
rename to labs/elb/src/main/java/org/jclouds/elb/ELBContextBuilder.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBPropertiesBuilder.java b/labs/elb/src/main/java/org/jclouds/elb/ELBPropertiesBuilder.java
similarity index 97%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBPropertiesBuilder.java
rename to labs/elb/src/main/java/org/jclouds/elb/ELBPropertiesBuilder.java
index c9be99e5b0..34766fe0a0 100644
--- a/sandbox-apis/elb/src/main/java/org/jclouds/elb/ELBPropertiesBuilder.java
+++ b/labs/elb/src/main/java/org/jclouds/elb/ELBPropertiesBuilder.java
@@ -43,9 +43,6 @@ public class ELBPropertiesBuilder extends PropertiesBuilder {
return properties;
}
- public ELBPropertiesBuilder() {
- super();
- }
public ELBPropertiesBuilder(Properties properties) {
super(properties);
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/binders/BindAvailabilityZonesToIndexedFormParams.java b/labs/elb/src/main/java/org/jclouds/elb/binders/BindAvailabilityZonesToIndexedFormParams.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/binders/BindAvailabilityZonesToIndexedFormParams.java
rename to labs/elb/src/main/java/org/jclouds/elb/binders/BindAvailabilityZonesToIndexedFormParams.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/binders/BindInstanceIdsToIndexedFormParams.java b/labs/elb/src/main/java/org/jclouds/elb/binders/BindInstanceIdsToIndexedFormParams.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/binders/BindInstanceIdsToIndexedFormParams.java
rename to labs/elb/src/main/java/org/jclouds/elb/binders/BindInstanceIdsToIndexedFormParams.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/binders/BindLoadBalancerNamesToIndexedFormParams.java b/labs/elb/src/main/java/org/jclouds/elb/binders/BindLoadBalancerNamesToIndexedFormParams.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/binders/BindLoadBalancerNamesToIndexedFormParams.java
rename to labs/elb/src/main/java/org/jclouds/elb/binders/BindLoadBalancerNamesToIndexedFormParams.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/config/ELBRestClientModule.java b/labs/elb/src/main/java/org/jclouds/elb/config/ELBRestClientModule.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/config/ELBRestClientModule.java
rename to labs/elb/src/main/java/org/jclouds/elb/config/ELBRestClientModule.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/domain/LoadBalancer.java b/labs/elb/src/main/java/org/jclouds/elb/domain/LoadBalancer.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/domain/LoadBalancer.java
rename to labs/elb/src/main/java/org/jclouds/elb/domain/LoadBalancer.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBBindLoadBalancerStrategiesByClass.java b/labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBBindLoadBalancerStrategiesByClass.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBBindLoadBalancerStrategiesByClass.java
rename to labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBBindLoadBalancerStrategiesByClass.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerContextModule.java b/labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerContextModule.java
similarity index 95%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerContextModule.java
rename to labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerContextModule.java
index 4cd265320a..fb4b60df60 100644
--- a/sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerContextModule.java
+++ b/labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerContextModule.java
@@ -30,7 +30,6 @@ public class ELBLoadBalancerContextModule extends BaseLoadBalancerServiceContext
@Override
protected void configure() {
- install(new ELBBindLoadBalancerSuppliersByClass());
install(new ELBBindLoadBalancerStrategiesByClass());
install(new ELBLoadBalancerServiceDependenciesModule());
super.configure();
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerServiceDependenciesModule.java b/labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerServiceDependenciesModule.java
similarity index 100%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerServiceDependenciesModule.java
rename to labs/elb/src/main/java/org/jclouds/elb/loadbalancer/config/ELBLoadBalancerServiceDependenciesModule.java
diff --git a/sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/functions/LoadBalancerToLoadBalancerMetadata.java b/labs/elb/src/main/java/org/jclouds/elb/loadbalancer/functions/LoadBalancerToLoadBalancerMetadata.java
similarity index 61%
rename from sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/functions/LoadBalancerToLoadBalancerMetadata.java
rename to labs/elb/src/main/java/org/jclouds/elb/loadbalancer/functions/LoadBalancerToLoadBalancerMetadata.java
index 5b5e8e7bd4..dcd09d0a21 100644
--- a/sandbox-apis/elb/src/main/java/org/jclouds/elb/loadbalancer/functions/LoadBalancerToLoadBalancerMetadata.java
+++ b/labs/elb/src/main/java/org/jclouds/elb/loadbalancer/functions/LoadBalancerToLoadBalancerMetadata.java
@@ -18,21 +18,27 @@
*/
package org.jclouds.elb.loadbalancer.functions;
-import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import javax.annotation.Resource;
import javax.inject.Inject;
import javax.inject.Singleton;
+import org.jclouds.collect.Memoized;
import org.jclouds.domain.Location;
import org.jclouds.elb.domain.LoadBalancer;
import org.jclouds.loadbalancer.domain.LoadBalancerMetadata;
import org.jclouds.loadbalancer.domain.LoadBalancerType;
import org.jclouds.loadbalancer.domain.internal.LoadBalancerMetadataImpl;
+import org.jclouds.logging.Logger;
import com.google.common.base.Function;
+import com.google.common.base.Predicate;
import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
/**
*
@@ -40,25 +46,49 @@ import com.google.common.collect.ImmutableSet;
*/
@Singleton
public class LoadBalancerToLoadBalancerMetadata implements Function {
- protected final Supplier