You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/11/18 18:53:20 UTC

[01/17] jclouds git commit: JCLOUDS-743 - Remove bluelock-vcloud-zone01 provider

Repository: jclouds
Updated Branches:
  refs/heads/1.7.x 62195c08d -> aec64012e


JCLOUDS-743 - Remove bluelock-vcloud-zone01 provider


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/8a322c42
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/8a322c42
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/8a322c42

Branch: refs/heads/1.7.x
Commit: 8a322c42e6ff6e86b1a92cf62d2ac55cd8662def
Parents: 2efb1df
Author: Adrian Cole <ac...@twitter.com>
Authored: Fri Oct 3 21:55:03 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:36 2014 -0800

----------------------------------------------------------------------
 allcompute/pom.xml                              |   5 -
 providers/bluelock-vcloud-zone01/pom.xml        | 126 ---------
 .../BluelockVCloudZone01ProviderMetadata.java   |  83 ------
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 .../BluelockVCloudZone01ProviderTest.java       |  33 ---
 ...elockVCloudZone01ComputeServiceLiveTest.java |  33 ---
 ...lockVCloudZone01TemplateBuilderLiveTest.java |  79 ------
 .../BluelockVCloudZone01CatalogApiLiveTest.java |  33 ---
 .../BluelockVCloudZone01NetworkApiLiveTest.java |  33 ---
 .../BluelockVCloudZone01OrgApiLiveTest.java     |  33 ---
 .../BluelockVCloudZone01TaskApiLiveTest.java    |  33 ---
 .../BluelockVCloudZone01VAppApiLiveTest.java    |  33 ---
 ...lockVCloudZone01VAppTemplateApiLiveTest.java |  33 ---
 .../BluelockVCloudZone01VDCApiLiveTest.java     |  33 ---
 .../BluelockVCloudZone01VmApiLiveTest.java      |  33 ---
 .../src/test/resources/bluelock/vdc.xml         | 265 -------------------
 .../src/test/resources/log4j.xml                | 151 -----------
 providers/pom.xml                               |   1 -
 18 files changed, 1041 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/allcompute/pom.xml
----------------------------------------------------------------------
diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index cbc1da5..3646d95 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -75,11 +75,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>bluelock-vcloud-zone01</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>gogrid</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/pom.xml
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/pom.xml b/providers/bluelock-vcloud-zone01/pom.xml
deleted file mode 100644
index a405861..0000000
--- a/providers/bluelock-vcloud-zone01/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>bluelock-vcloud-zone01</artifactId>
-  <name>jclouds Bluelock vCloud Zone01 provider</name>
-  <description>vCloud implementation targeted to Bluelock vCloud Zone01</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.bluelock-vcloud-zone01.endpoint>https://zone01.bluelock.com/api</test.bluelock-vcloud-zone01.endpoint>
-    <test.bluelock-vcloud-zone01.api-version>1.0</test.bluelock-vcloud-zone01.api-version>
-    <test.bluelock-vcloud-zone01.build-version>1.5.0.464915</test.bluelock-vcloud-zone01.build-version>
-    <test.bluelock-vcloud-zone01.identity>FIXME_IDENTITY</test.bluelock-vcloud-zone01.identity>
-    <test.bluelock-vcloud-zone01.credential>FIXME_CREDENTIAL</test.bluelock-vcloud-zone01.credential>
-    <test.bluelock-vcloud-zone01.template />
-    <jclouds.osgi.export>org.jclouds.bluelock.vcloud.zone01*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${project.version}",
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>vcloud</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>vcloud</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.bluelock-vcloud-zone01.endpoint>${test.bluelock-vcloud-zone01.endpoint}</test.bluelock-vcloud-zone01.endpoint>
-                    <test.bluelock-vcloud-zone01.api-version>${test.bluelock-vcloud-zone01.api-version}</test.bluelock-vcloud-zone01.api-version>
-                    <test.bluelock-vcloud-zone01.build-version>${test.bluelock-vcloud-zone01.build-version}</test.bluelock-vcloud-zone01.build-version>
-                    <test.bluelock-vcloud-zone01.identity>${test.bluelock-vcloud-zone01.identity}</test.bluelock-vcloud-zone01.identity>
-                    <test.bluelock-vcloud-zone01.credential>${test.bluelock-vcloud-zone01.credential}</test.bluelock-vcloud-zone01.credential>
-                    <test.bluelock-vcloud-zone01.template>${test.bluelock-vcloud-zone01.template}</test.bluelock-vcloud-zone01.template>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java b/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java
deleted file mode 100644
index 06c1dce..0000000
--- a/providers/bluelock-vcloud-zone01/src/main/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderMetadata.java
+++ /dev/null
@@ -1,83 +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.jclouds.bluelock.vcloud.zone01;
-
-import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-import org.jclouds.vcloud.VCloudApiMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Bluelock vCloud Zone 1.
- * 
- * @author Adrian Cole
- */
-public class BluelockVCloudZone01ProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-   
-   public BluelockVCloudZone01ProviderMetadata() {
-      super(builder());
-   }
-
-   public BluelockVCloudZone01ProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "internet01-.*");
-      return properties;
-   }
-   
-   public static class Builder extends BaseProviderMetadata.Builder {
-
-      protected Builder() {
-         id("bluelock-vcloud-zone01")
-         .name("Bluelock vCloud Zone 1")
-               .apiMetadata(
-                     new VCloudApiMetadata().toBuilder().buildVersion("1.5.0.464915").build())
-         .homepage(URI.create("http://www.bluelock.com/bluelock-cloud-hosting"))
-         .console(URI.create("https://zone01.bluelock.com/cloud/org/YOUR_ORG_HERE"))
-         .iso3166Codes("US-IN")
-         .endpoint("https://zone01.bluelock.com/api")
-         .defaultProperties(BluelockVCloudZone01ProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public BluelockVCloudZone01ProviderMetadata build() {
-         return new BluelockVCloudZone01ProviderMetadata(this);
-      }
-      
-      @Override
-      public Builder fromProviderMetadata(ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 6f51746..0000000
--- a/providers/bluelock-vcloud-zone01/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.bluelock.vcloud.zone01.BluelockVCloudZone01ProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java
deleted file mode 100644
index 6f55500..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/BluelockVCloudZone01ProviderTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01;
-
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.jclouds.vcloud.VCloudApiMetadata;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "BluelockVCloudZone01ProviderTest")
-public class BluelockVCloudZone01ProviderTest extends BaseProviderMetadataTest {
-
-   public BluelockVCloudZone01ProviderTest() {
-      super(new BluelockVCloudZone01ProviderMetadata(), new VCloudApiMetadata());
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java
deleted file mode 100644
index 767cfc1..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01ComputeServiceLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.compute;
-
-import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01ComputeServiceLiveTest")
-public class BluelockVCloudZone01ComputeServiceLiveTest extends VCloudComputeServiceLiveTest {
-   public BluelockVCloudZone01ComputeServiceLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java
deleted file mode 100644
index 3a9cd42..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/compute/BluelockVCloudZone01TemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,79 +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.jclouds.bluelock.vcloud.zone01.compute;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "BluelockVCloudZone01TemplateBuilderLiveTest")
-public class BluelockVCloudZone01TemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public BluelockVCloudZone01TemplateBuilderLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return !input.version.equals("") || !input.is64Bit;
-            case RHEL:
-               return !input.version.equals("");
-            case WINDOWS:
-               return !input.version.equals("");
-            default:
-               return true;
-            }
-         }
-
-      };
-   }
-
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = view.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
-      assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-IN");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogApiLiveTest.java
deleted file mode 100644
index ab41fcc..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01CatalogApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.CatalogApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01CatalogApiLiveTest")
-public class BluelockVCloudZone01CatalogApiLiveTest extends CatalogApiLiveTest {
-
-   public BluelockVCloudZone01CatalogApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkApiLiveTest.java
deleted file mode 100644
index 6cb6cbb..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01NetworkApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.NetworkApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01NetworkApiLiveTest")
-public class BluelockVCloudZone01NetworkApiLiveTest extends NetworkApiLiveTest {
-
-   public BluelockVCloudZone01NetworkApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgApiLiveTest.java
deleted file mode 100644
index ca007dc..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01OrgApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.OrgApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01OrgApiLiveTest")
-public class BluelockVCloudZone01OrgApiLiveTest extends OrgApiLiveTest {
-
-   public BluelockVCloudZone01OrgApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskApiLiveTest.java
deleted file mode 100644
index 1b05cab..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01TaskApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.TaskApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01TaskApiLiveTest")
-public class BluelockVCloudZone01TaskApiLiveTest extends TaskApiLiveTest {
-
-   public BluelockVCloudZone01TaskApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppApiLiveTest.java
deleted file mode 100644
index 0ba76ef..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.VAppApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VAppApiLiveTest")
-public class BluelockVCloudZone01VAppApiLiveTest extends VAppApiLiveTest {
-
-   public BluelockVCloudZone01VAppApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateApiLiveTest.java
deleted file mode 100644
index dd47a22..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VAppTemplateApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.VAppTemplateApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VAppTemplateApiLiveTest")
-public class BluelockVCloudZone01VAppTemplateApiLiveTest extends VAppTemplateApiLiveTest {
-
-   public BluelockVCloudZone01VAppTemplateApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCApiLiveTest.java
deleted file mode 100644
index 3bf51a9..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VDCApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.VDCApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VDCApiLiveTest")
-public class BluelockVCloudZone01VDCApiLiveTest extends VDCApiLiveTest {
-
-   public BluelockVCloudZone01VDCApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmApiLiveTest.java b/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmApiLiveTest.java
deleted file mode 100644
index cafe991..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/java/org/jclouds/bluelock/vcloud/zone01/features/BluelockVCloudZone01VmApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.bluelock.vcloud.zone01.features;
-
-import org.jclouds.vcloud.features.VmApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "BluelockVCloudZone01VmApiLiveTest")
-public class BluelockVCloudZone01VmApiLiveTest extends VmApiLiveTest {
-
-   public BluelockVCloudZone01VmApiLiveTest() {
-      provider = "bluelock-vcloud-zone01";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml b/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml
deleted file mode 100644
index 0eb6c68..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/resources/bluelock/vdc.xml
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Vdc href="https://express3.bluelock.com/api/v0.8/vdc/133" name="jclouds"
-      xsi:schemaLocation="http://www.vmware.com/vcloud/v0.8 https://express3.bluelock.com/api/v0.8/schemas/vcloud/vdc.xsd"
-      xmlns="http://www.vmware.com/vcloud/v0.8"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-   <Link rel="add" href="https://express3.bluelock.com/api/v0.8/vdc/133/vApps"
-      type="application/vnd.vmware.vcloud.vApp+xml" />
-   <Link rel="add" href="https://express3.bluelock.com/api/v0.8/vdc/133/vAppTemplates"
-      type="application/vnd.vmware.vcloud.vAppTemplate+xml" />
-   <Link rel="add" href="https://express3.bluelock.com/api/v0.8/vdc/133/media"
-      type="application/vnd.vmware.vcloud.media+xml" />
-   <Description>people in paradise</Description>
-      <ResourceEntities>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/447"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 4CPUx8GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/448"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 8CPUx16GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/449"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 8CPUx1GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/347"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 4CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/345"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 2CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/346"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 4CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/387"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 1CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/388"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 2CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/334"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 1CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/335"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 1CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/336"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 1CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/337"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 1CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/338"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 1CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/339"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 1CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/341"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 2CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/342"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 2CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/450"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 8CPUx2GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/451"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 8CPUx4GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/452"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 8CPUx512MBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/453"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 8CPUx8GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/348"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 4CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/349"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 4CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/350"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 4CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/351"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 4CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/352"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 8CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/353"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 8CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/354"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 8CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/355"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 8CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/356"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 8CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/344"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 2CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/358"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 1CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/359"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 1CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/360"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 1CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/361"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 1CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/362"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 1CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/363"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 1CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/364"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 2CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/365"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 2CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/366"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 2CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/367"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 2CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/368"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 2CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/369"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 2CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/370"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 4CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/371"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 4CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/372"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 4CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/373"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 4CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/375"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 4CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/376"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 8CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/377"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 8CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/378"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 8CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/379"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 8CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/380"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 8CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/381"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 8CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/382"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 1CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/383"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 1CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/384"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 1CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/385"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 1CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/386"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 1CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/389"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 2CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/390"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 2CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/392"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 2CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/393"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 2CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/394"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 4CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/395"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 4CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/396"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 4CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/397"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 4CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/398"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 4CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/399"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 4CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/400"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 8CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/401"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 8CPUx1GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/402"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 8CPUx2GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/403"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 8CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/404"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 8CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/405"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 8CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/406"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 1CPUx16GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/407"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 1CPUx1GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/409"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 1CPUx4GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/410"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 1CPUx512MBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/411"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 1CPUx8GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/412"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 2CPUx16GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/413"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 2CPUx1GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/414"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 2CPUx2GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/415"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 2CPUx4GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/416"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 2CPUx512MBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/343"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 2CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/417"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 2CPUx8GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/418"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 4CPUx16GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/419"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 4CPUx1GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/420"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 4CPUx2GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/421"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 4CPUx4GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/422"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 4CPUx512MBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/423"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 4CPUx8GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/424"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 8CPUx16GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/426"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 8CPUx2GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/427"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 8CPUx4GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/428"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 8CPUx512MBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/429"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 8CPUx8GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/430"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 1CPUx16GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/431"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 1CPUx1GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/442"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 4CPUx16GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/435"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 1CPUx8GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/436"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 2CPUx16GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/437"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 2CPUx1GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/438"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 2CPUx2GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/439"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 2CPUx4GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/440"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 2CPUx512MBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/441"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 2CPUx8GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/432"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 1CPUx2GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/433"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 1CPUx4GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/434"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 1CPUx512MBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/340"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 2CPUx16GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/425"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 8CPUx1GBx30GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/443"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 4CPUx1GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/444"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 4CPUx2GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/445"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 4CPUx4GBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/446"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008+SQLExpress 4CPUx512MBx40GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/357"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="CentOS5x64 8CPUx8GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/374"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="RedHat5x64 4CPUx512MBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/391"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu904Serverx64 2CPUx4GBx20GB"/>
-         <ResourceEntity href="https://express3.bluelock.com/api/v0.8/vAppTemplate/408"
-            type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Windows2008stdx64 1CPUx2GBx30GB"/>
-      </ResourceEntities>
-      <AvailableNetworks>
-         <Network href="https://express3.bluelock.com/api/v0.8/network/1"
-            type="application/vnd.vmware.vcloud.network+xml" name="Pod03_Private"/>
-         <Network href="https://express3.bluelock.com/api/v0.8/network/4"
-            type="application/vnd.vmware.vcloud.network+xml" name="Internal Outbound Only"/>
-         <Network href="https://express3.bluelock.com/api/v0.8/network/2"
-            type="application/vnd.vmware.vcloud.network+xml" name="Pod03_Public"/>
-         <Network href="https://express3.bluelock.com/api/v0.8/network/3"
-            type="application/vnd.vmware.vcloud.network+xml" name="Internal In and Out"/>
-      </AvailableNetworks>
-</Vdc>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml b/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml
deleted file mode 100644
index 63810d3..0000000
--- a/providers/bluelock-vcloud-zone01/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-    <!--
-        For more configuration infromation and examples see the Apache
-        Log4j website: http://logging.apache.org/log4j/
-    -->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
-    debug="false">
-
-    <!-- A time/date based rolling appender -->
-    <appender name="WIREFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-wire.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <!-- A time/date based rolling appender -->
-    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-    
-    <!-- A time/date based rolling appender -->
-    <appender name="COMPUTEFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-compute.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <!-- A time/date based rolling appender -->
-    <appender name="SSHFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-ssh.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="COMPUTEFILE" />
-    </appender>
-    
-    <appender name="ASYNCSSH" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="SSHFILE" />
-    </appender>
-
-    <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="FILE" />
-    </appender>
-
-    <appender name="ASYNCWIRE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="WIREFILE" />
-    </appender>
-
-    <!-- ================ -->
-    <!-- Limit categories -->
-    <!-- ================ -->
-
-    <category name="org.jclouds">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNC" />
-    </category>
-
-    <category name="jclouds.headers">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    <category name="jclouds.ssh">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCSSH" />
-    </category>
-    
-    <category name="jclouds.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-
-    <category name="jclouds.compute">
-        <priority value="TRACE" />
-        <appender-ref ref="ASYNCCOMPUTE" />
-    </category>
-    <!-- ======================= -->
-    <!-- Setup the Root category -->
-    <!-- ======================= -->
-
-    <root>
-        <priority value="WARN" />
-    </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/8a322c42/providers/pom.xml
----------------------------------------------------------------------
diff --git a/providers/pom.xml b/providers/pom.xml
index dc5a0db..64d32f7 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -36,7 +36,6 @@
     <module>aws-ec2</module>
     <module>aws-sqs</module>
     <module>aws-cloudwatch</module>
-    <module>bluelock-vcloud-zone01</module>
     <module>elastichosts-lon-p</module>
     <module>elastichosts-sat-p</module>
     <module>elastichosts-lon-b</module>


[09/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java
deleted file mode 100644
index eac1343..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/options/CloudSigmaTemplateOptions.java
+++ /dev/null
@@ -1,323 +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.jclouds.cloudsigma.compute.options;
-
-import org.jclouds.cloudsigma.domain.AffinityType;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.scriptbuilder.domain.Statement;
-
-import java.util.Map;
-
-public class CloudSigmaTemplateOptions extends TemplateOptions implements Cloneable {
-
-   public static final CloudSigmaTemplateOptions NONE = new CloudSigmaTemplateOptions();
-
-   private AffinityType diskDriveAffinity = AffinityType.HDD;
-
-   public CloudSigmaTemplateOptions diskDriveAffinity(AffinityType diskDriveAffinity) {
-      this.diskDriveAffinity = diskDriveAffinity;
-      return this;
-   }
-
-   public AffinityType getDiskDriveAffinity() {
-      return diskDriveAffinity;
-   }
-
-   @Override
-   public CloudSigmaTemplateOptions clone() {
-      CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-      copyTo(options);
-      return options;
-   }
-
-   @Override
-   public void copyTo(TemplateOptions to) {
-      super.copyTo(to);
-      if (to instanceof CloudSigmaTemplateOptions) {
-         CloudSigmaTemplateOptions cTo = CloudSigmaTemplateOptions.class.cast(to);
-         cTo.diskDriveAffinity(getDiskDriveAffinity());
-      }
-   }
-
-   public static class Builder {
-
-      /**
-       * @see CloudSigmaTemplateOptions#diskDriveAffinity
-       */
-      public static CloudSigmaTemplateOptions diskDriveAffinity(AffinityType diskDriveAffinity) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return options.diskDriveAffinity(diskDriveAffinity);
-      }
-
-      // methods that only facilitate returning the correct object type
-
-      /**
-       * @see TemplateOptions#inboundPorts
-       */
-      public static CloudSigmaTemplateOptions inboundPorts(int... ports) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.inboundPorts(ports));
-      }
-
-      /**
-       * @see TemplateOptions#port
-       */
-      public static CloudSigmaTemplateOptions blockOnPort(int port, int seconds) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.blockOnPort(port, seconds));
-      }
-
-      /**
-       * @see TemplateOptions#installPrivateKey
-       */
-      public static CloudSigmaTemplateOptions installPrivateKey(String rsaKey) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.installPrivateKey(rsaKey));
-      }
-
-      /**
-       * @see TemplateOptions#authorizePublicKey
-       */
-      public static CloudSigmaTemplateOptions authorizePublicKey(String rsaKey) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.authorizePublicKey(rsaKey));
-      }
-
-      /**
-       * @see TemplateOptions#userMetadata(Map)
-       */
-      public static CloudSigmaTemplateOptions userMetadata(Map<String, String> userMetadata) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.userMetadata(userMetadata));
-      }
-
-      /**
-       * @see TemplateOptions#nodeNames(Iterable)
-       */
-      public static CloudSigmaTemplateOptions nodeNames(Iterable<String> nodeNames) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.nodeNames(nodeNames));
-      }
-
-      /**
-       * @see TemplateOptions#nodeNames(Iterable)
-       */
-      public static CloudSigmaTemplateOptions networks(Iterable<String> networks) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return CloudSigmaTemplateOptions.class.cast(options.networks(networks));
-      }
-
-      public static CloudSigmaTemplateOptions overrideLoginUser(String user) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return options.overrideLoginUser(user);
-      }
-
-      public static CloudSigmaTemplateOptions overrideLoginPassword(String password) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return options.overrideLoginPassword(password);
-      }
-
-      public static CloudSigmaTemplateOptions overrideLoginPrivateKey(String privateKey) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return options.overrideLoginPrivateKey(privateKey);
-      }
-
-      public static CloudSigmaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return options.overrideAuthenticateSudo(authenticateSudo);
-      }
-
-      public static CloudSigmaTemplateOptions overrideLoginCredentials(LoginCredentials credentials) {
-         CloudSigmaTemplateOptions options = new CloudSigmaTemplateOptions();
-         return options.overrideLoginCredentials(credentials);
-      }
-   }
-
-   // methods that only facilitate returning the correct object type
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions blockOnPort(int port, int seconds) {
-      return CloudSigmaTemplateOptions.class.cast(super.blockOnPort(port, seconds));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions inboundPorts(int... ports) {
-      return CloudSigmaTemplateOptions.class.cast(super.inboundPorts(ports));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions authorizePublicKey(String publicKey) {
-      return CloudSigmaTemplateOptions.class.cast(super.authorizePublicKey(publicKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions installPrivateKey(String privateKey) {
-      return CloudSigmaTemplateOptions.class.cast(super.installPrivateKey(privateKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions blockUntilRunning(boolean blockUntilRunning) {
-      return CloudSigmaTemplateOptions.class.cast(super.blockUntilRunning(blockUntilRunning));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions dontAuthorizePublicKey() {
-      return CloudSigmaTemplateOptions.class.cast(super.dontAuthorizePublicKey());
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions nameTask(String name) {
-      return CloudSigmaTemplateOptions.class.cast(super.nameTask(name));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions runAsRoot(boolean runAsRoot) {
-      return CloudSigmaTemplateOptions.class.cast(super.runAsRoot(runAsRoot));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions runScript(Statement script) {
-      return CloudSigmaTemplateOptions.class.cast(super.runScript(script));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions overrideLoginCredentials(LoginCredentials overridingCredentials) {
-      return CloudSigmaTemplateOptions.class.cast(super.overrideLoginCredentials(overridingCredentials));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions overrideLoginPassword(String password) {
-      return CloudSigmaTemplateOptions.class.cast(super.overrideLoginPassword(password));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions overrideLoginPrivateKey(String privateKey) {
-      return CloudSigmaTemplateOptions.class.cast(super.overrideLoginPrivateKey(privateKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions overrideLoginUser(String loginUser) {
-      return CloudSigmaTemplateOptions.class.cast(super.overrideLoginUser(loginUser));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions overrideAuthenticateSudo(boolean authenticateSudo) {
-      return CloudSigmaTemplateOptions.class.cast(super.overrideAuthenticateSudo(authenticateSudo));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions userMetadata(Map<String, String> userMetadata) {
-      return CloudSigmaTemplateOptions.class.cast(super.userMetadata(userMetadata));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions userMetadata(String key, String value) {
-      return CloudSigmaTemplateOptions.class.cast(super.userMetadata(key, value));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions nodeNames(Iterable<String> nodeNames) {
-      return CloudSigmaTemplateOptions.class.cast(super.nodeNames(nodeNames));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public CloudSigmaTemplateOptions networks(Iterable<String> networks) {
-      return CloudSigmaTemplateOptions.class.cast(super.networks(networks));
-   }
-
-   @Override
-   public boolean equals(Object o) {
-      if (this == o) return true;
-      if (o == null || getClass() != o.getClass()) return false;
-      if (!super.equals(o)) return false;
-
-      CloudSigmaTemplateOptions that = (CloudSigmaTemplateOptions) o;
-
-      if (diskDriveAffinity != that.diskDriveAffinity) return false;
-
-      return true;
-   }
-
-   @Override
-   public int hashCode() {
-      int result = super.hashCode();
-      result = 31 * result + (diskDriveAffinity != null ? diskDriveAffinity.hashCode() : 0);
-      return result;
-   }
-
-   @Override
-   public String toString() {
-      return "CloudSigmaTemplateOptions{" +
-         "diskDriveAffinity=" + diskDriveAffinity +
-         '}';
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java
deleted file mode 100644
index 3773fa3..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/config/CloudSigmaRestClientModule.java
+++ /dev/null
@@ -1,90 +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.jclouds.cloudsigma.config;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-import org.jclouds.cloudsigma.functions.BaseDriveToMap;
-import org.jclouds.cloudsigma.functions.DriveDataToMap;
-import org.jclouds.cloudsigma.functions.MapToDevices;
-import org.jclouds.cloudsigma.functions.MapToDevices.DeviceToId;
-import org.jclouds.cloudsigma.functions.MapToDriveMetrics;
-import org.jclouds.cloudsigma.functions.MapToNICs;
-import org.jclouds.cloudsigma.functions.MapToServerMetrics;
-import org.jclouds.cloudsigma.functions.ServerToMap;
-import org.jclouds.cloudsigma.handlers.CloudSigmaErrorHandler;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.HttpApiModule;
-
-import com.google.common.base.Function;
-import com.google.inject.TypeLiteral;
-
-/**
- * Configures the CloudSigma connection.
- * 
- * @author Adrian Cole
- */
-@ConfiguresRestClient
-public class CloudSigmaRestClientModule extends HttpApiModule<CloudSigmaApi> {
-
-   @Override
-   protected void bindErrorHandlers() {
-      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(CloudSigmaErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(CloudSigmaErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(CloudSigmaErrorHandler.class);
-   }
-
-   @Override
-   protected void configure() {
-      super.configure();
-      bind(new TypeLiteral<Function<Drive, Map<String, String>>>() {
-      }).to(BaseDriveToMap.class);
-      bind(new TypeLiteral<Function<DriveData, Map<String, String>>>() {
-      }).to(DriveDataToMap.class);
-      bind(new TypeLiteral<Function<Map<String, String>, List<NIC>>>() {
-      }).to(MapToNICs.class);
-      bind(new TypeLiteral<Function<Map<String, String>, Map<String, ? extends Device>>>() {
-      }).to(MapToDevices.class);
-      bind(new TypeLiteral<Function<Map<String, String>, Map<String, ? extends DriveMetrics>>>() {
-      }).to(MapToDriveMetrics.class);
-      bind(new TypeLiteral<Function<Map<String, String>, ServerMetrics>>() {
-      }).to(MapToServerMetrics.class);
-      bind(new TypeLiteral<Function<Device, String>>() {
-      }).to(DeviceToId.class);
-      bind(new TypeLiteral<Function<Server, Map<String, String>>>() {
-      }).to(ServerToMap.class);
-   }
-
-   @Override
-   protected void bindRetryHandlers() {
-      // TODO
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java
deleted file mode 100644
index a9ce16f..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/AffinityType.java
+++ /dev/null
@@ -1,49 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Option for the cloneDrive operation.
- * 'HDD' to specifies a regular "spinning oxide" disk; 'SSD' specifies a solid-state drive.
- * 
- * @author Alasdair Hodge
- */
-public enum AffinityType {
-   HDD,
-   SSD,
-   UNRECOGNIZED;
-
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static AffinityType fromValue(String affinity) {
-      try {
-         return valueOf(checkNotNull(affinity, "affinity").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java
deleted file mode 100644
index fd4cf3f..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/BlockDevice.java
+++ /dev/null
@@ -1,83 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class BlockDevice extends Device {
-   public static class Builder extends Device.Builder {
-      private final int index;
-
-      public Builder(int index) {
-         this.index = index;
-      }
-
-      @Override
-      public Device build() {
-         return new BlockDevice(uuid, mediaType, index);
-      }
-
-   }
-
-   private final int index;
-
-   public BlockDevice(String driveUuid, MediaType mediaType, int index) {
-      super(driveUuid, mediaType);
-      checkArgument(index >= 0 && index < 8, "index must be between 0 and 7");
-      this.index = index;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + index;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      BlockDevice other = (BlockDevice) obj;
-      if (index != other.index)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String getId() {
-      return String.format("block:%d", index);
-   }
-
-   public int getIndex() {
-      return index;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + getId() + ", driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java
deleted file mode 100644
index 909981b..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ClaimType.java
+++ /dev/null
@@ -1,54 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * either 'exclusive' (the default) or 'shared' to allow multiple servers to access a drive
- * simultaneously
- * 
- * @author Adrian Cole
- */
-public enum ClaimType {
-   /**
-    * 
-    */
-   EXCLUSIVE,
-   /**
-    * allow multiple servers to access a drive simultaneously
-    */
-   SHARED, UNRECOGNIZED;
-
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static ClaimType fromValue(String claim) {
-      try {
-         return valueOf(checkNotNull(claim, "claim").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java
deleted file mode 100644
index 5af1315..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/CreateDriveRequest.java
+++ /dev/null
@@ -1,168 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class CreateDriveRequest extends Drive {
-   public static class Builder extends Drive.Builder {
-
-      private Set<String> avoid = ImmutableSet.of();
-
-      @Nullable
-      private String encryptionCipher;
-
-      public Builder avoid(Iterable<String> avoid) {
-         this.avoid = ImmutableSet.copyOf(checkNotNull(avoid, "avoid"));
-         return this;
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder claimType(ClaimType claimType) {
-         return Builder.class.cast(super.claimType(claimType));
-      }
-
-      public Builder encryptionCipher(String encryptionCipher) {
-         this.encryptionCipher = encryptionCipher;
-         return this;
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder name(String name) {
-         return Builder.class.cast(super.name(name));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder tags(Iterable<String> tags) {
-          return Builder.class.cast(super.tags(tags));
-      }
-      
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder readers(Iterable<String> readers) {
-         return Builder.class.cast(super.readers(readers));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder size(long size) {
-         return Builder.class.cast(super.size(size));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder use(Iterable<String> use) {
-         return Builder.class.cast(super.use(use));
-      }
-
-      public CreateDriveRequest build() {
-         return new CreateDriveRequest(name, size, claimType, tags, readers, use, encryptionCipher, avoid);
-      }
-   }
-
-   private final Set<String> avoid;
-   @Nullable
-   private final String encryptionCipher;
-
-   public CreateDriveRequest(String name, long size, @Nullable ClaimType claimType, Iterable<String> tags,
-         Iterable<String> readers, Iterable<String> use, @Nullable String encryptionCipher, Iterable<String> avoid) {
-      super(null, name, size, claimType, tags, readers, use);
-      this.encryptionCipher = encryptionCipher;
-      this.avoid = ImmutableSet.copyOf(checkNotNull(avoid, "avoid"));
-   }
-
-   /**
-    * 
-    * @return list of existing drives to ensure this new drive is created on physical different
-    *         hardware than those existing drives
-    */
-   public Set<String> getAvoid() {
-      return avoid;
-   }
-
-   /**
-    * 
-    * @return either 'none' or 'aes-xts-plain' (the default)
-    */
-   @Nullable
-   public String getEncryptionCipher() {
-      return encryptionCipher;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((avoid == null) ? 0 : avoid.hashCode());
-      result = prime * result + ((encryptionCipher == null) ? 0 : encryptionCipher.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (!super.equals(obj))
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      CreateDriveRequest other = (CreateDriveRequest) obj;
-      if (avoid == null) {
-         if (other.avoid != null)
-            return false;
-      } else if (!avoid.equals(other.avoid))
-         return false;
-      if (encryptionCipher == null) {
-         if (other.encryptionCipher != null)
-            return false;
-      } else if (!encryptionCipher.equals(other.encryptionCipher))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[name=" + name + ", size=" + size + ", claimType=" + claimType + ", tags=" + tags
-            + ", readers=" + readers + ", use=" + use + ", avoid=" + avoid
-            + ", encryptionCipher=" + encryptionCipher + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java
deleted file mode 100644
index c079386..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Device.java
+++ /dev/null
@@ -1,105 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public abstract class Device {
-   public abstract static class Builder {
-      protected String uuid;
-      protected MediaType mediaType = MediaType.DISK;
-
-      public Builder mediaType(MediaType mediaType) {
-         this.mediaType = mediaType;
-         return this;
-      }
-
-      public Builder uuid(String uuid) {
-         this.uuid = uuid;
-         return this;
-      }
-
-      public abstract Device build();
-   }
-
-   protected final String driveUuid;
-   protected final MediaType mediaType;
-
-   public Device(String driveUuid, MediaType mediaType) {
-      this.driveUuid = checkNotNull(driveUuid, "driveUuid");
-      this.mediaType = checkNotNull(mediaType, "mediaType");
-   }
-
-   /**
-    * id generated based on the device bus, unit, and/or index numbers;
-    */
-   public abstract String getId();
-
-   /**
-    * 
-    * @return Drive UUID to connect as specified device.
-    */
-   public String getDriveUuid() {
-      return driveUuid;
-   }
-
-   /**
-    * 
-    * @return set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard
-    *         disk.
-    */
-   public MediaType getMediaType() {
-      return mediaType;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((driveUuid == null) ? 0 : driveUuid.hashCode());
-      result = prime * result + ((mediaType == null) ? 0 : mediaType.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      Device other = (Device) obj;
-      if (driveUuid == null) {
-         if (other.driveUuid != null)
-            return false;
-      } else if (!driveUuid.equals(other.driveUuid))
-         return false;
-      if (mediaType != other.mediaType)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java
deleted file mode 100644
index 0aad6aa..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Drive.java
+++ /dev/null
@@ -1,213 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class Drive extends Item {
-   public static class Builder extends Item.Builder {
-      protected long size;
-      protected ClaimType claimType = ClaimType.EXCLUSIVE;
-      protected Set<String> tags = ImmutableSet.of();
-      protected Set<String> readers = ImmutableSet.of();
-
-      public Builder claimType(ClaimType claimType) {
-         this.claimType = claimType;
-         return this;
-      }
-
-      public Builder tags(Iterable<String> tags) {
-          this.tags = ImmutableSet.copyOf(checkNotNull(tags, "tags"));
-          return this;
-      }
-      
-      public Builder readers(Iterable<String> readers) {
-         this.readers = ImmutableSet.copyOf(checkNotNull(readers, "readers"));
-         return this;
-      }
-
-      public Builder size(long size) {
-         this.size = size;
-         return this;
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder uuid(String uuid) {
-         return Builder.class.cast(super.uuid(uuid));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder name(String name) {
-         return Builder.class.cast(super.name(name));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder use(Iterable<String> use) {
-         return Builder.class.cast(super.use(use));
-      }
-
-      public Drive build() {
-         return new Drive(uuid, name, size, claimType, tags, readers, use);
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = super.hashCode();
-         result = prime * result + ((claimType == null) ? 0 : claimType.hashCode());
-         result = prime * result + ((tags == null) ? 0 : tags.hashCode());
-         result = prime * result + ((readers == null) ? 0 : readers.hashCode());
-         result = prime * result + (int) (size ^ (size >>> 32));
-         return result;
-      }
-
-      @Override
-      public boolean equals(Object obj) {
-         if (this == obj)
-            return true;
-         if (!super.equals(obj))
-            return false;
-         if (getClass() != obj.getClass())
-            return false;
-         Builder other = (Builder) obj;
-         if (claimType != other.claimType)
-            return false;
-         if (!Objects.equal(tags, other.tags))
-             return false;
-         if (!Objects.equal(readers, other.readers))
-             return false;
-         if (size != other.size)
-            return false;
-         return true;
-      }
-   }
-
-   protected final long size;
-   protected final ClaimType claimType;
-   protected final Set<String> tags;
-   protected final Set<String> readers;
-
-   public Drive(@Nullable String uuid, String name, long size, @Nullable ClaimType claimType,
-         Iterable<String> tags, Iterable<String> readers, Iterable<String> use) {
-      super(uuid, name, use);
-      this.size = size;
-      this.claimType = checkNotNull(claimType, "set claimType to exclusive, not null");
-      this.tags = ImmutableSet.copyOf(checkNotNull(tags, "tags"));
-      this.readers = ImmutableSet.copyOf(checkNotNull(readers, "readers"));
-   }
-
-   /**
-    * 
-    * @return either 'exclusive' (the default) or 'shared' to allow multiple servers to access a
-    *         drive simultaneously
-    */
-   @Nullable
-   public ClaimType getClaimType() {
-      return claimType;
-   }
-
-   /**
-    * @return all tags associated with this drive, both user-specified and "system" tags (e.g. "affinity:ssd")
-    */
-   public Set<String> getTags() {
-       return tags;
-   }
-   
-   /**
-    * 
-    * @return list of users allowed to read from a drive or 'ffffffff-ffff-ffff-ffff-ffffffffffff'
-    *         for all users
-    */
-   public Set<String> getReaders() {
-      return readers;
-   }
-
-   /**
-    * 
-    * @return size of drive in bytes
-    */
-   public long getSize() {
-      return size;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((claimType == null) ? 0 : claimType.hashCode());
-      result = prime * result + ((tags == null) ? 0 : tags.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((readers == null) ? 0 : readers.hashCode());
-      result = prime * result + (int) (size ^ (size >>> 32));
-      result = prime * result + ((use == null) ? 0 : use.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      Drive other = (Drive) obj;
-      if (claimType != other.claimType)
-         return false;
-      if (!Objects.equal(tags, other.tags))
-          return false;
-      if (!Objects.equal(name, other.name))
-          return false;
-      if (!Objects.equal(readers, other.readers))
-          return false;
-      if (size != other.size)
-         return false;
-      if (use == null) {
-         if (other.use != null)
-            return false;
-      } else if (!use.equals(other.use))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[uuid=" + uuid + ", name=" + name + ", use=" + use + ", size=" + size + ", claimType=" + claimType
-            + ", tags=" + tags + ", readers=" + readers + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java
deleted file mode 100644
index 05cc016..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveData.java
+++ /dev/null
@@ -1,85 +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.jclouds.cloudsigma.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class DriveData extends Drive {
-   public static class Builder extends Drive.Builder {
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder claimType(ClaimType claimType) {
-         return Builder.class.cast(super.claimType(claimType));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder name(String name) {
-         return Builder.class.cast(super.name(name));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder tags(Iterable<String> tags) {
-          return Builder.class.cast(super.tags(tags));
-      }
-      
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder readers(Iterable<String> readers) {
-         return Builder.class.cast(super.readers(readers));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder size(long size) {
-         return Builder.class.cast(super.size(size));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder use(Iterable<String> use) {
-         return Builder.class.cast(super.use(use));
-      }
-
-      public DriveData build() {
-         return new DriveData(uuid, name, size, claimType, tags, readers, use);
-      }
-   }
-
-   public DriveData(@Nullable String uuid, String name, long size, @Nullable ClaimType claimType,
-           Iterable<String> tags, Iterable<String> readers, Iterable<String> use) {
-      super(uuid, name, size, claimType, tags, readers, use);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java
deleted file mode 100644
index e61fc28..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveInfo.java
+++ /dev/null
@@ -1,470 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class DriveInfo extends Drive {
-   public static class Builder extends Drive.Builder {
-
-      protected DriveStatus status;
-      protected String user;
-      protected Set<String> claimed = ImmutableSet.of();
-      @Nullable
-      protected String encryptionCipher;
-      @Nullable
-      protected String imaging;
-      protected DriveMetrics metrics;
-      private Boolean autoexpanding;
-      private Integer bits;
-      private String description;
-      private Set<String> driveType = ImmutableSet.of();
-      private String encryptionKey;
-      private Boolean free;
-      private String installNotes;
-      private String os;
-      private DriveType type;
-      private URI url;
-
-      public Builder status(DriveStatus status) {
-         this.status = status;
-         return this;
-      }
-
-      public Builder user(String user) {
-         this.user = user;
-         return this;
-      }
-
-      public Builder claimed(Iterable<String> claimed) {
-         this.claimed = ImmutableSet.copyOf(checkNotNull(claimed, "claimed"));
-         return this;
-      }
-
-      public Builder imaging(String imaging) {
-         this.imaging = imaging;
-         return this;
-      }
-
-      public Builder metrics(DriveMetrics metrics) {
-         this.metrics = metrics;
-         return this;
-      }
-
-      public Builder encryptionCipher(String encryptionCipher) {
-         this.encryptionCipher = encryptionCipher;
-         return this;
-      }
-
-      public Builder autoexpanding(Boolean autoexpanding) {
-         this.autoexpanding = autoexpanding;
-         return this;
-      }
-
-      public Builder bits(Integer bits) {
-         this.bits = bits;
-         return this;
-      }
-
-      public Builder description(String description) {
-         this.description = description;
-         return this;
-      }
-
-      public Builder driveType(Iterable<String> driveType) {
-         this.driveType = ImmutableSet.copyOf(checkNotNull(driveType, "driveType"));
-         return this;
-      }
-
-      public Builder encryptionKey(String encryptionKey) {
-         this.encryptionKey = encryptionKey;
-         return this;
-      }
-
-      public Builder free(Boolean free) {
-         this.free = free;
-         return this;
-      }
-
-      public Builder installNotes(String installNotes) {
-         this.installNotes = installNotes;
-         return this;
-      }
-
-      public Builder os(String os) {
-         this.os = os;
-         return this;
-      }
-
-      public Builder type(DriveType type) {
-         this.type = type;
-         return this;
-      }
-
-      public Builder url(URI url) {
-         this.url = url;
-         return this;
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder claimType(ClaimType claimType) {
-         return Builder.class.cast(super.claimType(claimType));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder tags(Iterable<String> tags) {
-          return Builder.class.cast(super.tags(tags));
-      }
-      
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder readers(Iterable<String> readers) {
-         return Builder.class.cast(super.readers(readers));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder size(long size) {
-         return Builder.class.cast(super.size(size));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder uuid(String uuid) {
-         return Builder.class.cast(super.uuid(uuid));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder name(String name) {
-         return Builder.class.cast(super.name(name));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder use(Iterable<String> use) {
-         return Builder.class.cast(super.use(use));
-      }
-
-      public static Builder fromDriveInfo(DriveInfo in) {
-         return new Builder().uuid(in.getUuid()).name(in.getName()).size(in.getSize()).claimType(in.getClaimType())
-               .readers(in.getReaders()).use(in.getUse()).status(in.getStatus()).user(in.getUser())
-               .claimed(in.getClaimed()).encryptionCipher(in.getEncryptionCipher()).imaging(in.getImaging())
-               .metrics(in.getMetrics()).autoexpanding(in.getAutoexpanding()).bits(in.getBits())
-               .description(in.getDescription()).encryptionKey(in.getEncryptionKey()).free(in.getFree())
-               .installNotes(in.getInstallNotes()).type(in.getType()).url(in.getUrl());
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public DriveInfo build() {
-         return new DriveInfo(uuid, name, size, claimType, tags, readers, use, status, user, claimed, encryptionCipher,
-               imaging, metrics, autoexpanding, bits, description, driveType, encryptionKey, free, installNotes, os,
-               type, url);
-      }
-
-   }
-
-   protected final DriveStatus status;
-   protected final String user;
-   protected final Set<String> claimed;
-   @Nullable
-   protected final String encryptionCipher;
-   @Nullable
-   protected final String imaging;
-   protected final DriveMetrics metrics;
-   private final Boolean autoexpanding;
-   private final Integer bits;
-   private final String description;
-   private final ImmutableSet<String> driveType;
-   private final String encryptionKey;
-   private final Boolean free;
-   private final String installNotes;
-   private final String os;
-   private final DriveType type;
-   private final URI url;
-
-   public DriveInfo(String uuid, String name, long size, ClaimType claimType, Iterable<String> tags, Iterable<String> readers,
-         Iterable<String> use, DriveStatus status, String user, Set<String> claimed, String encryptionCipher,
-         String imaging, DriveMetrics metrics, Boolean autoexpanding, Integer bits, String description,
-         Iterable<String> driveType, String encryptionKey, Boolean free, String installNotes, String os,
-         DriveType type, URI url) {
-      super(uuid, name, size, claimType, tags, readers, use);
-      this.status = status;
-      this.user = user;
-      this.claimed = ImmutableSet.copyOf(checkNotNull(claimed, "claimed"));
-      this.encryptionCipher = encryptionCipher;
-      this.imaging = imaging;
-      this.metrics = checkNotNull(metrics, "metrics");
-      this.autoexpanding = autoexpanding;
-      this.bits = bits;
-      this.description = description;
-      this.driveType = ImmutableSet.copyOf(driveType);
-      this.encryptionKey = encryptionKey;
-      this.free = free;
-      this.installNotes = installNotes;
-      this.os = os;
-      this.type = type;
-      this.url = url;
-   }
-
-   /**
-    * 
-    * @return current status of the drive
-    */
-   public DriveStatus getStatus() {
-      return status;
-   }
-
-   /**
-    * 
-    * @return owner of the drive
-    */
-   public String getUser() {
-      return user;
-   }
-
-   /**
-    * 
-    * @return if drive is in use by a server, values are the server uuids
-    */
-   public Set<String> getClaimed() {
-      return claimed;
-   }
-
-   /**
-    * 
-    * @return either 'none' or 'aes-xts-plain' (the default)
-    */
-   @Nullable
-   public String getEncryptionCipher() {
-      return encryptionCipher;
-   }
-
-   /**
-    * 
-    * @return percentage completed of drive imaging if this is underway, or 'queued' if waiting for
-    *         another imaging operation to complete first
-    */
-   public String getImaging() {
-      return imaging;
-   }
-
-   /**
-    * 
-    * @return i/o and request metrics for read and write ops
-    */
-   public DriveMetrics getMetrics() {
-      return metrics;
-   }
-
-   // TODO
-   public Boolean getAutoexpanding() {
-      return autoexpanding;
-   }
-
-   // TODO
-   public Integer getBits() {
-      return bits;
-   }
-
-   // TODO undocumented
-   public String getDescription() {
-      return description;
-   }
-
-   // TODO
-   public Set<String> getDriveType() {
-      return driveType;
-   }
-
-   // TODO
-   public String getEncryptionKey() {
-      return encryptionKey;
-   }
-
-   // TODO
-   public Boolean getFree() {
-      return free;
-   }
-
-   // TODO
-   public String getInstallNotes() {
-      return installNotes;
-   }
-
-   // TODO
-   public String getOs() {
-      return os;
-   }
-
-   // TODO
-   public DriveType getType() {
-      return type;
-   }
-
-   public URI getUrl() {
-      return url;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((autoexpanding == null) ? 0 : autoexpanding.hashCode());
-      result = prime * result + ((bits == null) ? 0 : bits.hashCode());
-      result = prime * result + ((claimed == null) ? 0 : claimed.hashCode());
-      result = prime * result + ((description == null) ? 0 : description.hashCode());
-      result = prime * result + ((driveType == null) ? 0 : driveType.hashCode());
-      result = prime * result + ((encryptionCipher == null) ? 0 : encryptionCipher.hashCode());
-      result = prime * result + ((encryptionKey == null) ? 0 : encryptionKey.hashCode());
-      result = prime * result + ((free == null) ? 0 : free.hashCode());
-      result = prime * result + ((imaging == null) ? 0 : imaging.hashCode());
-      result = prime * result + ((installNotes == null) ? 0 : installNotes.hashCode());
-      result = prime * result + ((metrics == null) ? 0 : metrics.hashCode());
-      result = prime * result + ((os == null) ? 0 : os.hashCode());
-      result = prime * result + ((status == null) ? 0 : status.hashCode());
-      result = prime * result + ((type == null) ? 0 : type.hashCode());
-      result = prime * result + ((url == null) ? 0 : url.hashCode());
-      result = prime * result + ((user == null) ? 0 : user.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (!super.equals(obj))
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      DriveInfo other = (DriveInfo) obj;
-      if (autoexpanding == null) {
-         if (other.autoexpanding != null)
-            return false;
-      } else if (!autoexpanding.equals(other.autoexpanding))
-         return false;
-      if (bits == null) {
-         if (other.bits != null)
-            return false;
-      } else if (!bits.equals(other.bits))
-         return false;
-      if (claimed == null) {
-         if (other.claimed != null)
-            return false;
-      } else if (!claimed.equals(other.claimed))
-         return false;
-      if (description == null) {
-         if (other.description != null)
-            return false;
-      } else if (!description.equals(other.description))
-         return false;
-      if (driveType == null) {
-         if (other.driveType != null)
-            return false;
-      } else if (!driveType.equals(other.driveType))
-         return false;
-      if (encryptionCipher == null) {
-         if (other.encryptionCipher != null)
-            return false;
-      } else if (!encryptionCipher.equals(other.encryptionCipher))
-         return false;
-      if (encryptionKey == null) {
-         if (other.encryptionKey != null)
-            return false;
-      } else if (!encryptionKey.equals(other.encryptionKey))
-         return false;
-      if (free == null) {
-         if (other.free != null)
-            return false;
-      } else if (!free.equals(other.free))
-         return false;
-      if (imaging == null) {
-         if (other.imaging != null)
-            return false;
-      } else if (!imaging.equals(other.imaging))
-         return false;
-      if (installNotes == null) {
-         if (other.installNotes != null)
-            return false;
-      } else if (!installNotes.equals(other.installNotes))
-         return false;
-      if (metrics == null) {
-         if (other.metrics != null)
-            return false;
-      } else if (!metrics.equals(other.metrics))
-         return false;
-      if (os == null) {
-         if (other.os != null)
-            return false;
-      } else if (!os.equals(other.os))
-         return false;
-      if (status != other.status)
-         return false;
-      if (type != other.type)
-         return false;
-      if (url == null) {
-         if (other.url != null)
-            return false;
-      } else if (!url.equals(other.url))
-         return false;
-      if (user == null) {
-         if (other.user != null)
-            return false;
-      } else if (!user.equals(other.user))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[size=" + size + ", claimType=" + claimType + ", tags=" + tags + ", readers=" + readers
-            + ", uuid=" + uuid + ", name=" + name + ", use=" + use + ", status=" + status
-            + ", user=" + user + ", claimed=" + claimed + ", encryptionCipher=" + encryptionCipher
-            + ", imaging=" + imaging + ", metrics=" + metrics + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java
deleted file mode 100644
index 4c9df61..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveMetrics.java
+++ /dev/null
@@ -1,136 +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.jclouds.cloudsigma.domain;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class DriveMetrics {
-   public static class Builder {
-      protected long readBytes;
-      protected long readRequests;
-      protected long writeBytes;
-      protected long writeRequests;
-
-      public Builder readBytes(long readBytes) {
-         this.readBytes = readBytes;
-         return this;
-      }
-
-      public Builder readRequests(long readRequests) {
-         this.readRequests = readRequests;
-         return this;
-      }
-
-      public Builder writeBytes(long writeBytes) {
-         this.writeBytes = writeBytes;
-         return this;
-      }
-
-      public Builder writeRequests(long writeRequests) {
-         this.writeRequests = writeRequests;
-         return this;
-      }
-
-      public DriveMetrics build() {
-         return new DriveMetrics(readBytes, readRequests, writeBytes, writeRequests);
-      }
-   }
-
-   protected final long readBytes;
-   protected final long readRequests;
-   protected final long writeBytes;
-   protected final long writeRequests;
-
-   public DriveMetrics(long readBytes, long readRequests, long writeBytes, long writeRequests) {
-      this.readBytes = readBytes;
-      this.readRequests = readRequests;
-      this.writeBytes = writeBytes;
-      this.writeRequests = writeRequests;
-   }
-
-   /**
-    * 
-    * @return Cumulative i/o byte/request count for each drive
-    */
-   public long getReadBytes() {
-      return readBytes;
-   }
-
-   /**
-    * 
-    * @return Cumulative i/o byte/request count for each drive
-    */
-   public long getReadRequests() {
-      return readRequests;
-   }
-
-   /**
-    * 
-    * @return Cumulative i/o byte/request count for each drive
-    */
-   public long getWriteBytes() {
-      return writeBytes;
-   }
-
-   /**
-    * 
-    * @return Cumulative i/o byte/request count for each drive
-    */
-   public long getWriteRequests() {
-      return writeRequests;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + (int) (readBytes ^ (readBytes >>> 32));
-      result = prime * result + (int) (readRequests ^ (readRequests >>> 32));
-      result = prime * result + (int) (writeBytes ^ (writeBytes >>> 32));
-      result = prime * result + (int) (writeRequests ^ (writeRequests >>> 32));
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      DriveMetrics other = (DriveMetrics) obj;
-      if (readBytes != other.readBytes)
-         return false;
-      if (readRequests != other.readRequests)
-         return false;
-      if (writeBytes != other.writeBytes)
-         return false;
-      if (writeRequests != other.writeRequests)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[readBytes=" + readBytes + ", readRequests=" + readRequests + ", writeBytes=" + writeBytes
-            + ", writeRequests=" + writeRequests + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java
deleted file mode 100644
index c845d78..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveStatus.java
+++ /dev/null
@@ -1,45 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public enum DriveStatus {
-   ACTIVE, INACTIVE, COPYING, IMAGING, UNRECOGNIZED;
-
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static DriveStatus fromValue(String status) {
-      try {
-         return valueOf(checkNotNull(status, "status").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java
deleted file mode 100644
index 25daa0f..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/DriveType.java
+++ /dev/null
@@ -1,45 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public enum DriveType {
-   DISK, CDROM, SHARED, UNRECOGNIZED;
-
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static DriveType fromValue(String type) {
-      try {
-         return valueOf(checkNotNull(type, "type").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java
deleted file mode 100644
index 4fb8ba9..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/IDEDevice.java
+++ /dev/null
@@ -1,95 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class IDEDevice extends Device {
-   public static class Builder extends Device.Builder {
-      private final int bus;
-      private final int unit;
-
-      public Builder(int bus, int unit) {
-         this.bus = bus;
-         this.unit = unit;
-      }
-
-      @Override
-      public Device build() {
-         return new IDEDevice(uuid, mediaType, bus, unit);
-      }
-
-   }
-
-   private final int bus;
-   private final int unit;
-
-   public IDEDevice(String driveUuid, MediaType mediaType, int bus, int unit) {
-      super(driveUuid, mediaType);
-      checkArgument(bus == 0 || bus == 1, "bus must be 0 or 1");
-      checkArgument(unit == 0 || unit == 1, "unit must be 0 or 1");
-      this.bus = bus;
-      this.unit = unit;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + bus;
-      result = prime * result + unit;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      IDEDevice other = (IDEDevice) obj;
-      if (bus != other.bus)
-         return false;
-      if (unit != other.unit)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String getId() {
-      return String.format("ide:%d:%d", bus, unit);
-   }
-
-   public int getBus() {
-      return bus;
-   }
-
-   public int getUnit() {
-      return unit;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + getId() + ", driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java
deleted file mode 100644
index 7214f33..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Item.java
+++ /dev/null
@@ -1,167 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class Item {
-   public static class Builder {
-      protected String uuid;
-      protected String name;
-      protected Set<String> use = ImmutableSet.of();
-
-      public Builder uuid(String uuid) {
-         this.uuid = uuid;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public Builder use(Iterable<String> use) {
-         this.use = ImmutableSet.copyOf(checkNotNull(use, "use"));
-         return this;
-      }
-
-      public Item build() {
-         return new Item(uuid, name, use);
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = 1;
-         result = prime * result + ((name == null) ? 0 : name.hashCode());
-         result = prime * result + ((use == null) ? 0 : use.hashCode());
-         result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
-         return result;
-      }
-
-      @Override
-      public boolean equals(Object obj) {
-         if (this == obj)
-            return true;
-         if (obj == null)
-            return false;
-         if (getClass() != obj.getClass())
-            return false;
-         Builder other = (Builder) obj;
-         if (name == null) {
-            if (other.name != null)
-               return false;
-         } else if (!name.equals(other.name))
-            return false;
-         if (use == null) {
-            if (other.use != null)
-               return false;
-         } else if (!use.equals(other.use))
-            return false;
-         if (uuid == null) {
-            if (other.uuid != null)
-               return false;
-         } else if (!uuid.equals(other.uuid))
-            return false;
-         return true;
-      }
-   }
-
-   @Nullable
-   protected final String uuid;
-   protected final String name;
-   protected final Set<String> use;
-
-   public Item(@Nullable String uuid, String name, Iterable<String> use) {
-      this.uuid = uuid;
-      this.name = checkNotNull(name, "name");
-      this.use = ImmutableSet.copyOf(checkNotNull(use, "use"));
-   }
-
-   /**
-    * 
-    * @return uuid of the item.
-    */
-   @Nullable
-   public String getUuid() {
-      return uuid;
-   }
-
-   /**
-    * 
-    * @return name of the item
-    */
-   public String getName() {
-      return name;
-   }
-
-   /**
-    * 
-    * @return list of use
-    */
-   public Set<String> getUse() {
-      return use;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((use == null) ? 0 : use.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      Item other = (Item) obj;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (use == null) {
-         if (other.use != null)
-            return false;
-      } else if (!use.equals(other.use))
-         return false;
-
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[uuid=" + uuid + ", name=" + name + ", use=" + use + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java
deleted file mode 100644
index 894807b..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/MediaType.java
+++ /dev/null
@@ -1,47 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * Media type - set to 'cdrom' to simulate a cdrom, set to 'disk' or leave unset to simulate a hard
- * disk.
- * 
- * @author Adrian Cole
- */
-public enum MediaType {
-   DISK, CDROM, UNRECOGNIZED;
-
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static MediaType fromValue(String type) {
-      try {
-         return valueOf(checkNotNull(type, "type").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java
deleted file mode 100644
index 5626f55..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Model.java
+++ /dev/null
@@ -1,44 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public enum Model {
-   E1000, RTl8139, VIRTIO, UNRECOGNIZED;
-
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static Model fromValue(String model) {
-      try {
-         return valueOf(checkNotNull(model, "model").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java
deleted file mode 100644
index b25fb04..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/NIC.java
+++ /dev/null
@@ -1,174 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class NIC {
-   public static class Builder {
-      private String dhcp;
-      private Model model;
-      private String vlan;
-      private String mac;
-      // TODO cloudsigma specific
-      private Set<String> block = ImmutableSet.of();
-
-      public Builder dhcp(String dhcp) {
-         this.dhcp = dhcp;
-         return this;
-      }
-
-      public Builder model(Model model) {
-         this.model = model;
-         return this;
-      }
-
-      public Builder vlan(String vlan) {
-         this.vlan = vlan;
-         return this;
-      }
-
-      public Builder mac(String mac) {
-         this.mac = mac;
-         return this;
-      }
-
-      public Builder block(Iterable<String> block) {
-         this.block = ImmutableSet.copyOf(checkNotNull(block, "block"));
-         return this;
-      }
-
-      public NIC build() {
-         return new NIC(dhcp, model, vlan, mac, block);
-      }
-   }
-
-   private final String dhcp;
-   private final Model model;
-   private final String vlan;
-   private final String mac;
-   private final Set<String> block;
-
-   public NIC(@Nullable String dhcp, Model model, @Nullable String vlan, @Nullable String mac, Iterable<String> block) {
-      this.dhcp = dhcp;
-      this.model = checkNotNull(model, "model");
-      this.vlan = vlan;
-      this.mac = mac;
-      this.block = ImmutableSet.copyOf(checkNotNull(block, "block"));
-   }
-
-   /**
-    * 
-    * @return The IP address offered by DHCP to network interface 0. If unset, no address is
-    *         offered. Set to 'auto' to allocate a temporary IP at boot.
-    */
-   public String getDhcp() {
-      return dhcp;
-   }
-
-   /**
-    * 
-    * @return Create network interface with given type (use 'e1000' as default value; 'rtl8139' or
-    *         'virtio' are also available).
-    */
-   public Model getModel() {
-      return model;
-   }
-
-   /**
-    * 
-    * @return The VLAN to which the network interface is attached.
-    */
-   public String getVlan() {
-      return vlan;
-   }
-
-   /**
-    * 
-    * @return The MAC address of the network interface. If unset, a randomly generated address is
-    *         used. If set, should be unique on the VLAN.
-    */
-   public String getMac() {
-      return mac;
-   }
-
-   // TODO undocumented
-   public Set<String> getBlock() {
-      return block;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((block == null) ? 0 : block.hashCode());
-      result = prime * result + ((dhcp == null) ? 0 : dhcp.hashCode());
-      result = prime * result + ((mac == null) ? 0 : mac.hashCode());
-      result = prime * result + ((model == null) ? 0 : model.hashCode());
-      result = prime * result + ((vlan == null) ? 0 : vlan.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      NIC other = (NIC) obj;
-      if (block == null) {
-         if (other.block != null)
-            return false;
-      } else if (!block.equals(other.block))
-         return false;
-      if (dhcp == null) {
-         if (other.dhcp != null)
-            return false;
-      } else if (!dhcp.equals(other.dhcp))
-         return false;
-      if (mac == null) {
-         if (other.mac != null)
-            return false;
-      } else if (!mac.equals(other.mac))
-         return false;
-      if (model != other.model)
-         return false;
-      if (vlan == null) {
-         if (other.vlan != null)
-            return false;
-      } else if (!vlan.equals(other.vlan))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[dhcp=" + dhcp + ", model=" + model + ", vlan=" + vlan + ", mac=" + mac + ", block=" + block + "]";
-   }
-}


[04/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasTemplateBuilderLiveTest.java b/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasTemplateBuilderLiveTest.java
deleted file mode 100644
index f85f961..0000000
--- a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,89 +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.jclouds.cloudsigma.compute;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "CloudSigmaLasVegasTemplateBuilderLiveTest")
-public class CloudSigmaLasVegasTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public CloudSigmaLasVegasTemplateBuilderLiveTest() {
-      provider = "cloudsigma-lvs";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (ImmutableSet.of("11.04", "10.10").contains(input.version) && input.is64Bit)
-                           || (input.version.equals("11.10") && !input.is64Bit) || input.version.equals("")
-                           || input.version.equals("10.04") || input.version.equals("12.04");
-               case SOLARIS:
-                  return (input.version.equals("") || input.version.equals("10")) && input.is64Bit;
-               case DEBIAN:
-                  return input.version.equals("") || (input.version.equals("5.0") && !input.is64Bit)
-                           || (input.version.equals("6.0") && input.is64Bit);
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("5.5") || input.version.equals("5.7") || input.version
-                           .equals("6.0")) && input.is64Bit;
-               case WINDOWS:
-                  return input.version.equals("2008") || input.version.equals("2003") || input.version.equals("");
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = view.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "11.04");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getId(), "6aab1938-71b3-4252-ac1c-a3cb17c284ab");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
-      assertEquals(defaultTemplate.getImage().getDefaultCredentials().identity, "root");
-      assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-NV");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/pom.xml
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/pom.xml b/providers/cloudsigma-zrh/pom.xml
deleted file mode 100644
index b22d421..0000000
--- a/providers/cloudsigma-zrh/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>cloudsigma-zrh</artifactId>
-  <name>jclouds CloudSigma provider</name>
-  <description>ComputeService binding to the CloudSigma datacenter in Zürich</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.cloudsigma-zrh.endpoint>https://api.zrh.cloudsigma.com</test.cloudsigma-zrh.endpoint>
-    <test.cloudsigma-zrh.api-version>1.0</test.cloudsigma-zrh.api-version>
-    <test.cloudsigma-zrh.build-version />
-    <test.cloudsigma-zrh.identity>FIXME</test.cloudsigma-zrh.identity>
-    <test.cloudsigma-zrh.credential>FIXME</test.cloudsigma-zrh.credential>
-    <test.cloudsigma-zrh.template />
-    <jclouds.osgi.export>org.jclouds.cloudsigma*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${project.version}",
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudsigma</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudsigma</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.cloudsigma-zrh.endpoint>${test.cloudsigma-zrh.endpoint}</test.cloudsigma-zrh.endpoint>
-                    <test.cloudsigma-zrh.api-version>${test.cloudsigma-zrh.api-version}</test.cloudsigma-zrh.api-version>
-                    <test.cloudsigma-zrh.build-version>${test.cloudsigma-zrh.build-version}</test.cloudsigma-zrh.build-version>
-                    <test.cloudsigma-zrh.identity>${test.cloudsigma-zrh.identity}</test.cloudsigma-zrh.identity>
-                    <test.cloudsigma-zrh.credential>${test.cloudsigma-zrh.credential}</test.cloudsigma-zrh.credential>
-                    <test.cloudsigma-zrh.template>${test.cloudsigma-zrh.template}</test.cloudsigma-zrh.template>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/src/main/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/src/main/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderMetadata.java b/providers/cloudsigma-zrh/src/main/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderMetadata.java
deleted file mode 100644
index 4c01683..0000000
--- a/providers/cloudsigma-zrh/src/main/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderMetadata.java
+++ /dev/null
@@ -1,83 +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.jclouds.cloudsigma;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for CloudSigma Zurich.
-
- * 
- * @author Adrian Cole
- */
-public class CloudSigmaZurichProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-
-   public CloudSigmaZurichProviderMetadata() {
-      super(builder());
-   }
-
-   public CloudSigmaZurichProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      return properties;
-   }
-
-   public static class Builder
-         extends
-         BaseProviderMetadata.Builder {
-
-      protected Builder() {
-         id("cloudsigma-zrh")
-         .name("CloudSigma Zurich")
-         .apiMetadata(new CloudSigmaApiMetadata())
-         .homepage(URI.create("http://www.cloudsigma.com/en/our-cloud/features"))
-         .console(URI.create("https://gui.zrh.cloudsigma.com/"))
-         .iso3166Codes("CH-ZH")
-         .endpoint("https://api.zrh.cloudsigma.com")
-         .defaultProperties(CloudSigmaZurichProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public CloudSigmaZurichProviderMetadata build() {
-         return new CloudSigmaZurichProviderMetadata(this);
-      }
-
-      @Override
-      public Builder fromProviderMetadata(
-            ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/cloudsigma-zrh/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 8a1ef55..0000000
--- a/providers/cloudsigma-zrh/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.cloudsigma.CloudSigmaZurichProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichClientLiveTest.java b/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichClientLiveTest.java
deleted file mode 100644
index ccd92d2..0000000
--- a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichClientLiveTest.java
+++ /dev/null
@@ -1,30 +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.jclouds.cloudsigma;
-
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "CloudSigmaZurichClientLiveTest")
-public class CloudSigmaZurichClientLiveTest extends CloudSigmaClientLiveTest {
-   public CloudSigmaZurichClientLiveTest() {
-      provider = "cloudsigma-zrh";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderTest.java b/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderTest.java
deleted file mode 100644
index 6e70a68..0000000
--- a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/CloudSigmaZurichProviderTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.cloudsigma;
-
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "CloudSigmaZurichProviderTest")
-public class CloudSigmaZurichProviderTest extends BaseProviderMetadataTest {
-
-   public CloudSigmaZurichProviderTest() {
-      super(new CloudSigmaZurichProviderMetadata(), new CloudSigmaApiMetadata());
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichComputeServiceLiveTest.java b/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichComputeServiceLiveTest.java
deleted file mode 100644
index 1382bea..0000000
--- a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichComputeServiceLiveTest.java
+++ /dev/null
@@ -1,79 +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.jclouds.cloudsigma.compute;
-
-import static com.google.common.collect.Iterables.contains;
-import static com.google.common.collect.Iterables.get;
-import static org.jclouds.cloudsigma.compute.options.CloudSigmaTemplateOptions.Builder.diskDriveAffinity;
-import static org.jclouds.compute.predicates.NodePredicates.inGroup;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.compute.options.CloudSigmaTemplateOptions;
-import org.jclouds.cloudsigma.domain.AffinityType;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.compute.RunNodesException;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "CloudSigmaZurichComputeServiceLiveTest")
-public class CloudSigmaZurichComputeServiceLiveTest extends CloudSigmaComputeServiceLiveTest {
-
-   public CloudSigmaZurichComputeServiceLiveTest() {
-      provider = "cloudsigma-zrh";
-   }
-
-   @Test
-   public void testStartNodeWithSSD() throws RunNodesException {
-      String group = this.group + "-ssd";
-
-      TemplateBuilder builder = client.templateBuilder();
-      assert builder instanceof CloudSigmaTemplateBuilderImpl;
-
-      Template template = builder.options(diskDriveAffinity(AffinityType.SSD)).build();
-      assert template.getOptions() instanceof CloudSigmaTemplateOptions;
-
-      try {
-         Set<? extends NodeMetadata> nodes = client.createNodesInGroup(group, 1, template);
-         NodeMetadata node = get(nodes, 0);
-
-         CloudSigmaApi api = client.getContext().unwrapApi(CloudSigmaApi.class);
-
-         // Note: I wanted to use node.getHardware().getVolumes() but there is no
-         // way to go from a Volume to a DriveInfo
-
-         ServerInfo serverInfo = api.getServerInfo(node.getId());
-         Device rootDevice = get(serverInfo.getDevices().values(), 0);
-         DriveInfo driveInfo = api.getDriveInfo(rootDevice.getDriveUuid());
-         assertTrue(contains(driveInfo.getTags(), "affinity:ssd"));
-
-      } finally {
-         client.destroyNodesMatching(inGroup(group));
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java b/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java
deleted file mode 100644
index 7d9038e..0000000
--- a/providers/cloudsigma-zrh/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaZurichTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,86 +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.jclouds.cloudsigma.compute;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "CloudSigmaZurichTemplateBuilderLiveTest")
-public class CloudSigmaZurichTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public CloudSigmaZurichTemplateBuilderLiveTest() {
-      provider = "cloudsigma-zrh";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return input.version.equals("") || input.version.equals("10.04")
-                     || (input.version.equals("10.10") && input.is64Bit)
-                     || (input.version.equals("11.04") && !input.is64Bit);
-            case DEBIAN:
-               return (input.version.equals("") || input.version.equals("6.0")) && input.is64Bit;
-            case CENTOS:
-               return (input.version.equals("") || input.version.equals("5.7")) && input.is64Bit;
-            case WINDOWS:
-               return input.version.equals("") || input.version.matches("200[38]")
-                     || (input.version.equals("2008 R2") && input.is64Bit);
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = view.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getId(), "c9df6b90-420c-4c46-b7f2-8d9e99929a09");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
-      assertEquals(defaultTemplate.getImage().getDefaultCredentials().identity, "root");
-      assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("CH-ZH");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/pom.xml
----------------------------------------------------------------------
diff --git a/providers/pom.xml b/providers/pom.xml
index d8e3ed3..726a28f 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -31,8 +31,6 @@
   <name>jclouds providers project</name>
   <modules>
     <module>gogrid</module>
-    <module>cloudsigma-zrh</module>
-    <module>cloudsigma-lvs</module>
     <module>azureblob</module>
     <module>aws-s3</module>
     <module>aws-ec2</module>


[12/17] jclouds git commit: Revert 428b2bd2ea2d73354e15ffad52516105b15576cd as this hides inconsistency between regions and zones.

Posted by ad...@apache.org.
Revert 428b2bd2ea2d73354e15ffad52516105b15576cd as this hides inconsistency between regions and zones.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/95141ff8
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/95141ff8
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/95141ff8

Branch: refs/heads/1.7.x
Commit: 95141ff8770f373ff1b77365381cadf79dea2803
Parents: 6242eae
Author: Adrian Cole <ad...@gmail.com>
Authored: Sun Nov 16 12:26:35 2014 -0800
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:37 2014 -0800

----------------------------------------------------------------------
 apis/ec2/pom.xml                                |  12 ++
 .../DescribeAvailabilityZonesInRegion.java      |  57 ++------
 .../ec2/internal/BaseEC2ApiMockTest.java        | 133 +++++++++++++++++++
 ...scribeAvailabilityZonesInRegionMockTest.java |  75 +++++++++++
 .../DescribeAvailabilityZonesInRegionTest.java  | 124 -----------------
 5 files changed, 232 insertions(+), 169 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/95141ff8/apis/ec2/pom.xml
----------------------------------------------------------------------
diff --git a/apis/ec2/pom.xml b/apis/ec2/pom.xml
index fb29552..2a1b89d 100644
--- a/apis/ec2/pom.xml
+++ b/apis/ec2/pom.xml
@@ -91,6 +91,18 @@
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>com.squareup.okhttp</groupId>
+      <artifactId>mockwebserver</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <!-- Already provided by jclouds-sshj -->
+        <exclusion>
+          <groupId>org.bouncycastle</groupId>
+          <artifactId>bcprov-jdk15on</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
   </dependencies>
   <build>
     <plugins>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/95141ff8/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegion.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegion.java b/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegion.java
index f97e962..67cb55d 100644
--- a/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegion.java
+++ b/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegion.java
@@ -19,74 +19,41 @@ package org.jclouds.ec2.suppliers;
 import java.util.Map;
 import java.util.Set;
 
-import javax.annotation.Resource;
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.ec2.EC2Api;
 import org.jclouds.ec2.domain.AvailabilityZoneInfo;
 import org.jclouds.ec2.features.AvailabilityZoneAndRegionApi;
-import org.jclouds.http.HttpResponseException;
 import org.jclouds.location.Region;
 import org.jclouds.location.suppliers.RegionIdToZoneIdsSupplier;
-import org.jclouds.logging.Logger;
-import org.jclouds.util.Suppliers2;
 
-import com.google.common.base.Function;
 import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableMap.Builder;
 import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
 
-@Singleton
-public class DescribeAvailabilityZonesInRegion implements RegionIdToZoneIdsSupplier {
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   private final AvailabilityZoneAndRegionApi client;
+public final class DescribeAvailabilityZonesInRegion implements RegionIdToZoneIdsSupplier {
+   private final EC2Api api;
    private final Supplier<Set<String>> regions;
 
    @Inject
-   public DescribeAvailabilityZonesInRegion(EC2Api client, @Region Supplier<Set<String>> regions) {
-      this.client = client.getAvailabilityZoneAndRegionApi().get();
+   DescribeAvailabilityZonesInRegion(EC2Api api, @Region Supplier<Set<String>> regions) {
+      this.api = api;
       this.regions = regions;
    }
 
    @Override
    public Map<String, Supplier<Set<String>>> get() {
-      Builder<String, Set<String>> map = ImmutableMap.builder();
-      HttpResponseException exception = null;
-      // TODO: this should be parallel
+      AvailabilityZoneAndRegionApi zoneApi = api.getAvailabilityZoneAndRegionApi().get();
+      Builder<String, Supplier<Set<String>>> map = ImmutableMap.builder();
       for (String region : regions.get()) {
-         try {
-            ImmutableSet<String> zones = ImmutableSet.copyOf(Iterables.transform(client
-                     .describeAvailabilityZonesInRegion(region), new Function<AvailabilityZoneInfo, String>() {
-
-               @Override
-               public String apply(AvailabilityZoneInfo arg0) {
-                  return arg0.getZone();
-               }
-
-            }));
-            if (zones.size() > 0)
-               map.put(region, zones);
-         } catch (HttpResponseException e) {
-            // TODO: this should be in retry handler, not here.
-            if (e.getMessage().contains("Unable to tunnel through proxy")) {
-               exception = e;
-               logger.error(e, "Could not describe availability zones in Region: %s", region);
-            } else {
-               throw e;
-            }
+         ImmutableSet.Builder<String> zoneBuilder = ImmutableSet.builder();
+         for (AvailabilityZoneInfo zone : zoneApi.describeAvailabilityZonesInRegion(region)) {
+            zoneBuilder.add(zone.getZone());
          }
+         map.put(region, Suppliers.<Set<String>>ofInstance(zoneBuilder.build()));
       }
-      ImmutableMap<String, Set<String>> result = map.build();
-      if (result.isEmpty() && exception != null) {
-         throw exception;
-      }
-      return Maps.transformValues(result, Suppliers2.<Set<String>> ofInstanceFunction());
+      return map.build();
    }
-
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/95141ff8/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
new file mode 100644
index 0000000..7834ba0
--- /dev/null
+++ b/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
@@ -0,0 +1,133 @@
+/*
+ * 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.jclouds.ec2.internal;
+
+import static com.google.common.base.Throwables.propagate;
+import static com.google.common.net.HttpHeaders.CONTENT_TYPE;
+import static com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor;
+import static javax.ws.rs.core.MediaType.APPLICATION_XML;
+import static org.jclouds.util.Strings2.toStringAndClose;
+import static org.testng.Assert.assertEquals;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.jclouds.Constants;
+import org.jclouds.ContextBuilder;
+import org.jclouds.concurrent.config.ExecutorServiceModule;
+import org.jclouds.ec2.EC2Api;
+import org.jclouds.ec2.EC2ApiMetadata;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+
+import com.google.common.base.Charsets;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Maps;
+import com.google.inject.Module;
+import com.squareup.okhttp.mockwebserver.MockResponse;
+import com.squareup.okhttp.mockwebserver.MockWebServer;
+import com.squareup.okhttp.mockwebserver.RecordedRequest;
+
+/**
+ * Tests need to run {@code singleThreaded = true) as otherwise tests will clash on the regionToServers field.
+ * Sharing the regionToServers field means less code to write.
+ */
+public class BaseEC2ApiMockTest {
+   protected static final String DEFAULT_REGION = "us-east-1";
+
+   // Example keys from http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html
+   private static final String ACCESS_KEY = "AKIAIOSFODNN7EXAMPLE";
+   private static final String SECRET_KEY = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
+
+   private Map<String, MockWebServer> regionToServers = Maps.newLinkedHashMap();
+
+   protected EC2Api api() {
+      return builder().buildApi(EC2Api.class);
+   }
+
+   protected ContextBuilder builder() {
+      Properties overrides = new Properties();
+      overrides.setProperty(Constants.PROPERTY_MAX_RETRIES, "1");
+      return ContextBuilder.newBuilder(new EC2ApiMetadata()).credentials(ACCESS_KEY, SECRET_KEY)
+            .endpoint("http://localhost:" + regionToServers.get(DEFAULT_REGION).getPort()).overrides(overrides)
+            .modules(modules);
+   }
+
+   private final Set<Module> modules = ImmutableSet.<Module>of(new ExecutorServiceModule(sameThreadExecutor()));
+
+   @BeforeMethod
+   public void start() throws IOException {
+      MockWebServer server = new MockWebServer();
+      server.play();
+      regionToServers.put(DEFAULT_REGION, server);
+   }
+
+   @AfterMethod(alwaysRun = true)
+   public void stop() throws IOException {
+      for (MockWebServer server : regionToServers.values()) {
+         server.shutdown();
+      }
+   }
+
+   protected void enqueue(String region, MockResponse response) {
+      regionToServers.get(region).enqueue(response);
+   }
+
+   protected void enqueueRegions(String... regions) throws IOException {
+      StringBuilder describeRegionsResponse = new StringBuilder();
+      describeRegionsResponse.append("<DescribeRegionsResponse>");
+      for (String region : regions) {
+         describeRegionsResponse.append("<item>");
+         describeRegionsResponse.append("<regionName>").append(region).append("</regionName>");
+         if (!regionToServers.containsKey(region)) {
+            MockWebServer server = new MockWebServer();
+            server.play();
+            regionToServers.put(region, server);
+         }
+         String regionEndpoint = "http://localhost:" + regionToServers.get(region).getPort();
+         describeRegionsResponse.append("<regionEndpoint>").append(regionEndpoint).append("</regionEndpoint>");
+         describeRegionsResponse.append("</item>");
+      }
+      describeRegionsResponse.append("</DescribeRegionsResponse>");
+      enqueue(DEFAULT_REGION,
+            new MockResponse().addHeader(CONTENT_TYPE, APPLICATION_XML).setBody(describeRegionsResponse.toString()));
+   }
+
+   protected void enqueueXml(String region, String resource) {
+      enqueue(region,
+            new MockResponse().addHeader(CONTENT_TYPE, APPLICATION_XML).setBody(stringFromResource(resource)));
+   }
+
+   protected String stringFromResource(String resourceName) {
+      try {
+         return toStringAndClose(getClass().getResourceAsStream(resourceName));
+      } catch (IOException e) {
+         throw propagate(e);
+      }
+   }
+
+   /** Stripping out authorization, ensures the following post params were sent. */
+   protected RecordedRequest assertPosted(String region, String postParams) throws InterruptedException {
+      RecordedRequest request = regionToServers.get(region).takeRequest();
+      assertEquals(request.getMethod(), "POST");
+      assertEquals(request.getPath(), "/");
+      assertEquals(new String(request.getBody(), Charsets.UTF_8).replaceAll("&Signature.*", ""), postParams);
+      return request;
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/95141ff8/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionMockTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionMockTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionMockTest.java
new file mode 100644
index 0000000..1170224
--- /dev/null
+++ b/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionMockTest.java
@@ -0,0 +1,75 @@
+/*
+ * 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.jclouds.ec2.suppliers;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.jclouds.ec2.internal.BaseEC2ApiMockTest;
+import org.jclouds.rest.AuthorizationException;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
+import com.google.common.collect.ImmutableSet;
+import com.squareup.okhttp.mockwebserver.MockResponse;
+
+@Test(groups = "unit", testName = "DescribeAvailabilityZonesInRegionMockTest", singleThreaded = true)
+public class DescribeAvailabilityZonesInRegionMockTest extends BaseEC2ApiMockTest {
+
+   public void onlySendsRequestsToConfiguredRegions() throws Exception {
+      enqueueRegions("us-east-1");
+      enqueueXml("us-east-1", "/availabilityZones.xml");
+
+      Map<String, Supplier<Set<String>>> result = new DescribeAvailabilityZonesInRegion(api(),
+            supplyRegionIds("us-east-1")).get();
+
+      assertEquals(result.size(), 1);
+      assertEquals(result.get("us-east-1").get(),
+            ImmutableSet.of("us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d"));
+
+      assertPosted("us-east-1", "Action=DescribeRegions");
+      assertPosted("us-east-1", "Action=DescribeAvailabilityZones");
+   }
+
+   public void failsOnAuthorizationErrorToAnyRegion() throws Exception {
+      enqueueRegions("us-east-1", "eu-central-1");
+      enqueueXml("us-east-1", "/availabilityZones.xml");
+      enqueue("eu-central-1", new MockResponse().setResponseCode(401));
+
+      DescribeAvailabilityZonesInRegion supplier = new DescribeAvailabilityZonesInRegion(api(),
+            supplyRegionIds("us-east-1", "eu-central-1"));
+
+      try {
+         supplier.get();
+         fail();
+      } catch (AuthorizationException e){
+
+      }
+
+      assertPosted("us-east-1", "Action=DescribeRegions");
+      assertPosted("us-east-1", "Action=DescribeAvailabilityZones");
+      assertPosted("eu-central-1", "Action=DescribeAvailabilityZones");
+   }
+
+   private static Supplier<Set<String>> supplyRegionIds(String... regionIds) {
+      return Suppliers.<Set<String>>ofInstance(ImmutableSet.copyOf(regionIds));
+   }
+}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/95141ff8/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionTest.java
deleted file mode 100644
index 8914805..0000000
--- a/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeAvailabilityZonesInRegionTest.java
+++ /dev/null
@@ -1,124 +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.jclouds.ec2.suppliers;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createControl;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.fail;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.easymock.classextension.IMocksControl;
-import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.domain.AvailabilityZoneInfo;
-import org.jclouds.ec2.features.AvailabilityZoneAndRegionApi;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpResponseException;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Optional;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-
-/**
- * A test for {@link DescribeAvailabilityZonesInRegion}.
- * 
- * @author Eric Pabst (pabstec@familysearch.org)
- */
-public class DescribeAvailabilityZonesInRegionTest {
-   @Test
-   public void testDescribeAvailabilityZonesInRegion_BestEffort() {
-      IMocksControl control = createControl();
-      EC2Api client = control.createMock(EC2Api.class);
-      AvailabilityZoneAndRegionApi regionClient = control.createMock(AvailabilityZoneAndRegionApi.class);
-      AvailabilityZoneInfo info1 = control.createMock(AvailabilityZoneInfo.class);
-      AvailabilityZoneInfo info2 = control.createMock(AvailabilityZoneInfo.class);
-      HttpCommand command = control.createMock(HttpCommand.class);
-      HttpResponseException exception = new HttpResponseException("Error: Unable to tunnel through proxy: ...",
-               command, null);
-
-      expect(client.getAvailabilityZoneAndRegionApi()).andStubReturn((Optional) Optional.of(regionClient));
-      expect(regionClient.describeAvailabilityZonesInRegion("accessibleRegion1")).andReturn(
-               ImmutableSet.of(info1));
-      expect(regionClient.describeAvailabilityZonesInRegion("inaccessibleRegion")).andThrow(exception);
-      expect(regionClient.describeAvailabilityZonesInRegion("accessibleRegion2")).andReturn(
-               ImmutableSet.of(info2));
-      expect(info1.getZone()).andStubReturn("zone1");
-      expect(info2.getZone()).andStubReturn("zone2");
-
-      Set<String> regions = ImmutableSet.of("accessibleRegion1", "inaccessibleRegion", "accessibleRegion2");
-      control.replay();
-
-      Map<String, Set<String>> expectedResult = ImmutableMap.<String, Set<String>> builder().put("accessibleRegion1",
-               ImmutableSet.of("zone1")).put("accessibleRegion2", ImmutableSet.of("zone2")).build();
-
-      DescribeAvailabilityZonesInRegion regionIdToZoneId = new DescribeAvailabilityZonesInRegion(client, Suppliers
-               .ofInstance(regions));
-      assertEquals(Maps.transformValues(regionIdToZoneId.get(), Suppliers.<Set<String>> supplierFunction()),
-               expectedResult);
-      control.verify();
-   }
-
-   @Test
-   public void testDescribeAvailabilityZonesInRegion_RethrowIfNoneFound() {
-      IMocksControl control = createControl();
-      EC2Api client = control.createMock(EC2Api.class);
-      AvailabilityZoneAndRegionApi regionClient = control.createMock(AvailabilityZoneAndRegionApi.class);
-      HttpCommand command = control.createMock(HttpCommand.class);
-      HttpResponseException exception = new HttpResponseException("Error: Unable to tunnel through proxy: ...",
-               command, null);
-
-      expect(client.getAvailabilityZoneAndRegionApi()).andStubReturn((Optional) Optional.of(regionClient));
-      expect(regionClient.describeAvailabilityZonesInRegion("inaccessibleRegion")).andThrow(exception);
-
-      Set<String> regions = ImmutableSet.of("inaccessibleRegion");
-      control.replay();
-
-      DescribeAvailabilityZonesInRegion regionIdToZoneId = new DescribeAvailabilityZonesInRegion(client, Suppliers
-               .ofInstance(regions));
-      try {
-         regionIdToZoneId.get();
-         fail("expected exception");
-      } catch (HttpResponseException e) {
-         assertEquals(e, exception);
-      }
-      control.verify();
-   }
-
-   @Test
-   public void testDescribeAvailabilityZonesInRegion_NoZones() {
-      IMocksControl control = createControl();
-      EC2Api client = control.createMock(EC2Api.class);
-      AvailabilityZoneAndRegionApi regionClient = control.createMock(AvailabilityZoneAndRegionApi.class);
-
-      expect(client.getAvailabilityZoneAndRegionApi()).andStubReturn((Optional) Optional.of(regionClient));
-      expect(regionClient.describeAvailabilityZonesInRegion("emptyRegion")).andReturn(
-               ImmutableSet.<AvailabilityZoneInfo> of());
-
-      Set<String> regions = ImmutableSet.of("emptyRegion");
-      control.replay();
-
-      DescribeAvailabilityZonesInRegion regionIdToZoneId = new DescribeAvailabilityZonesInRegion(client, Suppliers
-               .ofInstance(regions));
-      assertEquals(regionIdToZoneId.get(), ImmutableMap.<String, String> of());
-      control.verify();
-   }
-}


[03/17] jclouds git commit: JCLOUDS-735 Remove ninefold providers.

Posted by ad...@apache.org.
JCLOUDS-735 Remove ninefold providers.


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

Branch: refs/heads/1.7.x
Commit: c6157f3b9a5cb950ddedf714c15a4c40afcfb528
Parents: d07cf7f
Author: Adrian Cole <ad...@gmail.com>
Authored: Tue Sep 30 15:43:01 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:36 2014 -0800

----------------------------------------------------------------------
 allblobstore/pom.xml                            |   5 -
 allcompute/pom.xml                              |   5 -
 providers/ninefold-compute/pom.xml              | 126 -------------------
 .../NinefoldComputeProviderMetadata.java        |  87 -------------
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 .../compute/NinefoldComputeProviderTest.java    |  35 ------
 .../compute/NinefoldComputeServiceLiveTest.java |  32 -----
 .../NinefoldComputeTemplateBuilderLiveTest.java |  95 --------------
 providers/ninefold-storage/pom.xml              | 120 ------------------
 .../NinefoldStorageProviderMetadata.java        |  81 ------------
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 .../storage/NinefoldStorageAsyncClientTest.java |  32 -----
 .../storage/NinefoldStorageClientLiveTest.java  |  32 -----
 .../storage/NinefoldStorageProviderTest.java    |  35 ------
 .../NinefoldStorageBlobIntegrationLiveTest.java |  31 -----
 .../NinefoldStorageBlobLiveTest.java            |  31 -----
 .../NinefoldStorageBlobSignerLiveTest.java      |  32 -----
 ...foldStorageContainerIntegrationLiveTest.java |  31 -----
 .../NinefoldStorageContainerLiveTest.java       |  31 -----
 ...nefoldStorageServiceIntegrationLiveTest.java |  40 ------
 providers/pom.xml                               |   2 -
 21 files changed, 885 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/allblobstore/pom.xml
----------------------------------------------------------------------
diff --git a/allblobstore/pom.xml b/allblobstore/pom.xml
index d4cd74e..d3073d5 100644
--- a/allblobstore/pom.xml
+++ b/allblobstore/pom.xml
@@ -40,11 +40,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>ninefold-storage</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>cloudonestorage</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/allcompute/pom.xml
----------------------------------------------------------------------
diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index b2be149a..9b88cac 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -140,11 +140,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>ninefold-compute</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>hpcloud-compute</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-compute/pom.xml
----------------------------------------------------------------------
diff --git a/providers/ninefold-compute/pom.xml b/providers/ninefold-compute/pom.xml
deleted file mode 100644
index d6a5f71..0000000
--- a/providers/ninefold-compute/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>ninefold-compute</artifactId>
-  <name>jclouds Ninefold Compute provider</name>
-  <description>Ninefold Compute powered by CloudStack</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.ninefold-compute.endpoint>https://api.ninefold.com/compute/v1.0/</test.ninefold-compute.endpoint>
-    <test.ninefold-compute.api-version>2.2.12</test.ninefold-compute.api-version>
-    <test.ninefold-compute.build-version />
-    <test.ninefold-compute.identity>FIXME_IDENTITY</test.ninefold-compute.identity>
-    <test.ninefold-compute.credential>FIXME_CREDENTIAL</test.ninefold-compute.credential>
-    <test.ninefold-compute.template />
-    <jclouds.osgi.export>org.jclouds.ninefold.compute*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${project.version}",
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudstack</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudstack</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <threadCount>1</threadCount>
-                  <systemPropertyVariables>
-                    <test.ninefold-compute.endpoint>${test.ninefold-compute.endpoint}</test.ninefold-compute.endpoint>
-                    <test.ninefold-compute.api-version>${test.ninefold-compute.api-version}</test.ninefold-compute.api-version>
-                    <test.ninefold-compute.build-version>${test.ninefold-compute.build-version}</test.ninefold-compute.build-version>
-                    <test.ninefold-compute.identity>${test.ninefold-compute.identity}</test.ninefold-compute.identity>
-                    <test.ninefold-compute.credential>${test.ninefold-compute.credential}</test.ninefold-compute.credential>
-                    <test.ninefold-compute.template>${test.ninefold-compute.template}</test.ninefold-compute.template>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-
-</project>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-compute/src/main/java/org/jclouds/ninefold/compute/NinefoldComputeProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-compute/src/main/java/org/jclouds/ninefold/compute/NinefoldComputeProviderMetadata.java b/providers/ninefold-compute/src/main/java/org/jclouds/ninefold/compute/NinefoldComputeProviderMetadata.java
deleted file mode 100644
index d1f8824..0000000
--- a/providers/ninefold-compute/src/main/java/org/jclouds/ninefold/compute/NinefoldComputeProviderMetadata.java
+++ /dev/null
@@ -1,87 +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.jclouds.ninefold.compute;
-
-import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.cloudstack.CloudStackApiMetadata;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Ninefold
- * Compute. 
- * @author Adrian Cole
- */
-public class NinefoldComputeProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-
-   public NinefoldComputeProviderMetadata() {
-      super(builder());
-   }
-
-   public NinefoldComputeProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      // https://ninefold.com/support/display/SPT/Ubuntu+10.04+64+Bit+Micro+Server+with+CHEF
-      properties.setProperty(TEMPLATE, "imageNameMatches=.*Micro.*,osFamily=UBUNTU,osVersionMatches=1[012].[01][04],loginUser=user:Password01,authenticateSudo=true");
-      return properties;
-   }
-
-   public static class Builder
-         extends
-         BaseProviderMetadata.Builder {
-
-      protected Builder() {
-         id("ninefold-compute")
-         .name("Ninefold Compute")
-         .apiMetadata(new CloudStackApiMetadata().toBuilder().version("2.2.12").build())
-         .homepage(URI.create("http://ninefold.com/virtual-servers/"))
-         .console(URI.create("https://ninefold.com/portal/portal/login"))
-         .iso3166Codes("AU-NSW")
-         .endpoint("https://api.ninefold.com/compute/v1.0/")
-         .defaultProperties(NinefoldComputeProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public NinefoldComputeProviderMetadata build() {
-         return new NinefoldComputeProviderMetadata(this);
-      }
-
-      @Override
-      public Builder fromProviderMetadata(
-            ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-compute/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/ninefold-compute/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/ninefold-compute/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 988fb98..0000000
--- a/providers/ninefold-compute/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.ninefold.compute.NinefoldComputeProviderMetadata
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/NinefoldComputeProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/NinefoldComputeProviderTest.java b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/NinefoldComputeProviderTest.java
deleted file mode 100644
index 20bd2d8..0000000
--- a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/NinefoldComputeProviderTest.java
+++ /dev/null
@@ -1,35 +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.jclouds.ninefold.compute;
-
-import org.jclouds.cloudstack.CloudStackApiMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * The NinefoldComputeProviderTest tests the {@link NinefoldComputeProviderMetadata} class.
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "NinefoldComputeProviderTest")
-public class NinefoldComputeProviderTest extends BaseProviderMetadataTest {
-
-   public NinefoldComputeProviderTest() {
-      super(new NinefoldComputeProviderMetadata(), new CloudStackApiMetadata());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeServiceLiveTest.java b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeServiceLiveTest.java
deleted file mode 100644
index 8278d2e..0000000
--- a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeServiceLiveTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.ninefold.compute.compute;
-
-import org.jclouds.cloudstack.compute.CloudStackComputeServiceLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "NinefoldComputeServiceLiveTest")
-public class NinefoldComputeServiceLiveTest extends CloudStackComputeServiceLiveTest {
-
-   public NinefoldComputeServiceLiveTest() {
-      provider = "ninefold-compute";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java b/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java
deleted file mode 100644
index 3a33e4c..0000000
--- a/providers/ninefold-compute/src/test/java/org/jclouds/ninefold/compute/compute/NinefoldComputeTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,95 +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.jclouds.ninefold.compute.compute;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class NinefoldComputeTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public NinefoldComputeTemplateBuilderLiveTest() {
-      provider = "ninefold-compute";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return input.version.equals("") || input.version.equals("10.04");
-               case SUSE:
-                  return (input.version.equals("") || input.version.equals("11")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.equals("6.0")) && !input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("5.5")) && input.is64Bit;
-               case WINDOWS:
-                  return input.version.equals("") || (input.version.equals("2008") && !input.is64Bit);
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Test
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
-      if (template == null) {
-         assert defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[012].[10][04]") : defaultTemplate
-                  .getImage().getOperatingSystem().getVersion();
-         assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-         assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
-         assertEquals(defaultTemplate.getLocation().getId(), "1");
-         assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
-         assertEquals(defaultTemplate.getOptions().getLoginUser(), "user");
-         assertEquals(defaultTemplate.getOptions().getLoginPassword(), "Password01");
-         assertEquals(defaultTemplate.getOptions().getLoginPrivateKey(), null);
-         assertEquals(defaultTemplate.getOptions().shouldAuthenticateSudo(), Boolean.TRUE);
-      } else {
-         assertEquals(defaultTemplate.getImage(), this.view.getComputeService().templateBuilder().from(template)
-                  .build().getImage());
-      }
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("AU-NSW");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/pom.xml
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/pom.xml b/providers/ninefold-storage/pom.xml
deleted file mode 100644
index 1a72c7d..0000000
--- a/providers/ninefold-storage/pom.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>ninefold-storage</artifactId>
-  <name>jclouds ninefold storage provider</name>
-  <description>BlobStore implementation targeted to ninefold storage</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.ninefold-storage.endpoint>http://onlinestorage.ninefold.com</test.ninefold-storage.endpoint>
-    <test.ninefold-storage.api-version>1.4.0</test.ninefold-storage.api-version>
-    <test.ninefold-storage.build-version />
-    <test.ninefold-storage.identity>FIXME_IDENTITY</test.ninefold-storage.identity>
-    <test.ninefold-storage.credential>FIXME_CREDENTIAL</test.ninefold-storage.credential>
-
-    <jclouds.osgi.export>org.jclouds.ninefold.storage*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>atmos</artifactId>
-      <version>${project.version}</version>
-      <type>jar</type>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>atmos</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-blobstore</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.ninefold-storage.endpoint>${test.ninefold-storage.endpoint}</test.ninefold-storage.endpoint>
-                    <test.ninefold-storage.api-version>${test.ninefold-storage.api-version}</test.ninefold-storage.api-version>
-                    <test.ninefold-storage.build-version>${test.ninefold-storage.build-version}</test.ninefold-storage.build-version>
-                    <test.ninefold-storage.identity>${test.ninefold-storage.identity}</test.ninefold-storage.identity>
-                    <test.ninefold-storage.credential>${test.ninefold-storage.credential}</test.ninefold-storage.credential>
-                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
-                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/main/java/org/jclouds/ninefold/storage/NinefoldStorageProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/main/java/org/jclouds/ninefold/storage/NinefoldStorageProviderMetadata.java b/providers/ninefold-storage/src/main/java/org/jclouds/ninefold/storage/NinefoldStorageProviderMetadata.java
deleted file mode 100644
index ff33202..0000000
--- a/providers/ninefold-storage/src/main/java/org/jclouds/ninefold/storage/NinefoldStorageProviderMetadata.java
+++ /dev/null
@@ -1,81 +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.jclouds.ninefold.storage;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.atmos.AtmosApiMetadata;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Ninefold's
- * Storage provider.
- *
- * @author Jeremy Whitlock <jw...@apache.org>
- */
-public class NinefoldStorageProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-   
-   public NinefoldStorageProviderMetadata() {
-      super(builder());
-   }
-
-   public NinefoldStorageProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      return properties;
-   }
-   
-   public static class Builder extends BaseProviderMetadata.Builder {
-
-      protected Builder() {
-          id("ninefold-storage")
-         .name("Ninefold Storage")
-         .apiMetadata(new AtmosApiMetadata())
-         .homepage(URI.create("http://ninefold.com/cloud-storage/"))
-         .console(URI.create("https://ninefold.com/portal/"))
-         .iso3166Codes("AU-NSW")
-         .endpoint("http://onlinestorage.ninefold.com")
-         .defaultProperties(NinefoldStorageProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public NinefoldStorageProviderMetadata build() {
-         return new NinefoldStorageProviderMetadata(this);
-      }
-      
-      @Override
-      public Builder fromProviderMetadata(
-            ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/ninefold-storage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index f87f414..0000000
--- a/providers/ninefold-storage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.ninefold.storage.NinefoldStorageProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageAsyncClientTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageAsyncClientTest.java
deleted file mode 100644
index af32793..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageAsyncClientTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.ninefold.storage;
-
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "NinefoldStorageAsyncClientTest")
-public class NinefoldStorageAsyncClientTest extends org.jclouds.atmos.AtmosAsyncClientTest {
-
-   public NinefoldStorageAsyncClientTest() {
-      this.provider = "ninefold-storage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageClientLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageClientLiveTest.java
deleted file mode 100644
index d115adb..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageClientLiveTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.ninefold.storage;
-
-import org.jclouds.atmos.AtmosClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code AtmosClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "NinefoldStorageClientLiveTest")
-public class NinefoldStorageClientLiveTest extends AtmosClientLiveTest {
-   public NinefoldStorageClientLiveTest() {
-      provider = "ninefold-storage";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageProviderTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageProviderTest.java
deleted file mode 100644
index 8ca83bd..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/NinefoldStorageProviderTest.java
+++ /dev/null
@@ -1,35 +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.jclouds.ninefold.storage;
-
-import org.jclouds.atmos.AtmosApiMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * The NinefoldStorageProviderTest tests the {@link NinefoldStorageProviderMetadata} class.
- * 
- * @author Jeremy Whitlock <jw...@apache.org>
- */
-@Test(groups = "unit", testName = "NinefoldStorageProviderTest")
-public class NinefoldStorageProviderTest extends BaseProviderMetadataTest {
-
-   public NinefoldStorageProviderTest() {
-      super(new NinefoldStorageProviderMetadata(), new AtmosApiMetadata());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobIntegrationLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobIntegrationLiveTest.java
deleted file mode 100644
index 60e6108..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.ninefold.storage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "NinefoldStorageBlobIntegrationLiveTest")
-public class NinefoldStorageBlobIntegrationLiveTest extends AtmosIntegrationLiveTest {
-
-   public NinefoldStorageBlobIntegrationLiveTest() {
-      provider = "ninefold-storage";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobLiveTest.java
deleted file mode 100644
index 94a90f7..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.ninefold.storage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "NinefoldStorageBlobLiveTest")
-public class NinefoldStorageBlobLiveTest extends AtmosLiveTest {
-
-   public NinefoldStorageBlobLiveTest() {
-      provider = "ninefold-storage";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobSignerLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobSignerLiveTest.java
deleted file mode 100644
index f8c73e2..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageBlobSignerLiveTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.ninefold.storage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosBlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "NinefoldStorageBlobSignerLiveTest")
-public class NinefoldStorageBlobSignerLiveTest extends AtmosBlobSignerLiveTest {
-
-   public NinefoldStorageBlobSignerLiveTest() {
-      provider = "ninefold-storage";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerIntegrationLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerIntegrationLiveTest.java
deleted file mode 100644
index 3be07b2..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.ninefold.storage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "NinefoldStorageContainerIntegrationLiveTest")
-public class NinefoldStorageContainerIntegrationLiveTest extends AtmosContainerIntegrationLiveTest {
-
-   public NinefoldStorageContainerIntegrationLiveTest() {
-      provider = "ninefold-storage";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerLiveTest.java
deleted file mode 100644
index 3449858..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageContainerLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.ninefold.storage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "NinefoldStorageContainerLiveTest")
-public class NinefoldStorageContainerLiveTest extends AtmosContainerLiveTest {
-
-   public NinefoldStorageContainerLiveTest() {
-      provider = "ninefold-storage";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageServiceIntegrationLiveTest.java b/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageServiceIntegrationLiveTest.java
deleted file mode 100644
index c88a01e..0000000
--- a/providers/ninefold-storage/src/test/java/org/jclouds/ninefold/storage/blobstore/integration/NinefoldStorageServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,40 +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.jclouds.ninefold.storage.blobstore.integration;
-
-import java.util.Set;
-
-import org.jclouds.atmos.blobstore.integration.AtmosServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "NinefoldStorageServiceIntegrationLiveTest")
-public class NinefoldStorageServiceIntegrationLiveTest extends AtmosServiceIntegrationLiveTest {
-
-   public NinefoldStorageServiceIntegrationLiveTest() {
-      provider = "ninefold-storage";
-   }
-   
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("AU-NSW");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/c6157f3b/providers/pom.xml
----------------------------------------------------------------------
diff --git a/providers/pom.xml b/providers/pom.xml
index 726a28f..0324cac 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -36,7 +36,6 @@
     <module>aws-ec2</module>
     <module>aws-sqs</module>
     <module>aws-cloudwatch</module>
-    <module>ninefold-storage</module>
     <module>cloudonestorage</module>
     <module>bluelock-vcloud-zone01</module>
     <module>elastichosts-lon-p</module>
@@ -54,7 +53,6 @@
     <module>greenhousedata-element-vcloud</module>
     <module>go2cloud-jhb1</module>
     <module>softlayer</module>
-    <module>ninefold-compute</module>
     <module>hpcloud-compute</module>
     <module>hpcloud-blockstorage</module>
     <module>hpcloud-objectstorage</module>


[16/17] jclouds git commit: JCLOUDS-774 ec2 api was ignoring the jclouds.region property, which made exceptions possible on all zone-scoped api calls.

Posted by ad...@apache.org.
JCLOUDS-774 ec2 api was ignoring the jclouds.region property, which made exceptions possible on all zone-scoped api calls.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/4b813ce0
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/4b813ce0
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/4b813ce0

Branch: refs/heads/1.7.x
Commit: 4b813ce096e76bc135b6d19d5c65b244954aa9a6
Parents: 95141ff
Author: Adrian Cole <ad...@gmail.com>
Authored: Sun Nov 16 14:17:16 2014 -0800
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:38 2014 -0800

----------------------------------------------------------------------
 .../suppliers/DescribeRegionsForRegionURIs.java | 37 ++++++-----
 .../ec2/internal/BaseEC2ApiMockTest.java        | 14 +++--
 .../DescribeRegionsForRegionURIsMockTest.java   | 64 ++++++++++++++++++++
 3 files changed, 94 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/4b813ce0/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIs.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIs.java b/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIs.java
index d8d7a51..909faa9 100644
--- a/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIs.java
+++ b/apis/ec2/src/main/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIs.java
@@ -18,33 +18,40 @@ package org.jclouds.ec2.suppliers;
 
 import java.net.URI;
 import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.ec2.EC2Api;
-import org.jclouds.ec2.features.AvailabilityZoneAndRegionApi;
-import org.jclouds.location.Region;
 import org.jclouds.location.suppliers.RegionIdToURISupplier;
-import org.jclouds.util.Suppliers2;
+import org.jclouds.location.suppliers.fromconfig.RegionIdsFromConfiguration;
 
 import com.google.common.base.Supplier;
-import com.google.common.collect.Maps;
+import com.google.common.base.Suppliers;
+import com.google.common.collect.ImmutableMap;
 
-@Singleton
-public class DescribeRegionsForRegionURIs implements RegionIdToURISupplier {
-   private final AvailabilityZoneAndRegionApi client;
+/**
+ * Uses the {@code DescribeRegions} call to return the regions endpoints, subject to any whitelist present in the
+ * property {@link org.jclouds.location.reference.LocationConstants#PROPERTY_REGIONS}.
+ */
+public final class DescribeRegionsForRegionURIs implements RegionIdToURISupplier {
+   private final EC2Api api;
+   private final Set<String> whitelistedRegionIds;
 
-   @Inject
-   public DescribeRegionsForRegionURIs(EC2Api client) {
-      this.client = client.getAvailabilityZoneAndRegionApi().get();
+   @Inject DescribeRegionsForRegionURIs(EC2Api api, RegionIdsFromConfiguration regionIdsFromConfiguration) {
+      this.api = api;
+      this.whitelistedRegionIds = regionIdsFromConfiguration.get();
    }
 
-   @Singleton
-   @Region
    @Override
    public Map<String, Supplier<URI>> get() {
-      Map<String, URI> regionToUris = client.describeRegions();
-      return Maps.transformValues(regionToUris, Suppliers2.<URI> ofInstanceFunction());
+      ImmutableMap.Builder<String, Supplier<URI>> result = ImmutableMap.builder();
+      for (Entry<String, URI> regionUrl : api.getAvailabilityZoneAndRegionApi().get().describeRegions().entrySet()) {
+         if (whitelistedRegionIds.isEmpty() || whitelistedRegionIds.contains(regionUrl.getKey())) {
+            result.put(regionUrl.getKey(), Suppliers.ofInstance(regionUrl.getValue()));
+         }
+      }
+      return result.build();
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/4b813ce0/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
index 7834ba0..441eec2 100644
--- a/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
+++ b/apis/ec2/src/test/java/org/jclouds/ec2/internal/BaseEC2ApiMockTest.java
@@ -58,18 +58,20 @@ public class BaseEC2ApiMockTest {
    private Map<String, MockWebServer> regionToServers = Maps.newLinkedHashMap();
 
    protected EC2Api api() {
-      return builder().buildApi(EC2Api.class);
+      return builder(new Properties()).buildApi(EC2Api.class);
    }
 
-   protected ContextBuilder builder() {
-      Properties overrides = new Properties();
+   protected ContextBuilder builder(Properties overrides) {
       overrides.setProperty(Constants.PROPERTY_MAX_RETRIES, "1");
-      return ContextBuilder.newBuilder(new EC2ApiMetadata()).credentials(ACCESS_KEY, SECRET_KEY)
-            .endpoint("http://localhost:" + regionToServers.get(DEFAULT_REGION).getPort()).overrides(overrides)
+      return ContextBuilder.newBuilder(new EC2ApiMetadata())
+            .credentials(ACCESS_KEY, SECRET_KEY)
+            .endpoint("http://localhost:" + regionToServers.get(DEFAULT_REGION).getPort())
+            .overrides(overrides)
             .modules(modules);
    }
 
-   private final Set<Module> modules = ImmutableSet.<Module>of(new ExecutorServiceModule(sameThreadExecutor()));
+   private final Set<Module> modules = ImmutableSet.<Module>of(
+      new ExecutorServiceModule(sameThreadExecutor(), sameThreadExecutor()));
 
    @BeforeMethod
    public void start() throws IOException {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/4b813ce0/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIsMockTest.java
----------------------------------------------------------------------
diff --git a/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIsMockTest.java b/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIsMockTest.java
new file mode 100644
index 0000000..ec39f66
--- /dev/null
+++ b/apis/ec2/src/test/java/org/jclouds/ec2/suppliers/DescribeRegionsForRegionURIsMockTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.jclouds.ec2.suppliers;
+
+import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+
+import java.net.URI;
+import java.util.Map;
+import java.util.Properties;
+
+import org.jclouds.ec2.internal.BaseEC2ApiMockTest;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Supplier;
+
+@Test(groups = "unit", testName = "DescribeRegionsForRegionURIsMockTest", singleThreaded = true)
+public class DescribeRegionsForRegionURIsMockTest extends BaseEC2ApiMockTest {
+
+   public void buildsUrlsForEachRegion() throws Exception {
+      enqueueRegions("us-east-1", "eu-central-1");
+
+      Map<String, Supplier<URI>> result = supplier(new Properties()).get();
+
+      assertEquals(result.size(), 2);
+      assertNotNull(result.get("us-east-1").get());
+      assertNotNull(result.get("eu-central-1").get());
+
+      assertPosted("us-east-1", "Action=DescribeRegions");
+   }
+
+   public void honorsRegionWhitelist() throws Exception {
+      enqueueRegions("us-east-1", "eu-central-1");
+
+      Properties overrides = new Properties();
+      overrides.setProperty(PROPERTY_REGIONS, "us-east-1");
+
+      Map<String, Supplier<URI>> result = supplier(overrides).get();
+
+      assertEquals(result.size(), 1);
+      assertNotNull(result.get("us-east-1").get());
+
+      assertPosted("us-east-1", "Action=DescribeRegions");
+   }
+
+   private DescribeRegionsForRegionURIs supplier(Properties overrides) {
+      return builder(overrides).buildInjector().getInstance(DescribeRegionsForRegionURIs.class);
+   }
+}


[10/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
JCLOUDS-692 Remove the CloudSigma v1 provider.


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

Branch: refs/heads/1.7.x
Commit: d07cf7faaf793dd889dfbed46d6fd74cef11ea3b
Parents: 62195c0
Author: Adrian Cole <ad...@gmail.com>
Authored: Tue Sep 30 16:04:20 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:36 2014 -0800

----------------------------------------------------------------------
 allcompute/pom.xml                              |  15 -
 apis/cloudsigma/README.txt                      |   6 -
 apis/cloudsigma/pom.xml                         | 116 ----
 .../org/jclouds/cloudsigma/CloudSigmaApi.java   | 448 -------------
 .../cloudsigma/CloudSigmaApiMetadata.java       |  90 ---
 .../BindCloneDriveOptionsToPlainTextString.java |  91 ---
 .../binders/BindDriveDataToPlainTextString.java |  59 --
 .../binders/BindDriveToPlainTextString.java     |  59 --
 .../binders/BindServerToPlainTextString.java    |  59 --
 .../CloudSigmaComputeServiceAdapter.java        | 252 --------
 .../compute/CloudSigmaTemplateBuilderImpl.java  |  47 --
 .../CloudSigmaComputeServiceContextModule.java  | 124 ----
 .../ParseOsFamilyVersion64BitFromImageName.java |  85 ---
 .../functions/PreinstalledDiskToImage.java      |  65 --
 .../functions/ServerInfoToNodeMetadata.java     | 178 -----
 .../options/CloudSigmaTemplateOptions.java      | 323 ----------
 .../config/CloudSigmaRestClientModule.java      |  90 ---
 .../jclouds/cloudsigma/domain/AffinityType.java |  49 --
 .../jclouds/cloudsigma/domain/BlockDevice.java  |  83 ---
 .../jclouds/cloudsigma/domain/ClaimType.java    |  54 --
 .../cloudsigma/domain/CreateDriveRequest.java   | 168 -----
 .../org/jclouds/cloudsigma/domain/Device.java   | 105 ---
 .../org/jclouds/cloudsigma/domain/Drive.java    | 213 ------
 .../jclouds/cloudsigma/domain/DriveData.java    |  85 ---
 .../jclouds/cloudsigma/domain/DriveInfo.java    | 470 --------------
 .../jclouds/cloudsigma/domain/DriveMetrics.java | 136 ----
 .../jclouds/cloudsigma/domain/DriveStatus.java  |  45 --
 .../jclouds/cloudsigma/domain/DriveType.java    |  45 --
 .../jclouds/cloudsigma/domain/IDEDevice.java    |  95 ---
 .../org/jclouds/cloudsigma/domain/Item.java     | 167 -----
 .../jclouds/cloudsigma/domain/MediaType.java    |  47 --
 .../org/jclouds/cloudsigma/domain/Model.java    |  44 --
 .../java/org/jclouds/cloudsigma/domain/NIC.java | 174 -----
 .../jclouds/cloudsigma/domain/ProfileInfo.java  | 195 ------
 .../jclouds/cloudsigma/domain/ProfileType.java  |  44 --
 .../jclouds/cloudsigma/domain/SCSIDevice.java   |  89 ---
 .../org/jclouds/cloudsigma/domain/Server.java   | 290 ---------
 .../jclouds/cloudsigma/domain/ServerInfo.java   | 255 --------
 .../cloudsigma/domain/ServerMetrics.java        | 153 -----
 .../jclouds/cloudsigma/domain/ServerStatus.java |  44 --
 .../jclouds/cloudsigma/domain/StaticIPInfo.java | 228 -------
 .../org/jclouds/cloudsigma/domain/VLANInfo.java | 163 -----
 .../java/org/jclouds/cloudsigma/domain/VNC.java | 102 ---
 .../cloudsigma/functions/BaseDriveToMap.java    |  54 --
 .../cloudsigma/functions/DriveDataToMap.java    |  81 ---
 ...yValuesDelimitedByBlankLinesToDriveInfo.java |  50 --
 ...aluesDelimitedByBlankLinesToProfileInfo.java |  50 --
 ...ValuesDelimitedByBlankLinesToServerInfo.java |  50 --
 ...luesDelimitedByBlankLinesToStaticIPInfo.java |  50 --
 ...eyValuesDelimitedByBlankLinesToVLANInfo.java |  50 --
 ...luesDelimitedByBlankLinesToDriveInfoSet.java |  57 --
 ...ValuesDelimitedByBlankLinesToListOfMaps.java |  58 --
 ...esDelimitedByBlankLinesToProfileInfoSet.java |  57 --
 ...uesDelimitedByBlankLinesToServerInfoSet.java |  58 --
 ...sDelimitedByBlankLinesToStaticIPInfoSet.java |  57 --
 ...aluesDelimitedByBlankLinesToVLANInfoSet.java |  57 --
 ...sToListOfKeyValuesDelimitedByBlankLines.java |  55 --
 .../cloudsigma/functions/MapToDevices.java      |  99 ---
 .../cloudsigma/functions/MapToDriveInfo.java    | 114 ----
 .../cloudsigma/functions/MapToDriveMetrics.java |  84 ---
 .../jclouds/cloudsigma/functions/MapToNICs.java |  56 --
 .../cloudsigma/functions/MapToProfileInfo.java  |  60 --
 .../cloudsigma/functions/MapToServerInfo.java   |  91 ---
 .../functions/MapToServerMetrics.java           |  57 --
 .../cloudsigma/functions/MapToStaticIPInfo.java |  60 --
 .../cloudsigma/functions/MapToVLANInfo.java     |  56 --
 .../cloudsigma/functions/ReturnPayload.java     |  35 -
 .../cloudsigma/functions/ServerToMap.java       |  78 ---
 .../cloudsigma/functions/SplitNewlines.java     |  49 --
 .../SplitNewlinesAndReturnSecondField.java      |  64 --
 .../handlers/CloudSigmaErrorHandler.java        | 105 ---
 .../cloudsigma/options/CloneDriveOptions.java   | 139 ----
 .../cloudsigma/predicates/DriveClaimed.java     |  60 --
 .../reference/CloudSigmaConstants.java          |  30 -
 .../org/jclouds/cloudsigma/util/Servers.java    |  83 ---
 .../services/org.jclouds.apis.ApiMetadata       |   1 -
 .../cloudsigma/CloudSigmaApiMetadataTest.java   |  32 -
 .../jclouds/cloudsigma/CloudSigmaApiTest.java   | 646 -------------------
 .../cloudsigma/CloudSigmaClientLiveTest.java    | 443 -------------
 ...dCloneDriveOptionsToPlainTextStringTest.java |  71 --
 .../BindDriveDataToPlainTextStringTest.java     |  84 ---
 .../binders/BindDriveToPlainTextStringTest.java |  87 ---
 .../BindServerToPlainTextStringTest.java        |  89 ---
 .../CloudSigmaComputeServiceLiveTest.java       |  67 --
 .../functions/BaseDriveToMapTest.java           |  64 --
 .../functions/DriveDataToMapTest.java           |  78 ---
 ...uesDelimitedByBlankLinesToDriveInfoTest.java |  46 --
 ...sDelimitedByBlankLinesToProfileInfoTest.java |  46 --
 ...esDelimitedByBlankLinesToServerInfoTest.java |  77 ---
 ...luesDelimitedByBlankLinesToVLANInfoTest.java |  46 --
 ...DelimitedByBlankLinesToDriveInfoSetTest.java |  48 --
 ...esDelimitedByBlankLinesToListOfMapsTest.java |  63 --
 ...elimitedByBlankLinesToServerInfoSetTest.java |  77 ---
 ...sDelimitedByBlankLinesToVLANInfoSetTest.java |  48 --
 ...istOfKeyValuesDelimitedByBlankLinesTest.java |  57 --
 .../functions/MapToDriveInfoTest.java           |  94 ---
 .../functions/MapToProfileInfoTest.java         |  55 --
 .../functions/MapToServerInfoTest.java          | 159 -----
 .../cloudsigma/functions/MapToVLANInfoTest.java |  53 --
 ...seOsFamilyVersion64BitFromImageNameTest.java |  78 ---
 .../cloudsigma/functions/ServerToMapTest.java   |  63 --
 .../cloudsigma/functions/SplitNewlinesTest.java |  50 --
 .../handlers/CloudSigmaErrorHandlerTest.java    | 135 ----
 .../options/CloneDriveOptionsTest.java          | 129 ----
 .../src/test/resources/create_drive.txt         |   5 -
 .../src/test/resources/create_server.txt        |  11 -
 apis/cloudsigma/src/test/resources/drive.txt    |  27 -
 .../src/test/resources/drive_data.txt           |   6 -
 apis/cloudsigma/src/test/resources/log4j.xml    | 151 -----
 .../src/test/resources/new_server.txt           |  24 -
 .../src/test/resources/osmatches.json           | 174 -----
 apis/cloudsigma/src/test/resources/profile.txt  |  28 -
 apis/cloudsigma/src/test/resources/servers.txt  |  40 --
 apis/cloudsigma/src/test/resources/uuids.txt    |   3 -
 apis/cloudsigma/src/test/resources/vlan.txt     |   4 -
 apis/pom.xml                                    |   1 -
 providers/cloudsigma-lvs/pom.xml                | 125 ----
 .../CloudSigmaLasVegasProviderMetadata.java     |  83 ---
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 .../CloudSigmaLasVegasLondonClientLiveTest.java |  30 -
 .../CloudSigmaLasVegasProviderTest.java         |  32 -
 ...loudSigmaLasVegasComputeServiceLiveTest.java |  32 -
 ...oudSigmaLasVegasTemplateBuilderLiveTest.java |  89 ---
 providers/cloudsigma-zrh/pom.xml                | 126 ----
 .../CloudSigmaZurichProviderMetadata.java       |  83 ---
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 .../CloudSigmaZurichClientLiveTest.java         |  30 -
 .../CloudSigmaZurichProviderTest.java           |  32 -
 .../CloudSigmaZurichComputeServiceLiveTest.java |  79 ---
 ...CloudSigmaZurichTemplateBuilderLiveTest.java |  86 ---
 providers/pom.xml                               |   2 -
 131 files changed, 12045 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/allcompute/pom.xml
----------------------------------------------------------------------
diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index 1aa3df2..b2be149a 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -79,11 +79,6 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudsigma</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>bluelock-vcloud-zone01</artifactId>
       <version>${project.version}</version>
@@ -130,16 +125,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>cloudsigma-zrh</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>cloudsigma-lvs</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>go2cloud-jhb1</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/README.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/README.txt b/apis/cloudsigma/README.txt
deleted file mode 100644
index bddfd04..0000000
--- a/apis/cloudsigma/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# The jclouds provider for CloudSigma (http://www.cloudsigma.com/).
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/pom.xml
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/pom.xml b/apis/cloudsigma/pom.xml
deleted file mode 100644
index 4cd7866..0000000
--- a/apis/cloudsigma/pom.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.api</groupId>
-  <artifactId>cloudsigma</artifactId>
-  <name>jclouds CloudSigma API</name>
-  <description>ComputeService binding to the CloudSigma API</description>
-  <packaging>bundle</packaging>
-  
-  <properties>
-    <test.cloudsigma.endpoint>https://api.cloudsigma.com</test.cloudsigma.endpoint>
-    <test.cloudsigma.api-version>1.0</test.cloudsigma.api-version>
-    <test.cloudsigma.build-version />
-    <test.cloudsigma.identity>FIXME</test.cloudsigma.identity>
-    <test.cloudsigma.credential>FIXME</test.cloudsigma.credential>
-    <test.cloudsigma.template>imageId=f3c7c665-cd54-4a78-8fd2-7ec2f028cf29</test.cloudsigma.template>
-    <jclouds.osgi.export>org.jclouds.cloudsigma*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${project.version}",
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.cloudsigma.endpoint>${test.cloudsigma.endpoint}</test.cloudsigma.endpoint>
-                    <test.cloudsigma.api-version>${test.cloudsigma.api-version}</test.cloudsigma.api-version>
-                    <test.cloudsigma.build-version>${test.cloudsigma.build-version}</test.cloudsigma.build-version>
-                    <test.cloudsigma.identity>${test.cloudsigma.identity}</test.cloudsigma.identity>
-                    <test.cloudsigma.credential>${test.cloudsigma.credential}</test.cloudsigma.credential>
-                    <test.cloudsigma.template>${test.cloudsigma.template}</test.cloudsigma.template>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java
deleted file mode 100644
index 42ffd5e..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApi.java
+++ /dev/null
@@ -1,448 +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.jclouds.cloudsigma;
-
-import java.io.Closeable;
-import java.util.Set;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.cloudsigma.binders.BindCloneDriveOptionsToPlainTextString;
-import org.jclouds.cloudsigma.binders.BindDriveDataToPlainTextString;
-import org.jclouds.cloudsigma.binders.BindDriveToPlainTextString;
-import org.jclouds.cloudsigma.binders.BindServerToPlainTextString;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToDriveInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToProfileInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToServerInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToStaticIPInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToVLANInfo;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet;
-import org.jclouds.cloudsigma.functions.SplitNewlines;
-import org.jclouds.cloudsigma.functions.SplitNewlinesAndReturnSecondField;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-
-/**
- * Provides synchronous access to CloudSigma via their REST API.
- * <p/>
- *
- * @see <a href="http://cloudsigma.com/en/platform-details/the-api" />
- * @author Adrian Cole
- */
-@RequestFilters(BasicAuthentication.class)
-@Consumes(MediaType.TEXT_PLAIN)
-public interface CloudSigmaApi extends Closeable {
-
-   /**
-    * list of drive uuids that are in the library
-    *
-    * @return or empty set if no drives are found
-    */
-   @GET
-   @Path("/drives/standard/list")
-   @ResponseParser(SplitNewlines.class)
-   Set<String> listStandardDrives();
-
-   /**
-    * list of cd uuids that are in the library
-    *
-    * @return or empty set if no cds are found
-    */
-   @GET
-   @Path("/drives/standard/cd/list")
-   @ResponseParser(SplitNewlines.class)
-   Set<String> listStandardCds();
-
-   /**
-    * list of image uuids that are in the library
-    *
-    * @return or empty set if no images are found
-    */
-   @GET
-   @Path("/drives/standard/img/list")
-   @ResponseParser(SplitNewlines.class)
-   Set<String> listStandardImages();
-
-   /**
-    * Clone an existing drive. By default, the size is the same as the source
-    *
-    * @param sourceUuid
-    *           source to clone
-    * @param newName
-    *           name of the resulting drive
-    * @param options
-    *           options to control size
-    * @return new drive
-    */
-   @POST
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
-   @Path("/drives/{uuid}/clone")
-   @MapBinder(BindCloneDriveOptionsToPlainTextString.class)
-   DriveInfo cloneDrive(@PathParam("uuid") String sourceUuid, @PayloadParam("name") String newName,
-                                          CloneDriveOptions... options);
-
-   /**
-    * Get profile info
-    *
-    * @return info or null, if not found
-    */
-   @GET
-   @Path("/profile/info")
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToProfileInfo.class)
-   ProfileInfo getProfileInfo();
-
-   /**
-    * Get all drives info
-    *
-    * @return or empty set if no drives are found
-    */
-   @GET
-   @Path("/drives/info")
-   @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.class)
-   Set<DriveInfo> listDriveInfo();
-
-   /**
-    * @param uuid
-    *           what to get
-    * @return null, if not found
-    */
-   @GET
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
-   @Path("/drives/{uuid}/info")
-   DriveInfo getDriveInfo(@PathParam("uuid") String uuid);
-
-   /**
-    * create a new drive
-    *
-    * @param createDrive
-    *           required parameters: name, size
-    * @return newly created drive
-    */
-   @POST
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
-   @Path("/drives/create")
-   DriveInfo createDrive(@BinderParam(BindDriveToPlainTextString.class) Drive createDrive);
-
-   /**
-    * set extra drive data
-    *
-    * @param uuid
-    *           what drive to change
-    * @param createDrive
-    *           what values to change
-    * @return new data
-    */
-   @POST
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToDriveInfo.class)
-   @Path("/drives/{uuid}/set")
-   DriveInfo setDriveData(@PathParam("uuid") String uuid,
-                                            @BinderParam(BindDriveDataToPlainTextString.class) DriveData createDrive);
-
-   /**
-    * create a new server
-    *
-    * @param createServer
-    * @return newly created server
-    */
-   @POST
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToServerInfo.class)
-   @Path("/servers/create")
-   ServerInfo createServer(@BinderParam(BindServerToPlainTextString.class) Server createServer);
-
-   /**
-    * Get all servers info
-    *
-    * @return or empty set if no servers are found
-    */
-   @GET
-   @Path("/servers/info")
-   @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.class)
-   Set<ServerInfo> listServerInfo();
-
-   /**
-    * @param uuid
-    *           what to get
-    * @return null, if not found
-    */
-   @GET
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToServerInfo.class)
-   @Path("/servers/{uuid}/info")
-   ServerInfo getServerInfo(@PathParam("uuid") String uuid);
-
-   /**
-    * set server configuration
-    *
-    * @param uuid
-    *           what server to change
-    * @param setServer
-    *           what values to change
-    * @return new data
-    */
-   @POST
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToServerInfo.class)
-   @Path("/servers/{uuid}/set")
-   ServerInfo setServerConfiguration(@PathParam("uuid") String uuid,
-                                                       @BinderParam(BindServerToPlainTextString.class) Server setServer);
-
-   /**
-    * list of server uuids in your account
-    *
-    * @return or empty set if no servers are found
-    */
-   @GET
-   @Path("/servers/list")
-   @ResponseParser(SplitNewlines.class)
-   Set<String> listServers();
-
-   /**
-    * Destroy a server
-    *
-    * @param uuid
-    *           what to destroy
-    */
-   @GET
-   @Path("/servers/{uuid}/destroy")
-   @Fallback(VoidOnNotFoundOr404.class)
-   void destroyServer(@PathParam("uuid") String uuid);
-
-   /**
-    * Start a server
-    *
-    * @param uuid
-    *           what to start
-    */
-   @POST
-   @Path("/servers/{uuid}/start")
-   void startServer(@PathParam("uuid") String uuid);
-
-   /**
-    * Stop a server
-    * <p/>
-    * Kills the server immediately, equivalent to a power failure. Server reverts to a stopped
-    * status if it is persistent and is automatically destroyed otherwise.
-    *
-    * @param uuid
-    *           what to stop
-    */
-   @POST
-   @Path("/servers/{uuid}/stop")
-   void stopServer(@PathParam("uuid") String uuid);
-
-   /**
-    * Shutdown a server
-    * <p/>
-    * Sends the server an ACPI power-down event. Server reverts to a stopped status if it is
-    * persistent and is automatically destroyed otherwise.
-    * <h4>note</h4> behaviour on shutdown depends on how your server OS is set up to respond to an
-    * ACPI power button signal.
-    *
-    * @param uuid
-    *           what to shutdown
-    */
-   @POST
-   @Path("/servers/{uuid}/shutdown")
-   void shutdownServer(@PathParam("uuid") String uuid);
-
-   /**
-    * Reset a server
-    *
-    * @param uuid
-    *           what to reset
-    */
-   @POST
-   @Path("/servers/{uuid}/reset")
-   void resetServer(@PathParam("uuid") String uuid);
-
-   /**
-    * list of drive uuids in your account
-    *
-    * @return or empty set if no drives are found
-    */
-   @GET
-   @Path("/drives/list")
-   @ResponseParser(SplitNewlines.class)
-   Set<String> listDrives();
-
-   /**
-    * Destroy a drive
-    *
-    * @param uuid
-    *           what to delete
-    */
-   @GET
-   @Path("/drives/{uuid}/destroy")
-   @Fallback(VoidOnNotFoundOr404.class)
-   void destroyDrive(@PathParam("uuid") String uuid);
-
-   /**
-    * create a new vlan
-    *
-    * @param name
-    * @return newly created vlan
-    */
-   @POST
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToVLANInfo.class)
-   @Path("/resources/vlan/create")
-   @Payload("name {name}\n")
-   @Produces(MediaType.TEXT_PLAIN)
-   VLANInfo createVLAN(@PayloadParam("name") String name);
-
-   /**
-    * Get all vlans info
-    *
-    * @return or empty set if no vlans are found
-    */
-   @GET
-   @Path("/resources/vlan/info")
-   @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.class)
-   Set<VLANInfo> listVLANInfo();
-
-   /**
-    * @param uuid
-    *           what to get
-    * @return null, if not found
-    */
-   @GET
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToVLANInfo.class)
-   @Path("/resources/vlan/{uuid}/info")
-   VLANInfo getVLANInfo(@PathParam("uuid") String uuid);
-
-   /**
-    * set vlan configuration
-    *
-    * @param uuid
-    *           what vlan to change
-    * @param name
-    *           what the new name is
-    * @return new data
-    */
-   @POST
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToVLANInfo.class)
-   @Path("/resources/vlan/{uuid}/set")
-   @Payload("name {name}\n")
-   @Produces(MediaType.TEXT_PLAIN)
-   VLANInfo renameVLAN(@PathParam("uuid") String uuid, @PayloadParam("name") String name);
-
-   /**
-    * list of vlan uuids in your account
-    *
-    * @return or empty set if no vlans are found
-    */
-   @GET
-   @Path("/resources/vlan/list")
-   @ResponseParser(SplitNewlinesAndReturnSecondField.class)
-   Set<String> listVLANs();
-
-   /**
-    * Destroy a vlan
-    *
-    * @param uuid
-    *           what to destroy
-    */
-   @GET
-   @Path("/resources/vlan/{uuid}/destroy")
-   @Fallback(VoidOnNotFoundOr404.class)
-   void destroyVLAN(@PathParam("uuid") String uuid);
-
-   /**
-    * create a new ip
-    *
-    * @return newly created ip
-    */
-   @POST
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToStaticIPInfo.class)
-   @Path("/resources/ip/create")
-   StaticIPInfo createStaticIP();
-
-   /**
-    * Get all ips info
-    *
-    * @return or empty set if no ips are found
-    */
-   @GET
-   @Path("/resources/ip/info")
-   @ResponseParser(ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.class)
-   Set<StaticIPInfo> listStaticIPInfo();
-
-   /**
-    * @param uuid
-    *           what to get
-    * @return null, if not found
-    */
-   @GET
-   @Fallback(NullOnNotFoundOr404.class)
-   @ResponseParser(KeyValuesDelimitedByBlankLinesToStaticIPInfo.class)
-   @Path("/resources/ip/{uuid}/info")
-   StaticIPInfo getStaticIPInfo(@PathParam("uuid") String uuid);
-
-   /**
-    * list of ip uuids in your account
-    *
-    * @return or empty set if no ips are found
-    */
-   @GET
-   @Path("/resources/ip/list")
-   @ResponseParser(SplitNewlinesAndReturnSecondField.class)
-   Set<String> listStaticIPs();
-
-   /**
-    * Destroy a ip
-    *
-    * @param uuid
-    *           what to destroy
-    */
-   @GET
-   @Path("/resources/ip/{uuid}/destroy")
-   @Fallback(VoidOnNotFoundOr404.class)
-   void destroyStaticIP(@PathParam("uuid") String uuid);
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java
deleted file mode 100644
index f5d31a6..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/CloudSigmaApiMetadata.java
+++ /dev/null
@@ -1,90 +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.jclouds.cloudsigma;
-import static org.jclouds.cloudsigma.reference.CloudSigmaConstants.PROPERTY_VNC_PASSWORD;
-import static org.jclouds.compute.config.ComputeServiceProperties.TEMPLATE;
-import static org.jclouds.reflect.Reflection2.typeToken;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.cloudsigma.compute.config.CloudSigmaComputeServiceContextModule;
-import org.jclouds.cloudsigma.config.CloudSigmaRestClientModule;
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.rest.internal.BaseHttpApiMetadata;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Implementation of {@link ApiMetadata} for the Cloud Sigma API
- * 
- * @author Adrian Cole
- */
-public class CloudSigmaApiMetadata extends BaseHttpApiMetadata<CloudSigmaApi> {
-
-
-   @Override
-   public Builder toBuilder() {
-      return new Builder().fromApiMetadata(this);
-   }
-
-   public CloudSigmaApiMetadata() {
-      this(new Builder());
-   }
-
-   protected CloudSigmaApiMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = BaseHttpApiMetadata.defaultProperties();
-      properties.setProperty(PROPERTY_VNC_PASSWORD, "IL9vs34d");
-      // passwords are set post-boot, so auth failures are possible
-      // from a race condition applying the password set script
-      properties.setProperty("jclouds.ssh.max-retries", "7");
-      properties.setProperty("jclouds.ssh.retry-auth", "true");
-      properties.setProperty(TEMPLATE, "osFamily=UBUNTU,imageNameMatches=.*[Aa]utomated SSH Access.*,os64Bit=true");
-      return properties;
-   }
-
-   public static class Builder extends BaseHttpApiMetadata.Builder<CloudSigmaApi, Builder> {
-
-      protected Builder() {
-         id("cloudsigma")
-         .name("CloudSigma API")
-         .identityName("Email")
-         .credentialName("Password")
-         .documentation(URI.create("http://cloudsigma.com/en/platform-details/the-api"))
-         .version("1.0")
-         .defaultEndpoint("https://api.cloudsigma.com")
-         .defaultProperties(CloudSigmaApiMetadata.defaultProperties())
-         .view(typeToken(ComputeServiceContext.class))
-         .defaultModules(ImmutableSet.<Class<? extends Module>>of(CloudSigmaRestClientModule.class, CloudSigmaComputeServiceContextModule.class));
-      }
-
-      @Override
-      public CloudSigmaApiMetadata build() {
-         return new CloudSigmaApiMetadata(this);
-      }
-
-      @Override
-      protected Builder self() {
-         return this;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java
deleted file mode 100644
index 8303b3e..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextString.java
+++ /dev/null
@@ -1,91 +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.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.MapBinder;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BindCloneDriveOptionsToPlainTextString implements MapBinder {
-   private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
-   @Inject
-   public BindCloneDriveOptionsToPlainTextString(
-         ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
-      this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-   }
-
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Map<String, Object> postParams) {
-      checkArgument(checkNotNull(request, "request") instanceof GeneratedHttpRequest,
-            "this binder is only valid for GeneratedHttpRequests!");
-      GeneratedHttpRequest gRequest = GeneratedHttpRequest.class.cast(request);
-
-      CloneDriveOptions options = findOptionsInArgsOrNull(gRequest);
-      if (options != null) {
-         postParams = ImmutableMap.<String, Object> builder().putAll(postParams).putAll(options.getOptions()).build();
-      }
-
-      request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(Maps.transformValues(postParams, new Function<Object, String>() {
-         @Override
-         public String apply(Object input) {
-            return input == null ? null : input.toString();
-         }
-      }))));
-      request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
-      return request;
-   }
-
-   static CloneDriveOptions findOptionsInArgsOrNull(GeneratedHttpRequest gRequest) {
-      for (Object arg : gRequest.getInvocation().getArgs()) {
-         if (arg instanceof CloneDriveOptions) {
-            return (CloneDriveOptions) arg;
-         } else if (arg instanceof CloneDriveOptions[]) {
-            CloneDriveOptions[] options = (CloneDriveOptions[]) arg;
-            return (options.length > 0) ? options[0] : null;
-         }
-      }
-      return null;
-   }
-
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      throw new UnsupportedOperationException();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java
deleted file mode 100644
index a82c9d1..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextString.java
+++ /dev/null
@@ -1,59 +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.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BindDriveDataToPlainTextString implements Binder {
-   private final Function<DriveData, Map<String, String>> createDriveRequestToMap;
-   private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
-   @Inject
-   public BindDriveDataToPlainTextString(Function<DriveData, Map<String, String>> createDriveRequestToMap,
-         ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
-      this.createDriveRequestToMap = createDriveRequestToMap;
-      this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-   }
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
-      checkArgument(payload instanceof DriveData, "this binder is only valid for DriveData!");
-      DriveData create = DriveData.class.cast(payload);
-      Map<String, String> map = createDriveRequestToMap.apply(create);
-      request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(map)));
-      request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
-      return request;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java
deleted file mode 100644
index 77794c1..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextString.java
+++ /dev/null
@@ -1,59 +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.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BindDriveToPlainTextString implements Binder {
-   private final Function<Drive, Map<String, String>>  createDriveRequestToMap;
-   private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
-   @Inject
-   public BindDriveToPlainTextString(Function<Drive, Map<String, String>>  createDriveRequestToMap,
-         ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
-      this.createDriveRequestToMap = createDriveRequestToMap;
-      this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-   }
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
-      checkArgument(payload instanceof Drive, "this binder is only valid for Drive!");
-      Drive create = Drive.class.cast(payload);
-      Map<String, String> map = createDriveRequestToMap.apply(create);
-      request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(map)));
-      request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
-      return request;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java
deleted file mode 100644
index 3454be0..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextString.java
+++ /dev/null
@@ -1,59 +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.jclouds.cloudsigma.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLines;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BindServerToPlainTextString implements Binder {
-   private final Function<Server, Map<String, String>> createServerRequestToMap;
-   private final ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-
-   @Inject
-   public BindServerToPlainTextString(Function<Server, Map<String, String>> createServerRequestToMap,
-         ListOfMapsToListOfKeyValuesDelimitedByBlankLines listOfMapsToListOfKeyValuesDelimitedByBlankLines) {
-      this.createServerRequestToMap = createServerRequestToMap;
-      this.listOfMapsToListOfKeyValuesDelimitedByBlankLines = listOfMapsToListOfKeyValuesDelimitedByBlankLines;
-   }
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
-      checkArgument(payload instanceof Server, "this binder is only valid for Server!");
-      Server create = Server.class.cast(payload);
-      Map<String, String> map = createServerRequestToMap.apply(create);
-      request.setPayload(listOfMapsToListOfKeyValuesDelimitedByBlankLines.apply(ImmutableSet.of(map)));
-      request.getPayload().getContentMetadata().setContentType(MediaType.TEXT_PLAIN);
-      return request;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java
deleted file mode 100644
index cfcffc1..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceAdapter.java
+++ /dev/null
@@ -1,252 +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.jclouds.cloudsigma.compute;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.contains;
-import static com.google.common.collect.Iterables.filter;
-import static org.jclouds.concurrent.FutureIterables.transformParallel;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.Constants;
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.compute.options.CloudSigmaTemplateOptions;
-import org.jclouds.cloudsigma.domain.AffinityType;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.DriveType;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.cloudsigma.reference.CloudSigmaConstants;
-import org.jclouds.cloudsigma.util.Servers;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.internal.VolumeImpl;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-
-/**
- * defines the connection between the {@link org.jclouds.cloudsigma.CloudSigmaApi} implementation
- * and the jclouds {@link ComputeService}
- *
- */
-@Singleton
-public class CloudSigmaComputeServiceAdapter implements
-      ComputeServiceAdapter<ServerInfo, Hardware, DriveInfo, Location> {
-   private static final Predicate<DriveInfo> PREINSTALLED_DISK = Predicates.and(Predicates.notNull(),
-         new Predicate<DriveInfo>() {
-
-            @Override
-            public boolean apply(DriveInfo drive) {
-               return drive.getType().equals(DriveType.DISK) && drive.getDriveType().contains("preinstalled");
-            }
-
-         });
-   private final CloudSigmaApi client;
-   private final Predicate<DriveInfo> driveNotClaimed;
-   private final String defaultVncPassword;
-   private final LoadingCache<String, DriveInfo> cache;
-   private final ListeningExecutorService userExecutor;
-
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public CloudSigmaComputeServiceAdapter(CloudSigmaApi client, Predicate<DriveInfo> driveNotClaimed,
-         @Named(CloudSigmaConstants.PROPERTY_VNC_PASSWORD) String defaultVncPassword,
-         LoadingCache<String, DriveInfo> cache, @Named(Constants.PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) {
-      this.client = checkNotNull(client, "client");
-      this.driveNotClaimed = checkNotNull(driveNotClaimed, "driveNotClaimed");
-      this.defaultVncPassword = checkNotNull(defaultVncPassword, "defaultVncPassword");
-      checkArgument(defaultVncPassword.length() <= 8, "vnc passwords should be less that 8 characters!"); 
-      this.cache = checkNotNull(cache, "cache");
-      this.userExecutor = checkNotNull(userExecutor, "userExecutor");
-   }
-
-   @Override
-   public NodeAndInitialCredentials<ServerInfo> createNodeWithGroupEncodedIntoName(String tag, String name, Template template) {
-      long bootSize = (long) (template.getHardware().getVolumes().get(0).getSize() * 1024 * 1024 * 1024l);
-      AffinityType affinityType = AffinityType.HDD;
-      if (template.getOptions() instanceof CloudSigmaTemplateOptions) {
-         CloudSigmaTemplateOptions options = CloudSigmaTemplateOptions.class.cast(template.getOptions());
-         affinityType = options.getDiskDriveAffinity();
-      }
-      logger.debug(">> imaging boot drive source(%s) bytes(%d) affinityType(%s)",
-         template.getImage().getId(), bootSize, affinityType);
-      DriveInfo drive = client.cloneDrive(template.getImage().getId(), template.getImage().getId(),
-         new CloneDriveOptions().size(bootSize).affinity(affinityType));
-      boolean success = driveNotClaimed.apply(drive);
-      logger.debug("<< image(%s) complete(%s)", drive.getUuid(), success);
-      if (!success) {
-         client.destroyDrive(drive.getUuid());
-         throw new IllegalStateException("could not image drive in time!");
-      }
-
-      Server toCreate = Servers.small(name, drive.getUuid(), defaultVncPassword).mem(template.getHardware().getRam())
-            .cpu((int) (template.getHardware().getProcessors().get(0).getSpeed())).build();
-
-      logger.debug(">> creating server");
-      ServerInfo from = client.createServer(toCreate);
-      logger.debug("<< created server(%s)", from.getUuid());
-      logger.debug(">> starting server(%s)", from.getUuid());
-      client.startServer(from.getUuid());
-      return new NodeAndInitialCredentials<ServerInfo>(from, from.getUuid(), LoginCredentials.builder()
-            .password(defaultVncPassword).authenticateSudo(true).build());
-   }
-
-   @Override
-   public Iterable<Hardware> listHardwareProfiles() {
-      Builder<Hardware> hardware = ImmutableSet.builder();
-      for (double cpu : new double[] { 1000, 5000, 10000, 20000 })
-         for (int ram : new int[] { 512, 1024, 4 * 1024, 16 * 1024, 32 * 1024 }) {
-            final float size = (float) cpu / 100;
-            String id = String.format("cpu=%f,ram=%s,disk=%f", cpu, ram, size);
-            hardware.add(new HardwareBuilder().supportsImage(new Predicate<Image>() {
-
-               @Override
-               public boolean apply(Image input) {
-                  String toParse = input.getUserMetadata().get("size");
-                  return toParse != null && new Float(toParse) <= size;
-               }
-
-               @Override
-               public String toString() {
-                  return "sizeLessThanOrEqual(" + size + ")";
-               }
-
-            }).ids(id).ram(ram).processors(ImmutableList.of(new Processor(1, cpu))).hypervisor("kvm")
-                  .volumes(ImmutableList.<Volume>of(new VolumeImpl(size, true, true))).build());
-         }
-      return hardware.build();
-   }
-
-   /**
-    * look up the current standard images and do not error out, if they are not
-    * found.
-    */
-   @Override
-   public Iterable<DriveInfo> listImages() {
-      return FluentIterable.from(transformParallel(client.listStandardDrives(),
-            new Function<String, ListenableFuture<? extends DriveInfo>>() {
-
-               @Override
-               public ListenableFuture<DriveInfo> apply(String input) {
-                  try {
-                     return Futures.immediateFuture(cache.getUnchecked(input));
-                  } catch (CacheLoader.InvalidCacheLoadException e) {
-                     logger.debug("drive %s not found", input);
-                  } catch (UncheckedExecutionException e) {
-                     logger.warn(e, "error finding drive %s: %s", input, e.getMessage());
-                  }
-                  return Futures.immediateFuture(null);
-               }
-
-               @Override
-               public String toString() {
-                  return "seedDriveCache()";
-               }
-            }, userExecutor, null, logger, "drives")).filter(PREINSTALLED_DISK);
-   }
-
-   @SuppressWarnings("unchecked")
-   @Override
-   public Iterable<ServerInfo> listNodes() {
-      return (Iterable<ServerInfo>) client.listServerInfo();
-   }
-   
-   @Override
-   public Iterable<ServerInfo> listNodesByIds(final Iterable<String> ids) {
-      return filter(listNodes(), new Predicate<ServerInfo>() {
-
-            @Override
-            public boolean apply(ServerInfo server) {
-               return contains(ids, server.getUuid());
-            }
-         });
-   }
-
-   @Override
-   public Iterable<Location> listLocations() {
-      // Not using the adapter to determine locations
-      return ImmutableSet.<Location>of();
-   }
-
-   @Override
-   public ServerInfo getNode(String id) {
-      return client.getServerInfo(id);
-   }
-   
-   @Override
-   public DriveInfo getImage(String id) {
-      return client.getDriveInfo(id);
-   }
-   
-   @Override
-   public void destroyNode(String id) {
-      ServerInfo server = getNode(id);
-      if (server != null) {
-         client.stopServer(id);
-         client.destroyServer(id);
-         for (Device dev : server.getDevices().values())
-            client.destroyDrive(dev.getDriveUuid());
-      }
-   }
-
-   @Override
-   public void rebootNode(String id) {
-      client.resetServer(id);
-   }
-
-   @Override
-   public void resumeNode(String id) {
-      client.startServer(id);
-
-   }
-
-   @Override
-   public void suspendNode(String id) {
-      client.stopServer(id);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java
deleted file mode 100644
index 2032db9..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/CloudSigmaTemplateBuilderImpl.java
+++ /dev/null
@@ -1,47 +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.jclouds.cloudsigma.compute;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
-
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.domain.internal.TemplateBuilderImpl;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.strategy.GetImageStrategy;
-import org.jclouds.compute.suppliers.ImageCacheSupplier;
-import org.jclouds.domain.Location;
-
-import com.google.common.base.Supplier;
-
-/**
- * @author Andrei Savu
- */
-public class CloudSigmaTemplateBuilderImpl extends TemplateBuilderImpl {
-   @Inject
-   public CloudSigmaTemplateBuilderImpl(@Memoized Supplier<Set<? extends Location>> locations,
-                                        ImageCacheSupplier images, @Memoized Supplier<Set<? extends Hardware>> hardwares,
-                                        Supplier<Location> defaultLocation2, @Named("DEFAULT") Provider<TemplateOptions> optionsProvider,
-                                        @Named("DEFAULT") Provider<TemplateBuilder> defaultTemplateProvider, GetImageStrategy getImageStrategy) {
-      super(locations, images, hardwares, defaultLocation2, optionsProvider, defaultTemplateProvider, getImageStrategy);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java
deleted file mode 100644
index d9ddeac..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/config/CloudSigmaComputeServiceContextModule.java
+++ /dev/null
@@ -1,124 +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.jclouds.cloudsigma.compute.config;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static org.jclouds.util.Predicates2.retry;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.compute.CloudSigmaComputeServiceAdapter;
-import org.jclouds.cloudsigma.compute.CloudSigmaTemplateBuilderImpl;
-import org.jclouds.cloudsigma.compute.functions.ParseOsFamilyVersion64BitFromImageName;
-import org.jclouds.cloudsigma.compute.functions.PreinstalledDiskToImage;
-import org.jclouds.cloudsigma.compute.functions.ServerInfoToNodeMetadata;
-import org.jclouds.cloudsigma.compute.functions.ServerInfoToNodeMetadata.DeviceToVolume;
-import org.jclouds.cloudsigma.compute.functions.ServerInfoToNodeMetadata.GetImageIdFromServer;
-import org.jclouds.cloudsigma.compute.options.CloudSigmaTemplateOptions;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.predicates.DriveClaimed;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.config.ComputeServiceAdapterContextModule;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.reference.ComputeServiceConstants.Timeouts;
-import org.jclouds.domain.Location;
-import org.jclouds.functions.IdentityFunction;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class CloudSigmaComputeServiceContextModule extends
-         ComputeServiceAdapterContextModule<ServerInfo, Hardware, DriveInfo, Location> {
-
-   @SuppressWarnings({ "unchecked", "rawtypes" })
-   @Override
-   protected void configure() {
-      super.configure();
-      bind(new TypeLiteral<ComputeServiceAdapter<ServerInfo, Hardware, DriveInfo, Location>>() {
-      }).to(CloudSigmaComputeServiceAdapter.class);
-      bind(new TypeLiteral<Function<ServerInfo, NodeMetadata>>() {
-      }).to(ServerInfoToNodeMetadata.class);
-      bind(new TypeLiteral<Function<Hardware, Hardware>>() {
-      }).to(Class.class.cast(IdentityFunction.class));
-      bind(new TypeLiteral<Function<DriveInfo, Image>>() {
-      }).to(PreinstalledDiskToImage.class);
-      bind(new TypeLiteral<Function<Location, Location>>() {
-      }).to(Class.class.cast(IdentityFunction.class));
-      bind(new TypeLiteral<Function<Device, Volume>>() {
-      }).to(DeviceToVolume.class);
-      bind(new TypeLiteral<Function<Server, String>>() {
-      }).to(GetImageIdFromServer.class);
-      bind(new TypeLiteral<Function<String, OsFamilyVersion64Bit>>() {
-      }).to(ParseOsFamilyVersion64BitFromImageName.class);
-      bind(TemplateBuilder.class)
-      .to(CloudSigmaTemplateBuilderImpl.class);
-   }
-
-   @Provides
-   @Singleton
-   protected LoadingCache<String, DriveInfo> cache(GetDrive getDrive) {
-      return CacheBuilder.newBuilder().build(getDrive);
-   }
-
-   @Singleton
-   public static class GetDrive extends CacheLoader<String, DriveInfo> {
-      private final CloudSigmaApi client;
-
-      @Inject
-      public GetDrive(CloudSigmaApi client) {
-         this.client = client;
-      }
-
-      @Override
-      public DriveInfo load(String input) {
-         return client.getDriveInfo(input);
-      }
-   }
-
-   @Provides
-   @Singleton
-   protected Predicate<DriveInfo> supplyDriveUnclaimed(DriveClaimed driveClaimed, Timeouts timeouts) {
-      return retry(Predicates.not(driveClaimed), timeouts.nodeRunning, 1000, MILLISECONDS);
-   }
-
-   @Provides
-   @Singleton
-   protected TemplateOptions templateOptions() {
-      return new CloudSigmaTemplateOptions();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java
deleted file mode 100644
index 4452ce5..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ParseOsFamilyVersion64BitFromImageName.java
+++ /dev/null
@@ -1,85 +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.jclouds.cloudsigma.compute.functions;
-
-import static com.google.common.base.Predicates.and;
-import static com.google.common.base.Predicates.containsPattern;
-import static com.google.common.base.Predicates.not;
-import static com.google.common.base.Predicates.or;
-
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.util.ComputeServiceUtils;
-
-import com.google.common.base.Function;
-
-/**
- * Defaults to version null and 64bit, if the operating system is unrecognized and the pattern
- * "32bit" isn't in the string.
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class ParseOsFamilyVersion64BitFromImageName implements Function<String, OsFamilyVersion64Bit> {
-   private final Map<OsFamily, Map<String, String>> osVersionMap;
-
-   @Inject
-   public ParseOsFamilyVersion64BitFromImageName(Map<OsFamily, Map<String, String>> osVersionMap) {
-      this.osVersionMap = osVersionMap;
-   }
-
-   // ex CentOS 5.5 Linux 64bit Preinstalled System with AppFirst Monitoring
-   // ex. Centos-5.6-20110917 pub
-   public static final Pattern PATTERN = Pattern.compile("([^ -]+)[^0-9]([0-9.]+)[ -].*");
-
-   @Override
-   public OsFamilyVersion64Bit apply(String input) {
-      boolean is64Bit = and(not(containsPattern("32bit")),
-               or(containsPattern("64bit"), not(containsPattern("Windows")))).apply(input);
-      if (input.contains("Windows")) {
-         String version = null;
-         Matcher matcher = Pattern.compile(".*(20[01][0-9] R[1-9]).*").matcher(input);
-         if (matcher.find()) {
-            version = matcher.group(1);
-         } else {
-            matcher = Pattern.compile(".*(20[01][0-9]).*").matcher(input);
-            if (matcher.find())
-               version = matcher.group(1);
-         }
-         return new OsFamilyVersion64Bit(OsFamily.WINDOWS, osVersionMap.get(OsFamily.WINDOWS).get(version), is64Bit);
-      } else {
-         Matcher matcher = PATTERN.matcher(input);
-         if (matcher.find()) {
-            OsFamily fam = OsFamily.fromValue(matcher.group(1).toLowerCase());
-            if (fam == OsFamily.UNRECOGNIZED)
-               return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit);
-            return new OsFamilyVersion64Bit(fam, ComputeServiceUtils.parseVersionOrReturnEmptyString(fam, matcher
-                     .group(2), osVersionMap), is64Bit);
-         } else {
-            return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit);
-         }
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java
deleted file mode 100644
index 5b9a368..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/PreinstalledDiskToImage.java
+++ /dev/null
@@ -1,65 +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.jclouds.cloudsigma.compute.functions;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.Image.Status;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.compute.domain.OperatingSystem;
-import org.jclouds.compute.domain.OperatingSystem.Builder;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.domain.Location;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class PreinstalledDiskToImage implements Function<DriveInfo, Image> {
-   private final Supplier<Location> locationSupplier;
-   private final Function<String, OsFamilyVersion64Bit> imageParser;
-
-   @Inject
-   public PreinstalledDiskToImage(Supplier<Location> locationSupplier,
-         Function<String, OsFamilyVersion64Bit> imageParser) {
-      this.locationSupplier = locationSupplier;
-      this.imageParser = imageParser;
-   }
-
-   @Override
-   public Image apply(DriveInfo drive) {
-      if (drive.getName() == null)
-         return null;
-      String description = drive.getDescription() != null ? drive.getDescription() : drive.getName();
-      Builder builder = OperatingSystem.builder();
-      OsFamilyVersion64Bit parsed = imageParser.apply(drive.getName());
-      builder.name(drive.getName()).description(description)
-            .is64Bit(drive.getBits() != null ? drive.getBits() == 64 : parsed.is64Bit).version(parsed.version)
-            .family(parsed.family);
-      return new ImageBuilder().ids(drive.getUuid())
-            .userMetadata(ImmutableMap.<String, String> of("size", drive.getSize() / 1024 / 1024 / 1024 + ""))
-            .location(locationSupplier.get()).name(drive.getName()).description(description)
-            .operatingSystem(builder.build()).status(Status.AVAILABLE).version("").build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java
deleted file mode 100644
index 0d113c6..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/compute/functions/ServerInfoToNodeMetadata.java
+++ /dev/null
@@ -1,178 +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.jclouds.cloudsigma.compute.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.compute.predicates.ImagePredicates.idEquals;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.ServerStatus;
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeMetadata.Status;
-import org.jclouds.compute.domain.NodeMetadataBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.VolumeBuilder;
-import org.jclouds.compute.functions.GroupNamingConvention;
-import org.jclouds.domain.Location;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.base.Supplier;
-import com.google.common.cache.LoadingCache;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.util.concurrent.UncheckedExecutionException;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class ServerInfoToNodeMetadata implements Function<ServerInfo, NodeMetadata> {
-   public static final Map<ServerStatus, Status> serverStatusToNodeStatus = ImmutableMap
-         .<ServerStatus, Status> builder().put(ServerStatus.ACTIVE, Status.RUNNING)//
-         .put(ServerStatus.STOPPED, Status.SUSPENDED)//
-         .put(ServerStatus.PAUSED, Status.SUSPENDED)//
-         .put(ServerStatus.DUMPED, Status.PENDING)//
-         .put(ServerStatus.DEAD, Status.TERMINATED)//
-         .put(ServerStatus.UNRECOGNIZED, Status.UNRECOGNIZED)//
-         .build();
-
-   private final Function<Server, String> getImageIdFromServer;
-   private final Supplier<Set<? extends Image>> images;
-   private final Supplier<Location> locationSupplier;
-   private final Function<Device, Volume> deviceToVolume;
-   private final GroupNamingConvention nodeNamingConvention;
-
-   @Inject
-   ServerInfoToNodeMetadata(Function<Server, String> getImageIdFromServer, @Memoized Supplier<Set<? extends Image>> images,
-         Function<Device, Volume> deviceToVolume, Supplier<Location> locationSupplier,
-         GroupNamingConvention.Factory namingConvention) {
-      this.nodeNamingConvention = checkNotNull(namingConvention, "namingConvention").createWithoutPrefix();
-      this.locationSupplier = checkNotNull(locationSupplier, "locationSupplier");
-      this.deviceToVolume = checkNotNull(deviceToVolume, "deviceToVolume");
-      this.images = checkNotNull(images, "images");
-      this.getImageIdFromServer = checkNotNull(getImageIdFromServer, "getImageIdFromServer");
-   }
-
-   @Override
-   public NodeMetadata apply(ServerInfo from) {
-      NodeMetadataBuilder builder = new NodeMetadataBuilder();
-      builder.ids(from.getUuid());
-      builder.name(from.getName());
-      builder.location(locationSupplier.get());
-      builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName()));
-
-      String imageId = getImageIdFromServer.apply(from);
-      if (imageId != null) {
-         Optional<? extends Image> image = FluentIterable.from(images.get()).firstMatch(idEquals(imageId));
-         if (image.isPresent()) {
-            builder.operatingSystem(image.get().getOperatingSystem());
-         }
-      }
-      builder.hardware(new HardwareBuilder().ids(from.getUuid()).hypervisor("kvm")
-            .processors(ImmutableList.of(new Processor(1, from.getCpu()))).ram(from.getMem())
-            .volumes(Iterables.transform(from.getDevices().values(), deviceToVolume)).build());
-      builder.status(serverStatusToNodeStatus.get(from.getStatus()));
-      builder.publicAddresses(ImmutableSet.<String> of(from.getVnc().getIp()));
-      builder.privateAddresses(ImmutableSet.<String> of());
-      return builder.build();
-   }
-
-   @Singleton
-   public static final class DeviceToVolume implements Function<Device, Volume> {
-      @Resource
-      protected Logger logger = Logger.NULL;
-
-      private final LoadingCache<String, DriveInfo> cache;
-
-      @Inject
-      public DeviceToVolume(LoadingCache<String, DriveInfo> cache) {
-         this.cache = checkNotNull(cache, "cache");
-      }
-
-      @Override
-      public Volume apply(Device input) {
-         VolumeBuilder builder = new VolumeBuilder();
-         builder.id(input.getId());
-         try {
-            DriveInfo drive = cache.getUnchecked(input.getDriveUuid());
-            builder.size((float) drive.getSize());
-         } catch (NullPointerException e) {
-            logger.debug("drive %s not found", input.getDriveUuid());
-         } catch (UncheckedExecutionException e) {
-            logger.warn(e, "error finding drive %s: %s", input.getDriveUuid(), e.getMessage());
-         }
-         return builder.durable(true).type(Volume.Type.NAS).build();
-      }
-   }
-
-   /**
-    * When we create the boot drive of the server, by convention we set the name
-    * to the image it came from.
-    * 
-    * @author Adrian Cole
-    * 
-    */
-   @Singleton
-   public static class GetImageIdFromServer implements Function<Server, String> {
-      @Resource
-      protected Logger logger = Logger.NULL;
-
-      private final LoadingCache<String, DriveInfo> cache;
-
-      @Inject
-      public GetImageIdFromServer(LoadingCache<String, DriveInfo> cache) {
-         this.cache = cache;
-      }
-
-      @Override
-      public String apply(Server from) {
-         String imageId = null;
-         String bootDeviceId = Iterables.get(from.getBootDeviceIds(), 0);
-         Device bootDevice = from.getDevices().get(bootDeviceId);
-         if (bootDevice != null) {
-            try {
-               DriveInfo drive = cache.getUnchecked(bootDevice.getDriveUuid());
-               imageId = drive.getName();
-            } catch (NullPointerException e) {
-               logger.debug("drive %s not found", bootDevice.getDriveUuid());
-            } catch (UncheckedExecutionException e) {
-               logger.warn(e, "error finding drive %s: %s", bootDevice.getDriveUuid(), e.getMessage());
-            }
-         }
-         return imageId;
-      }
-   }
-}


[11/17] jclouds git commit: JCLOUDS-742 Remove cloudonestorage provider

Posted by ad...@apache.org.
JCLOUDS-742 Remove cloudonestorage provider


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/5db2adfc
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/5db2adfc
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/5db2adfc

Branch: refs/heads/1.7.x
Commit: 5db2adfc7894758be9c51c6f9e2e864e25c737bf
Parents: c6157f3
Author: Andrew Gaul <ga...@apache.org>
Authored: Fri Oct 3 17:37:17 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:36 2014 -0800

----------------------------------------------------------------------
 allblobstore/pom.xml                            |   5 -
 providers/cloudonestorage/README.txt            |   8 --
 providers/cloudonestorage/pom.xml               | 122 -------------------
 .../CloudOneStorageProviderMetadata.java        |  81 ------------
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 .../CloudOneStorageAsyncClientTest.java         |  32 -----
 .../CloudOneStorageClientLiveTest.java          |  30 -----
 .../CloudOneStorageProviderTest.java            |  35 ------
 .../CloudOneStorageBlobIntegrationLiveTest.java |  31 -----
 .../CloudOneStorageBlobLiveTest.java            |  31 -----
 .../CloudOneStorageBlobSignerLiveTest.java      |  32 -----
 ...dOneStorageContainerIntegrationLiveTest.java |  31 -----
 .../CloudOneStorageContainerLiveTest.java       |  31 -----
 ...oudOneStorageServiceIntegrationLiveTest.java |  39 ------
 providers/pom.xml                               |   1 -
 15 files changed, 510 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/allblobstore/pom.xml
----------------------------------------------------------------------
diff --git a/allblobstore/pom.xml b/allblobstore/pom.xml
index d3073d5..65fa651 100644
--- a/allblobstore/pom.xml
+++ b/allblobstore/pom.xml
@@ -40,11 +40,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>cloudonestorage</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>azureblob</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/README.txt
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/README.txt b/providers/cloudonestorage/README.txt
deleted file mode 100644
index b79f349..0000000
--- a/providers/cloudonestorage/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# The jclouds provider for Peer1's CloudOne Storage  (http://www.peer1.com/hosting/cloudone-storage.php) service.
-#
-# Expects the jclouds atmos API to be present on your application's classpath.
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/pom.xml
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/pom.xml b/providers/cloudonestorage/pom.xml
deleted file mode 100644
index 52143be..0000000
--- a/providers/cloudonestorage/pom.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>cloudonestorage</artifactId>
-  <name>jclouds CloudOne Storage as a Service provider</name>
-  <description>Atmos implementation targeted to Peer1 CloudOne Storage as a Service</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.cloudonestorage.endpoint>https://cloudonestorage.peer1.com</test.cloudonestorage.endpoint>
-    <test.cloudonestorage.api-version>1.3.0</test.cloudonestorage.api-version>
-    <test.cloudonestorage.build-version />
-    <test.cloudonestorage.identity>FIXME_IDENTITY</test.cloudonestorage.identity>
-    <test.cloudonestorage.credential>FIXME_CREDENTIAL</test.cloudonestorage.credential>
-
-    <jclouds.osgi.export>org.jclouds.cloudonestorage*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>atmos</artifactId>
-      <version>${project.version}</version>
-      <type>jar</type>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>atmos</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-blobstore</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <threadCount>1</threadCount>
-                  <systemPropertyVariables>
-                    <test.cloudonestorage.endpoint>${test.cloudonestorage.endpoint}</test.cloudonestorage.endpoint>
-                    <test.cloudonestorage.api-version>${test.cloudonestorage.api-version}</test.cloudonestorage.api-version>
-                    <test.cloudonestorage.build-version>${test.cloudonestorage.build-version}</test.cloudonestorage.build-version>
-                    <test.cloudonestorage.identity>${test.cloudonestorage.identity}</test.cloudonestorage.identity>
-                    <test.cloudonestorage.credential>${test.cloudonestorage.credential}</test.cloudonestorage.credential>
-                    <jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
-                    <jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/main/java/org/jclouds/cloudonestorage/CloudOneStorageProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/main/java/org/jclouds/cloudonestorage/CloudOneStorageProviderMetadata.java b/providers/cloudonestorage/src/main/java/org/jclouds/cloudonestorage/CloudOneStorageProviderMetadata.java
deleted file mode 100644
index 5537c81..0000000
--- a/providers/cloudonestorage/src/main/java/org/jclouds/cloudonestorage/CloudOneStorageProviderMetadata.java
+++ /dev/null
@@ -1,81 +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.jclouds.cloudonestorage;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.atmos.AtmosApiMetadata;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-
-/**
- * Implementation of {@ link org.jclouds.types.ProviderMetadata} for PEER1's
- * CloudOne Storage provider.
- *
- * @author Jeremy Whitlock <jw...@apache.org>
- */
-public class CloudOneStorageProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-   
-   public CloudOneStorageProviderMetadata() {
-      super(builder());
-   }
-
-   public CloudOneStorageProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      return properties;
-   }
-   
-   public static class Builder extends BaseProviderMetadata.Builder {
-
-      protected Builder() {
-         id("cloudonestorage")
-         .name("PEER1 CloudOne Storage")
-         .apiMetadata(new AtmosApiMetadata())
-         .homepage(URI.create("http://www.peer1.com/hosting/cloudone-storage.php"))
-         .console(URI.create("https://mypeer1.com/"))
-         .iso3166Codes("US-GA", "US-TX")
-         .endpoint("https://cloudonestorage.peer1.com")
-         .defaultProperties(CloudOneStorageProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public CloudOneStorageProviderMetadata build() {
-         return new CloudOneStorageProviderMetadata(this);
-      }
-      
-      @Override
-      public Builder fromProviderMetadata(
-            ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/cloudonestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 1e01a98..0000000
--- a/providers/cloudonestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.cloudonestorage.CloudOneStorageProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageAsyncClientTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageAsyncClientTest.java
deleted file mode 100644
index f27f765..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageAsyncClientTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.cloudonestorage;
-
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "CloudOneStorageAsyncClientTest")
-public class CloudOneStorageAsyncClientTest extends org.jclouds.atmos.AtmosAsyncClientTest {
-
-   public CloudOneStorageAsyncClientTest() {
-      this.provider = "cloudonestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageClientLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageClientLiveTest.java
deleted file mode 100644
index 5b836c3..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageClientLiveTest.java
+++ /dev/null
@@ -1,30 +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.jclouds.cloudonestorage;
-
-import org.jclouds.atmos.AtmosClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code AtmosClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "CloudOneStorageClientLiveTest")
-public class CloudOneStorageClientLiveTest extends AtmosClientLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageProviderTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageProviderTest.java
deleted file mode 100644
index a2f44cc..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/CloudOneStorageProviderTest.java
+++ /dev/null
@@ -1,35 +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.jclouds.cloudonestorage;
-
-import org.jclouds.atmos.AtmosApiMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * The CloudOneStorageProviderTest tests the {@link CloudOneStorageProviderMetadata} class.
- * 
- * @author Jeremy Whitlock <jw...@apache.org>
- */
-@Test(groups = "unit", testName = "CloudOneStorageProviderTest")
-public class CloudOneStorageProviderTest extends BaseProviderMetadataTest {
-
-   public CloudOneStorageProviderTest() {
-      super(new CloudOneStorageProviderMetadata(), new AtmosApiMetadata());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobIntegrationLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobIntegrationLiveTest.java
deleted file mode 100644
index 3625a7d..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.cloudonestorage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "CloudOneStorageBlobIntegrationLiveTest")
-public class CloudOneStorageBlobIntegrationLiveTest extends AtmosIntegrationLiveTest {
-   public CloudOneStorageBlobIntegrationLiveTest() {
-      provider = "cloudonestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobLiveTest.java
deleted file mode 100644
index 920545f..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.cloudonestorage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "CloudOneStorageBlobLiveTest")
-public class CloudOneStorageBlobLiveTest extends AtmosLiveTest {
-   public CloudOneStorageBlobLiveTest() {
-      provider = "cloudonestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobSignerLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobSignerLiveTest.java
deleted file mode 100644
index 7e04d82..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageBlobSignerLiveTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.cloudonestorage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosBlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "CloudOneStorageBlobSignerLiveTest")
-public class CloudOneStorageBlobSignerLiveTest extends AtmosBlobSignerLiveTest {
-   public CloudOneStorageBlobSignerLiveTest() {
-      provider = "cloudonestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerIntegrationLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerIntegrationLiveTest.java
deleted file mode 100644
index 45c19f1..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.cloudonestorage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "CloudOneStorageContainerIntegrationLiveTest")
-public class CloudOneStorageContainerIntegrationLiveTest extends AtmosContainerIntegrationLiveTest {
-   public CloudOneStorageContainerIntegrationLiveTest() {
-      provider = "cloudonestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerLiveTest.java
deleted file mode 100644
index 2b773fa..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageContainerLiveTest.java
+++ /dev/null
@@ -1,31 +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.jclouds.cloudonestorage.blobstore.integration;
-
-import org.jclouds.atmos.blobstore.integration.AtmosContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "CloudOneStorageContainerLiveTest")
-public class CloudOneStorageContainerLiveTest extends AtmosContainerLiveTest {
-   public CloudOneStorageContainerLiveTest() {
-      provider = "cloudonestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageServiceIntegrationLiveTest.java b/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageServiceIntegrationLiveTest.java
deleted file mode 100644
index e115253..0000000
--- a/providers/cloudonestorage/src/test/java/org/jclouds/cloudonestorage/blobstore/integration/CloudOneStorageServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,39 +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.jclouds.cloudonestorage.blobstore.integration;
-
-import java.util.Set;
-
-import org.jclouds.atmos.blobstore.integration.AtmosServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "CloudOneStorageServiceIntegrationLiveTest")
-public class CloudOneStorageServiceIntegrationLiveTest extends AtmosServiceIntegrationLiveTest {
-   public CloudOneStorageServiceIntegrationLiveTest() {
-      provider = "cloudonestorage";
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-GA", "US-TX");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/5db2adfc/providers/pom.xml
----------------------------------------------------------------------
diff --git a/providers/pom.xml b/providers/pom.xml
index 0324cac..8aff23e 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -36,7 +36,6 @@
     <module>aws-ec2</module>
     <module>aws-sqs</module>
     <module>aws-cloudwatch</module>
-    <module>cloudonestorage</module>
     <module>bluelock-vcloud-zone01</module>
     <module>elastichosts-lon-p</module>
     <module>elastichosts-sat-p</module>


[13/17] jclouds git commit: Small cleanup of how RegionToEndpoint checks arguments.

Posted by ad...@apache.org.
Small cleanup of how RegionToEndpoint checks arguments.


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

Branch: refs/heads/1.7.x
Commit: ca58491ce8e3c04cec59ede6fccfafc043ca449e
Parents: 8a322c4
Author: Zack Shoylev <za...@rackspace.com>
Authored: Wed Nov 12 08:36:50 2014 -0600
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:37 2014 -0800

----------------------------------------------------------------------
 .../jclouds/location/functions/RegionToEndpoint.java |  4 +---
 .../location/functions/RegionToEndpointTest.java     | 15 ---------------
 2 files changed, 1 insertion(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/ca58491c/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java b/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
index d60fb6b..292c70d 100644
--- a/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
+++ b/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
@@ -26,7 +26,6 @@ import java.util.Map;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 
-import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.location.Region;
 
 import com.google.common.base.Function;
@@ -47,8 +46,7 @@ public class RegionToEndpoint implements Function<Object, URI> {
    }
 
    @Override
-   public URI apply(@Nullable Object from) {
-      checkArgument(from != null && from instanceof String, "you must specify a region, as a String argument");
+   public URI apply(Object from) {
       Map<String, Supplier<URI>> regionToEndpoint = regionToEndpointSupplier.get();
       checkState(regionToEndpoint.size() > 0, "no region name to endpoint mappings configured!");
       checkArgument(regionToEndpoint.containsKey(from),

http://git-wip-us.apache.org/repos/asf/jclouds/blob/ca58491c/core/src/test/java/org/jclouds/location/functions/RegionToEndpointTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/location/functions/RegionToEndpointTest.java b/core/src/test/java/org/jclouds/location/functions/RegionToEndpointTest.java
index 68ef5cb..4739ea2 100644
--- a/core/src/test/java/org/jclouds/location/functions/RegionToEndpointTest.java
+++ b/core/src/test/java/org/jclouds/location/functions/RegionToEndpointTest.java
@@ -18,7 +18,6 @@ package org.jclouds.location.functions;
 
 import static org.testng.Assert.assertEquals;
 
-import java.io.File;
 import java.net.URI;
 import java.util.Map;
 
@@ -43,24 +42,10 @@ public class RegionToEndpointTest {
       assertEquals(fn.apply("1"), URI.create("http://1"));
    }
 
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testMustBeString() {
-      RegionToEndpoint fn = new RegionToEndpoint(Suppliers.<Map<String, Supplier<URI>>> ofInstance(ImmutableMap.of("1",
-               Suppliers.ofInstance(URI.create("http://1")))));
-      fn.apply(new File("foo"));
-   }
-
    @Test(expectedExceptions = IllegalStateException.class)
    public void testMustHaveEndpoints() {
       RegionToEndpoint fn = new RegionToEndpoint(Suppliers.<Map<String, Supplier<URI>>> ofInstance(ImmutableMap
                .<String, Supplier<URI>> of()));
       fn.apply("1");
    }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testNullIsIllegal() {
-      RegionToEndpoint fn = new RegionToEndpoint(Suppliers.<Map<String, Supplier<URI>>> ofInstance(ImmutableMap.of("1",
-               Suppliers.ofInstance(URI.create("http://1")))));
-      fn.apply(null);
-   }
 }


[05/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java
deleted file mode 100644
index 4959f4d..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java
+++ /dev/null
@@ -1,48 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest {
-
-   private static final ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet FN = Guice.createInjector().getInstance(
-         ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), ImmutableSet.<DriveInfo> of());
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()), ImmutableSet.<DriveInfo> of());
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), ImmutableSet.<DriveInfo> of());
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToDriveInfoTest.class
-            .getResourceAsStream("/drive.txt")).build()), ImmutableSet.<DriveInfo> of(MapToDriveInfoTest.ONE));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java
deleted file mode 100644
index 7b7f0cf..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java
+++ /dev/null
@@ -1,63 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest {
-
-   private static final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps FN = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps();
-
-   public void testNone() {
-      assertEquals(FN.apply(""), Lists.newArrayList());
-      assertEquals(FN.apply("\n\n\n"), Lists.newArrayList());
-   }
-
-   public void testOneMap() {
-      assertEquals(FN.apply("key1 value1\nkey2 value2"),
-            ImmutableList.of(ImmutableMap.of("key1", "value1", "key2", "value2")));
-      assertEquals(FN.apply("key1 value1\nkey2 value2\n\n"),
-            ImmutableList.of(ImmutableMap.of("key1", "value1", "key2", "value2")));
-   }
-
-   public void testValueEncodesNewlines() {
-      assertEquals(FN.apply("key1 value1\\n\nkey2 value2"),
-            ImmutableList.of(ImmutableMap.of("key1", "value1\n", "key2", "value2")));
-   }
-
-   public void testTwoMaps() {
-      assertEquals(
-            FN.apply("key1 value1\nkey2 value2\n\nkey1 v1\nkey2 v2"),
-            ImmutableList.of(ImmutableMap.of("key1", "value1", "key2", "value2"),
-                  ImmutableMap.of("key1", "v1", "key2", "v2")));
-      assertEquals(
-            FN.apply("key1 value1\nkey2 value2\n\nkey1 v1\nkey2 v2\n\n"),
-            ImmutableList.of(ImmutableMap.of("key1", "value1", "key2", "value2"),
-                  ImmutableMap.of("key1", "v1", "key2", "v2")));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java
deleted file mode 100644
index 31f8fe0..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java
+++ /dev/null
@@ -1,77 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-import org.jclouds.cloudsigma.functions.MapToDevices.DeviceToId;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest {
-
-   private static final ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet FN = Guice.createInjector(
-         new AbstractModule() {
-
-            @Override
-            protected void configure() {
-               bind(new TypeLiteral<Function<Map<String, String>, List<NIC>>>() {
-               }).to(MapToNICs.class);
-               bind(new TypeLiteral<Function<Map<String, String>, Map<String, ? extends Device>>>() {
-               }).to(MapToDevices.class);
-               bind(new TypeLiteral<Function<Map<String, String>, Map<String, ? extends DriveMetrics>>>() {
-               }).to(MapToDriveMetrics.class);
-               bind(new TypeLiteral<Function<Map<String, String>, ServerMetrics>>() {
-               }).to(MapToServerMetrics.class);
-               bind(new TypeLiteral<Function<Device, String>>() {
-               }).to(DeviceToId.class);
-            }
-
-         }).getInstance(ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), ImmutableSet.<ServerInfo> of());
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()),
-            ImmutableSet.<ServerInfo> of());
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), ImmutableSet.<ServerInfo> of());
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToServerInfoTest.class
-            .getResourceAsStream("/servers.txt")).build()), ImmutableSet.<ServerInfo> of(MapToServerInfoTest.ONE,
-            MapToServerInfoTest.TWO));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSetTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSetTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSetTest.java
deleted file mode 100644
index 8fe5a51..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSetTest.java
+++ /dev/null
@@ -1,48 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSetTest {
-
-   private static final ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet FN = Guice.createInjector().getInstance(
-         ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), ImmutableSet.<VLANInfo> of());
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()), ImmutableSet.<VLANInfo> of());
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), ImmutableSet.<VLANInfo> of());
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToVLANInfoTest.class
-            .getResourceAsStream("/vlan.txt")).build()), ImmutableSet.<VLANInfo> of(MapToVLANInfoTest.ONE));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java
deleted file mode 100644
index 7302f20..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java
+++ /dev/null
@@ -1,57 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.util.Map;
-
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest {
-
-   private static final ListOfMapsToListOfKeyValuesDelimitedByBlankLines FN = new ListOfMapsToListOfKeyValuesDelimitedByBlankLines();
-
-   public void testNone() {
-      assertEquals(FN.apply(ImmutableList.<Map<String, String>> of()), "");
-   }
-
-   public void testOneMap() {
-      assertEquals(
-            FN.apply(ImmutableList.<Map<String, String>> of(ImmutableMap.of("key1", "value1", "key2", "value2"))),
-            "key1 value1\nkey2 value2");
-   }
-
-   public void testValueEncodesNewlines() {
-      assertEquals(
-            FN.apply(ImmutableList.<Map<String, String>> of(ImmutableMap.of("key1", "value1\n", "key2", "value2"))),
-            "key1 value1\\n\nkey2 value2");
-   }
-
-   public void testTwoMaps() {
-      assertEquals(FN.apply(ImmutableList.<Map<String, String>> of(ImmutableMap.of("key1", "value1", "key2", "value2"),
-            ImmutableMap.of("key1", "v1", "key2", "v2"))), "key1 value1\nkey2 value2\n\nkey1 v1\nkey2 v2");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToDriveInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToDriveInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToDriveInfoTest.java
deleted file mode 100644
index d55af5e..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToDriveInfoTest.java
+++ /dev/null
@@ -1,94 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.DriveStatus;
-import org.jclouds.cloudsigma.domain.DriveType;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class MapToDriveInfoTest {
-   public static DriveInfo ONE = new DriveInfo.Builder()
-         .status(DriveStatus.ACTIVE)
-         .use(ImmutableSet.of("networking", "security", "gateway"))
-         .name("Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-         .bits(64)
-         .url(URI.create("http://www.ubuntu.com"))
-         .metrics(
-               new DriveMetrics.Builder().readBytes(4096l).writeBytes(8589938688l).readRequests(1l)
-                     .writeRequests(2097153l).build())
-         .user("58ca3c1f-7629-4771-9b71-863f40153ba4")
-         .encryptionCipher("aes-xts-plain")
-         .encryptionKey("ba6c2a4897072e9f25920ed73bd522e9c10d89f30a215158cccf8d0f654ac643")
-         .description("The Ubuntu Linux distribution brings the spirit of Ubuntu to the software world.")
-         .tags(ImmutableSet.of("foo", "bar", "baz"))
-         .uuid("b8171d28-755a-4271-b891-7998871a160e")
-         .installNotes("first line\n\n")
-         .os("linux")
-         .claimType(ClaimType.SHARED)
-         .claimed(
-               ImmutableSet.of(
-                     "00109617-2c6b-424b-9cfa-5b572c17bafe:guest:692cd1c7-a863-4a22-8170-fc6e6feb68af:ide:0:0",
-                     "00031836-a624-4b22-bc7d-41ff8977087b:guest:a1414360-7c24-4730-8c97-180bf7775a71:ide:0:0",
-                     "0002c6df-a1d2-4d1d-96f0-f95405a28183:guest:386f1cc7-affc-49c1-82a5-2f8e412170e4:ide:0:0",
-                     "00031836-a624-4b22-bc7d-41ff8977087b:guest:17b076be-430d-4a76-9df3-b9896fec82a5:ide:0:0",
-                     "000663ee-9fb6-4461-90f6-01327a4aff07:guest:f83b519f-feab-42cf-859c-f61495681ada:ide:0:1"))//
-         .driveType(ImmutableSet.of("installcd", "livecd"))//
-         .autoexpanding(false).readers(ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"))//
-         .free(true)//
-         .type(DriveType.DISK)//
-         .size(8589934592l)//
-         .build();
-
-   private static final MapToDriveInfo MAP_TO_DRIVE = new MapToDriveInfo();
-
-   public void testEmptyMapReturnsNull() {
-      assertEquals(MAP_TO_DRIVE.apply(ImmutableMap.<String, String> of()), null);
-   }
-
-   public void testBasics() {
-      DriveInfo expects = new DriveInfo.Builder().name("foo").size(100l).metrics(new DriveMetrics.Builder().build())
-            .build();
-      assertEquals(MAP_TO_DRIVE.apply(ImmutableMap.of("name", "foo", "size", "100")), expects);
-   }
-
-   public void testComplete() throws IOException {
-
-      Map<String, String> input = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps().apply(
-            Strings2.toStringAndClose(MapToDriveInfoTest.class.getResourceAsStream("/drive.txt"))).get(0);
-
-      assertEquals(MAP_TO_DRIVE.apply(input), ONE);
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToProfileInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToProfileInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToProfileInfoTest.java
deleted file mode 100644
index 55ea043..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToProfileInfoTest.java
+++ /dev/null
@@ -1,55 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.cloudsigma.domain.ProfileType;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class MapToProfileInfoTest {
-   public static ProfileInfo ONE = new ProfileInfo.Builder().type(ProfileType.REGULAR)//
-         .uuid("58ca3c1f-7629-4771-9b71-863f40153ba4")//
-         .email("adrian@jclouds.org").firstName("Adrian").lastName("Cole").nickName("jclouds").build();
-
-   private static final MapToProfileInfo MAP_TO_PROFILE = new MapToProfileInfo();
-
-   public void testEmptyMapReturnsNull() {
-      assertEquals(MAP_TO_PROFILE.apply(ImmutableMap.<String, String> of()), null);
-   }
-
-   public void test() throws IOException {
-
-      Map<String, String> input = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps().apply(
-            Strings2.toStringAndClose(MapToProfileInfoTest.class.getResourceAsStream("/profile.txt"))).get(0);
-
-      assertEquals(MAP_TO_PROFILE.apply(input), ONE);
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToServerInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToServerInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToServerInfoTest.java
deleted file mode 100644
index d0b46c6..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToServerInfoTest.java
+++ /dev/null
@@ -1,159 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Date;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.MediaType;
-import org.jclouds.cloudsigma.domain.Model;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-import org.jclouds.cloudsigma.domain.ServerStatus;
-import org.jclouds.cloudsigma.domain.VNC;
-import org.jclouds.cloudsigma.functions.MapToDevices.DeviceToId;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class MapToServerInfoTest {
-   public static ServerInfo ONE = new ServerInfo.Builder()
-         .persistent(true)
-         .uuid("f8bee9cd-8e4b-4a05-8593-1314e3bfe49b")
-         .cpu(2000)
-         .bootDeviceIds(ImmutableSet.of("ide:0:0"))
-         .smp(1)
-         .mem(1024)
-         .status(ServerStatus.ACTIVE)
-         .started(new Date(1291493868l))
-         .user("2f6244eb-50bc-4403-847e-f03cc3706a1f")
-         .name("jo")
-         .vnc(new VNC("46.20.114.124", "HfHzVmLT", false))
-         .nics(ImmutableSet.of(new NIC.Builder()
-               .model(Model.E1000)
-               .dhcp("46.20.114.124")
-               .block(
-                     ImmutableList.of("tcp/43594", "tcp/5902", "udp/5060", "tcp/5900", "tcp/5901", "tcp/21", "tcp/22",
-                           "tcp/23", "tcp/25", "tcp/110", "tcp/143", "tcp/43595")).build()))
-         .devices(
-               ImmutableMap.of("ide:0:0",
-                     new IDEDevice.Builder(0, 0).uuid("4af85ed3-0caa-4736-8a26-a33d7de0a122").build()
-
-               ))
-         .metrics(
-               new ServerMetrics.Builder()
-                     .tx(2550)
-                     .txPackets(31)
-                     .rx(455530)
-                     .rxPackets(7583)
-                     .driveMetrics(
-                           ImmutableMap.of("ide:0:0", new DriveMetrics.Builder().readRequests(11154)
-                                 .readBytes(45686784).writeRequests(3698).writeBytes(15147008).build())).build())
-         .build();
-
-   public static ServerInfo TWO = new ServerInfo.Builder()
-         .status(ServerStatus.STOPPED)
-         .name("Demo")
-         .mem(1024)
-         .cpu(2000)
-         .persistent(true)
-         .uuid("0f962616-2071-4173-be79-7dd084271edf")
-         .bootDeviceIds(ImmutableSet.of("ide:0:0"))
-         .user("2f6244eb-50bc-4403-847e-f03cc3706a1f")
-         .vnc(new VNC("auto", "HWbjvrg2", false))
-         .nics(ImmutableSet.of(new NIC.Builder().model(Model.E1000).dhcp("auto").build()))
-         .devices(
-               ImmutableMap.of(
-                     "ide:0:0",
-                     new IDEDevice.Builder(0, 0).uuid("853bb98a-4fff-4c2f-a265-97c363f19ea5")
-                           .mediaType(MediaType.CDROM).build()))
-         .metrics(
-               new ServerMetrics.Builder().driveMetrics(ImmutableMap.of("ide:0:0", new DriveMetrics.Builder().build()))
-                     .build()).build();
-
-   private static final MapToServerInfo MAP_TO_DRIVE = new MapToServerInfo(new MapToDevices(new DeviceToId()),
-         new MapToServerMetrics(new MapToDriveMetrics()), new MapToNICs());
-
-   public void testEmptyMapReturnsNull() {
-      assertEquals(MAP_TO_DRIVE.apply(ImmutableMap.<String, String> of()), null);
-   }
-
-   public void testBasics() {
-      ServerInfo expects = new ServerInfo.Builder().name("foo").uuid("hello").vnc(new VNC("auto", null, false))
-            .cpu(1000).mem(2048).metrics(new ServerMetrics.Builder().build()).build();
-      assertEquals(MAP_TO_DRIVE.apply(ImmutableMap.of("name", "foo", "server", "hello", "vnc:ip", "auto", "cpu",
-            "1000", "mem", "2048")), expects);
-   }
-
-   public void testComplete() throws IOException {
-
-      Map<String, String> input = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps().apply(
-            Strings2.toStringAndClose(MapToServerInfoTest.class.getResourceAsStream("/servers.txt"))).get(0);
-
-      assertEquals(MAP_TO_DRIVE.apply(input), ONE);
-
-   }
-
-   public static ServerInfo NEW = new ServerInfo.Builder()
-         .persistent(true)
-         .uuid("bd98615a-6f74-4d63-ad1e-b13338b9356a")
-         .cpu(1000)
-         .bootDeviceIds(ImmutableSet.of("ide:0:0"))
-         .smp(1)
-         .mem(512)
-         .status(ServerStatus.ACTIVE)
-         .started(new Date(1292695612))
-         .user("2f6244eb-50bc-4403-847e-f03cc3706a1f")
-         .name("adriancole.test")
-         .vnc(new VNC("83.222.249.221", "XXXXXXXX", false))
-         .nics(ImmutableSet.of(new NIC.Builder()
-               .model(Model.E1000)
-               .block(
-                     ImmutableList.of("tcp/43594", "tcp/5902", "udp/5060", "tcp/5900", "tcp/5901", "tcp/21", "tcp/22",
-                           "tcp/23", "tcp/25", "tcp/110", "tcp/143", "tcp/43595")).build()))
-         .devices(
-               ImmutableMap.of("ide:0:0",
-                     new IDEDevice.Builder(0, 0).uuid("403c9a86-0aab-4e47-aa95-e9768021c4c1").build()
-
-               ))
-         .metrics(
-               new ServerMetrics.Builder().driveMetrics(ImmutableMap.of("ide:0:0", new DriveMetrics.Builder().build()))
-                     .build()).build();
-
-   public void testNew() throws IOException {
-
-      Map<String, String> input = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps().apply(
-            Strings2.toStringAndClose(MapToServerInfoTest.class.getResourceAsStream("/new_server.txt"))).get(0);
-
-      assertEquals(MAP_TO_DRIVE.apply(input), NEW);
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToVLANInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToVLANInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToVLANInfoTest.java
deleted file mode 100644
index 5285e0e..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/MapToVLANInfoTest.java
+++ /dev/null
@@ -1,53 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class MapToVLANInfoTest {
-   public static VLANInfo ONE = new VLANInfo.Builder()//
-         .uuid("6e2d1f6a-03c8-422b-bc8e-d744612cf46a")//
-         .name("My VLAN1").user("f2e19d5c-eaa1-44e5-94aa-dc194594bd7b").build();
-   private static final MapToVLANInfo MAP_TO_VLAN = new MapToVLANInfo();
-
-   public void testEmptyMapReturnsNull() {
-      assertEquals(MAP_TO_VLAN.apply(ImmutableMap.<String, String> of()), null);
-   }
-
-   public void test() throws IOException {
-
-      Map<String, String> input = new ListOfKeyValuesDelimitedByBlankLinesToListOfMaps().apply(
-            Strings2.toStringAndClose(MapToVLANInfoTest.class.getResourceAsStream("/vlan.txt"))).get(0);
-
-      assertEquals(MAP_TO_VLAN.apply(input), ONE);
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ParseOsFamilyVersion64BitFromImageNameTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ParseOsFamilyVersion64BitFromImageNameTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ParseOsFamilyVersion64BitFromImageNameTest.java
deleted file mode 100644
index a6a3cd5..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ParseOsFamilyVersion64BitFromImageNameTest.java
+++ /dev/null
@@ -1,78 +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.jclouds.cloudsigma.functions;
-
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.collect.Lists.newArrayList;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.jclouds.cloudsigma.compute.functions.ParseOsFamilyVersion64BitFromImageName;
-import org.jclouds.compute.config.BaseComputeServiceContextModule;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.json.Json;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.json.internal.GsonWrapper;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.gson.Gson;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class ParseOsFamilyVersion64BitFromImageNameTest {
-   Json json = new GsonWrapper(new Gson());
-
-   @DataProvider(name = "data")
-   public Object[][] createData() throws IOException {
-      InputStream is = ParseOsFamilyVersion64BitFromImageNameTest.class.getResourceAsStream("/osmatches.json");
-      Map<String, OsFamilyVersion64Bit> values = json.fromJson(Strings2.toStringAndClose(is),
-            new TypeLiteral<Map<String, OsFamilyVersion64Bit>>() {
-            }.getType());
-
-      return newArrayList(
-            transform(values.entrySet(), new Function<Map.Entry<String, OsFamilyVersion64Bit>, Object[]>() {
-
-               @Override
-               public Object[] apply(Entry<String, OsFamilyVersion64Bit> input) {
-                  return new Object[] { input.getKey(), input.getValue() };
-               }
-
-            })).toArray(new Object[][] {});
-   }
-
-   ParseOsFamilyVersion64BitFromImageName parser = new ParseOsFamilyVersion64BitFromImageName(new BaseComputeServiceContextModule() {
-      }.provideOsVersionMap(new ComputeServiceConstants.ReferenceData(), Guice.createInjector(new GsonModule())
-            .getInstance(Json.class)));
-
-   @Test(dataProvider = "data")
-   public void test(String input, OsFamilyVersion64Bit expected) {
-      assertEquals(parser.apply(input), expected);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ServerToMapTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ServerToMapTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ServerToMapTest.java
deleted file mode 100644
index bf11c47..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/ServerToMapTest.java
+++ /dev/null
@@ -1,63 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.Model;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.VNC;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class ServerToMapTest {
-
-   private static final ServerToMap SERVER_TO_MAP = new ServerToMap();
-
-   public void testBasics() {
-      assertEquals(
-            SERVER_TO_MAP.apply(new Server.Builder()
-                  .name("TestServer")
-                  .cpu(2000)
-                  .mem(1024)
-                  .devices(
-                        ImmutableMap.of("ide:0:0",
-                              new IDEDevice.Builder(0, 0).uuid("08c92dd5-70a0-4f51-83d2-835919d254df").build()))
-                  .bootDeviceIds(ImmutableSet.of("ide:0:0")).nics(ImmutableSet.of(new NIC.Builder().model(Model.E1000).
-
-                  build())).vnc(new VNC(null, "XXXXXXXX", false)).build()),
-            ImmutableMap
-                  .builder()
-                  .putAll(ImmutableMap.of("name", "TestServer", "cpu", "2000", "smp", "auto", "mem", "1024"))
-                  .putAll(
-                        ImmutableMap.of("persistent", "false", "boot", "ide:0:0", "ide:0:0",
-                              "08c92dd5-70a0-4f51-83d2-835919d254df"))
-                  .putAll(
-                        ImmutableMap.of("ide:0:0:media", "disk", "nic:0:model", "e1000", "vnc:ip", "auto",
-                              "vnc:password", "XXXXXXXX")).build());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/SplitNewlinesTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/SplitNewlinesTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/SplitNewlinesTest.java
deleted file mode 100644
index cf18f19..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/SplitNewlinesTest.java
+++ /dev/null
@@ -1,50 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.util.Set;
-
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.inject.Guice;
-
-/**
- * Tests behavior of {@code NewlineDelimitedStringHandler}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class SplitNewlinesTest {
-
-   static Function<HttpResponse, Set<String>> createParser() {
-      return Guice.createInjector().getInstance(SplitNewlines.class);
-   }
-
-   public void test() {
-      InputStream is = SplitNewlinesTest.class.getResourceAsStream("/uuids.txt");
-      Set<String> list = createParser().apply(HttpResponse.builder().statusCode(200).message("ok").payload(is).build());
-      assertEquals(list, ImmutableSortedSet.of("7e8ab721-81c9-4cb9-a651-4cafbfe1501c",
-            "ea6a8fdb-dab3-4d06-86c2-41a5835e6ed9", "74744450-d338-4087-b3b8-59b505110a57"));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandlerTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandlerTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandlerTest.java
deleted file mode 100644
index 8692d7e..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandlerTest.java
+++ /dev/null
@@ -1,135 +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.jclouds.cloudsigma.handlers;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reportMatcher;
-import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
-
-import org.easymock.IArgumentMatcher;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class CloudSigmaErrorHandlerTest {
-
-   @Test
-   public void test400MakesIllegalArgumentException() {
-      assertCodeMakes("GET", URI.create("https://cloudsigma.com/foo"), 400, "", "Bad Request",
-            IllegalArgumentException.class);
-   }
-
-   @Test
-   public void test400MakesResourceNotFoundExceptionOnInfo() {
-      assertCodeMakes("GET", URI.create("https://cloudsigma.com/foo/info"), 400, "", "",
-            ResourceNotFoundException.class);
-   }
-
-   @Test
-   public void test400MakesResourceNotFoundExceptionOnMessageNotFound() {
-      assertCodeMakes(
-            "GET",
-            URI.create("https://cloudsigma.com/foo"),
-            400,
-            "",
-            "errors:system Drive 8f9b42b1-26de-49ad-a3fd-d4fa06524339 could not be found. Please re-validate your entry.",
-            ResourceNotFoundException.class);
-   }
-
-   @Test
-   public void test401MakesAuthorizationException() {
-      assertCodeMakes("GET", URI.create("https://cloudsigma.com/foo"), 401, "", "Unauthorized",
-            AuthorizationException.class);
-   }
-
-   @Test
-   public void test404MakesResourceNotFoundException() {
-      assertCodeMakes("GET", URI.create("https://cloudsigma.com/foo"), 404, "", "Not Found",
-            ResourceNotFoundException.class);
-   }
-
-   @Test
-   public void test405MakesIllegalArgumentException() {
-      assertCodeMakes("GET", URI.create("https://cloudsigma.com/foo"), 405, "", "Method Not Allowed",
-            IllegalArgumentException.class);
-   }
-
-   @Test
-   public void test409MakesIllegalStateException() {
-      assertCodeMakes("GET", URI.create("https://cloudsigma.com/foo"), 409, "", "Conflict",
-            IllegalStateException.class);
-   }
-
-   private void assertCodeMakes(String method, URI uri, int statusCode, String message, String content,
-         Class<? extends Exception> expected) {
-      assertCodeMakes(method, uri, statusCode, message, "text/xml", content, expected);
-   }
-
-   private void assertCodeMakes(String method, URI uri, int statusCode, String message, String contentType,
-         String content, Class<? extends Exception> expected) {
-
-      CloudSigmaErrorHandler function = Guice.createInjector().getInstance(CloudSigmaErrorHandler.class);
-
-      HttpCommand command = createMock(HttpCommand.class);
-      HttpRequest request = HttpRequest.builder().method(method).endpoint(uri).build();
-      HttpResponse response = HttpResponse.builder().statusCode(statusCode).message(message).payload(content).build();
-      response.getPayload().getContentMetadata().setContentType(contentType);
-
-      expect(command.getCurrentRequest()).andReturn(request).atLeastOnce();
-      command.setException(classEq(expected));
-
-      replay(command);
-
-      function.handleError(command, response);
-
-      verify(command);
-   }
-
-   public static Exception classEq(final Class<? extends Exception> in) {
-      reportMatcher(new IArgumentMatcher() {
-
-         @Override
-         public void appendTo(StringBuffer buffer) {
-            buffer.append("classEq(");
-            buffer.append(in);
-            buffer.append(")");
-         }
-
-         @Override
-         public boolean matches(Object arg) {
-            return arg.getClass() == in;
-         }
-
-      });
-      return null;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/options/CloneDriveOptionsTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/options/CloneDriveOptionsTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/options/CloneDriveOptionsTest.java
deleted file mode 100644
index 763d072..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/options/CloneDriveOptionsTest.java
+++ /dev/null
@@ -1,129 +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.jclouds.cloudsigma.options;
-
-import static org.jclouds.cloudsigma.options.CloneDriveOptions.Builder.affinity;
-import static org.jclouds.cloudsigma.options.CloneDriveOptions.Builder.size;
-import static org.jclouds.cloudsigma.options.CloneDriveOptions.Builder.tags;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-
-import org.jclouds.cloudsigma.domain.AffinityType;
-import org.testng.annotations.Test;
-
-/**
- * Tests possible uses of CloneDriveOptions and CloneDriveOptions.Builder.*
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class CloneDriveOptionsTest {
-
-   @Test
-   public void testNullSize() {
-      CloneDriveOptions options = new CloneDriveOptions();
-      assertNull(options.getOptions().get("size"));
-   }
-
-   @Test
-   public void testSize() {
-      CloneDriveOptions options = new CloneDriveOptions().size(1024);
-      assertEquals(options.getOptions().get("size"), "1024");
-   }
-
-   @Test
-   public void testSizeStatic() {
-      CloneDriveOptions options = size(1024);
-      assertEquals(options.getOptions().get("size"), "1024");
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testSizeNegative() {
-      size(-1);
-   }
-   
-   @Test
-   public void testNullTags() {
-      CloneDriveOptions options = new CloneDriveOptions();
-      assertNull(options.getOptions().get("tags"));
-   }
-
-   @Test
-   public void testTags() {
-       CloneDriveOptions options = new CloneDriveOptions().tags("foo", "bar", "baz");
-       assertEquals(options.getOptions().get("tags"), "foo bar baz");
-   }
-   
-   @Test
-   public void testTagsStatic() {
-       CloneDriveOptions options = tags("foo", "bar", "baz");
-       assertEquals(options.getOptions().get("tags"), "foo bar baz");
-   }
-   
-   @Test
-   public void testHddAffinity() {
-       CloneDriveOptions options = new CloneDriveOptions().affinity(AffinityType.HDD);
-       assertNull(options.getOptions().get("tags"));
-   }
-   
-   @Test
-   public void testHddAffinityStatic() {
-       CloneDriveOptions options = affinity(AffinityType.HDD);
-       assertNull(options.getOptions().get("tags"));
-   }
-   
-   @Test
-   public void testSsdAffinity() {
-       CloneDriveOptions options = new CloneDriveOptions().affinity(AffinityType.SSD);
-       assertEquals(options.getOptions().get("tags"), "affinity:ssd");
-   }
-   
-   @Test
-   public void testSsdAffinityStatic() {
-       CloneDriveOptions options = affinity(AffinityType.SSD);
-       assertEquals(options.getOptions().get("tags"), "affinity:ssd");
-   }
-   
-   @Test
-   public void testHddAffinityBeforeTags() {
-       CloneDriveOptions options = new CloneDriveOptions().affinity(AffinityType.HDD);
-       options.tags("foo", "bar", "baz");
-       assertEquals(options.getOptions().get("tags"), "foo bar baz");
-   }
-   
-   @Test
-   public void testSsdAffinityBeforeTags() {
-       CloneDriveOptions options = new CloneDriveOptions().affinity(AffinityType.SSD);
-       options.tags("foo", "bar", "baz");
-       assertEquals(options.getOptions().get("tags"), "foo bar baz affinity:ssd");
-   }
-   
-   @Test
-   public void testHddAffinityAfterTags() {
-       CloneDriveOptions options = new CloneDriveOptions().tags("foo", "bar", "baz");
-       options.affinity(AffinityType.HDD);
-       assertEquals(options.getOptions().get("tags"), "foo bar baz");
-   }
-   
-   @Test
-   public void testSsdAffinityAfterTags() {
-       CloneDriveOptions options = new CloneDriveOptions().tags("foo", "bar", "baz");
-       options.affinity(AffinityType.SSD);
-       assertEquals(options.getOptions().get("tags"), "foo bar baz affinity:ssd");
-   }
-   
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/create_drive.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/create_drive.txt b/apis/cloudsigma/src/test/resources/create_drive.txt
deleted file mode 100644
index 44ce187..0000000
--- a/apis/cloudsigma/src/test/resources/create_drive.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-name Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System
-size 8589934592
-claim:type shared
-readers ffffffff-ffff-ffff-ffff-ffffffffffff
-use tag1 tag2
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/create_server.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/create_server.txt b/apis/cloudsigma/src/test/resources/create_server.txt
deleted file mode 100644
index 474d4d7..0000000
--- a/apis/cloudsigma/src/test/resources/create_server.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-name TestServer
-cpu 2000
-smp auto
-mem 1024
-persistent false
-boot ide:0:0
-ide:0:0 08c92dd5-70a0-4f51-83d2-835919d254df
-ide:0:0:media disk
-nic:0:model e1000
-vnc:ip auto
-vnc:password XXXXXXXX
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/drive.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/drive.txt b/apis/cloudsigma/src/test/resources/drive.txt
deleted file mode 100644
index 149c823..0000000
--- a/apis/cloudsigma/src/test/resources/drive.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-status active
-use networking security gateway
-name Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System
-bits 64
-url http://www.ubuntu.com
-read:bytes 4096
-user 58ca3c1f-7629-4771-9b71-863f40153ba4
-encryption:cipher aes-xts-plain
-encryption:key ba6c2a4897072e9f25920ed73bd522e9c10d89f30a215158cccf8d0f654ac643
-description The Ubuntu Linux distribution brings the spirit of Ubuntu to the software world.
-drive b8171d28-755a-4271-b891-7998871a160e
-install_notes first line\n\n
-os linux
-write:bytes 8589938688
-claim:type shared
-claimed 00109617-2c6b-424b-9cfa-5b572c17bafe:guest:692cd1c7-a863-4a22-8170-fc6e6feb68af:ide:0:0 00031836-a624-4b22-bc7d-41ff8977087b:guest:a1414360-7c24-4730-8c97-180bf7775a71:ide:0:0 0002c6df-a1d2-4d1d-96f0-f95405a28183:guest:386f1cc7-affc-49c1-82a5-2f8e412170e4:ide:0:0 00031836-a624-4b22-bc7d-41ff8977087b:guest:17b076be-430d-4a76-9df3-b9896fec82a5:ide:0:0 000663ee-9fb6-4461-90f6-01327a4aff07:guest:f83b519f-feab-42cf-859c-f61495681ada:ide:0:1
-drive_type installcd,livecd
-autoexpanding false
-tags foo bar baz
-readers ffffffff-ffff-ffff-ffff-ffffffffffff
-read:requests 1
-free true
-type disk
-write:requests 2097153
-size 8589934592
-user:foo bar
-user:baz raz
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/drive_data.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/drive_data.txt b/apis/cloudsigma/src/test/resources/drive_data.txt
deleted file mode 100644
index 74d7679..0000000
--- a/apis/cloudsigma/src/test/resources/drive_data.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-name Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System
-size 8589934592
-claim:type shared
-tags foo bar baz
-readers ffffffff-ffff-ffff-ffff-ffffffffffff
-use tag1 tag2
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/log4j.xml b/apis/cloudsigma/src/test/resources/log4j.xml
deleted file mode 100644
index 63810d3..0000000
--- a/apis/cloudsigma/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-    <!--
-        For more configuration infromation and examples see the Apache
-        Log4j website: http://logging.apache.org/log4j/
-    -->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
-    debug="false">
-
-    <!-- A time/date based rolling appender -->
-    <appender name="WIREFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-wire.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <!-- A time/date based rolling appender -->
-    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-    
-    <!-- A time/date based rolling appender -->
-    <appender name="COMPUTEFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-compute.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <!-- A time/date based rolling appender -->
-    <appender name="SSHFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-ssh.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="COMPUTEFILE" />
-    </appender>
-    
-    <appender name="ASYNCSSH" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="SSHFILE" />
-    </appender>
-
-    <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="FILE" />
-    </appender>
-
-    <appender name="ASYNCWIRE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="WIREFILE" />
-    </appender>
-
-    <!-- ================ -->
-    <!-- Limit categories -->
-    <!-- ================ -->
-
-    <category name="org.jclouds">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNC" />
-    </category>
-
-    <category name="jclouds.headers">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    <category name="jclouds.ssh">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCSSH" />
-    </category>
-    
-    <category name="jclouds.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-
-    <category name="jclouds.compute">
-        <priority value="TRACE" />
-        <appender-ref ref="ASYNCCOMPUTE" />
-    </category>
-    <!-- ======================= -->
-    <!-- Setup the Root category -->
-    <!-- ======================= -->
-
-    <root>
-        <priority value="WARN" />
-    </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/new_server.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/new_server.txt b/apis/cloudsigma/src/test/resources/new_server.txt
deleted file mode 100644
index 1dfbad9..0000000
--- a/apis/cloudsigma/src/test/resources/new_server.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-ide:0:0:write:requests 0
-boot ide:0:0
-vnc:password XXXXXXXX
-ide:0:0 403c9a86-0aab-4e47-aa95-e9768021c4c1
-ide:0:0:read:requests 0
-ide:0:0:read:bytes 0
-vnc:ip 83.222.249.221
-tx:packets 0
-tx 0
-rx 0
-smp 1
-mem 512
-nic:0:model e1000
-status active
-started 1292695612
-rx:packets 0
-user 2f6244eb-50bc-4403-847e-f03cc3706a1f
-ide:0:0:media disk
-name adriancole.test
-persistent true
-nic:0:block tcp/43594 tcp/5902 udp/5060 tcp/5900 tcp/5901 tcp/21 tcp/22 tcp/23 tcp/25 tcp/110 tcp/143 tcp/43595
-server bd98615a-6f74-4d63-ad1e-b13338b9356a
-ide:0:0:write:bytes 0
-cpu 1000
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/osmatches.json
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/osmatches.json b/apis/cloudsigma/src/test/resources/osmatches.json
deleted file mode 100644
index 7b0b1fa..0000000
--- a/apis/cloudsigma/src/test/resources/osmatches.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
-    "Ubuntu-10.04-20110917 pub": {
-        "family": "UBUNTU",
-        "version": "10.04",
-        "is64Bit": true
-    },
-    
-    "Ubuntu-11.04-20110917 pub": {
-        "family": "UBUNTU",
-        "version": "11.04",
-        "is64Bit": true
-    },
-    
-    "Centos-6.0-20110917 pub": {
-        "family": "CENTOS",
-        "version": "6.0",
-        "is64Bit": true
-    },
-
-    "Centos-5.6-20110917 pub": {
-        "family": "CENTOS",
-        "version": "5.6",
-        "is64Bit": true
-    },
-    
-    "Ubuntu 10.04.1 LTS Desktop Edition 32bit Preinstalled System": {
-        "family": "UBUNTU",
-        "version": "10.04",
-        "is64Bit": false
-    },
-    
-    "Ubuntu 10.04 Server Edition Linux 64bit with Plesk": {
-        "family": "UBUNTU",
-        "version": "10.04",
-        "is64Bit": true
-    },
-
-    "CentOS 5.5 Linux 64bit Preinstalled System": {
-        "family": "CENTOS",
-        "version": "5.5",
-        "is64Bit": true
-    },
-
-    "Windows Server Standard 2008 R2 64bit English": {
-        "family": "WINDOWS",
-        "version": "2008 R2",
-        "is64Bit": true
-    },
-
-    "Ubuntu 10.04 Server Edition Linux 64bit": {
-        "family": "UBUNTU",
-        "version": "10.04",
-        "is64Bit": true
-    },
-
-    "Windows Server 2008 Standard 32bit English": {
-        "family": "WINDOWS",
-        "version": "2008",
-        "is64Bit": false
-    },
-
-    "Windows Server 2008 Standard 32bit English pub": {
-        "family": "WINDOWS",
-        "version": "2008",
-        "is64Bit": false
-    },
-
-
-    "Fedora 14 Linux 64bit Preinstalled System": {
-        "family": "FEDORA",
-        "version": "",
-        "is64Bit": true
-    },
-
-    "CentOS 5.5 Linux 64bit Preinstalled System with AppFirst Monitoring pub": {
-        "family": "CENTOS",
-        "version": "5.5",
-        "is64Bit": true
-    },
-
-
-    "Ubuntu 10.10 Server Edition LAMP Linux 64bit Preinstalled System": {
-        "family": "UBUNTU",
-        "version": "10.10",
-        "is64Bit": true
-    },
-
-    "Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System": {
-        "family": "UBUNTU",
-        "version": "10.10",
-        "is64Bit": true
-    },
-
-    "Windows Server Web 2008 R2 64bit English": {
-        "family": "WINDOWS",
-        "version": "2008 R2",
-        "is64Bit": true
-    },
-
-
-    "SQL Server Standard 2008 R2 - Windows Server Standard 2008 R2 - 64bit English": {
-        "family": "WINDOWS",
-        "version": "2008 R2",
-        "is64Bit": true
-    },
-
-
-    "Ubuntu 10.10 Desktop Edition 64bit Preinstalled System": {
-        "family": "UBUNTU",
-        "version": "10.10",
-        "is64Bit": true
-    },
-
-    "Ubuntu 10.04 Desktop Edition Linux 64bit Preinstalled System": {
-        "family": "UBUNTU",
-        "version": "10.04",
-        "is64Bit": true
-    },
-
-    "Debian 5.0 Preinstalled": {
-        "family": "DEBIAN",
-        "version": "5.0",
-        "is64Bit": true
-    },
-
-    "pfSense 2.0 BETA4-20101127-031119 Preinstalled System": {
-        "family": "UNRECOGNIZED",
-        "version": null,
-        "is64Bit": true
-    },
-
-    "FreeBSD 8.1 Preinstalled Base System": {
-        "family": "FREEBSD",
-        "version": "",
-        "is64Bit": true
-    },
-
-    "CentOS 5.5 Linux 64bit Preinstalled System with AppFirst Monitoring": {
-        "family": "CENTOS",
-        "version": "5.5",
-        "is64Bit": true
-    },
-
-    "Fedora 13 Linux 64bit Preinstalled System": {
-        "family": "FEDORA",
-        "version": "",
-        "is64Bit": true
-    },
-
-    "Windows Server 2003 Standard 32bit English": {
-        "family": "WINDOWS",
-        "version": "2003",
-        "is64Bit": false
-    },
-
-    "Windows Server 2003 Standard 64bit English": {
-        "family": "WINDOWS",
-        "version": "2003",
-        "is64Bit": true
-    },
-
-    "Debian 5.0 Preinstalled without X": {
-        "family": "DEBIAN",
-        "version": "5.0",
-        "is64Bit": true
-    },
-
-    "Debian 6.0 No X Minimal Linux 64bit Preinstalled System": {
-        "family": "DEBIAN",
-        "version": "6.0",
-        "is64Bit": true
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/profile.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/profile.txt b/apis/cloudsigma/src/test/resources/profile.txt
deleted file mode 100644
index dd71ea4..0000000
--- a/apis/cloudsigma/src/test/resources/profile.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-uuid 58ca3c1f-7629-4771-9b71-863f40153ba4
-email adrian@jclouds.org
-salutation 
-first_name Adrian
-last_name Cole
-nick_name jclouds
-title Mr
-company Cloud Conscious, LLC.
-vat 
-country US
-town 1200 Fulton St. #609
-language en
-currency USD
-address 1200 Fulton St. #609
-postcode 1200 Fulton St. #609
-phone 4153180253
-job_title 
-location 
-facebook 
-twitter 
-xing 
-linkedin 
-website 
-signature 
-ftp_disabled false
-api_disabled false
-api_https_only false
-type regular
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/servers.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/servers.txt b/apis/cloudsigma/src/test/resources/servers.txt
deleted file mode 100644
index a3d1ff1..0000000
--- a/apis/cloudsigma/src/test/resources/servers.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-ide:0:0:write:requests 3698
-boot ide:0:0
-vnc:password HfHzVmLT
-ide:0:0 4af85ed3-0caa-4736-8a26-a33d7de0a122
-ide:0:0:read:requests 11154
-ide:0:0:read:bytes 45686784
-vnc:ip 46.20.114.124
-tx:packets 31
-tx 2550
-rx 455530
-smp 1
-mem 1024
-nic:0:model e1000
-status active
-started 1291493868
-rx:packets 7583
-user 2f6244eb-50bc-4403-847e-f03cc3706a1f
-name jo
-persistent true
-nic:0:block tcp/43594 tcp/5902 udp/5060 tcp/5900 tcp/5901 tcp/21 tcp/22 tcp/23 tcp/25 tcp/110 tcp/143 tcp/43595
-server f8bee9cd-8e4b-4a05-8593-1314e3bfe49b
-nic:0:dhcp 46.20.114.124
-ide:0:0:write:bytes 15147008
-cpu 2000
-
-status stopped
-name Demo
-mem 1024
-boot ide:0:0
-vnc:password HWbjvrg2
-persistent true
-server 0f962616-2071-4173-be79-7dd084271edf
-smp auto
-nic:0:dhcp auto
-user 2f6244eb-50bc-4403-847e-f03cc3706a1f
-nic:0:model e1000
-vnc:ip auto
-ide:0:0 853bb98a-4fff-4c2f-a265-97c363f19ea5
-cpu 2000
-ide:0:0:media cdrom

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/uuids.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/uuids.txt b/apis/cloudsigma/src/test/resources/uuids.txt
deleted file mode 100644
index 092a4f8..0000000
--- a/apis/cloudsigma/src/test/resources/uuids.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-7e8ab721-81c9-4cb9-a651-4cafbfe1501c
-ea6a8fdb-dab3-4d06-86c2-41a5835e6ed9
-74744450-d338-4087-b3b8-59b505110a57

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/resources/vlan.txt
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/resources/vlan.txt b/apis/cloudsigma/src/test/resources/vlan.txt
deleted file mode 100644
index f98a134..0000000
--- a/apis/cloudsigma/src/test/resources/vlan.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-resource 6e2d1f6a-03c8-422b-bc8e-d744612cf46a
-type vlan
-user f2e19d5c-eaa1-44e5-94aa-dc194594bd7b
-name My VLAN1
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/pom.xml
----------------------------------------------------------------------
diff --git a/apis/pom.xml b/apis/pom.xml
index 6ad53d6..e374d04 100644
--- a/apis/pom.xml
+++ b/apis/pom.xml
@@ -31,7 +31,6 @@
   <name>jclouds apis project</name>
   <modules>
     <module>cloudwatch</module>
-    <module>cloudsigma</module>
     <module>cloudstack</module>
     <module>filesystem</module>
     <module>byon</module>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/pom.xml
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/pom.xml b/providers/cloudsigma-lvs/pom.xml
deleted file mode 100644
index 7730086..0000000
--- a/providers/cloudsigma-lvs/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>cloudsigma-lvs</artifactId>
-  <name>jclouds CloudSigma provider</name>
-  <description>ComputeService binding to the CloudSigma datacenter in SuperNAP Las Vegas</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.cloudsigma-lvs.endpoint>https://api.lvs.cloudsigma.com</test.cloudsigma-lvs.endpoint>
-    <test.cloudsigma-lvs.api-version>1.0</test.cloudsigma-lvs.api-version>
-    <test.cloudsigma-lvs.build-version />
-    <test.cloudsigma-lvs.identity>FIXME</test.cloudsigma-lvs.identity>
-    <test.cloudsigma-lvs.credential>FIXME</test.cloudsigma-lvs.credential>
-    <test.cloudsigma-lvs.template />
-    <jclouds.osgi.export>org.jclouds.cloudsigma*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${project.version}",
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudsigma</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>cloudsigma</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.cloudsigma-lvs.endpoint>${test.cloudsigma-lvs.endpoint}</test.cloudsigma-lvs.endpoint>
-                    <test.cloudsigma-lvs.api-version>${test.cloudsigma-lvs.api-version}</test.cloudsigma-lvs.api-version>
-                    <test.cloudsigma-lvs.build-version>${test.cloudsigma-lvs.build-version}</test.cloudsigma-lvs.build-version>
-                    <test.cloudsigma-lvs.identity>${test.cloudsigma-lvs.identity}</test.cloudsigma-lvs.identity>
-                    <test.cloudsigma-lvs.credential>${test.cloudsigma-lvs.credential}</test.cloudsigma-lvs.credential>
-                    <test.cloudsigma-lvs.template>${test.cloudsigma-lvs.template}</test.cloudsigma-lvs.template>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/src/main/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/src/main/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderMetadata.java b/providers/cloudsigma-lvs/src/main/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderMetadata.java
deleted file mode 100644
index aa9b97e..0000000
--- a/providers/cloudsigma-lvs/src/main/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderMetadata.java
+++ /dev/null
@@ -1,83 +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.jclouds.cloudsigma;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for CloudSigma Las Vegas.
-
- * 
- * @author Adrian Cole
- */
-public class CloudSigmaLasVegasProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-
-   public CloudSigmaLasVegasProviderMetadata() {
-      super(builder());
-   }
-
-   public CloudSigmaLasVegasProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      return properties;
-   }
-
-   public static class Builder
-         extends
-         BaseProviderMetadata.Builder {
-
-      protected Builder() {
-         id("cloudsigma-lvs")
-         .name("CloudSigma Las Vegas")
-         .apiMetadata(new CloudSigmaApiMetadata())
-         .homepage(URI.create("http://www.cloudsigma.com/en/our-cloud/features"))
-         .console(URI.create("https://gui.lvs.cloudsigma.com/"))
-         .iso3166Codes("US-NV")
-         .endpoint("https://api.lvs.cloudsigma.com")
-         .defaultProperties(CloudSigmaLasVegasProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public CloudSigmaLasVegasProviderMetadata build() {
-         return new CloudSigmaLasVegasProviderMetadata(this);
-      }
-
-      @Override
-      public Builder fromProviderMetadata(
-            ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/cloudsigma-lvs/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 8f7f34d..0000000
--- a/providers/cloudsigma-lvs/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.cloudsigma.CloudSigmaLasVegasProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasLondonClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasLondonClientLiveTest.java b/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasLondonClientLiveTest.java
deleted file mode 100644
index aeefaf5..0000000
--- a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasLondonClientLiveTest.java
+++ /dev/null
@@ -1,30 +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.jclouds.cloudsigma;
-
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class CloudSigmaLasVegasLondonClientLiveTest extends CloudSigmaClientLiveTest {
-   public CloudSigmaLasVegasLondonClientLiveTest() {
-      provider = "cloudsigma-lvs";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderTest.java b/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderTest.java
deleted file mode 100644
index 22adc5d..0000000
--- a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/CloudSigmaLasVegasProviderTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.cloudsigma;
-
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "CloudSigmaLasVegasProviderTest")
-public class CloudSigmaLasVegasProviderTest extends BaseProviderMetadataTest {
-
-   public CloudSigmaLasVegasProviderTest() {
-      super(new CloudSigmaLasVegasProviderMetadata(), new CloudSigmaApiMetadata());
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasComputeServiceLiveTest.java b/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasComputeServiceLiveTest.java
deleted file mode 100644
index affe922..0000000
--- a/providers/cloudsigma-lvs/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaLasVegasComputeServiceLiveTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.cloudsigma.compute;
-
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "CloudSigmaLasVegasComputeServiceLiveTest")
-public class CloudSigmaLasVegasComputeServiceLiveTest extends CloudSigmaComputeServiceLiveTest {
-
-   public CloudSigmaLasVegasComputeServiceLiveTest() {
-      provider = "cloudsigma-lvs";
-   }
-
-}


[07/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
deleted file mode 100644
index e05a921..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
+++ /dev/null
@@ -1,55 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfMapsToListOfKeyValuesDelimitedByBlankLines implements
-      Function<Iterable<Map<String, String>>, String> {
-
-   @Override
-   public String apply(Iterable<Map<String, String>> from) {
-      return Joiner.on("\n\n").join(Iterables.transform(from, new Function<Map<String, String>, String>() {
-
-         @Override
-         public String apply(Map<String, String> from) {
-            return Joiner.on('\n').withKeyValueSeparator(" ")
-                  .join(Maps.transformValues(from, new Function<String, String>() {
-
-                     @Override
-                     public String apply(String from) {
-                        return from.replace("\n", "\\n");
-                     }
-
-                  }));
-         }
-
-      }));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java
deleted file mode 100644
index 40ffb0c..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDevices.java
+++ /dev/null
@@ -1,99 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.BlockDevice;
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.MediaType;
-import org.jclouds.cloudsigma.domain.SCSIDevice;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToDevices implements Function<Map<String, String>, Map<String, ? extends Device>> {
-   @Singleton
-   public static class DeviceToId implements Function<Device, String> {
-      @Override
-      public String apply(Device input) {
-         return input.getId();
-      }
-   }
-
-   private final Function<Device, String> deviceToId;
-
-   @Inject
-   public MapToDevices(Function<Device, String> deviceToId) {
-      this.deviceToId = deviceToId;
-   }
-
-   public Map<String, ? extends Device> apply(Map<String, String> from) {
-      Builder<Device> devices = ImmutableSet.builder();
-      addIDEDevices(from, devices);
-      addSCSIDevices(from, devices);
-      addBlockDevices(from, devices);
-
-      return Maps.uniqueIndex(devices.build(), deviceToId);
-   }
-
-   protected void addBlockDevices(Map<String, String> from, Builder<Device> devices) {
-      BLOCK: for (int index : new int[] { 0, 1, 2, 3, 4, 5, 6, 7 }) {
-         String key = String.format("block:0:%d", index);
-         if (!from.containsKey(key))
-            break BLOCK;
-         devices.add(populateBuilder(new BlockDevice.Builder(index), key, from).build());
-      }
-   }
-
-   protected void addSCSIDevices(Map<String, String> from, Builder<Device> devices) {
-      SCSI: for (int unit : new int[] { 0, 1, 2, 3, 4, 5, 6, 7 }) {
-         String key = String.format("scsi:0:%d", unit);
-         if (!from.containsKey(key))
-            break SCSI;
-         devices.add(populateBuilder(new SCSIDevice.Builder(unit), key, from).build());
-      }
-   }
-
-   protected void addIDEDevices(Map<String, String> from, Builder<Device> devices) {
-      IDE: for (int bus : new int[] { 0, 1 })
-         for (int unit : new int[] { 0, 1 }) {
-            String key = String.format("ide:%d:%d", bus, unit);
-            if (!from.containsKey(key))
-               break IDE;
-            devices.add(populateBuilder(new IDEDevice.Builder(bus, unit), key, from).build());
-         }
-   }
-
-   protected Device.Builder populateBuilder(Device.Builder deviceBuilder, String key, Map<String, String> from) {
-      deviceBuilder.uuid(from.get(key));
-      if (from.containsKey(key + ":media"))
-         deviceBuilder.mediaType(MediaType.fromValue(from.get(key + ":media")));
-      return deviceBuilder;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveInfo.java
deleted file mode 100644
index 24a471d..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveInfo.java
+++ /dev/null
@@ -1,114 +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.jclouds.cloudsigma.functions;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.DriveStatus;
-import org.jclouds.cloudsigma.domain.DriveType;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToDriveInfo implements Function<Map<String, String>, DriveInfo> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Override
-   public DriveInfo apply(Map<String, String> from) {
-      if (from.size() == 0)
-         return null;
-      DriveInfo.Builder builder = new DriveInfo.Builder();
-      builder.name(from.get("name"));
-      if (from.containsKey("use"))
-         builder.use(Splitter.on(' ').split(from.get("use")));
-      if (from.containsKey("status"))
-         builder.status(DriveStatus.fromValue(from.get("status")));
-      builder.metrics(buildMetrics(from));
-      builder.user(from.get("user"));
-      builder.encryptionCipher(from.get("encryption:cipher"));
-      builder.uuid(from.get("drive"));
-      if (from.containsKey("claim:type"))
-         builder.claimType(ClaimType.fromValue(from.get("claim:type")));
-      if (from.containsKey("claimed"))
-         builder.claimed(Splitter.on(' ').split(from.get("claimed")));
-      if (from.containsKey("tags"))
-          builder.tags(Splitter.on(' ').split(from.get("tags")));
-      if (from.containsKey("readers"))
-         builder.readers(Splitter.on(' ').split(from.get("readers")));
-      if (from.containsKey("size"))
-         builder.size(Long.valueOf(from.get("size")));
-      Map<String, String> metadata = Maps.newLinkedHashMap();
-      for (Entry<String, String> entry : from.entrySet()) {
-         if (entry.getKey().startsWith("user:"))
-            metadata.put(entry.getKey().substring(entry.getKey().indexOf(':') + 1), entry.getValue());
-      }
-      if (from.containsKey("use"))
-         builder.use(Splitter.on(' ').split(from.get("use")));
-      if (from.containsKey("bits"))
-         builder.bits(Integer.valueOf(from.get("bits")));
-      if (from.containsKey("url"))
-         builder.url(URI.create(from.get("url")));
-      builder.encryptionKey(from.get("encryption:key"));
-      builder.description(from.get("description"));
-      builder.installNotes(from.get("install_notes"));
-      builder.os(from.get("os"));
-      if (from.containsKey("drive_type"))
-         builder.driveType(Splitter.on(',').split(from.get("drive_type")));
-      if (from.containsKey("autoexpanding"))
-         builder.autoexpanding(Boolean.valueOf(from.get("autoexpanding")));
-      if (from.containsKey("free"))
-         builder.free(Boolean.valueOf(from.get("free")));
-      if (from.containsKey("type"))
-         builder.type(DriveType.fromValue(from.get("type")));
-      try {
-         return builder.build();
-      } catch (NullPointerException e) {
-         logger.trace("entry missing data: %s; %s", e.getMessage(), from);
-         return null;
-      }
-   }
-
-   protected DriveMetrics buildMetrics(Map<String, String> from) {
-      DriveMetrics.Builder metricsBuilder = new DriveMetrics.Builder();
-      if (from.containsKey("read:bytes"))
-         metricsBuilder.readBytes(Long.valueOf(from.get("read:bytes")));
-      if (from.containsKey("read:requests"))
-         metricsBuilder.readRequests(Long.valueOf(from.get("read:requests")));
-      if (from.containsKey("write:bytes"))
-         metricsBuilder.writeBytes(Long.valueOf(from.get("write:bytes")));
-      if (from.containsKey("write:requests"))
-         metricsBuilder.writeRequests(Long.valueOf(from.get("write:requests")));
-      return metricsBuilder.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveMetrics.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveMetrics.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveMetrics.java
deleted file mode 100644
index 260d697..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToDriveMetrics.java
+++ /dev/null
@@ -1,84 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToDriveMetrics implements Function<Map<String, String>, Map<String, ? extends DriveMetrics>> {
-
-   public Map<String, ? extends DriveMetrics> apply(Map<String, String> from) {
-      Builder<String, DriveMetrics> builder = ImmutableMap.builder();
-      addIDEDevices(from, builder);
-      addSCSIDevices(from, builder);
-      addBlockDevices(from, builder);
-      return builder.build();
-   }
-
-   protected void addBlockDevices(Map<String, String> from, Builder<String, DriveMetrics> devices) {
-      BLOCK: for (int index : new int[] { 0, 1, 2, 3, 4, 5, 6, 7 }) {
-         String key = String.format("block:0:%d", index);
-         if (!from.containsKey(key))
-            break BLOCK;
-         devices.put(key, buildMetrics(key, from));
-      }
-   }
-
-   protected void addSCSIDevices(Map<String, String> from, Builder<String, DriveMetrics> devices) {
-      SCSI: for (int unit : new int[] { 0, 1, 2, 3, 4, 5, 6, 7 }) {
-         String key = String.format("scsi:0:%d", unit);
-         if (!from.containsKey(key))
-            break SCSI;
-         devices.put(key, buildMetrics(key, from));
-      }
-   }
-
-   protected void addIDEDevices(Map<String, String> from, Builder<String, DriveMetrics> devices) {
-      IDE: for (int bus : new int[] { 0, 1 })
-         for (int unit : new int[] { 0, 1 }) {
-            String key = String.format("ide:%d:%d", bus, unit);
-            if (!from.containsKey(key))
-               break IDE;
-            devices.put(key, buildMetrics(key, from));
-         }
-   }
-
-   protected DriveMetrics buildMetrics(String key, Map<String, String> from) {
-      DriveMetrics.Builder builder = new DriveMetrics.Builder();
-      if (from.containsKey(key + ":read:bytes"))
-         builder.readBytes(Long.valueOf(from.get(key + ":read:bytes")));
-      if (from.containsKey(key + ":read:requests"))
-         builder.readRequests(Long.valueOf(from.get(key + ":read:requests")));
-      if (from.containsKey(key + ":write:bytes"))
-         builder.writeBytes(Long.valueOf(from.get(key + ":write:bytes")));
-      if (from.containsKey(key + ":write:requests"))
-         builder.writeRequests(Long.valueOf(from.get(key + ":write:requests")));
-      return builder.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToNICs.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToNICs.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToNICs.java
deleted file mode 100644
index d8c3a84..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToNICs.java
+++ /dev/null
@@ -1,56 +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.jclouds.cloudsigma.functions;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.Model;
-import org.jclouds.cloudsigma.domain.NIC;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-import com.google.common.collect.ImmutableList;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToNICs implements Function<Map<String, String>, List<NIC>> {
-
-   @Override
-   public List<NIC> apply(Map<String, String> from) {
-      ImmutableList.Builder<NIC> nics = ImmutableList.builder();
-      NIC: for (int id : new int[] { 0, 1 }) {
-         String key = String.format("nic:%d", id);
-         if (!from.containsKey(key + ":model"))
-            break NIC;
-         NIC.Builder nicBuilder = new NIC.Builder();
-         nicBuilder.dhcp(from.get(key + ":dhcp"));
-         nicBuilder.model(Model.fromValue(from.get(key + ":model")));
-         nicBuilder.vlan(from.get(key + ":vlan"));
-         nicBuilder.mac(from.get(key + ":mac"));
-         if (from.containsKey(key + ":block"))
-            nicBuilder.block(Splitter.on(' ').split(from.get(key + ":block")));
-         nics.add(nicBuilder.build());
-      }
-      return nics.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToProfileInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToProfileInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToProfileInfo.java
deleted file mode 100644
index f19ac70..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToProfileInfo.java
+++ /dev/null
@@ -1,60 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.cloudsigma.domain.ProfileType;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToProfileInfo implements Function<Map<String, String>, ProfileInfo> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Override
-   public ProfileInfo apply(Map<String, String> from) {
-      if (from.size() == 0)
-         return null;
-      if (from.size() == 0)
-         return null;
-      ProfileInfo.Builder builder = new ProfileInfo.Builder();
-      builder.uuid(from.get("uuid"));
-      builder.email(from.get("email"));
-      builder.firstName(from.get("first_name"));
-      builder.lastName(from.get("last_name"));
-      builder.nickName(from.get("nick_name"));
-      builder.type(ProfileType.fromValue(from.get("type")));
-      try {
-         return builder.build();
-      } catch (NullPointerException e) {
-         logger.trace("entry missing data: %s; %s", e.getMessage(), from);
-         return null;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerInfo.java
deleted file mode 100644
index 533b3ce..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerInfo.java
+++ /dev/null
@@ -1,91 +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.jclouds.cloudsigma.functions;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-import org.jclouds.cloudsigma.domain.ServerStatus;
-import org.jclouds.cloudsigma.domain.VNC;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToServerInfo implements Function<Map<String, String>, ServerInfo> {
-   private final Function<Map<String, String>, Map<String, ? extends Device>> mapToDevices;
-   private final Function<Map<String, String>, ServerMetrics> mapToMetrics;
-   private final Function<Map<String, String>, List<NIC>> mapToNICs;
-
-   @Inject
-   public MapToServerInfo(Function<Map<String, String>, Map<String, ? extends Device>> mapToDevices,
-         Function<Map<String, String>, ServerMetrics> mapToMetrics, Function<Map<String, String>, List<NIC>> mapToNICs) {
-      this.mapToDevices = mapToDevices;
-      this.mapToMetrics = mapToMetrics;
-      this.mapToNICs = mapToNICs;
-   }
-
-   @Override
-   public ServerInfo apply(Map<String, String> from) {
-      if (from.size() == 0)
-         return null;
-      ServerInfo.Builder builder = new ServerInfo.Builder();
-      builder.name(from.get("name"));
-      builder.description(from.get("description"));
-      builder.persistent(Boolean.parseBoolean(from.get("persistent")));
-      if (from.containsKey("use"))
-         builder.use(Splitter.on(' ').split(from.get("use")));
-      if (from.containsKey("status"))
-         builder.status(ServerStatus.fromValue(from.get("status")));
-      if (from.containsKey("smp") && !"auto".equals(from.get("smp")))
-         builder.smp(Integer.valueOf(from.get("smp")));
-      builder.cpu(Integer.parseInt(from.get("cpu")));
-      builder.mem(Integer.parseInt(from.get("mem")));
-      builder.user(from.get("user"));
-      if (from.containsKey("started"))
-         builder.started(new Date(Long.valueOf(from.get("started"))));
-      builder.uuid(from.get("server"));
-      builder.vnc(new VNC(from.get("vnc:ip"), from.get("vnc:password"), from.containsKey("vnc:tls")
-            && Boolean.valueOf(from.get("vnc:tls"))));
-      if (from.containsKey("boot"))
-         builder.bootDeviceIds(Splitter.on(' ').split(from.get("boot")));
-
-      Map<String, String> metadata = Maps.newLinkedHashMap();
-      for (Entry<String, String> entry : from.entrySet()) {
-         if (entry.getKey().startsWith("user:"))
-            metadata.put(entry.getKey().substring(entry.getKey().indexOf(':') + 1), entry.getValue());
-      }
-      builder.nics(mapToNICs.apply(from));
-      builder.devices(mapToDevices.apply(from));
-      builder.metrics(mapToMetrics.apply(from));
-      return builder.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerMetrics.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerMetrics.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerMetrics.java
deleted file mode 100644
index 9cac5fb..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToServerMetrics.java
+++ /dev/null
@@ -1,57 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-
-import com.google.common.base.Function;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToServerMetrics implements Function<Map<String, String>, ServerMetrics> {
-   private final Function<Map<String, String>, Map<String, ? extends DriveMetrics>> mapToDriveMetrics;
-
-   @Inject
-   public MapToServerMetrics(Function<Map<String, String>, Map<String, ? extends DriveMetrics>> mapToDriveMetrics) {
-      this.mapToDriveMetrics = mapToDriveMetrics;
-   }
-
-   public ServerMetrics apply(Map<String, String> from) {
-      ServerMetrics.Builder metricsBuilder = new ServerMetrics.Builder();
-      if (from.containsKey("tx:packets"))
-         metricsBuilder.txPackets(Long.valueOf(from.get("tx:packets")));
-      if (from.containsKey("tx"))
-         metricsBuilder.tx(Long.valueOf(from.get("tx")));
-      if (from.containsKey("rx:packets"))
-         metricsBuilder.rxPackets(Long.valueOf(from.get("rx:packets")));
-      if (from.containsKey("rx"))
-         metricsBuilder.rx(Long.valueOf(from.get("rx")));
-      metricsBuilder.driveMetrics(mapToDriveMetrics.apply(from));
-
-      ServerMetrics metrics = metricsBuilder.build();
-      return metrics;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToStaticIPInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToStaticIPInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToStaticIPInfo.java
deleted file mode 100644
index ea4a139..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToStaticIPInfo.java
+++ /dev/null
@@ -1,60 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToStaticIPInfo implements Function<Map<String, String>, StaticIPInfo> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Override
-   public StaticIPInfo apply(Map<String, String> from) {
-      if (from.size() == 0)
-         return null;
-      if (from.size() == 0)
-         return null;
-      StaticIPInfo.Builder builder = new StaticIPInfo.Builder();
-      builder.ip(from.get("resource"));
-      builder.user(from.get("user"));
-      builder.netmask(from.get("netmask"));
-      builder.nameservers(Splitter.on(' ').split(from.get("nameserver")));
-      builder.gateway(from.get("gateway"));
-
-      try {
-         return builder.build();
-      } catch (NullPointerException e) {
-         logger.trace("entry missing data: %s; %s", e.getMessage(), from);
-         return null;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToVLANInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToVLANInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToVLANInfo.java
deleted file mode 100644
index 6adc666..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/MapToVLANInfo.java
+++ /dev/null
@@ -1,56 +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.jclouds.cloudsigma.functions;
-
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class MapToVLANInfo implements Function<Map<String, String>, VLANInfo> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Override
-   public VLANInfo apply(Map<String, String> from) {
-      if (from.size() == 0)
-         return null;
-      if (from.size() == 0)
-         return null;
-      VLANInfo.Builder builder = new VLANInfo.Builder();
-      builder.uuid(from.get("resource"));
-      builder.name(from.get("name"));
-      builder.user(from.get("user"));
-     try {
-         return builder.build();
-      } catch (NullPointerException e) {
-         logger.trace("entry missing data: %s; %s", e.getMessage(), from);
-         return null;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ReturnPayload.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ReturnPayload.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ReturnPayload.java
deleted file mode 100644
index e353279..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ReturnPayload.java
+++ /dev/null
@@ -1,35 +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.jclouds.cloudsigma.functions;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.io.Payload;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class ReturnPayload implements Function<HttpResponse, Payload> {
-
-   public Payload apply(HttpResponse from) {
-      return from.getPayload();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ServerToMap.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ServerToMap.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ServerToMap.java
deleted file mode 100644
index 38daffa..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ServerToMap.java
+++ /dev/null
@@ -1,78 +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.jclouds.cloudsigma.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.Server;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ServerToMap implements Function<Server, Map<String, String>> {
-   @Override
-   public Map<String, String> apply(Server from) {
-      checkNotNull(from, "server");
-      ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
-      builder.put("name", from.getName());
-      builder.put("cpu", from.getCpu() + "");
-      if (from.getSmp() != null)
-         builder.put("smp", from.getSmp() + "");
-      else
-         builder.put("smp", "auto");
-      builder.put("mem", from.getMem() + "");
-      builder.put("persistent", from.isPersistent() + "");
-      if (from.getBootDeviceIds().size() != 0)
-         builder.put("boot", Joiner.on(' ').join(from.getBootDeviceIds()));
-      for (Entry<String, ? extends Device> entry : from.getDevices().entrySet()) {
-         builder.put(entry.getKey(), entry.getValue().getDriveUuid());
-         builder.put(entry.getKey() + ":media", entry.getValue().getMediaType().toString());
-      }
-      int nicId = 0;
-      for (NIC nic : from.getNics()) {
-         builder.put("nic:" + nicId + ":model", nic.getModel().toString());
-         if (nic.getDhcp() != null)
-            builder.put("nic:" + nicId + ":dhcp", nic.getDhcp());
-         if (nic.getVlan() != null)
-            builder.put("nic:" + nicId + ":vlan", nic.getVlan());
-         if (nic.getMac() != null)
-            builder.put("nic:" + nicId + ":mac", nic.getMac());
-         nicId++;
-      }
-      builder.put("vnc:ip", from.getVnc().getIp() == null ? "auto" : from.getVnc().getIp());
-      if (from.getVnc().getPassword() != null)
-         builder.put("vnc:password", from.getVnc().getPassword());
-      if (from.getVnc().isTls())
-         builder.put("vnc:tls", "on");
-      if (from.getUse().size() != 0)
-         builder.put("use", Joiner.on(' ').join(from.getUse()));
-      return builder.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlines.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlines.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlines.java
deleted file mode 100644
index 10d0ac3..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlines.java
+++ /dev/null
@@ -1,49 +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.jclouds.cloudsigma.functions;
-
-import static com.google.common.collect.Sets.newTreeSet;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class SplitNewlines implements Function<HttpResponse, Set<String>> {
-   private final ReturnStringIf2xx returnStringIf200;
-
-   @Inject
-   protected SplitNewlines(ReturnStringIf2xx returnStringIf200) {
-      this.returnStringIf200 = returnStringIf200;
-   }
-
-   @Override
-   public Set<String> apply(HttpResponse response) {
-      return newTreeSet(Splitter.on('\n').omitEmptyStrings().split(returnStringIf200.apply(response)));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlinesAndReturnSecondField.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlinesAndReturnSecondField.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlinesAndReturnSecondField.java
deleted file mode 100644
index 36d504c..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/SplitNewlinesAndReturnSecondField.java
+++ /dev/null
@@ -1,64 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicates;
-import com.google.common.base.Splitter;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class SplitNewlinesAndReturnSecondField extends SplitNewlines {
-
-   @Inject
-   SplitNewlinesAndReturnSecondField(ReturnStringIf2xx returnStringIf200) {
-      super(returnStringIf200);
-   }
-
-   @Override
-   public Set<String> apply(HttpResponse response) {
-      return ImmutableSet.copyOf(Iterables.filter(
-            Iterables.transform(super.apply(response), new Function<String, String>() {
-
-               @Override
-               public String apply(String arg0) {
-                  if (arg0 == null)
-                     return null;
-                  Iterable<String> parts = Splitter.on(' ').split(arg0);
-                  if (Iterables.size(parts) == 2)
-                     return Iterables.get(parts, 1);
-                  else if (Iterables.size(parts) == 1)
-                     return Iterables.get(parts, 0);
-                  return null;
-               }
-
-            }), Predicates.notNull()));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
deleted file mode 100644
index 73bdb17..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
+++ /dev/null
@@ -1,105 +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.jclouds.cloudsigma.handlers;
-
-import java.io.IOException;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.logging.Logger;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.jclouds.util.Closeables2;
-import org.jclouds.util.Strings2;
-
-import com.google.common.base.Throwables;
-
-/**
- * This will parse and set an appropriate exception on the command object.
- * 
- * <p/>
- * Errors are returned with an appropriate HTTP status code, an X-Elastic- Error header specifying
- * the error type, and a text description in the HTTP body.
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class CloudSigmaErrorHandler implements HttpErrorHandler {
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   public void handleError(HttpCommand command, HttpResponse response) {
-      // it is important to always read fully and close streams
-      String message = parseMessage(response);
-      Exception exception = message != null ? new HttpResponseException(command, response, message)
-            : new HttpResponseException(command, response);
-      try {
-         message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
-               response.getStatusLine());
-         switch (response.getStatusCode()) {
-         case 400:
-            if ((command.getCurrentRequest().getEndpoint().getPath().endsWith("/info"))
-                  || (message != null && message.indexOf("could not be found") != -1))
-               exception = new ResourceNotFoundException(message, exception);
-            else if (message != null && message.indexOf("currently in use") != -1)
-               exception = new IllegalStateException(message, exception);
-            else
-               exception = new IllegalArgumentException(message, exception);
-            break;
-         case 401:
-            exception = new AuthorizationException(message, exception);
-            break;
-         case 404:
-            if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
-               exception = new ResourceNotFoundException(message, exception);
-            }
-            break;
-         case 405:
-            exception = new IllegalArgumentException(message, exception);
-            break;
-         case 409:
-            exception = new IllegalStateException(message, exception);
-            break;
-         }
-      } finally {
-         Closeables2.closeQuietly(response.getPayload());
-         command.setException(exception);
-      }
-   }
-
-   public String parseMessage(HttpResponse response) {
-      if (response.getPayload() == null)
-         return null;
-      try {
-         return Strings2.toString(response.getPayload());
-      } catch (IOException e) {
-         throw new RuntimeException(e);
-      } finally {
-         try {
-            response.getPayload().getInput().close();
-         } catch (IOException e) {
-            Throwables.propagate(e);
-         }
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/options/CloneDriveOptions.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/options/CloneDriveOptions.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/options/CloneDriveOptions.java
deleted file mode 100644
index 3d7c4cd..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/options/CloneDriveOptions.java
+++ /dev/null
@@ -1,139 +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.jclouds.cloudsigma.options;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.cloudsigma.domain.AffinityType;
-
-import com.google.common.base.Joiner;
-import com.google.common.base.Splitter;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
-/**
- * Contains options supported for clone drive operations. <h2>
- * Usage</h2> The recommended way to instantiate a CloneDriveOptions object is to statically import
- * CloneDriveOptions.Builder.* and invoke a static creation method followed by an instance mutator
- * (if needed):
- * <p/>
- * <code>
- * import static org.jclouds.cloudsigma.options.CloneDriveOptions.Builder.*;
- * 
- * 
- * Payload payload = client.cloneDrive("drive-uuid","newName", size(2*1024*1024l));
- * <code>
- * 
- * @author Adrian Cole
- * 
- */
-public class CloneDriveOptions {
-   private static final String SSD_AFFINITY_TAG = "affinity:ssd";
-   private final Map<String, String> options = Maps.newLinkedHashMap();
-
-   /**
-    * adjust to new size in bytes
-    */
-   public CloneDriveOptions size(long size) {
-      checkArgument(size >= 0, "size must be >= 0");
-      options.put("size", size + "");
-      return this;
-   }
-
-   public CloneDriveOptions tags(String... tags) {
-      // Affinity is conveyed using regular tags; make sure to preserve any already-set affinity tag.
-      String currentTagsString = options.remove("tags");
-      Set<String> currentTags = (currentTagsString == null) ? new HashSet<String>() :
-         Sets.newLinkedHashSet(Splitter.on(' ').split(currentTagsString));
-
-      Set<String> newTags = Sets.newLinkedHashSet();
-      for (String tag : tags)
-          newTags.add(tag);
-      
-      if (currentTags.contains(SSD_AFFINITY_TAG))
-          newTags.add(SSD_AFFINITY_TAG);
-      
-      options.put("tags", Joiner.on(' ').join(newTags));
-      return this;
-   }
-   
-   /**
-    * Specifies whether the new drive has 'HDD' affinity (the default) or 'SSD' (for solid-state drives).
-    * Affinity is conveyed via a special value among the drive's tags. 
-    */
-   public CloneDriveOptions affinity(AffinityType affinity) {
-      // Affinity is conveyed using regular tags; make sure to avoid multiple affinity tags in the options.
-      String currentTagsString = options.remove("tags");
-      Set<String> tags = (currentTagsString == null) ? new LinkedHashSet<String>() :
-         Sets.newLinkedHashSet(Splitter.on(' ').split(currentTagsString));
-      
-      switch (affinity) {
-      // SSD affinity is conveyed as a special tag: "affinity:ssd".
-      case SSD:
-         tags.add(SSD_AFFINITY_TAG);
-         break;
-      
-      // HDD affinity (the default) is conveyed by the *absence* of the "affinity:ssd" tag.
-      case HDD:
-         tags.remove(SSD_AFFINITY_TAG);
-         break;
-      }
-      
-      if (!tags.isEmpty())
-          options.put("tags", Joiner.on(' ').join(tags));
-      
-      return this;
-   }
-   
-   public static class Builder {
-
-      /**
-       * @see CloneDriveOptions#size
-       */
-      public static CloneDriveOptions size(long size) {
-         CloneDriveOptions options = new CloneDriveOptions();
-         return options.size(size);
-      }
-      
-      /**
-       * @see CloneDriveOptions#tags
-       */
-      public static CloneDriveOptions tags(String... tags) {
-          CloneDriveOptions options = new CloneDriveOptions();
-          return options.tags(tags);
-      }
-
-      /**
-       * @see CloneDriveOptions#affinity
-       */
-      public static CloneDriveOptions affinity(AffinityType affinity) {
-          CloneDriveOptions options = new CloneDriveOptions();
-          return options.affinity(affinity);
-      }
-      
-   }
-
-   public Map<String, String> getOptions() {
-      return ImmutableMap.copyOf(options);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/predicates/DriveClaimed.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/predicates/DriveClaimed.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/predicates/DriveClaimed.java
deleted file mode 100644
index 210c2ef..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/predicates/DriveClaimed.java
+++ /dev/null
@@ -1,60 +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.jclouds.cloudsigma.predicates;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.CloudSigmaApi;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Predicate;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class DriveClaimed implements Predicate<DriveInfo> {
-
-   private final CloudSigmaApi client;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public DriveClaimed(CloudSigmaApi client) {
-      this.client = client;
-   }
-
-   public boolean apply(DriveInfo drive) {
-      logger.trace("looking for claims on drive %s", checkNotNull(drive, "drive"));
-      drive = refresh(drive);
-      if (drive == null)
-         return false;
-      logger.trace("%s: looking for drive claims: currently: %s", drive.getUuid(), drive.getClaimed());
-      return drive.getClaimed().size() > 0;
-   }
-
-   private DriveInfo refresh(DriveInfo drive) {
-      return client.getDriveInfo(drive.getUuid());
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/reference/CloudSigmaConstants.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/reference/CloudSigmaConstants.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/reference/CloudSigmaConstants.java
deleted file mode 100644
index 535c361..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/reference/CloudSigmaConstants.java
+++ /dev/null
@@ -1,30 +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.jclouds.cloudsigma.reference;
-
-/**
- *
- * @author Adrian Cole
- */
-public class CloudSigmaConstants {
-
-    /**
-     * default VNC password used on new machines
-     */
-    public static final String PROPERTY_VNC_PASSWORD = "jclouds.cloudsigma.vnc-password";
-    
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/util/Servers.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/util/Servers.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/util/Servers.java
deleted file mode 100644
index 768f515..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/util/Servers.java
+++ /dev/null
@@ -1,83 +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.jclouds.cloudsigma.util;
-
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.Model;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.VNC;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class Servers {
-   /**
-    * Helper to create a small persistent server
-    * 
-    * @param name
-    *           what to name the server
-    * @param driveUuuid
-    *           id of the boot drive
-    * @param vncPassword
-    *           password for vnc
-    * @return a builder for a persistent 1Ghz 512m server with DHCP enabled network.
-    */
-   public static Server.Builder small(String name, String driveUuuid, String vncPassword) {
-      return smallWithStaticIP(name, driveUuuid, vncPassword, "auto");
-   }
-
-   /**
-    * Helper to create a small persistent server
-    * 
-    * @param name
-    *           what to name the server
-    * @param driveUuuid
-    *           id of the boot drive
-    * @param vncPassword
-    *           password for vnc
-    * @param ip
-    *           static IP
-    * @return a builder for a persistent 1Ghz 512m server with DHCP enabled network.
-    */
-   public static Server.Builder smallWithStaticIP(String name, String driveUuuid, String vncPassword, String ip) {
-      return new Server.Builder().name(name).cpu(1000).mem(512).persistent(true)
-            .devices(ImmutableMap.of("ide:0:0", new IDEDevice.Builder(0, 0).uuid(driveUuuid).build()))
-            .bootDeviceIds(ImmutableSet.of("ide:0:0"))
-            .nics(ImmutableSet.of(new NIC.Builder().model(Model.E1000).dhcp(ip).build()))
-            .vnc(new VNC(null, vncPassword, false));
-   }
-
-   /**
-    * Takes the input server and changes its primary ip to a new address. To make this happen,
-    * you'll need to invoke {@link org.jclouds.cloudsigma.CloudSigmaApi#setServerConfiguration}
-    * 
-    * @param in
-    *           server to change
-    * @param ip
-    *           new ip address
-    * @return server with its primary nic set to the new address.
-    */
-   public static Server changeIP(Server in, String ip) {
-      return Server.Builder.fromServer(in).nics(ImmutableSet.of(new NIC.Builder().model(Model.E1000).dhcp(ip).build()))
-            .build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/apis/cloudsigma/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
deleted file mode 100644
index 768b102..0000000
--- a/apis/cloudsigma/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.cloudsigma.CloudSigmaApiMetadata
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiMetadataTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiMetadataTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiMetadataTest.java
deleted file mode 100644
index 2f47264..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiMetadataTest.java
+++ /dev/null
@@ -1,32 +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.jclouds.cloudsigma;
-
-import org.jclouds.compute.internal.BaseComputeServiceApiMetadataTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "CloudSigmaApiMetadataTest")
-public class CloudSigmaApiMetadataTest extends BaseComputeServiceApiMetadataTest {
-
-   public CloudSigmaApiMetadataTest() {
-      super(new CloudSigmaApiMetadata());
-   }
-}


[15/17] jclouds git commit: JCLOUDS-774 cleanup derived location suppliers and backfill test for inconsistent region and zone mappings.

Posted by ad...@apache.org.
JCLOUDS-774 cleanup derived location suppliers and backfill test for inconsistent region and zone mappings.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/6242eae0
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/6242eae0
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/6242eae0

Branch: refs/heads/1.7.x
Commit: 6242eae0f4190cfe624fc53923e598d16552aab2
Parents: d6aeb77
Author: Adrian Cole <ad...@gmail.com>
Authored: Sun Nov 16 10:27:50 2014 -0800
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:37 2014 -0800

----------------------------------------------------------------------
 .../RegionIdsFromRegionIdToURIKeySet.java       | 22 +++----
 .../ZoneIdToURIFromJoinOnRegionIdToURI.java     | 32 ++++-----
 .../ZoneIdsFromRegionIdToZoneIdsValues.java     | 27 +++-----
 .../derived/ZoneIdsFromZoneIdToURIKeySet.java   | 17 ++---
 .../ZoneIdToURIFromJoinOnRegionIdToURITest.java | 69 ++++++++++++++++++++
 5 files changed, 110 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/6242eae0/core/src/main/java/org/jclouds/location/suppliers/derived/RegionIdsFromRegionIdToURIKeySet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/suppliers/derived/RegionIdsFromRegionIdToURIKeySet.java b/core/src/main/java/org/jclouds/location/suppliers/derived/RegionIdsFromRegionIdToURIKeySet.java
index eb5de4a..75aff2c 100644
--- a/core/src/main/java/org/jclouds/location/suppliers/derived/RegionIdsFromRegionIdToURIKeySet.java
+++ b/core/src/main/java/org/jclouds/location/suppliers/derived/RegionIdsFromRegionIdToURIKeySet.java
@@ -16,39 +16,35 @@
  */
 package org.jclouds.location.suppliers.derived;
 
+import static com.google.common.base.Throwables.propagate;
+
 import java.lang.reflect.UndeclaredThrowableException;
 import java.net.URI;
 import java.util.Map;
 import java.util.Set;
 
-import javax.inject.Singleton;
-
 import org.jclouds.location.Region;
 import org.jclouds.location.suppliers.RegionIdsSupplier;
 
 import com.google.common.base.Supplier;
-import com.google.common.base.Throwables;
 import com.google.inject.Inject;
 
-/**
- * as opposed to via properties, lets look up regions via api, as they are more likely to change
- */
-@Singleton
-public class RegionIdsFromRegionIdToURIKeySet implements RegionIdsSupplier {
+/** As opposed to via properties, lets look up regions via api, as they are more likely to change. */
+public final class RegionIdsFromRegionIdToURIKeySet implements RegionIdsSupplier {
 
-   private final Supplier<Map<String, Supplier<URI>>> regionIdToURISupplier;
+   private final Supplier<Map<String, Supplier<URI>>> regionIdToURIs;
 
    @Inject
-   protected RegionIdsFromRegionIdToURIKeySet(@Region Supplier<Map<String, Supplier<URI>>> regionIdToURISupplier) {
-      this.regionIdToURISupplier = regionIdToURISupplier;
+   RegionIdsFromRegionIdToURIKeySet(@Region Supplier<Map<String, Supplier<URI>>> regionIdToURIs) {
+      this.regionIdToURIs = regionIdToURIs;
    }
 
    @Override
    public Set<String> get() {
       try {
-         return regionIdToURISupplier.get().keySet();
+         return regionIdToURIs.get().keySet();
       } catch (UndeclaredThrowableException e) {
-         throw Throwables.propagate(e.getCause());
+         throw propagate(e.getCause());
       }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/6242eae0/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURI.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURI.java b/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURI.java
index e8f85f9..f630cd5 100644
--- a/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURI.java
+++ b/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURI.java
@@ -16,13 +16,14 @@
  */
 package org.jclouds.location.suppliers.derived;
 
+import static com.google.common.base.Preconditions.checkState;
+
 import java.net.URI;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.location.Region;
 import org.jclouds.location.Zone;
@@ -32,31 +33,30 @@ import com.google.common.base.Supplier;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableMap.Builder;
 
-/**
- * 
- */
-@Singleton
-public class ZoneIdToURIFromJoinOnRegionIdToURI implements ZoneIdToURISupplier {
+public final class ZoneIdToURIFromJoinOnRegionIdToURI implements ZoneIdToURISupplier {
 
-   private final Supplier<Map<String, Supplier<URI>>> regionIdToURISupplier;
-   private final Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIdsSupplier;
+   private final Supplier<Map<String, Supplier<URI>>> regionIdToURIs;
+   private final Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIds;
 
    @Inject
-   protected ZoneIdToURIFromJoinOnRegionIdToURI(@Region Supplier<Map<String, Supplier<URI>>> regionIdToURISupplier,
-         @Zone Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIdsSupplier) {
-      this.regionIdToURISupplier = regionIdToURISupplier;
-      this.regionIdToZoneIdsSupplier = regionIdToZoneIdsSupplier;
+   ZoneIdToURIFromJoinOnRegionIdToURI(@Region Supplier<Map<String, Supplier<URI>>> regionIdToURIs,
+         @Zone Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIds) {
+      this.regionIdToURIs = regionIdToURIs;
+      this.regionIdToZoneIds = regionIdToZoneIds;
    }
 
    @Override
    public Map<String, Supplier<URI>> get() {
-      Builder<String, Supplier<URI>> builder = ImmutableMap.<String, Supplier<URI>> builder();
-      for (Entry<String, Supplier<URI>> regionToURI : regionIdToURISupplier.get().entrySet()) {
-         for (String zone : regionIdToZoneIdsSupplier.get().get(regionToURI.getKey()).get()) {
+      Map<String, Supplier<Set<String>>> regionIdToZoneIds = this.regionIdToZoneIds.get();
+      Builder<String, Supplier<URI>> builder = ImmutableMap.builder();
+      for (Entry<String, Supplier<URI>> regionToURI : regionIdToURIs.get().entrySet()) {
+         Supplier<Set<String>> zoneIds = regionIdToZoneIds.get(regionToURI.getKey());
+         checkState(zoneIds != null, "region %s is not in the configured region to zone mappings: %s",
+               regionToURI.getKey(), regionIdToZoneIds);
+         for (String zone : zoneIds.get()) {
             builder.put(zone, regionToURI.getValue());
          }
       }
       return builder.build();
    }
-
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/6242eae0/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromRegionIdToZoneIdsValues.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromRegionIdToZoneIdsValues.java b/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromRegionIdToZoneIdsValues.java
index 25764af..cd54ca8 100644
--- a/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromRegionIdToZoneIdsValues.java
+++ b/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromRegionIdToZoneIdsValues.java
@@ -16,40 +16,33 @@
  */
 package org.jclouds.location.suppliers.derived;
 
-import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.location.Zone;
 import org.jclouds.location.suppliers.ZoneIdsSupplier;
 
 import com.google.common.base.Supplier;
-import com.google.common.base.Suppliers;
 import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
 
-/**
- * as opposed to via properties, lets look up zones via api, as they are more likely to change
- */
-@Singleton
-public class ZoneIdsFromRegionIdToZoneIdsValues implements ZoneIdsSupplier {
+/** As opposed to via properties, lets look up zones via api, as they are more likely to change. */
+public final class ZoneIdsFromRegionIdToZoneIdsValues implements ZoneIdsSupplier {
 
-   private final Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIdsSupplier;
+   private final Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIds;
 
    @Inject
-   protected ZoneIdsFromRegionIdToZoneIdsValues(
-            @Zone Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIdsSupplier) {
-      this.regionIdToZoneIdsSupplier = regionIdToZoneIdsSupplier;
+   ZoneIdsFromRegionIdToZoneIdsValues(@Zone Supplier<Map<String, Supplier<Set<String>>>> regionIdToZoneIds) {
+      this.regionIdToZoneIds = regionIdToZoneIds;
    }
 
    @Override
    public Set<String> get() {
-      Collection<Supplier<Set<String>>> zones = regionIdToZoneIdsSupplier.get().values();
-      return ImmutableSet.copyOf(Iterables.concat(Iterables.transform(zones, Suppliers
-               .<Set<String>> supplierFunction())));
+      ImmutableSet.Builder<String> result = ImmutableSet.builder();
+      for (Supplier<Set<String>> zone : regionIdToZoneIds.get().values()) {
+         result.addAll(zone.get());
+      }
+      return result.build();
    }
-
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/6242eae0/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromZoneIdToURIKeySet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromZoneIdToURIKeySet.java b/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromZoneIdToURIKeySet.java
index a60f4c2..ceaf7fb 100644
--- a/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromZoneIdToURIKeySet.java
+++ b/core/src/main/java/org/jclouds/location/suppliers/derived/ZoneIdsFromZoneIdToURIKeySet.java
@@ -20,29 +20,24 @@ import java.net.URI;
 import java.util.Map;
 import java.util.Set;
 
-import javax.inject.Singleton;
-
 import org.jclouds.location.Zone;
 import org.jclouds.location.suppliers.ZoneIdsSupplier;
 
 import com.google.common.base.Supplier;
 import com.google.inject.Inject;
 
-/**
- * as opposed to via properties, lets look up zones via api, as they are more likely to change
- */
-@Singleton
-public class ZoneIdsFromZoneIdToURIKeySet implements ZoneIdsSupplier {
+/** As opposed to via properties, lets look up zones via api, as they are more likely to change. */
+public final class ZoneIdsFromZoneIdToURIKeySet implements ZoneIdsSupplier {
 
-   private final Supplier<Map<String, Supplier<URI>>> zoneIdToURISupplier;
+   private final Supplier<Map<String, Supplier<URI>>> zoneIdToURIs;
 
    @Inject
-   protected ZoneIdsFromZoneIdToURIKeySet(@Zone Supplier<Map<String, Supplier<URI>>> zoneIdToURISupplier) {
-      this.zoneIdToURISupplier = zoneIdToURISupplier;
+   ZoneIdsFromZoneIdToURIKeySet(@Zone Supplier<Map<String, Supplier<URI>>> zoneIdToURIs) {
+      this.zoneIdToURIs = zoneIdToURIs;
    }
 
    @Override
    public Set<String> get() {
-      return zoneIdToURISupplier.get().keySet();
+      return zoneIdToURIs.get().keySet();
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/6242eae0/core/src/test/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURITest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURITest.java b/core/src/test/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURITest.java
new file mode 100644
index 0000000..6407ee7
--- /dev/null
+++ b/core/src/test/java/org/jclouds/location/suppliers/derived/ZoneIdToURIFromJoinOnRegionIdToURITest.java
@@ -0,0 +1,69 @@
+/*
+ * 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.jclouds.location.suppliers.derived;
+
+import static org.testng.Assert.assertEquals;
+
+import java.net.URI;
+import java.util.Map;
+import java.util.Set;
+
+import org.testng.annotations.Test;
+
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Maps;
+
+@Test
+public class ZoneIdToURIFromJoinOnRegionIdToURITest {
+
+   public void zoneToRegionMappingsValid() {
+      Map<String, Supplier<URI>> regionIdToURIs = Maps.newLinkedHashMap();
+      regionIdToURIs.put("us-east-1", Suppliers.ofInstance(URI.create("ec2.us-east-1.amazonaws.com")));
+      regionIdToURIs.put("eu-central-1", Suppliers.ofInstance(URI.create("ec2.eu-central-1.amazonaws.com")));
+      Map<String, Supplier<Set<String>>> regionIdToZoneIds = Maps.newLinkedHashMap();
+      regionIdToZoneIds.put("us-east-1", supplyZoneIds("us-east-1a", "us-east-1b"));
+      regionIdToZoneIds.put("eu-central-1", supplyZoneIds("eu-central-1a"));
+
+      Map<String, Supplier<URI>> result = new ZoneIdToURIFromJoinOnRegionIdToURI(Suppliers.ofInstance(regionIdToURIs),
+            Suppliers.ofInstance(regionIdToZoneIds)).get();
+
+      assertEquals(result.size(), 3);
+      assertEquals(result.get("us-east-1a"), regionIdToURIs.get("us-east-1"));
+      assertEquals(result.get("us-east-1b"), regionIdToURIs.get("us-east-1"));
+      assertEquals(result.get("eu-central-1a"), regionIdToURIs.get("eu-central-1"));
+   }
+
+   @Test(expectedExceptions = IllegalStateException.class,
+         expectedExceptionsMessageRegExp = "region eu-central-1 is not in the configured region to zone mappings: .*")
+   public void zoneToRegionMappingsInconsistentOnKeys() {
+      Map<String, Supplier<URI>> regionIdToURIs = Maps.newLinkedHashMap();
+      regionIdToURIs.put("us-east-1", Suppliers.ofInstance(URI.create("ec2.us-east-1.amazonaws.com")));
+      regionIdToURIs.put("eu-central-1", Suppliers.ofInstance(URI.create("ec2.eu-central-1.amazonaws.com")));
+      Map<String, Supplier<Set<String>>> regionIdToZoneIds = Maps.newLinkedHashMap();
+      regionIdToZoneIds.put("us-east-1", supplyZoneIds("us-east-1a", "us-east-1b"));
+      // missing regionIdToZoneIds mapping for eu-central-1
+
+      new ZoneIdToURIFromJoinOnRegionIdToURI(Suppliers.ofInstance(regionIdToURIs),
+            Suppliers.ofInstance(regionIdToZoneIds)).get();
+   }
+
+   private static Supplier<Set<String>> supplyZoneIds(String... zoneIds) {
+      return Suppliers.<Set<String>>ofInstance(ImmutableSet.copyOf(zoneIds));
+   }
+}


[06/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiTest.java
deleted file mode 100644
index 24c0c4d..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaApiTest.java
+++ /dev/null
@@ -1,646 +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.jclouds.cloudsigma;
-
-import static org.jclouds.reflect.Reflection2.method;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import org.jclouds.apis.ApiMetadata;
-import org.jclouds.cloudsigma.binders.BindServerToPlainTextStringTest;
-import org.jclouds.cloudsigma.domain.CreateDriveRequest;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToDriveInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToProfileInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToServerInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToStaticIPInfo;
-import org.jclouds.cloudsigma.functions.KeyValuesDelimitedByBlankLinesToVLANInfo;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet;
-import org.jclouds.cloudsigma.functions.ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet;
-import org.jclouds.cloudsigma.functions.SplitNewlines;
-import org.jclouds.cloudsigma.functions.SplitNewlinesAndReturnSecondField;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.rest.internal.BaseAsyncClientTest;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
-import com.google.common.reflect.Invokable;
-/**
- * Tests behavior of {@code CloudSigmaApi}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "CloudSigmaApiTest")
-public class CloudSigmaApiTest extends BaseAsyncClientTest<CloudSigmaApi> {
-
-   public void testGetProfileInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "getProfileInfo");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/profile/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToProfileInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListStandardDrives() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listStandardDrives");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/standard/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlines.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testListStandardCds() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listStandardCds");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/standard/cd/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlines.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testListStandardImages() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listStandardImages");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/standard/img/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlines.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testListDriveInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listDriveInfo");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testGetDriveInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "getDriveInfo", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/uuid/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToDriveInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateDrive() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "createDrive", Drive.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(
-            new CreateDriveRequest.Builder().name("foo").use(ImmutableList.of("production", "candy")).size(10000l)
-                  .build()));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/drives/create HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, "name foo\nsize 10000\nuse production candy", "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToDriveInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCloneDrive() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "cloneDrive", String.class, String.class,
-            CloneDriveOptions[].class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("sourceid", "newname"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/drives/sourceid/clone HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, "name newname", "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToDriveInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCloneDriveOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "cloneDrive", String.class, String.class,
-            CloneDriveOptions[].class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("sourceid", "newname",
-            new CloneDriveOptions().size(1024l)));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/drives/sourceid/clone HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, "name newname\nsize 1024", "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToDriveInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testSetDriveData() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "setDriveData", String.class, DriveData.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("100", new DriveData.Builder().name("foo").size(10000l)
-            .use(ImmutableList.of("production", "candy")).build()));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/drives/100/set HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, "name foo\nsize 10000\nuse production candy", "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToDriveInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListServers() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listServers");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/servers/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // now make sure request filters apply by replaying
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/servers/list HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\nAuthorization: Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // TODO: insert expected response class, which probably extends ParseJson
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlines.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListServerInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listServerInfo");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/servers/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testGetServerInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "getServerInfo", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/servers/uuid/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToServerInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateServer() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "createServer", Server.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of(BindServerToPlainTextStringTest.SERVER));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/create HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, BindServerToPlainTextStringTest.CREATED_SERVER, "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToServerInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testSetServerConfiguration() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "setServerConfiguration", String.class, Server.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("100", BindServerToPlainTextStringTest.SERVER));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/100/set HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, BindServerToPlainTextStringTest.CREATED_SERVER, "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToServerInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDestroyServer() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "destroyServer", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/servers/uuid/destroy HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, VoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testStartServer() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "startServer", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/uuid/start HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testStopServer() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "stopServer", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/uuid/stop HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testShutdownServer() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "shutdownServer", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/uuid/shutdown HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testResetServer() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "resetServer", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/servers/uuid/reset HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListDrives() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listDrives");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // now make sure request filters apply by replaying
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/list HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\nAuthorization: Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // TODO: insert expected response class, which probably extends ParseJson
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlines.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDestroyDrive() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "destroyDrive", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/drives/uuid/destroy HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, VoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListVLANs() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listVLANs");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/vlan/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // now make sure request filters apply by replaying
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/vlan/list HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\nAuthorization: Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // TODO: insert expected response class, which probably extends ParseJson
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlinesAndReturnSecondField.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListVLANInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listVLANInfo");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/vlan/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testGetVLANInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "getVLANInfo", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/vlan/uuid/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToVLANInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateVLAN() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "createVLAN", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("poohbear"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/resources/vlan/create HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, "name poohbear\n", "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToVLANInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testRenameVLAN() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "renameVLAN", String.class, String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("100", "poohbear"));
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/resources/vlan/100/set HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, "name poohbear\n", "text/plain", false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToVLANInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDestroyVLAN() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "destroyVLAN", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/vlan/uuid/destroy HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, VoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListStaticIPs() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listStaticIPs");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/ip/list HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // now make sure request filters apply by replaying
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-      httpRequest = (GeneratedHttpRequest) Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/ip/list HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\nAuthorization: Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // TODO: insert expected response class, which probably extends ParseJson
-      assertResponseParserClassEquals(method, httpRequest, SplitNewlinesAndReturnSecondField.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListStaticIPInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "listStaticIPInfo");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/ip/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testGetStaticIPInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "getStaticIPInfo", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/ip/uuid/info HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToStaticIPInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateStaticIP() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "createStaticIP");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.of());
-
-      assertRequestLineEquals(httpRequest, "POST https://api.cloudsigma.com/resources/ip/create HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, KeyValuesDelimitedByBlankLinesToStaticIPInfo.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDestroyStaticIP() throws SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(CloudSigmaApi.class, "destroyStaticIP", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, ImmutableList.<Object> of("uuid"));
-
-      assertRequestLineEquals(httpRequest, "GET https://api.cloudsigma.com/resources/ip/uuid/destroy HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/plain\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, VoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), BasicAuthentication.class);
-   }
-
-   @Override
-   protected ApiMetadata createApiMetadata() {
-      return new CloudSigmaApiMetadata();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java
deleted file mode 100644
index 9b19e45..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/CloudSigmaClientLiveTest.java
+++ /dev/null
@@ -1,443 +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.jclouds.cloudsigma;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jclouds.util.Predicates2.retry;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.io.IOException;
-import java.util.Set;
-import java.util.logging.Logger;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.CreateDriveRequest;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.cloudsigma.domain.DriveStatus;
-import org.jclouds.cloudsigma.domain.DriveType;
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.Model;
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.cloudsigma.domain.ServerStatus;
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.cloudsigma.predicates.DriveClaimed;
-import org.jclouds.cloudsigma.util.Servers;
-import org.jclouds.compute.domain.ExecResponse;
-import org.jclouds.compute.internal.BaseComputeServiceContextLiveTest;
-import org.jclouds.domain.LoginCredentials;
-import org.jclouds.predicates.SocketOpen;
-import org.jclouds.ssh.SshClient;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.AfterGroups;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.net.HostAndPort;
-import com.google.gson.Gson;
-import com.google.inject.Guice;
-
-/**
- * Tests behavior of {@code CloudSigmaApi}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "CloudSigmaClientLiveTest")
-public class CloudSigmaClientLiveTest extends BaseComputeServiceContextLiveTest {
-
-   public CloudSigmaClientLiveTest() {
-      provider = "cloudsigma";
-   }
-
-   protected long driveSize = 8 * 1024 * 1024 * 1024l;
-   protected int maxDriveImageTime = 300;
-   protected String vncPassword = "Il0veVNC";
-   protected CloudSigmaApi client;
-   protected Predicate<HostAndPort> socketTester;
-
-   protected Predicate<DriveInfo> driveNotClaimed;
-   protected String imageId;
-   
-   @BeforeGroups(groups = { "integration", "live" })
-   @Override
-   public void setupContext() {
-      super.setupContext();
-
-      client = view.utils().injector().getInstance(CloudSigmaApi.class);
-      driveNotClaimed = retry(Predicates.not(new DriveClaimed(client)), maxDriveImageTime, 1, SECONDS);
-      SocketOpen socketOpten = context.utils().injector().getInstance(SocketOpen.class);
-      socketTester = retry(socketOpten, maxDriveImageTime, 1, SECONDS);
-
-      if (template == null || template.getImageId() == null) {
-         imageId = view.getComputeService().templateBuilder().build().getImage().getId();
-      }
-   }
-
-   @Test
-   public void testGetProfileInfo() throws Exception {
-      ProfileInfo profile = client.getProfileInfo();
-      assertNotNull(profile);
-   }
-
-   @Test
-   public void testListVLANs() throws Exception {
-      Set<String> vlans = client.listVLANs();
-      assertNotNull(vlans);
-   }
-
-   @Test
-   public void testListVLANInfo() throws Exception {
-      Set<? extends VLANInfo> vlans = client.listVLANInfo();
-      assertNotNull(vlans);
-   }
-
-   @Test
-   public void testGetVLAN() throws Exception {
-      for (String vlanUUID : client.listVLANs()) {
-         assert !"".equals(vlanUUID);
-         assertNotNull(client.getVLANInfo(vlanUUID));
-      }
-   }
-
-   @Test
-   public void testListStaticIPs() throws Exception {
-      Set<String> ips = client.listStaticIPs();
-      assertNotNull(ips);
-   }
-
-   @Test
-   public void testListStaticIPInfo() throws Exception {
-      Set<? extends StaticIPInfo> ips = client.listStaticIPInfo();
-      assertNotNull(ips);
-   }
-
-   @Test
-   public void testGetStaticIP() throws Exception {
-      for (String ipUUID : client.listStaticIPs()) {
-         assert !"".equals(ipUUID);
-         assertNotNull(client.getStaticIPInfo(ipUUID));
-      }
-   }
-
-   @Test
-   public void testListServers() throws Exception {
-      Set<String> servers = client.listServers();
-      assertNotNull(servers);
-   }
-
-   @Test
-   public void testListServerInfo() throws Exception {
-      Set<? extends ServerInfo> servers = client.listServerInfo();
-      assertNotNull(servers);
-   }
-
-   @Test
-   public void testGetServer() throws Exception {
-      for (String serverUUID : client.listServers()) {
-         assert !"".equals(serverUUID);
-         assertNotNull(client.getServerInfo(serverUUID));
-      }
-   }
-
-   @Test
-   public void testListDrives() throws Exception {
-      Set<String> drives = client.listDrives();
-      assertNotNull(drives);
-   }
-
-   @Test
-   public void testListDriveInfo() throws Exception {
-      Set<? extends DriveInfo> drives = client.listDriveInfo();
-      assertNotNull(drives);
-   }
-
-   @Test
-   public void testGetDrive() throws Exception {
-      for (String driveUUID : client.listStandardDrives()) {
-         assert !"".equals(driveUUID);
-         DriveInfo drive = client.getDriveInfo(driveUUID);
-         assertNotNull(drive);
-         assert !drive.getType().equals(DriveType.UNRECOGNIZED) : drive;
-         if (drive.getType() == DriveType.DISK && drive.getDriveType().contains("preinstalled"))
-            System.out.println(drive.getName());
-      }
-   }
-
-   protected String prefix = System.getProperty("user.name") + ".test";
-   protected DriveInfo drive;
-
-   @Test
-   public void testCreateDrive() throws Exception {
-      drive = client.createDrive(new CreateDriveRequest.Builder().name(prefix).size(driveSize).build());
-      checkCreatedDrive();
-
-      DriveInfo newInfo = client.getDriveInfo(drive.getUuid());
-      checkDriveMatchesGet(newInfo);
-
-   }
-
-   protected void checkDriveMatchesGet(DriveInfo newInfo) {
-      assertEquals(newInfo.getUuid(), drive.getUuid());
-      assertEquals(newInfo.getType(), DriveType.DISK);
-   }
-
-   protected void checkCreatedDrive() {
-      assertNotNull(drive.getUuid());
-      assertNotNull(drive.getUser());
-      assertEquals(drive.getName(), prefix);
-      assertEquals(drive.getSize(), driveSize);
-      assertEquals(drive.getStatus(), DriveStatus.ACTIVE);
-      // for some reason, these occasionally return as 4096,1
-      // assertEquals(info.getReadBytes(), 0l);
-      // assertEquals(info.getWriteBytes(), 0l);
-      // assertEquals(info.getReadRequests(), 0l);
-      // assertEquals(info.getWriteRequests(), 0l);
-      assertEquals(drive.getEncryptionCipher(), "aes-xts-plain");
-      assertEquals(drive.getType(), null);
-   }
-
-   @Test(dependsOnMethods = "testCreateDrive")
-   public void testSetDriveData() throws Exception {
-
-      DriveInfo drive2 = client.setDriveData(
-            drive.getUuid(),
-            new DriveData.Builder().claimType(ClaimType.SHARED).name("rediculous")
-                  .readers(ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"))
-                  .use(ImmutableSet.of("networking", "security", "gateway")).build());
-
-      assertNotNull(drive2.getUuid(), drive.getUuid());
-      assertEquals(drive2.getName(), "rediculous");
-      assertEquals(drive2.getClaimType(), ClaimType.SHARED);
-      assertEquals(drive2.getReaders(), ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"));
-      assertEquals(drive2.getUse(), ImmutableSet.of("networking", "security", "gateway"));
-      drive = drive2;
-   }
-
-   @Test
-   public void testCreateAndDestroyVLAN() throws Exception {
-      VLANInfo vlan = client.createVLAN(prefix);
-      String id = vlan.getUuid();
-      try {
-         vlan = client.getVLANInfo(vlan.getUuid());
-         assertEquals(vlan.getName(), prefix);
-
-         String prefix2 = prefix + "2";
-         vlan = client.renameVLAN(vlan.getUuid(), prefix2);
-         assertEquals(vlan.getName(), prefix2);
-      } finally {
-         client.destroyVLAN(id);
-      }
-   }
-
-   @Test(dependsOnMethods = "testSetDriveData")
-   public void testCreateAndDestroyStaticIP() throws Exception {
-      StaticIPInfo ip = client.createStaticIP();
-      StaticIPInfo ip2 = client.createStaticIP();
-      Server server = null;
-      try {
-         ip = client.getStaticIPInfo(ip.getAddress());
-         assertNotNull(ip);
-         Logger.getAnonymousLogger().info("preparing drive");
-         prepareDrive();
-
-         Server serverRequest = Servers.smallWithStaticIP(prefix, drive.getUuid(), vncPassword, ip.getAddress())
-               .build();
-
-         Logger.getAnonymousLogger().info("starting server");
-         server = client.createServer(serverRequest);
-         assertEquals(server.getNics().get(0).getDhcp(), ip.getAddress());
-         client.stopServer(server.getUuid());
-         server = client.setServerConfiguration(server.getUuid(), Servers.changeIP(server, ip2.getAddress()));
-         assertEquals(server.getNics().get(0).getDhcp(), ip2.getAddress());
-      } finally {
-         if (server != null) {
-            client.destroyServer(server.getUuid());
-            client.destroyDrive(drive.getUuid());
-         }
-         client.destroyStaticIP(ip.getAddress());
-         client.destroyStaticIP(ip2.getAddress());
-      }
-   }
-
-   protected ServerInfo server;
-
-   @Test(dependsOnMethods = "testCreateAndDestroyStaticIP")
-   public void testCreateAndStartServer() throws Exception {
-      Logger.getAnonymousLogger().info("preparing drive");
-      prepareDrive();
-
-      Server serverRequest = Servers.small(prefix, drive.getUuid(), vncPassword).build();
-
-      Logger.getAnonymousLogger().info("starting server");
-      server = client.createServer(serverRequest);
-      client.startServer(server.getUuid());
-      server = client.getServerInfo(server.getUuid());
-      checkStartedServer();
-
-      Server newInfo = client.getServerInfo(server.getUuid());
-      checkServerMatchesGet(newInfo);
-
-   }
-
-   protected void checkServerMatchesGet(Server newInfo) {
-      assertEquals(newInfo.getUuid(), server.getUuid());
-   }
-
-   protected void checkStartedServer() {
-      System.out.println(new Gson().toJson(server));
-      assertNotNull(server.getUuid());
-      assertNotNull(server.getUser());
-      assertEquals(server.getName(), prefix);
-      assertEquals(server.isPersistent(), true);
-      assertEquals(server.getDevices(),
-            ImmutableMap.of("ide:0:0", new IDEDevice.Builder(0, 0).uuid(drive.getUuid()).build()));
-      assertEquals(server.getBootDeviceIds(), ImmutableSet.of("ide:0:0"));
-      assertEquals(server.getNics().get(0).getDhcp(), server.getVnc().getIp());
-      assertEquals(server.getNics().get(0).getModel(), Model.E1000);
-      assertEquals(server.getStatus(), ServerStatus.ACTIVE);
-   }
-
-   @Test(dependsOnMethods = "testCreateAndStartServer")
-   public void testConnectivity() throws Exception {
-      Logger.getAnonymousLogger().info("awaiting vnc");
-      assert socketTester.apply(HostAndPort.fromParts(server.getVnc().getIp(), 5900)) : server;
-      Logger.getAnonymousLogger().info("awaiting ssh");
-      assert socketTester.apply(HostAndPort.fromParts(server.getNics().get(0).getDhcp(), 22)) : server;
-      doConnectViaSsh(server, getSshCredentials(server));
-   }
-
-   @Test(dependsOnMethods = "testConnectivity")
-   public void testLifeCycle() throws Exception {
-      client.stopServer(server.getUuid());
-      assertEquals(client.getServerInfo(server.getUuid()).getStatus(), ServerStatus.STOPPED);
-
-      client.startServer(server.getUuid());
-      assertEquals(client.getServerInfo(server.getUuid()).getStatus(), ServerStatus.ACTIVE);
-
-      client.resetServer(server.getUuid());
-      assertEquals(client.getServerInfo(server.getUuid()).getStatus(), ServerStatus.ACTIVE);
-
-      client.shutdownServer(server.getUuid());
-      // behavior on shutdown depends on how your server OS is set up to respond
-      // to an ACPI power
-      // button signal
-      assert client.getServerInfo(server.getUuid()).getStatus() == ServerStatus.ACTIVE || client.getServerInfo(
-            server.getUuid()).getStatus() == ServerStatus.STOPPED;
-   }
-
-   @Test(dependsOnMethods = "testLifeCycle")
-   public void testSetServerConfiguration() throws Exception {
-      client.stopServer(server.getUuid());
-      assertEquals(client.getServerInfo(server.getUuid()).getStatus(), ServerStatus.STOPPED);
-
-      ServerInfo server2 = client.setServerConfiguration(
-            server.getUuid(),
-            Server.Builder.fromServer(server).name("rediculous")
-                  .use(ImmutableSet.of("networking", "security", "gateway")).build());
-
-      assertNotNull(server2.getUuid(), server.getUuid());
-      assertEquals(server2.getName(), "rediculous");
-      checkUse(server2);
-      server = server2;
-   }
-
-   protected void checkUse(ServerInfo server2) {
-      // bug where use aren't updated
-      assertEquals(server2.getUse(), ImmutableSet.<String> of());
-   }
-
-   @Test(dependsOnMethods = "testSetServerConfiguration")
-   public void testDestroyServer() throws Exception {
-      client.destroyServer(server.getUuid());
-      assertEquals(client.getServerInfo(server.getUuid()), null);
-   }
-
-   @Test(dependsOnMethods = "testDestroyServer")
-   public void testDestroyDrive() throws Exception {
-      client.destroyDrive(drive.getUuid());
-      assertEquals(client.getDriveInfo(drive.getUuid()), null);
-   }
-
-   protected void doConnectViaSsh(Server server, LoginCredentials creds) throws IOException {
-      SshClient ssh = Guice.createInjector(new SshjSshClientModule()).getInstance(SshClient.Factory.class)
-            .create(HostAndPort.fromParts(server.getVnc().getIp(), 22), creds);
-      try {
-         ssh.connect();
-         ExecResponse hello = ssh.exec("echo hello");
-         assertEquals(hello.getOutput().trim(), "hello");
-         System.err.println(ssh.exec("df -k").getOutput());
-         System.err.println(ssh.exec("mount").getOutput());
-         System.err.println(ssh.exec("uname -a").getOutput());
-      } finally {
-         if (ssh != null)
-            ssh.disconnect();
-      }
-   }
-
-   @AfterGroups(groups = "live")
-   @Override
-   protected void tearDownContext() {
-      if (server != null)
-         client.destroyServer(server.getUuid());
-      if (server != null)
-         client.destroyDrive(drive.getUuid());
-      super.tearDownContext();
-   }
-
-   @Test
-   public void testListStandardDrives() throws Exception {
-      Set<String> drives = client.listStandardDrives();
-      assertNotNull(drives);
-   }
-
-   @Test
-   public void testListStandardCds() throws Exception {
-      Set<String> drives = client.listStandardCds();
-      assertNotNull(drives);
-   }
-
-   @Test
-   public void testListStandardImages() throws Exception {
-      Set<String> drives = client.listStandardImages();
-      assertNotNull(drives);
-   }
-
-   protected LoginCredentials getSshCredentials(Server server) {
-      return LoginCredentials.builder().user("root").password(vncPassword).build();
-   }
-
-   protected void prepareDrive() {
-      client.destroyDrive(drive.getUuid());
-      drive = client.cloneDrive(imageId, drive.getName(),
-            new CloneDriveOptions().size(driveSize).tags("cat:mouse", "monkey:banana"));
-      // Block until the async clone operation has completed.
-      assert driveNotClaimed.apply(drive) : client.getDriveInfo(drive.getUuid());
-
-      DriveInfo clonedDrive = client.getDriveInfo(drive.getUuid());
-      System.err.println("after prepare" + clonedDrive);
-      assertEquals(clonedDrive.getTags(), ImmutableSet.of("cat:mouse", "monkey:banana"));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextStringTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextStringTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextStringTest.java
deleted file mode 100644
index 789edae..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindCloneDriveOptionsToPlainTextStringTest.java
+++ /dev/null
@@ -1,71 +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.jclouds.cloudsigma.binders;
-
-import static org.jclouds.reflect.Reflection2.method;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.options.CloneDriveOptions;
-import org.jclouds.reflect.Invocation;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.inject.Guice;
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class BindCloneDriveOptionsToPlainTextStringTest {
-
-   private static final BindCloneDriveOptionsToPlainTextString binder = Guice.createInjector().getInstance(
-         BindCloneDriveOptionsToPlainTextString.class);
-
-   public void testDefault() throws IOException {
-      String expected = "name newdrive";
-      GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of());
-
-      Map<String, Object> map = ImmutableMap.<String, Object> of("name", "newdrive");
-      assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected);
-   }
-
-   public void testWithSize() throws IOException {
-      String expected = "name newdrive\nsize 1024";
-      GeneratedHttpRequest request = requestForArgs(ImmutableList.<Object> of(new CloneDriveOptions().size(1024)));
-
-      Map<String, Object> map = ImmutableMap.<String, Object> of("name", "newdrive");
-      assertEquals(binder.bindToRequest(request, map).getPayload().getRawContent(), expected);
-   }
-
-   protected GeneratedHttpRequest requestForArgs(List<Object> args) {
-      try {
-         Invocation invocation = Invocation.create(method(String.class, "toString"), args);
-         return GeneratedHttpRequest.builder().method("POST").endpoint(URI.create("http://localhost/key"))
-               .invocation(invocation).build();
-      } catch (SecurityException e) {
-         throw Throwables.propagate(e);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextStringTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextStringTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextStringTest.java
deleted file mode 100644
index 5deb8fa..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveDataToPlainTextStringTest.java
+++ /dev/null
@@ -1,84 +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.jclouds.cloudsigma.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Map;
-
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.functions.BaseDriveToMap;
-import org.jclouds.cloudsigma.functions.DriveDataToMap;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class BindDriveDataToPlainTextStringTest {
-
-   private static final BindDriveDataToPlainTextString FN = Guice.createInjector(new AbstractModule() {
-
-      @Override
-      protected void configure() {
-         bind(new TypeLiteral<Function<Drive, Map<String, String>>>() {
-         }).to(BaseDriveToMap.class);
-         bind(new TypeLiteral<Function<DriveData, Map<String, String>>>() {
-         }).to(DriveDataToMap.class);
-      }
-
-   }).getInstance(BindDriveDataToPlainTextString.class);
-
-   public void testSimple() {
-      HttpRequest request = HttpRequest.builder().method("POST").endpoint("https://host/drives/create").build();
-      FN.bindToRequest(request, new DriveData.Builder().name("foo").size(100l).build());
-      assertEquals(request.getPayload().getContentMetadata().getContentType(), MediaType.TEXT_PLAIN);
-      assertEquals(request.getPayload().getRawContent(), "name foo\nsize 100");
-   }
-
-   public void testComplete() throws IOException {
-      DriveData input = new DriveData.Builder().name("Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-      //
-            .size(8589934592l)//
-            .claimType(ClaimType.SHARED)//
-            .tags(ImmutableSet.of("foo", "bar", "baz"))//
-            .readers(ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"))//
-            .use(ImmutableSet.of("tag1", "tag2"))//
-            .build();
-
-      HttpRequest request = HttpRequest.builder().method("POST").endpoint("https://host/drives/create").build();
-      FN.bindToRequest(request, input);
-      assertEquals(request.getPayload().getContentMetadata().getContentType(), MediaType.TEXT_PLAIN);
-      assertEquals(request.getPayload().getRawContent(),
-            Strings2.toStringAndClose(BindDriveDataToPlainTextStringTest.class.getResourceAsStream("/drive_data.txt")));
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextStringTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextStringTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextStringTest.java
deleted file mode 100644
index 78a793f..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindDriveToPlainTextStringTest.java
+++ /dev/null
@@ -1,87 +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.jclouds.cloudsigma.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Map;
-
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.CreateDriveRequest;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.jclouds.cloudsigma.functions.BaseDriveToMap;
-import org.jclouds.cloudsigma.functions.DriveDataToMap;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class BindDriveToPlainTextStringTest {
-
-   private static final BindDriveToPlainTextString FN = Guice.createInjector(new AbstractModule() {
-
-      @Override
-      protected void configure() {
-         bind(new TypeLiteral<Function<Drive, Map<String, String>>>() {
-         }).to(BaseDriveToMap.class);
-         bind(new TypeLiteral<Function<DriveData, Map<String, String>>>() {
-         }).to(DriveDataToMap.class);
-      }
-
-   }).getInstance(BindDriveToPlainTextString.class);
-
-   public void testSimple() {
-      HttpRequest request = HttpRequest.builder().method("POST").endpoint("https://host/drives/create").build();
-      FN.bindToRequest(request, new CreateDriveRequest.Builder().name("foo").size(100l).build());
-      assertEquals(request.getPayload().getContentMetadata().getContentType(), MediaType.TEXT_PLAIN);
-      assertEquals(request.getPayload().getRawContent(), "name foo\nsize 100");
-   }
-
-   public void testComplete() throws IOException {
-      CreateDriveRequest input = new CreateDriveRequest.Builder()
-            .name("Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-            //
-            .size(8589934592l)//
-            .claimType(ClaimType.SHARED)//
-            .readers(ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"))//
-            .use(ImmutableSet.of("tag1", "tag2"))//
-            .encryptionCipher("aes-xts-plain").avoid(ImmutableSet.of("avoid1")).build();
-
-      HttpRequest request = HttpRequest.builder().method("POST").endpoint("https://host/drives/create").build();
-      FN.bindToRequest(request, input);
-      assertEquals(request.getPayload().getContentMetadata().getContentType(), MediaType.TEXT_PLAIN);
-      assertEquals(request.getPayload().getRawContent(),
-            Strings2.toStringAndClose(BindDriveToPlainTextStringTest.class
-                  .getResourceAsStream("/create_drive.txt")));
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextStringTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextStringTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextStringTest.java
deleted file mode 100644
index fc9d004..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/binders/BindServerToPlainTextStringTest.java
+++ /dev/null
@@ -1,89 +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.jclouds.cloudsigma.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Map;
-
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.cloudsigma.domain.IDEDevice;
-import org.jclouds.cloudsigma.domain.Model;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.Server;
-import org.jclouds.cloudsigma.domain.VNC;
-import org.jclouds.cloudsigma.functions.ServerToMap;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class BindServerToPlainTextStringTest {
-
-   public static final String CREATED_SERVER;
-   static {
-      try {
-         CREATED_SERVER = Strings2.toStringAndClose(BindServerToPlainTextStringTest.class
-               .getResourceAsStream("/create_server.txt"));
-      } catch (IOException e) {
-         throw Throwables.propagate(e);
-      }
-   }
-   public static final Server SERVER = new Server.Builder()
-         .name("TestServer")
-         .cpu(2000)
-         .mem(1024)
-         .devices(
-               ImmutableMap.of("ide:0:0", new IDEDevice.Builder(0, 0).uuid("08c92dd5-70a0-4f51-83d2-835919d254df")
-                     .build())).bootDeviceIds(ImmutableSet.of("ide:0:0"))
-         .nics(ImmutableSet.of(new NIC.Builder().model(Model.E1000).
-
-         build())).vnc(new VNC(null, "XXXXXXXX", false)).build();
-   private static final BindServerToPlainTextString FN = Guice.createInjector(new AbstractModule() {
-
-      @Override
-      protected void configure() {
-         bind(new TypeLiteral<Function<Server, Map<String, String>>>() {
-         }).to(ServerToMap.class);
-         bind(new TypeLiteral<Function<Server, Map<String, String>>>() {
-         }).to(ServerToMap.class);
-      }
-
-   }).getInstance(BindServerToPlainTextString.class);
-
-   public void testSimple() throws IOException {
-      HttpRequest request = HttpRequest.builder().method("POST").endpoint("https://host/drives/create").build();
-      FN.bindToRequest(request, SERVER);
-      assertEquals(request.getPayload().getContentMetadata().getContentType(), MediaType.TEXT_PLAIN);
-      assertEquals(request.getPayload().getRawContent(), CREATED_SERVER);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceLiveTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceLiveTest.java
deleted file mode 100644
index eaf5e2b..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/compute/CloudSigmaComputeServiceLiveTest.java
+++ /dev/null
@@ -1,67 +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.jclouds.cloudsigma.compute;
-
-import org.jclouds.compute.domain.ExecResponse;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.internal.BaseComputeServiceLiveTest;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "CloudSigmaComputeServiceLiveTest")
-public class CloudSigmaComputeServiceLiveTest extends BaseComputeServiceLiveTest {
-
-   public CloudSigmaComputeServiceLiveTest() {
-      provider = "cloudsigma";
-   }
-
-   @Override
-   protected Module getSshModule() {
-      return new SshjSshClientModule();
-   }
-
-   // cloudsigma does not support metadata
-   @Override
-   protected void checkUserMetadataContains(NodeMetadata node, ImmutableMap<String, String> userMetadata) {
-      assert node.getUserMetadata().equals(ImmutableMap.<String, String> of()) : String.format(
-               "node userMetadata did not match %s %s", userMetadata, node);
-   }
-
-   // cloudsigma does not support tags
-   @Override
-   protected void checkTagsInNodeEquals(final NodeMetadata node, final ImmutableSet<String> tags) {
-      assert node.getTags().equals(ImmutableSet.<String> of()) : String.format("node tags did not match %s %s", tags,
-               node);
-   }
-
-   protected void checkResponseEqualsHostname(ExecResponse execResponse, NodeMetadata node1) {
-      // hostname is not predictable based on node metadata
-      assert execResponse.getOutput().trim().equals("ubuntu");
-   }
-
-   @Override
-   public void testOptionToNotBlock() {
-      // start call has to block until we have a pool of reserved pre-cloned drives.
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/BaseDriveToMapTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/BaseDriveToMapTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/BaseDriveToMapTest.java
deleted file mode 100644
index 7fcfbd2..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/BaseDriveToMapTest.java
+++ /dev/null
@@ -1,64 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.Drive;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class BaseDriveToMapTest {
-
-   private static final BaseDriveToMap BASEDRIVE_TO_MAP = new BaseDriveToMap();
-
-   public void testBasics() {
-      assertEquals(BASEDRIVE_TO_MAP.apply(new Drive.Builder().name("foo").size(100l).build()),
-            ImmutableMap.of("name", "foo", "size", "100"));
-   }
-
-   public void testComplete() throws IOException {
-      Drive one = new Drive.Builder().name("Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-      //
-            .size(8589934592l)//
-            .claimType(ClaimType.SHARED)//
-            .tags(ImmutableSet.of("foo", "bar", "baz"))//
-            .readers(ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"))//
-            .use(ImmutableSet.of("tag1", "tag2"))//
-            .build();
-      assertEquals(
-            BASEDRIVE_TO_MAP.apply(one),
-            ImmutableMap.builder().put("name", "Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-                  .put("size", "8589934592")
-                  .put("claim:type", "shared")
-                  .put("tags", "foo bar baz")
-                  .put("readers", "ffffffff-ffff-ffff-ffff-ffffffffffff").put("use", "tag1 tag2").build()
-
-      );
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/DriveDataToMapTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/DriveDataToMapTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/DriveDataToMapTest.java
deleted file mode 100644
index 9c29d4d..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/DriveDataToMapTest.java
+++ /dev/null
@@ -1,78 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.DriveData;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class DriveDataToMapTest {
-   
-   public void testRenameKeyWhenNotFound() {
-      Map<String, String> nothing = ImmutableMap.of();
-      assertEquals(DriveDataToMap.renameKey(nothing, "foo", "bar"), nothing);
-   }
-
-   public void testRenameKeyWhenFound() {
-      Map<String, String> nothing = ImmutableMap.of("foo", "bar");
-      assertEquals(DriveDataToMap.renameKey(nothing, "foo", "bar"), ImmutableMap.of("bar", "bar"));
-   }
-
-   private static final DriveDataToMap BASEDRIVE_TO_MAP = Guice.createInjector().getInstance(DriveDataToMap.class);
-
-   public void testBasics() {
-      assertEquals(BASEDRIVE_TO_MAP.apply(new DriveData.Builder().name("foo").size(100l).build()),
-            ImmutableMap.of("name", "foo", "size", "100"));
-   }
-
-   public void testComplete() throws IOException {
-      DriveData one = new DriveData.Builder().name("Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-      //
-            .size(8589934592l)//
-            .claimType(ClaimType.SHARED)//
-            .tags(ImmutableSet.of("foo", "bar", "baz"))//
-            .readers(ImmutableSet.of("ffffffff-ffff-ffff-ffff-ffffffffffff"))//
-            .use(ImmutableSet.of("tag1", "tag2"))//
-            .build();
-      assertEquals(
-            BASEDRIVE_TO_MAP.apply(one),
-            ImmutableMap.builder()
-                  .put("name", "Ubuntu 10.10 Server Edition Linux 64bit Preinstalled System")
-                  .put("size", "8589934592")
-                  .put("claim:type", "shared")
-                  .put("tags", "foo bar baz")
-                  .put("readers", "ffffffff-ffff-ffff-ffff-ffffffffffff")
-                  .put("use", "tag1 tag2").build()
-
-      );
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java
deleted file mode 100644
index dd2aa5c..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java
+++ /dev/null
@@ -1,46 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class KeyValuesDelimitedByBlankLinesToDriveInfoTest {
-
-   private static final KeyValuesDelimitedByBlankLinesToDriveInfo FN = Guice.createInjector().getInstance(
-         KeyValuesDelimitedByBlankLinesToDriveInfo.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), null);
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToDriveInfoTest.class
-            .getResourceAsStream("/drive.txt")).build()), MapToDriveInfoTest.ONE);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfoTest.java
deleted file mode 100644
index 7c53d2c..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfoTest.java
+++ /dev/null
@@ -1,46 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class KeyValuesDelimitedByBlankLinesToProfileInfoTest {
-
-   private static final KeyValuesDelimitedByBlankLinesToProfileInfo FN = Guice.createInjector().getInstance(
-         KeyValuesDelimitedByBlankLinesToProfileInfo.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), null);
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToProfileInfoTest.class
-            .getResourceAsStream("/profile.txt")).build()), MapToProfileInfoTest.ONE);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java
deleted file mode 100644
index 4e5598b..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java
+++ /dev/null
@@ -1,77 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jclouds.cloudsigma.domain.Device;
-import org.jclouds.cloudsigma.domain.DriveMetrics;
-import org.jclouds.cloudsigma.domain.NIC;
-import org.jclouds.cloudsigma.domain.ServerMetrics;
-import org.jclouds.cloudsigma.functions.MapToDevices.DeviceToId;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class KeyValuesDelimitedByBlankLinesToServerInfoTest {
-
-   private static final KeyValuesDelimitedByBlankLinesToServerInfo FN = Guice.createInjector(new AbstractModule() {
-
-      @Override
-      protected void configure() {
-         bind(new TypeLiteral<Function<Map<String, String>, List<NIC>>>() {
-         }).to(MapToNICs.class);
-         bind(new TypeLiteral<Function<Map<String, String>, Map<String, ? extends Device>>>() {
-         }).to(MapToDevices.class);
-         bind(new TypeLiteral<Function<Map<String, String>, Map<String, ? extends DriveMetrics>>>() {
-         }).to(MapToDriveMetrics.class);
-         bind(new TypeLiteral<Function<Map<String, String>, ServerMetrics>>() {
-         }).to(MapToServerMetrics.class);
-         bind(new TypeLiteral<Function<Device, String>>() {
-         }).to(DeviceToId.class);
-      }
-
-   }).getInstance(KeyValuesDelimitedByBlankLinesToServerInfo.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), null);
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToServerInfoTest.class
-            .getResourceAsStream("/servers.txt")).build()), MapToServerInfoTest.ONE);
-   }
-
-   public void testNew() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToServerInfoTest.class
-            .getResourceAsStream("/new_server.txt")).build()), MapToServerInfoTest.NEW);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfoTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfoTest.java b/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfoTest.java
deleted file mode 100644
index 5c4185d..0000000
--- a/apis/cloudsigma/src/test/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfoTest.java
+++ /dev/null
@@ -1,46 +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.jclouds.cloudsigma.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class KeyValuesDelimitedByBlankLinesToVLANInfoTest {
-
-   private static final KeyValuesDelimitedByBlankLinesToVLANInfo FN = Guice.createInjector().getInstance(
-         KeyValuesDelimitedByBlankLinesToVLANInfo.class);
-
-   public void testNone() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload("\n\n").build()), null);
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").build()), null);
-   }
-
-   public void testOne() {
-      assertEquals(FN.apply(HttpResponse.builder().statusCode(200).message("").payload(MapToVLANInfoTest.class
-            .getResourceAsStream("/vlan.txt")).build()), MapToVLANInfoTest.ONE);
-   }
-}


[14/17] jclouds git commit: Finished partial fix in 91f405c9fedf24822015172e9e3c50acbd855d28.

Posted by ad...@apache.org.
Finished partial fix in 91f405c9fedf24822015172e9e3c50acbd855d28.


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

Branch: refs/heads/1.7.x
Commit: d6aeb77cae7a646488add60971fa2d0a9ba8fbe9
Parents: ca58491
Author: Adrian Cole <ad...@gmail.com>
Authored: Sun Nov 16 10:15:06 2014 -0800
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:37 2014 -0800

----------------------------------------------------------------------
 .../functions/RegionToAdminEndpointURI.java     | 31 +++++++++---
 .../AssignCorrectHostnameForBucket.java         | 28 +++--------
 .../DefaultEndpointThenInvalidateRegion.java    | 18 +++----
 .../AssignCorrectHostnameForBucketTest.java     | 53 ++++++++++----------
 ...DefaultEndpointThenInvalidateRegionTest.java | 25 ++++-----
 .../location/functions/RegionToEndpoint.java    | 21 +++-----
 .../RegionToEndpointOrProviderIfNull.java       | 14 ++----
 .../location/functions/ZoneToEndpoint.java      | 25 +++------
 8 files changed, 93 insertions(+), 122 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/functions/RegionToAdminEndpointURI.java
----------------------------------------------------------------------
diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/functions/RegionToAdminEndpointURI.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/functions/RegionToAdminEndpointURI.java
index f79f841..c6c1a34 100644
--- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/functions/RegionToAdminEndpointURI.java
+++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v2_0/functions/RegionToAdminEndpointURI.java
@@ -16,17 +16,34 @@
  */
 package org.jclouds.openstack.keystone.v2_0.functions;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
+
+import java.net.URI;
+import java.util.Map;
+
 import javax.inject.Inject;
 
-import org.jclouds.location.functions.RegionToEndpoint;
 import org.jclouds.openstack.keystone.v2_0.suppliers.RegionIdToAdminURISupplier;
 
-/**
- * @author Adam Lowe
- */
-public class RegionToAdminEndpointURI extends RegionToEndpoint {
+import com.google.common.base.Function;
+import com.google.common.base.Supplier;
+
+public final class RegionToAdminEndpointURI implements Function<Object, URI> {
+
+   private final RegionIdToAdminURISupplier regionToAdminEndpoints;
+
    @Inject
-   public RegionToAdminEndpointURI(RegionIdToAdminURISupplier regionToEndpointSupplier) {
-      super(regionToEndpointSupplier);
+   RegionToAdminEndpointURI(RegionIdToAdminURISupplier regionToAdminEndpoints) {
+      this.regionToAdminEndpoints = regionToAdminEndpoints;
+   }
+
+   @Override
+   public URI apply(Object from) {
+      Map<String, Supplier<URI>> regionToAdminEndpoint = regionToAdminEndpoints.get();
+      checkState(!regionToAdminEndpoint.isEmpty(), "no region name to admin endpoint mappings in keystone!");
+      checkArgument(regionToAdminEndpoint.containsKey(from),
+            "requested location %s, which is not in the keystone admin endpoints: %s", from, regionToAdminEndpoint);
+      return regionToAdminEndpoint.get(from).get();
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/apis/s3/src/main/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucket.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucket.java b/apis/s3/src/main/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucket.java
index 65db853..3a203b9 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucket.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucket.java
@@ -18,45 +18,33 @@ package org.jclouds.s3.functions;
 
 import java.net.URI;
 
-import javax.annotation.Resource;
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
-import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.logging.Logger;
 import org.jclouds.s3.Bucket;
 
 import com.google.common.base.Function;
 import com.google.common.base.Optional;
 
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class AssignCorrectHostnameForBucket implements Function<Object, URI> {
-   @Resource
-   protected Logger logger = Logger.NULL;
+public final class AssignCorrectHostnameForBucket implements Function<Object, URI> {
 
-   protected final RegionToEndpointOrProviderIfNull r2;
-   protected final Function<String, Optional<String>> bucketToRegion;
+   private final RegionToEndpointOrProviderIfNull delegate;
+   private final Function<String, Optional<String>> bucketToRegion;
 
    @Inject
-   public AssignCorrectHostnameForBucket(RegionToEndpointOrProviderIfNull r2,
+   AssignCorrectHostnameForBucket(RegionToEndpointOrProviderIfNull delegate,
             @Bucket Function<String, Optional<String>> bucketToRegion) {
       this.bucketToRegion = bucketToRegion;
-      this.r2 = r2;
+      this.delegate = delegate;
    }
 
    @Override
-   public URI apply(@Nullable Object from) {
+   public URI apply(Object from) {
       String bucket = from.toString();
       Optional<String> region = bucketToRegion.apply(bucket);
       if (region.isPresent()) {
-         return r2.apply(region.get());
+         return delegate.apply(region.get());
       }
-      return r2.apply(null);
+      return delegate.apply(null);
    }
-
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/apis/s3/src/main/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegion.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/main/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegion.java b/apis/s3/src/main/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegion.java
index 2ee9de6..8b087c6 100644
--- a/apis/s3/src/main/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegion.java
+++ b/apis/s3/src/main/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegion.java
@@ -19,7 +19,6 @@ package org.jclouds.s3.functions;
 import java.net.URI;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.s3.Bucket;
@@ -28,27 +27,22 @@ import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.cache.LoadingCache;
 
-/**
- *
- * @author Adrian Cole
- */
-@Singleton
-public class DefaultEndpointThenInvalidateRegion implements Function<Object, URI> {
+public final class DefaultEndpointThenInvalidateRegion implements Function<Object, URI> {
 
+   private final Function<Object, URI> delegate;
    private final LoadingCache<String, Optional<String>> bucketToRegionCache;
-   private final AssignCorrectHostnameForBucket r2;
 
    @Inject
-   public DefaultEndpointThenInvalidateRegion(AssignCorrectHostnameForBucket r2,
-            @Bucket LoadingCache<String, Optional<String>> bucketToRegionCache) {
-      this.r2 = r2;
+   DefaultEndpointThenInvalidateRegion(AssignCorrectHostnameForBucket delegate,
+         @Bucket LoadingCache<String, Optional<String>> bucketToRegionCache) {
+      this.delegate = delegate;
       this.bucketToRegionCache = bucketToRegionCache;
    }
 
    @Override
    public URI apply(@Nullable Object from) {
       try {
-         return r2.apply(from);
+         return delegate.apply(from);
       } finally {
          bucketToRegionCache.invalidate(from.toString());
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/apis/s3/src/test/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucketTest.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/test/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucketTest.java b/apis/s3/src/test/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucketTest.java
index e34d2c0..476f536 100644
--- a/apis/s3/src/test/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucketTest.java
+++ b/apis/s3/src/test/java/org/jclouds/s3/functions/AssignCorrectHostnameForBucketTest.java
@@ -21,6 +21,8 @@ import static org.testng.Assert.assertEquals;
 import java.net.URI;
 import java.util.Map;
 
+import org.jclouds.location.Provider;
+import org.jclouds.location.Region;
 import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
 import org.testng.annotations.Test;
 
@@ -29,44 +31,41 @@ import com.google.common.base.Optional;
 import com.google.common.base.Supplier;
 import com.google.common.base.Suppliers;
 import com.google.common.collect.ImmutableMap;
+import com.google.inject.Binder;
+import com.google.inject.Guice;
+import com.google.inject.Module;
+import com.google.inject.Provides;
 
-/**
- * Tests behavior of {@code AssignCorrectHostnameForBucket}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during
-// surefire
-@Test(groups = "unit", testName = "AssignCorrectHostnameForBucketTest")
+@Test
 public class AssignCorrectHostnameForBucketTest {
+   static final RegionToEndpointOrProviderIfNull REGION_TO_ENDPOINT = Guice.createInjector(new Module() {
+      @Override public void configure(Binder binder) {
+         binder.bindConstant().annotatedWith(Provider.class).to("s3");
+      }
 
-   public void testWhenNoBucketRegionMappingInCache() {
+      @Provides @Provider Supplier<URI> defaultUri() {
+         return Suppliers.ofInstance(URI.create("https://s3.amazonaws.com"));
+      }
 
-      AssignCorrectHostnameForBucket fn = new AssignCorrectHostnameForBucket(new RegionToEndpointOrProviderIfNull(
-               "aws-s3", Suppliers.ofInstance(URI.create("https://s3.amazonaws.com")),
+      @Provides @Region Supplier<Map<String, Supplier<URI>>> regionToEndpoints() {
+         Map<String, Supplier<URI>> regionToEndpoint = ImmutableMap.of( //
+               "us-standard", defaultUri(), //
+               "us-west-1", Suppliers.ofInstance(URI.create("https://s3-us-west-1.amazonaws.com")));
+         return Suppliers.ofInstance(regionToEndpoint);
+      }
+   }).getInstance(RegionToEndpointOrProviderIfNull.class);
 
-               Suppliers.<Map<String, Supplier<URI>>> ofInstance(ImmutableMap.of("us-standard",
-                        Suppliers.ofInstance(URI.create("https://s3.amazonaws.com")), "us-west-1",
-                        Suppliers.ofInstance(URI.create("https://s3-us-west-1.amazonaws.com"))))),
-                        
-               Functions.forMap(ImmutableMap.<String, Optional<String>> of("bucket", Optional.<String> absent())));
+   public void testWhenNoBucketRegionMappingInCache() {
+      AssignCorrectHostnameForBucket fn = new AssignCorrectHostnameForBucket(REGION_TO_ENDPOINT,
+            Functions.forMap(ImmutableMap.of("bucket", Optional.<String>absent())));
 
       assertEquals(fn.apply("bucket"), URI.create("https://s3.amazonaws.com"));
-
    }
 
    public void testWhenBucketRegionMappingInCache() {
-
-      AssignCorrectHostnameForBucket fn = new AssignCorrectHostnameForBucket(new RegionToEndpointOrProviderIfNull(
-               "aws-s3", Suppliers.ofInstance(URI.create("https://s3.amazonaws.com")),
-
-               Suppliers.<Map<String, Supplier<URI>>> ofInstance(ImmutableMap.of("us-standard",
-                        Suppliers.ofInstance(URI.create("https://s3.amazonaws.com")), "us-west-1",
-                        Suppliers.ofInstance(URI.create("https://s3-us-west-1.amazonaws.com"))))),
-               
-               Functions.forMap(ImmutableMap.<String, Optional<String>> of("bucket", Optional.of("us-west-1"))));
+      AssignCorrectHostnameForBucket fn = new AssignCorrectHostnameForBucket(REGION_TO_ENDPOINT,
+            Functions.forMap(ImmutableMap.of("bucket", Optional.of("us-west-1"))));
 
       assertEquals(fn.apply("bucket"), URI.create("https://s3-us-west-1.amazonaws.com"));
-
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/apis/s3/src/test/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegionTest.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/test/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegionTest.java b/apis/s3/src/test/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegionTest.java
index f28ebce..485dd0e 100644
--- a/apis/s3/src/test/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegionTest.java
+++ b/apis/s3/src/test/java/org/jclouds/s3/functions/DefaultEndpointThenInvalidateRegionTest.java
@@ -17,37 +17,30 @@
 package org.jclouds.s3.functions;
 
 import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
+import static org.jclouds.s3.functions.AssignCorrectHostnameForBucketTest.REGION_TO_ENDPOINT;
 
 import org.testng.annotations.Test;
 
+import com.google.common.base.Functions;
 import com.google.common.base.Optional;
 import com.google.common.cache.LoadingCache;
+import com.google.common.collect.ImmutableMap;
 
-/**
- * @author Adrian Cole
- */
-@Test(testName = "DefaultEndpointThenInvalidateRegionTest")
 public class DefaultEndpointThenInvalidateRegionTest {
-
    @SuppressWarnings("unchecked")
    @Test
-   void testInvalidate() throws Exception {
-      AssignCorrectHostnameForBucket r2 = createMock(AssignCorrectHostnameForBucket.class);
+   public void testInvalidate() throws Exception {
       LoadingCache<String, Optional<String>> bucketToRegionCache = createMock(LoadingCache.class);
 
-      expect(r2.apply("mybucket")).andReturn(URI.create("http://east-url"));
       bucketToRegionCache.invalidate("mybucket");
+      replay(bucketToRegionCache);
 
-      replay(r2, bucketToRegionCache);
-
-      new DefaultEndpointThenInvalidateRegion(r2, bucketToRegionCache).apply("mybucket");
-      verify(r2, bucketToRegionCache);
+      AssignCorrectHostnameForBucket delegate = new AssignCorrectHostnameForBucket(REGION_TO_ENDPOINT,
+            Functions.forMap(ImmutableMap.of("mybucket", Optional.of("us-west-1"))));
 
+      new DefaultEndpointThenInvalidateRegion(delegate, bucketToRegionCache).apply("mybucket");
+      verify(bucketToRegionCache);
    }
-
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java b/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
index 292c70d..4180f32 100644
--- a/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
+++ b/core/src/main/java/org/jclouds/location/functions/RegionToEndpoint.java
@@ -17,40 +17,33 @@
 package org.jclouds.location.functions;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
 import java.net.URI;
 import java.util.Map;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.location.Region;
 
 import com.google.common.base.Function;
 import com.google.common.base.Supplier;
 
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class RegionToEndpoint implements Function<Object, URI> {
+public final class RegionToEndpoint implements Function<Object, URI> {
 
-   private final Supplier<Map<String, Supplier<URI>>> regionToEndpointSupplier;
+   private final Supplier<Map<String, Supplier<URI>>> regionToEndpoints;
 
    @Inject
-   public RegionToEndpoint(@Region Supplier<Map<String, Supplier<URI>>> regionToEndpointSupplier) {
-      this.regionToEndpointSupplier = checkNotNull(regionToEndpointSupplier, "regionToEndpointSupplier");
+   RegionToEndpoint(@Region Supplier<Map<String, Supplier<URI>>> regionToEndpoints) {
+      this.regionToEndpoints = regionToEndpoints;
    }
 
    @Override
    public URI apply(Object from) {
-      Map<String, Supplier<URI>> regionToEndpoint = regionToEndpointSupplier.get();
-      checkState(regionToEndpoint.size() > 0, "no region name to endpoint mappings configured!");
+      Map<String, Supplier<URI>> regionToEndpoint = regionToEndpoints.get();
+      checkState(!regionToEndpoint.isEmpty(), "no region name to endpoint mappings configured!");
       checkArgument(regionToEndpoint.containsKey(from),
-               "requested location %s, which is not in the configured locations: %s", from, regionToEndpoint);
+               "requested location %s, which is not a configured region: %s", from, regionToEndpoint);
       return regionToEndpoint.get(from).get();
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/core/src/main/java/org/jclouds/location/functions/RegionToEndpointOrProviderIfNull.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/functions/RegionToEndpointOrProviderIfNull.java b/core/src/main/java/org/jclouds/location/functions/RegionToEndpointOrProviderIfNull.java
index 2159684..a71bbeb 100644
--- a/core/src/main/java/org/jclouds/location/functions/RegionToEndpointOrProviderIfNull.java
+++ b/core/src/main/java/org/jclouds/location/functions/RegionToEndpointOrProviderIfNull.java
@@ -17,13 +17,11 @@
 package org.jclouds.location.functions;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.net.URI;
 import java.util.Map;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
 import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.location.Provider;
@@ -38,25 +36,23 @@ import com.google.common.base.Supplier;
  * 
  * @author Adrian Cole
  */
-@Singleton
-public class RegionToEndpointOrProviderIfNull implements Function<Object, URI> {
+public final class RegionToEndpointOrProviderIfNull implements Function<Object, URI> {
    private final Supplier<URI> defaultUri;
    private final String defaultProvider;
    private final Supplier<Map<String, Supplier<URI>>> regionToEndpointSupplier;
 
    @Inject
-   public RegionToEndpointOrProviderIfNull(@Provider String defaultProvider, @Provider Supplier<URI> defaultUri,
+   RegionToEndpointOrProviderIfNull(@Provider String defaultProvider, @Provider Supplier<URI> defaultUri,
          @Region Supplier<Map<String, Supplier<URI>>> regionToEndpointSupplier) {
-      this.defaultProvider = checkNotNull(defaultProvider, "defaultProvider");
-      this.defaultUri = checkNotNull(defaultUri, "defaultUri");
-      this.regionToEndpointSupplier = checkNotNull(regionToEndpointSupplier, "regionToEndpointSupplier");
+      this.defaultProvider = defaultProvider;
+      this.defaultUri = defaultUri;
+      this.regionToEndpointSupplier = regionToEndpointSupplier;
    }
 
    @Override
    public URI apply(@Nullable Object from) {
       if (from == null)
          return defaultUri.get();
-      checkArgument(from instanceof String, "region is a String argument");
       Map<String, Supplier<URI>> regionToEndpoint = regionToEndpointSupplier.get();
       if (from.equals(defaultProvider)) {
          if (regionToEndpoint.containsKey(from))

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d6aeb77c/core/src/main/java/org/jclouds/location/functions/ZoneToEndpoint.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/location/functions/ZoneToEndpoint.java b/core/src/main/java/org/jclouds/location/functions/ZoneToEndpoint.java
index 19c180b..cb844dc 100644
--- a/core/src/main/java/org/jclouds/location/functions/ZoneToEndpoint.java
+++ b/core/src/main/java/org/jclouds/location/functions/ZoneToEndpoint.java
@@ -17,42 +17,33 @@
 package org.jclouds.location.functions;
 
 import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
 import java.net.URI;
 import java.util.Map;
 
 import javax.inject.Inject;
-import javax.inject.Singleton;
 
-import org.jclouds.javax.annotation.Nullable;
 import org.jclouds.location.Zone;
 
 import com.google.common.base.Function;
 import com.google.common.base.Supplier;
 
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ZoneToEndpoint implements Function<Object, URI> {
+public final class ZoneToEndpoint implements Function<Object, URI> {
 
-   private final Supplier<Map<String, Supplier<URI>>> zoneToEndpointSupplier;
+   private final Supplier<Map<String, Supplier<URI>>> zoneToEndpoints;
 
    @Inject
-   public ZoneToEndpoint(@Zone Supplier<Map<String, Supplier<URI>>> zoneToEndpointSupplier) {
-      this.zoneToEndpointSupplier = checkNotNull(zoneToEndpointSupplier, "zoneToEndpointSupplier");
+   ZoneToEndpoint(@Zone Supplier<Map<String, Supplier<URI>>> zoneToEndpoints) {
+      this.zoneToEndpoints = zoneToEndpoints;
    }
 
    @Override
-   public URI apply(@Nullable Object from) {
-      checkArgument(from != null && from instanceof String, "you must specify a zone, as a String argument");
-      Map<String, Supplier<URI>> zoneToEndpoint = zoneToEndpointSupplier.get();
-      checkState(zoneToEndpoint.size() > 0, "no zone name to endpoint mappings configured!");
+   public URI apply(Object from) {
+      Map<String, Supplier<URI>> zoneToEndpoint = zoneToEndpoints.get();
+      checkState(!zoneToEndpoint.isEmpty(), "no zone name to endpoint mappings configured!");
       checkArgument(zoneToEndpoint.containsKey(from),
-               "requested location %s, which is not in the configured locations: %s", from, zoneToEndpoint);
+               "requested location %s, which is not a configured zone: %s", from, zoneToEndpoint);
       return zoneToEndpoint.get(from).get();
    }
 }


[17/17] jclouds git commit: JCLOUDS-778 Remove OS support tests from TemplateBuilderLiveTest, as people are ignoring failures,

Posted by ad...@apache.org.
JCLOUDS-778 Remove OS support tests from TemplateBuilderLiveTest, as people are ignoring failures,


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

Branch: refs/heads/1.7.x
Commit: aec64012ee5cc1a295e9490ddb5a70dd9b9eee16
Parents: 4b813ce
Author: Adrian Cole <ad...@gmail.com>
Authored: Sun Nov 16 19:17:17 2014 -0800
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:42 2014 -0800

----------------------------------------------------------------------
 .../StubTemplateBuilderIntegrationTest.java     |  2 +-
 .../internal/BaseTemplateBuilderLiveTest.java   | 72 --------------------
 .../compute/AWSEC2TemplateBuilderLiveTest.java  | 32 +--------
 .../CloudServersUKTemplateBuilderLiveTest.java  | 29 --------
 .../CloudServersUSTemplateBuilderLiveTest.java  | 31 +--------
 ...icHostsAmsterdamTemplateBuilderLiveTest.java | 29 --------
 ...ticHostsHongKongTemplateBuilderLiveTest.java | 31 +--------
 ...sPeer1LosAngelesTemplateBuilderLiveTest.java | 31 +--------
 ...BlueSquareLondonTemplateBuilderLiveTest.java | 29 --------
 ...HostsPeer1LondonTemplateBuilderLiveTest.java | 31 +--------
 ...sPeer1SanAntonioTemplateBuilderLiveTest.java | 31 +--------
 ...sticHostsSanJoseTemplateBuilderLiveTest.java | 29 --------
 ...asticHostsSydneyTemplateBuilderLiveTest.java | 29 --------
 ...ostsPeer1TorontoTemplateBuilderLiveTest.java | 29 --------
 .../compute/GleSYSTemplateBuilderLiveTest.java  | 37 +---------
 ...oudJohannesburg1TemplateBuilderLiveTest.java | 26 +------
 .../compute/GoGridTemplateBuilderLiveTest.java  | 28 +-------
 .../HPCloudComputeTemplateBuilderLiveTest.java  | 28 +-------
 ...OpenHostingEast1TemplateBuilderLiveTest.java | 28 +-------
 .../CloudServersUKTemplateBuilderLiveTest.java  | 28 --------
 .../CloudServersUSTemplateBuilderLiveTest.java  | 30 +-------
 ...erloveManchesterTemplateBuilderLiveTest.java | 28 +-------
 ...aliCloudMalaysiaTemplateBuilderLiveTest.java | 33 +--------
 .../SoftLayerTemplateBuilderLiveTest.java       | 31 ---------
 24 files changed, 16 insertions(+), 716 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/compute/src/test/java/org/jclouds/compute/StubTemplateBuilderIntegrationTest.java
----------------------------------------------------------------------
diff --git a/compute/src/test/java/org/jclouds/compute/StubTemplateBuilderIntegrationTest.java b/compute/src/test/java/org/jclouds/compute/StubTemplateBuilderIntegrationTest.java
index 2395217..f8a340d 100644
--- a/compute/src/test/java/org/jclouds/compute/StubTemplateBuilderIntegrationTest.java
+++ b/compute/src/test/java/org/jclouds/compute/StubTemplateBuilderIntegrationTest.java
@@ -37,7 +37,7 @@ public class StubTemplateBuilderIntegrationTest extends BaseTemplateBuilderLiveT
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of();
+      return ImmutableSet.of();
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java b/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
index 501aba5..d0f8438 100644
--- a/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
+++ b/compute/src/test/java/org/jclouds/compute/internal/BaseTemplateBuilderLiveTest.java
@@ -29,13 +29,9 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.config.BaseComputeServiceContextModule;
 import org.jclouds.compute.domain.Hardware;
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.reference.ComputeServiceConstants;
 import org.jclouds.domain.Location;
 import org.jclouds.domain.LocationScope;
 import org.jclouds.domain.LoginCredentials;
@@ -43,11 +39,8 @@ import org.jclouds.io.CopyInputStreamInputSupplierMap;
 import org.jclouds.json.Json;
 import org.jclouds.json.config.GsonModule;
 import org.jclouds.rest.config.CredentialStoreModule;
-import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.base.Splitter;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
@@ -70,10 +63,6 @@ public abstract class BaseTemplateBuilderLiveTest extends BaseComputeServiceCont
       Hardware fastest = view.getComputeService().templateBuilder().fastest().build().getHardware();
       Hardware biggest = view.getComputeService().templateBuilder().biggest().build().getHardware();
 
-      System.out.printf("smallest %s%n", smallest);
-      System.out.printf("fastest %s%n", fastest);
-      System.out.printf("biggest %s%n", biggest);
-
       assertEquals(defaultSize, smallest);
 
       assert getCores(smallest) <= getCores(fastest) : String.format("%s ! <= %s", smallest, fastest);
@@ -92,66 +81,6 @@ public abstract class BaseTemplateBuilderLiveTest extends BaseComputeServiceCont
             defaultTemplate.toString());
    }
 
-   @DataProvider(name = "osSupported")
-   public Object[][] osSupported() {
-      return convertToArray(Sets.filter(provideAllOperatingSystems(),
-            Predicates.not(defineUnsupportedOperatingSystems())));
-   }
-
-   protected Object[][] convertToArray(Set<OsFamilyVersion64Bit> supportedOperatingSystems) {
-      Object[][] returnVal = new Object[supportedOperatingSystems.size()][1];
-      int i = 0;
-      for (OsFamilyVersion64Bit config : supportedOperatingSystems)
-         returnVal[i++][0] = config;
-      return returnVal;
-   }
-
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.alwaysFalse();
-   }
-
-   @DataProvider(name = "osNotSupported")
-   public Object[][] osNotSupported() {
-      return convertToArray(Sets.filter(provideAllOperatingSystems(), defineUnsupportedOperatingSystems()));
-   }
-
-   protected Set<OsFamilyVersion64Bit> provideAllOperatingSystems() {
-      Map<OsFamily, Map<String, String>> map = new BaseComputeServiceContextModule() {
-      }.provideOsVersionMap(new ComputeServiceConstants.ReferenceData(), Guice.createInjector(new GsonModule())
-            .getInstance(Json.class));
-
-      Set<OsFamilyVersion64Bit> supportedOperatingSystems = Sets.newHashSet();
-      for (Entry<OsFamily, Map<String, String>> osVersions : map.entrySet()) {
-         for (String version : Sets.newHashSet(osVersions.getValue().values())) {
-            supportedOperatingSystems.add(new OsFamilyVersion64Bit(osVersions.getKey(), version, false));
-            supportedOperatingSystems.add(new OsFamilyVersion64Bit(osVersions.getKey(), version, true));
-         }
-      }
-      return supportedOperatingSystems;
-   }
-
-   @Test(dataProvider = "osSupported")
-   public void testTemplateBuilderCanFind(OsFamilyVersion64Bit matrix) throws InterruptedException {
-      TemplateBuilder builder = view.getComputeService().templateBuilder().osFamily(matrix.family)
-            .os64Bit(matrix.is64Bit);
-      if (!matrix.version.equals(""))
-         builder.osVersionMatches("^" + matrix.version + "$");
-      Template template = builder.build();
-      if (!matrix.version.equals(""))
-         assertEquals(template.getImage().getOperatingSystem().getVersion(), matrix.version);
-      assertEquals(template.getImage().getOperatingSystem().is64Bit(), matrix.is64Bit);
-      assertEquals(template.getImage().getOperatingSystem().getFamily(), matrix.family);
-   }
-
-   @Test(dataProvider = "osNotSupported", expectedExceptions = NoSuchElementException.class)
-   public void testTemplateBuilderCannotFind(OsFamilyVersion64Bit matrix) throws InterruptedException {
-      TemplateBuilder builder = view.getComputeService().templateBuilder().osFamily(matrix.family)
-            .os64Bit(matrix.is64Bit);
-      if (!matrix.version.equals(""))
-         builder.osVersionMatches("^" + matrix.version + "$");
-      builder.build();
-   }
-
    @Test
    public void testTemplateBuilderCanUseImageId() throws Exception {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
@@ -179,7 +108,6 @@ public abstract class BaseTemplateBuilderLiveTest extends BaseComputeServiceCont
    public void testGetAssignableLocations() throws Exception {
       assertProvider(view.unwrap());
       for (Location location : view.getComputeService().listAssignableLocations()) {
-         System.err.printf("location %s%n", location);
          assert location.getId() != null : location;
          assert location != location.getParent() : location;
          assert location.getScope() != null : location;

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
index 3cbad70..f53b90f 100644
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
+++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
@@ -31,7 +31,6 @@ import org.jclouds.aws.ec2.AWSEC2Api;
 import org.jclouds.aws.ec2.reference.AWSEC2Constants;
 import org.jclouds.compute.ComputeServiceContext;
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.ec2.EC2Api;
 import org.jclouds.ec2.compute.EC2TemplateBuilderLiveTest;
@@ -48,8 +47,6 @@ import org.jclouds.location.reference.LocationConstants;
 import org.jclouds.logging.log4j.config.Log4JLoggingModule;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
 import com.google.inject.Module;
@@ -65,33 +62,6 @@ public class AWSEC2TemplateBuilderLiveTest extends EC2TemplateBuilderLiveTest {
       provider = "aws-ec2";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return true;
-            case DEBIAN:
-               return true;
-            case RHEL:
-                  return input.version.equals("5.6") || input.version.equals("")
-                           || (input.version.matches("[56].0") && input.is64Bit);
-            case CENTOS:
-               return input.version.matches("5.[0246]") || (input.version.equals("6.0") && input.is64Bit)
-                     || input.version.equals("");
-            case WINDOWS:
-               return input.version.matches("200[38]") || (input.version.equals("7") && !input.is64Bit)
-                     || input.version.equals("");
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testTemplateBuilderM1MEDIUMWithNegativeLookaroundDoesntMatchTestImages() {
 
@@ -361,7 +331,7 @@ public class AWSEC2TemplateBuilderLiveTest extends EC2TemplateBuilderLiveTest {
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-VA", "US-CA", "US-OR", "BR-SP", "IE", "SG", "AU-NSW", "JP-13");
+      return ImmutableSet.of("US-VA", "US-CA", "US-OR", "BR-SP", "IE", "SG", "AU-NSW", "JP-13");
    }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUKTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUKTemplateBuilderLiveTest.java b/providers/cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUKTemplateBuilderLiveTest.java
index 793f523..d3a6c92 100644
--- a/providers/cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUKTemplateBuilderLiveTest.java
+++ b/providers/cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUKTemplateBuilderLiveTest.java
@@ -22,13 +22,10 @@ import static org.testng.Assert.assertEquals;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -41,32 +38,6 @@ public class CloudServersUKTemplateBuilderLiveTest extends BaseTemplateBuilderLi
    public CloudServersUKTemplateBuilderLiveTest() {
       provider = "cloudservers-uk";
    }
-   
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.matches("(10.04)|(12.04)|(12.10)|(13.04)"))
-                           && input.is64Bit;
-               case DEBIAN:
-                  return input.is64Bit && !input.version.equals("5.0");
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("5.6") || input.version.equals("6.0"))
-                           && input.is64Bit;
-               case WINDOWS:
-                  return input.version.equals("2008 SP2") || input.version.equals("")
-                           || (input.version.equals("2008 R2") && input.is64Bit);
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
 
    @Test
    public void testTemplateBuilder() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUSTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUSTemplateBuilderLiveTest.java b/providers/cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUSTemplateBuilderLiveTest.java
index 940a8c7..14b534f 100644
--- a/providers/cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUSTemplateBuilderLiveTest.java
+++ b/providers/cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/compute/CloudServersUSTemplateBuilderLiveTest.java
@@ -22,13 +22,10 @@ import static org.testng.Assert.assertEquals;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -42,32 +39,6 @@ public class CloudServersUSTemplateBuilderLiveTest extends BaseTemplateBuilderLi
       provider = "cloudservers-us";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.matches("(10.04)|(12.04)|(12.10)|(13.04)"))
-                           && input.is64Bit;
-               case DEBIAN:
-                  return input.is64Bit && !input.version.equals("5.0");
-               case CENTOS:
-                  return (input.version.equals("") || input.version.matches("(5.6)|(5.8)|(5.9)|(6.0)|(6.2)|(6.3)|(6.4)"))
-                           && input.is64Bit;
-               case WINDOWS:
-                  return input.version.equals("2008 SP2") || input.version.equals("")
-                           || (input.version.equals("2008 R2") && input.is64Bit);
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testTemplateBuilder() {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
@@ -80,6 +51,6 @@ public class CloudServersUSTemplateBuilderLiveTest extends BaseTemplateBuilderLi
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-IL", "US-TX", "AU-NSW");
+      return ImmutableSet.of("US-IL", "US-TX", "AU-NSW");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-ams-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsAmsterdamTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-ams-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsAmsterdamTemplateBuilderLiveTest.java b/providers/elastichosts-ams-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsAmsterdamTemplateBuilderLiveTest.java
index 1c8121f..bc98e4c 100644
--- a/providers/elastichosts-ams-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsAmsterdamTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-ams-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsAmsterdamTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,32 +41,6 @@ public class ElasticHostsAmsterdamTemplateBuilderLiveTest extends BaseTemplateBu
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-hkg-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsHongKongTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-hkg-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsHongKongTemplateBuilderLiveTest.java b/providers/elastichosts-hkg-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsHongKongTemplateBuilderLiveTest.java
index 4276e74..e6ba8df 100644
--- a/providers/elastichosts-hkg-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsHongKongTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-hkg-e/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsHongKongTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,32 +41,6 @@ public class ElasticHostsHongKongTemplateBuilderLiveTest extends BaseTemplateBui
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));
@@ -80,6 +51,6 @@ public class ElasticHostsHongKongTemplateBuilderLiveTest extends BaseTemplateBui
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("HK");
+      return ImmutableSet.of("HK");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-lax-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-lax-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest.java b/providers/elastichosts-lax-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest.java
index 5fe8bf5..df0a7f7 100644
--- a/providers/elastichosts-lax-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-lax-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -45,32 +42,6 @@ public class ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest extends BaseTemp
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));
@@ -81,6 +52,6 @@ public class ElasticHostsPeer1LosAngelesTemplateBuilderLiveTest extends BaseTemp
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-CA");
+      return ImmutableSet.of("US-CA");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java
index 1a14338..d1a8f06 100644
--- a/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-lon-b/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsBlueSquareLondonTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,32 +41,6 @@ public class ElasticHostsBlueSquareLondonTemplateBuilderLiveTest extends BaseTem
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java
index bf5b692..b823cf7 100644
--- a/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-lon-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1LondonTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -45,32 +42,6 @@ public class ElasticHostsPeer1LondonTemplateBuilderLiveTest extends BaseTemplate
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));
@@ -81,6 +52,6 @@ public class ElasticHostsPeer1LondonTemplateBuilderLiveTest extends BaseTemplate
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("GB-LND");
+      return ImmutableSet.of("GB-LND");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java
index 1988ec7..0acb084 100644
--- a/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-sat-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -45,32 +42,6 @@ public class ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest extends BaseTemp
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));
@@ -81,6 +52,6 @@ public class ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest extends BaseTemp
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-TX");
+      return ImmutableSet.of("US-TX");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-sjc-c/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSanJoseTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-sjc-c/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSanJoseTemplateBuilderLiveTest.java b/providers/elastichosts-sjc-c/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSanJoseTemplateBuilderLiveTest.java
index 85f54b4..950e6ea 100644
--- a/providers/elastichosts-sjc-c/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSanJoseTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-sjc-c/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSanJoseTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,32 +41,6 @@ public class ElasticHostsSanJoseTemplateBuilderLiveTest extends BaseTemplateBuil
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-syd-v/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSydneyTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-syd-v/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSydneyTemplateBuilderLiveTest.java b/providers/elastichosts-syd-v/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSydneyTemplateBuilderLiveTest.java
index ceaf269..2579692 100644
--- a/providers/elastichosts-syd-v/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSydneyTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-syd-v/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsSydneyTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,32 +41,6 @@ public class ElasticHostsSydneyTemplateBuilderLiveTest extends BaseTemplateBuild
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/elastichosts-tor-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1TorontoTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/elastichosts-tor-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1TorontoTemplateBuilderLiveTest.java b/providers/elastichosts-tor-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1TorontoTemplateBuilderLiveTest.java
index 75bd1d0..3f3bc41 100644
--- a/providers/elastichosts-tor-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1TorontoTemplateBuilderLiveTest.java
+++ b/providers/elastichosts-tor-p/src/test/java/org/jclouds/elastichosts/compute/ElasticHostsPeer1TorontoTemplateBuilderLiveTest.java
@@ -24,13 +24,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -45,32 +42,6 @@ public class ElasticHostsPeer1TorontoTemplateBuilderLiveTest extends BaseTemplat
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(final OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.equals("12.04.1") || input.version.equals("13.10") || input.version
-                        .equals("14.04")) && input.is64Bit;
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.matches("7.4")) && input.is64Bit;
-               case CENTOS:
-                  return (input.version.equals("") || input.version.equals("6.5")) && input.is64Bit;
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")
-                        || input.version.equals("2008 R2 + SQL") || input.version.equals("2012") || input.version
-                           .equals("2012 R2 + SQL")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
       assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("1[01234].[01][04].[0-9]*"));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/glesys/src/test/java/org/jclouds/glesys/compute/GleSYSTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/glesys/src/test/java/org/jclouds/glesys/compute/GleSYSTemplateBuilderLiveTest.java b/providers/glesys/src/test/java/org/jclouds/glesys/compute/GleSYSTemplateBuilderLiveTest.java
index b2043aa..0833fcd 100644
--- a/providers/glesys/src/test/java/org/jclouds/glesys/compute/GleSYSTemplateBuilderLiveTest.java
+++ b/providers/glesys/src/test/java/org/jclouds/glesys/compute/GleSYSTemplateBuilderLiveTest.java
@@ -24,15 +24,12 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.domain.Volume;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.jclouds.glesys.compute.options.GleSYSTemplateOptions;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -46,38 +43,6 @@ public class GleSYSTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
       provider = "glesys";
    }
 
-   // / allows us to break when a new os is added
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return input.version.equals("")
-                     || input.version.equals("10.04")
-                     || input.version.equals("12.04")
-                     || ((input.version.equals("8.04") || input.version.equals("11.04") || input.version
-                           .equals("10.10")) && input.is64Bit);
-            case DEBIAN:
-               return input.version.equals("") || input.version.matches("[56].0");
-            case FEDORA:
-               return input.version.equals("") || input.version.equals("13") || input.version.equals("15");
-            case CENTOS:
-               return input.version.equals("") || input.version.equals("5") || input.version.equals("5.5")
-                     || input.version.equals("5.0") || input.version.equals("6.0");
-            case WINDOWS:
-               return (input.version.equals("") || input.version.equals("2008")
-                     || input.version.equals("2008 R2")) && input.is64Bit;
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
@@ -96,6 +61,6 @@ public class GleSYSTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("NL-NH", "SE-N", "US-NY", "SE-AB");
+      return ImmutableSet.of("NL-NH", "SE-N", "US-NY", "SE-AB");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/go2cloud-jhb1/src/test/java/org/jclouds/go2cloud/compute/Go2CloudJohannesburg1TemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/go2cloud-jhb1/src/test/java/org/jclouds/go2cloud/compute/Go2CloudJohannesburg1TemplateBuilderLiveTest.java b/providers/go2cloud-jhb1/src/test/java/org/jclouds/go2cloud/compute/Go2CloudJohannesburg1TemplateBuilderLiveTest.java
index 9752bd4..9050196 100644
--- a/providers/go2cloud-jhb1/src/test/java/org/jclouds/go2cloud/compute/Go2CloudJohannesburg1TemplateBuilderLiveTest.java
+++ b/providers/go2cloud-jhb1/src/test/java/org/jclouds/go2cloud/compute/Go2CloudJohannesburg1TemplateBuilderLiveTest.java
@@ -23,13 +23,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -43,27 +40,6 @@ public class Go2CloudJohannesburg1TemplateBuilderLiveTest extends BaseTemplateBu
       provider = "go2cloud-jhb1";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return (input.version.equals("") || input.version.equals("10.10")) && input.is64Bit;
-            case DEBIAN:
-               return (input.version.equals("") || input.version.equals("6.0")) && input.is64Bit;
-            case WINDOWS:
-               return input.version.equals("") && input.is64Bit;
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
@@ -76,6 +52,6 @@ public class Go2CloudJohannesburg1TemplateBuilderLiveTest extends BaseTemplateBu
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("ZA-GP");
+      return ImmutableSet.of("ZA-GP");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/gogrid/src/test/java/org/jclouds/gogrid/compute/GoGridTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/gogrid/src/test/java/org/jclouds/gogrid/compute/GoGridTemplateBuilderLiveTest.java b/providers/gogrid/src/test/java/org/jclouds/gogrid/compute/GoGridTemplateBuilderLiveTest.java
index 930b818..fc56de3 100644
--- a/providers/gogrid/src/test/java/org/jclouds/gogrid/compute/GoGridTemplateBuilderLiveTest.java
+++ b/providers/gogrid/src/test/java/org/jclouds/gogrid/compute/GoGridTemplateBuilderLiveTest.java
@@ -23,13 +23,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,29 +41,6 @@ public class GoGridTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
       provider = "gogrid";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case RHEL:
-                  return input.version.equals("") || input.version.matches("5.[67]");
-               case DEBIAN:
-                  return input.version.equals("") || input.version.matches("[56].0");
-               case UBUNTU:
-                  return input.version.equals("") || input.version.equals("10.04");
-               case CENTOS:
-                  return input.version.equals("") || input.version.matches("5.[06]") || input.version.equals("6.0");
-               case WINDOWS:
-                  return input.version.equals("") || input.version.matches("200[38]");
-               default:
-                  return false;
-            }
-         }
-      });
-   }
-
    @Test
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
@@ -78,6 +52,6 @@ public class GoGridTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-CA", "US-VA", "NL-NH");
+      return ImmutableSet.of("US-CA", "US-VA", "NL-NH");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/hpcloud-compute/src/test/java/org/jclouds/hpcloud/compute/compute/HPCloudComputeTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/hpcloud-compute/src/test/java/org/jclouds/hpcloud/compute/compute/HPCloudComputeTemplateBuilderLiveTest.java b/providers/hpcloud-compute/src/test/java/org/jclouds/hpcloud/compute/compute/HPCloudComputeTemplateBuilderLiveTest.java
index c06fcb3..618c296 100644
--- a/providers/hpcloud-compute/src/test/java/org/jclouds/hpcloud/compute/compute/HPCloudComputeTemplateBuilderLiveTest.java
+++ b/providers/hpcloud-compute/src/test/java/org/jclouds/hpcloud/compute/compute/HPCloudComputeTemplateBuilderLiveTest.java
@@ -23,14 +23,11 @@ import static org.testng.Assert.assertTrue;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,29 +41,6 @@ public class HPCloudComputeTemplateBuilderLiveTest extends BaseTemplateBuilderLi
       provider = "hpcloud-compute";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.matches("(10.04)|(11.10)|(12.04)|(12.10)|(13.04)|(13.10)")) && input.is64Bit;
-               case DEBIAN:
-                  return input.is64Bit && !input.version.matches("(5.[0-9])|(6.[0-9])|(7.[0-9])");
-               case CENTOS:
-                  return (input.version.equals("") || input.version.matches("(5.0)|(5.8)|(6.3)|(6.5)")) && input.is64Bit;
-               case WINDOWS:
-                  return input.version.equals("") || input.version.equals("2008") || (input.version.equals("2008 R2") && input.is64Bit);
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testTemplateBuilder() {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
@@ -84,6 +58,6 @@ public class HPCloudComputeTemplateBuilderLiveTest extends BaseTemplateBuilderLi
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-NV", "US-VA");
+      return ImmutableSet.of("US-NV", "US-VA");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java
index 3954d07..5ee3419 100644
--- a/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java
+++ b/providers/openhosting-east1/src/test/java/org/jclouds/openhosting/compute/OpenHostingEast1TemplateBuilderLiveTest.java
@@ -23,13 +23,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -43,29 +40,6 @@ public class OpenHostingEast1TemplateBuilderLiveTest extends BaseTemplateBuilder
       provider = "openhosting-east1";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case WINDOWS:
-               return (input.version.equals("") || input.version.equals("2008 R2")) && input.is64Bit;
-            case UBUNTU:
-               return (input.version.equals("") || input.version.equals("10.04")) && input.is64Bit;
-            case DEBIAN:
-               return (input.version.equals("") || input.version.matches("[56].0")) && input.is64Bit;
-            case CENTOS:
-               return (input.version.equals("") || input.version.matches("5.[567]")) && input.is64Bit;
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
@@ -78,6 +52,6 @@ public class OpenHostingEast1TemplateBuilderLiveTest extends BaseTemplateBuilder
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-VA");
+      return ImmutableSet.of("US-VA");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/rackspace-cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/uk/compute/CloudServersUKTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/uk/compute/CloudServersUKTemplateBuilderLiveTest.java b/providers/rackspace-cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/uk/compute/CloudServersUKTemplateBuilderLiveTest.java
index 78d1637..833d198 100644
--- a/providers/rackspace-cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/uk/compute/CloudServersUKTemplateBuilderLiveTest.java
+++ b/providers/rackspace-cloudservers-uk/src/test/java/org/jclouds/rackspace/cloudservers/uk/compute/CloudServersUKTemplateBuilderLiveTest.java
@@ -23,14 +23,11 @@ import static org.testng.Assert.assertNull;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,31 +41,6 @@ public class CloudServersUKTemplateBuilderLiveTest extends BaseTemplateBuilderLi
       provider = "rackspace-cloudservers-uk";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.matches("(10.04)|(12.04)|(12.10)|(13.04)"))
-                           && input.is64Bit;
-               case DEBIAN:
-                  return input.is64Bit && !input.version.equals("5.0");
-               case CENTOS:
-                  return (input.version.equals("") || input.version.matches("(5.0)|(5.6)|(5.8)|(5.9)|(6.0)|(6.2)|(6.3)|(6.4)"))
-                           && input.is64Bit;
-               case WINDOWS:
-                  return input.is64Bit && input.version.equals("");
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testTemplateBuilder() {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/rackspace-cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/us/compute/CloudServersUSTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/rackspace-cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/us/compute/CloudServersUSTemplateBuilderLiveTest.java b/providers/rackspace-cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/us/compute/CloudServersUSTemplateBuilderLiveTest.java
index 55bdebd..a704f73 100644
--- a/providers/rackspace-cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/us/compute/CloudServersUSTemplateBuilderLiveTest.java
+++ b/providers/rackspace-cloudservers-us/src/test/java/org/jclouds/rackspace/cloudservers/us/compute/CloudServersUSTemplateBuilderLiveTest.java
@@ -23,14 +23,11 @@ import static org.testng.Assert.assertNull;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.jclouds.openstack.nova.v2_0.compute.options.NovaTemplateOptions;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -44,31 +41,6 @@ public class CloudServersUSTemplateBuilderLiveTest extends BaseTemplateBuilderLi
       provider = "rackspace-cloudservers-us";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return (input.version.equals("") || input.version.matches("(10.04)|(12.04)|(12.10)|(13.04)"))
-                           && input.is64Bit;
-               case DEBIAN:
-                  return input.is64Bit && !input.version.equals("5.0");
-               case CENTOS:
-                  return (input.version.equals("") || input.version.matches("(5.0)|(5.6)|(5.8)|(5.9)|(6.0)|(6.2)|(6.3)|(6.4)"))
-                           && input.is64Bit;
-               case WINDOWS:
-                  return input.is64Bit && input.version.equals("");
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testTemplateBuilder() {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
@@ -87,6 +59,6 @@ public class CloudServersUSTemplateBuilderLiveTest extends BaseTemplateBuilderLi
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-IL", "US-TX", "AU-NSW");
+      return ImmutableSet.of("US-IL", "US-TX", "AU-NSW");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java
index 49d3e6b..f3e6395 100644
--- a/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java
+++ b/providers/serverlove-z1-man/src/test/java/org/jclouds/serverlove/compute/ServerloveManchesterTemplateBuilderLiveTest.java
@@ -22,13 +22,10 @@ import static org.testng.Assert.assertEquals;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -42,29 +39,6 @@ public class ServerloveManchesterTemplateBuilderLiveTest extends BaseTemplateBui
       provider = "serverlove-z1-man";
    }
 
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return (input.version.equals("") || input.version.equals("10.04") || input.version.equals("12.04")) && input.is64Bit;
-            case DEBIAN:
-               return (input.version.equals("") || input.version.equals("6.0")) && input.is64Bit;
-            case CENTOS:
-               return (input.version.equals("") || input.version.equals("5.7") || input.version.equals("6.2")) && input.is64Bit;
-            case WINDOWS:
-               return (input.version.equals("") || input.version.equals("2008 R2") || input.version.equals("2008 R2 SP1 SQL") || input.version.equals("2012") || input.version.equals("2008 R2 Web") || input.version.equals("2008 R2 SP1 Web SQL")) && input.is64Bit;
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testTemplateBuilder() {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
@@ -77,6 +51,6 @@ public class ServerloveManchesterTemplateBuilderLiveTest extends BaseTemplateBui
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("GB-MAN");
+      return ImmutableSet.of("GB-MAN");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java
index 2a23509..3fbdca0 100644
--- a/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java
+++ b/providers/skalicloud-sdg-my/src/test/java/org/jclouds/skalicloud/compute/SkaliCloudMalaysiaTemplateBuilderLiveTest.java
@@ -23,13 +23,10 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
 import org.testng.annotations.Test;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableSet;
 
 /**
@@ -37,39 +34,13 @@ import com.google.common.collect.ImmutableSet;
  * @author Adrian Cole
  */
 @Test(groups = "live")
-public class SkaliCloudMalaysiaTemplateBuilderLiveTest
-      extends
-      BaseTemplateBuilderLiveTest {
+public class SkaliCloudMalaysiaTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
 
    public SkaliCloudMalaysiaTemplateBuilderLiveTest() {
       provider = "skalicloud-sdg-my";
    }
 
    @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case UBUNTU:
-                  return input.version.equals("") || input.version.matches("10.[01][04]");
-               case DEBIAN:
-                  return (input.version.equals("") || input.version.equals("5.0"))
-                           || (input.version.equals("6.0") && input.is64Bit);
-               case CENTOS:
-                  return input.version.equals("") || input.version.matches("5.[56]");
-               case WINDOWS:
-                  return (input.version.equals("") || input.version.equals("2008 R2")) && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   @Override
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = this.view.getComputeService().templateBuilder().build();
       assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
@@ -81,6 +52,6 @@ public class SkaliCloudMalaysiaTemplateBuilderLiveTest
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("MY-10");
+      return ImmutableSet.of("MY-10");
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/aec64012/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java
index 98f31e7..401e52f 100644
--- a/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java
+++ b/providers/softlayer/src/test/java/org/jclouds/softlayer/compute/SoftLayerTemplateBuilderLiveTest.java
@@ -29,7 +29,6 @@ import java.util.Set;
 
 import org.jclouds.compute.ComputeServiceContext;
 import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.domain.Volume;
 import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
@@ -51,35 +50,6 @@ public class SoftLayerTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTes
       provider = "softlayer";
    }
 
-   // / allows us to break when a new os is added
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return Predicates.not(new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            // For each os-type both 32- and 64-bit are supported.
-            switch (input.family) {
-            case UBUNTU:
-               return input.version.equals("") || input.version.equals("10.04") || input.version.equals("12.04") || input.version.equals("8");
-            case DEBIAN:
-               return input.version.equals("") || input.version.matches("[56].0");
-            case FEDORA:
-               return input.version.equals("") || input.version.equals("13") || input.version.equals("15");
-            case RHEL:
-               return input.version.equals("") || input.version.equals("5") || input.version.equals("6");
-            case CENTOS:
-               return input.version.equals("") || input.version.equals("5") || input.version.equals("6.0");
-            case WINDOWS:
-               return input.version.equals("") || input.version.equals("2003") || input.version.equals("2008");
-            default:
-               return false;
-            }
-         }
-
-      });
-   }
-
    @Test
    public void testDefaultTemplateBuilder() throws IOException {
       Template defaultTemplate = view.getComputeService().templateBuilder().build();
@@ -212,5 +182,4 @@ public class SoftLayerTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTes
    protected Set<String> getIso3166Codes() {
       return ImmutableSet.<String> of("SG", "US-CA", "US-TX", "US-VA", "US-WA", "NL");
    }
-
 }


[08/17] jclouds git commit: JCLOUDS-692 Remove the CloudSigma v1 provider.

Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java
deleted file mode 100644
index 03d73bc..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileInfo.java
+++ /dev/null
@@ -1,195 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ProfileInfo {
-
-   public static class Builder {
-      protected String uuid;
-      protected String email;
-      protected String firstName;
-      protected String lastName;
-      protected String nickName;
-      protected ProfileType type = ProfileType.REGULAR;
-
-      public Builder uuid(String uuid) {
-         this.uuid = uuid;
-         return this;
-      }
-
-      public Builder email(String email) {
-         this.email = email;
-         return this;
-      }
-
-      public Builder firstName(String firstName) {
-         this.firstName = firstName;
-         return this;
-      }
-
-      public Builder lastName(String lastName) {
-         this.lastName = lastName;
-         return this;
-      }
-
-      public Builder nickName(String nickName) {
-         this.nickName = nickName;
-         return this;
-      }
-
-      public Builder type(ProfileType type) {
-         this.type = type;
-         return this;
-      }
-
-      public ProfileInfo build() {
-         return new ProfileInfo(uuid, email, firstName, lastName, nickName, type);
-      }
-
-   }
-
-   protected final String uuid;
-   protected final String email;
-   protected final String firstName;
-   protected final String lastName;
-   protected final String nickName;
-   protected final ProfileType type;
-
-   public ProfileInfo(String uuid, String email, String firstName, String lastName, String nickName, ProfileType type) {
-      this.uuid = checkNotNull(uuid, "uuid");
-      this.email = checkNotNull(email, "email");
-      this.firstName = checkNotNull(firstName, "firstName");
-      this.lastName = checkNotNull(lastName, "lastName");
-      this.nickName = checkNotNull(nickName, "nickName");
-      this.type = checkNotNull(type, "type");
-   }
-
-   /**
-    * 
-    * @return uuid of the profile.
-    */
-   public String getUuid() {
-      return uuid;
-   }
-
-   /**
-    * Checks for valid email address
-    * 
-    * @return email of the profile.
-    */
-   public String getEmail() {
-      return email;
-   }
-
-   /**
-    * 
-    * @return firstName of the profile.
-    */
-   protected String getFirstName() {
-      return firstName;
-   }
-
-   /**
-    * 
-    * @return lastName of the profile.
-    */
-   protected String getLastName() {
-      return lastName;
-   }
-
-   /**
-    * Used in phpBB nick name
-    * 
-    * @return nickName of the profile.
-    */
-   protected String getNickName() {
-      return nickName;
-   }
-
-   /**
-    * 
-    * @return type of the profile.
-    */
-   protected ProfileType getType() {
-      return type;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((email == null) ? 0 : email.hashCode());
-      result = prime * result + ((firstName == null) ? 0 : firstName.hashCode());
-      result = prime * result + ((lastName == null) ? 0 : lastName.hashCode());
-      result = prime * result + ((nickName == null) ? 0 : nickName.hashCode());
-      result = prime * result + ((type == null) ? 0 : type.hashCode());
-      result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      ProfileInfo other = (ProfileInfo) obj;
-      if (email == null) {
-         if (other.email != null)
-            return false;
-      } else if (!email.equals(other.email))
-         return false;
-      if (firstName == null) {
-         if (other.firstName != null)
-            return false;
-      } else if (!firstName.equals(other.firstName))
-         return false;
-      if (lastName == null) {
-         if (other.lastName != null)
-            return false;
-      } else if (!lastName.equals(other.lastName))
-         return false;
-      if (nickName == null) {
-         if (other.nickName != null)
-            return false;
-      } else if (!nickName.equals(other.nickName))
-         return false;
-      if (type != other.type)
-         return false;
-      if (uuid == null) {
-         if (other.uuid != null)
-            return false;
-      } else if (!uuid.equals(other.uuid))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[uuid=" + uuid + ", email=" + email + ", firstName=" + firstName + ", lastName=" + lastName
-            + ", nickName=" + nickName + ", type=" + type + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java
deleted file mode 100644
index 9e0315f..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ProfileType.java
+++ /dev/null
@@ -1,44 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public enum ProfileType {
-   REGULAR, UNRECOGNIZED;
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static ProfileType fromValue(String type) {
-      try {
-         return valueOf(checkNotNull(type, "type").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java
deleted file mode 100644
index b396057..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/SCSIDevice.java
+++ /dev/null
@@ -1,89 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class SCSIDevice extends Device {
-   public static class Builder extends Device.Builder {
-      private final int unit;
-
-      public Builder(int unit) {
-         this.unit = unit;
-      }
-
-      @Override
-      public Device build() {
-         return new SCSIDevice(uuid, mediaType, unit);
-      }
-
-   }
-
-   private static final int bus = 0;
-   private final int unit;
-
-   public SCSIDevice(String driveUuid, MediaType mediaType, int unit) {
-      super(driveUuid, mediaType);
-      checkArgument(unit >= 0 && unit < 8, "unit must be between 0 and 7");
-      this.unit = unit;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + bus;
-      result = prime * result + unit;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      SCSIDevice other = (SCSIDevice) obj;
-      if (unit != other.unit)
-         return false;
-      return true;
-   }
-
-   public int getBus() {
-      return bus;
-   }
-
-   public int getUnit() {
-      return unit;
-   }
-
-   @Override
-   public String getId() {
-      return String.format("scsi:%d:%d", bus, unit);
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + getId() + ", driveUuid=" + driveUuid + ", mediaType=" + mediaType + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java
deleted file mode 100644
index a2b3bbf..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/Server.java
+++ /dev/null
@@ -1,290 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class Server extends Item {
-
-   public static class Builder extends Item.Builder {
-      protected int cpu;
-      protected Integer smp;
-      protected int mem;
-      protected boolean persistent;
-      protected Map<String, ? extends Device> devices = ImmutableMap.of();
-      protected Set<String> bootDeviceIds = ImmutableSet.of();
-      protected List<NIC> nics = ImmutableList.of();
-      protected VNC vnc;
-      // TODO cloudsigma specific
-      protected String description;
-
-      public Builder cpu(int cpu) {
-         this.cpu = cpu;
-         return this;
-      }
-
-      public Builder smp(Integer smp) {
-         this.smp = smp;
-         return this;
-      }
-
-      public Builder mem(int mem) {
-         this.mem = mem;
-         return this;
-      }
-
-      public Builder persistent(boolean persistent) {
-         this.persistent = persistent;
-         return this;
-      }
-
-      public Builder devices(Map<String, ? extends Device> devices) {
-         this.devices = ImmutableMap.copyOf(checkNotNull(devices, "devices"));
-         return this;
-      }
-
-      public Builder bootDeviceIds(Iterable<String> bootDeviceIds) {
-         this.bootDeviceIds = ImmutableSet.copyOf(checkNotNull(bootDeviceIds, "bootDeviceIds"));
-         return this;
-      }
-
-      public Builder nics(Iterable<NIC> nics) {
-         this.nics = ImmutableList.copyOf(checkNotNull(nics, "nics"));
-         return this;
-      }
-
-      public Builder vnc(VNC vnc) {
-         this.vnc = vnc;
-         return this;
-      }
-
-      public Builder description(String description) {
-         this.description = description;
-         return this;
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder uuid(String uuid) {
-         return Builder.class.cast(super.uuid(uuid));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder name(String name) {
-         return Builder.class.cast(super.name(name));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder use(Iterable<String> use) {
-         return Builder.class.cast(super.use(use));
-      }
-
-      public Server build() {
-         return new Server(uuid, name, cpu, smp, mem, persistent, devices, bootDeviceIds, use, nics, vnc, description);
-      }
-
-      public static Builder fromServer(Server in) {
-         return new Builder().uuid(in.getUuid()).name(in.getName()).cpu(in.getCpu()).mem(in.getMem())
-               .persistent(in.isPersistent()).description(in.getDescription()).devices(in.getDevices())
-               .bootDeviceIds(in.getBootDeviceIds()).use(in.getUse()).nics(in.getNics()).vnc(in.getVnc());
-      }
-   }
-
-   protected final int cpu;
-   protected final Integer smp;
-   protected final int mem;
-   protected final boolean persistent;
-   @Nullable
-   protected final Map<String, Device> devices;
-   protected final Set<String> bootDeviceIds;
-   protected final List<NIC> nics;
-   protected final VNC vnc;
-   @Nullable
-   private final String description;
-
-   public Server(@Nullable String uuid, String name, int cpu, @Nullable Integer smp, int mem, boolean persistent,
-         Map<String, ? extends Device> devices, Iterable<String> bootDeviceIds, Iterable<String> use,
-         Iterable<NIC> nics, VNC vnc, String description) {
-      super(uuid, name, use);
-      this.cpu = cpu;
-      this.smp = smp;
-      this.mem = mem;
-      this.persistent = persistent;
-      this.devices = ImmutableMap.copyOf(checkNotNull(devices, "devices"));
-      this.bootDeviceIds = ImmutableSet.copyOf(checkNotNull(bootDeviceIds, "bootDeviceIds"));
-      this.nics = ImmutableList.copyOf(checkNotNull(nics, "nics"));
-      this.vnc = checkNotNull(vnc, "vnc");
-      this.description = description;
-   }
-
-   /**
-    * 
-    * @return CPU quota in core MHz.
-    */
-   public int getCpu() {
-      return cpu;
-   }
-
-   /**
-    * 
-    * @return number of virtual processors or null if calculated based on cpu.
-    */
-   public Integer getSmp() {
-      return smp;
-   }
-
-   /**
-    * 
-    * @return virtual memory size in MB.
-    */
-   public int getMem() {
-      return mem;
-   }
-
-   /**
-    * 
-    * @return 'true' means that server will revert to a 'stopped' status on server stop or shutdown,
-    *         rather than being destroyed automatically.
-    */
-   public boolean isPersistent() {
-      return persistent;
-   }
-
-   /**
-    * 
-    * @return devices present, mapped by id
-    */
-   public Map<String, Device> getDevices() {
-      return devices;
-   }
-
-   /**
-    * 
-    * @return ids of the devices to boot, e.g. ide:0:0 or ide:1:0
-    * @see Device#getId()
-    */
-   public Set<String> getBootDeviceIds() {
-      return bootDeviceIds;
-   }
-
-   public List<NIC> getNics() {
-      return nics;
-   }
-
-   public VNC getVnc() {
-      return vnc;
-   }
-
-   // TODO undocumented
-   public String getDescription() {
-      return description;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((bootDeviceIds == null) ? 0 : bootDeviceIds.hashCode());
-      result = prime * result + cpu;
-      result = prime * result + ((description == null) ? 0 : description.hashCode());
-      result = prime * result + ((devices == null) ? 0 : devices.hashCode());
-      result = prime * result + mem;
-      result = prime * result + ((nics == null) ? 0 : nics.hashCode());
-      result = prime * result + (persistent ? 1231 : 1237);
-      result = prime * result + ((smp == null) ? 0 : smp.hashCode());
-      result = prime * result + ((vnc == null) ? 0 : vnc.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (!super.equals(obj))
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      Server other = (Server) obj;
-      if (bootDeviceIds == null) {
-         if (other.bootDeviceIds != null)
-            return false;
-      } else if (!bootDeviceIds.equals(other.bootDeviceIds))
-         return false;
-      if (cpu != other.cpu)
-         return false;
-      if (description == null) {
-         if (other.description != null)
-            return false;
-      } else if (!description.equals(other.description))
-         return false;
-      if (devices == null) {
-         if (other.devices != null)
-            return false;
-      } else if (!devices.equals(other.devices))
-         return false;
-      if (mem != other.mem)
-         return false;
-      if (nics == null) {
-         if (other.nics != null)
-            return false;
-      } else if (!nics.equals(other.nics))
-         return false;
-      if (persistent != other.persistent)
-         return false;
-      if (smp == null) {
-         if (other.smp != null)
-            return false;
-      } else if (!smp.equals(other.smp))
-         return false;
-      if (vnc == null) {
-         if (other.vnc != null)
-            return false;
-      } else if (!vnc.equals(other.vnc))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[uuid=" + uuid + ", name=" + name + ", use=" + use + ", cpu=" + cpu + ", smp=" + smp + ", mem=" + mem
-            + ", persistent=" + persistent + ", devices=" + devices + ", bootDeviceIds=" + bootDeviceIds + ", nics="
-            + nics + ", vnc=" + vnc + ", description=" + description + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java
deleted file mode 100644
index 3502370..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerInfo.java
+++ /dev/null
@@ -1,255 +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.jclouds.cloudsigma.domain;
-
-import java.util.Date;
-import java.util.Map;
-
-import org.jclouds.javax.annotation.Nullable;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ServerInfo extends Server {
-
-   public static class Builder extends Server.Builder {
-      protected ServerStatus status;
-      protected Date started;
-      protected String user;
-      protected ServerMetrics metrics;
-
-      public Builder status(ServerStatus status) {
-         this.status = status;
-         return this;
-      }
-
-      public Builder started(Date started) {
-         this.started = started;
-         return this;
-      }
-
-      public Builder user(String user) {
-         this.user = user;
-         return this;
-      }
-
-      public Builder metrics(ServerMetrics metrics) {
-         this.metrics = metrics;
-         return this;
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder cpu(int cpu) {
-         return Builder.class.cast(super.cpu(cpu));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder smp(Integer smp) {
-         return Builder.class.cast(super.smp(smp));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder mem(int mem) {
-         return Builder.class.cast(super.mem(mem));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder persistent(boolean persistent) {
-         return Builder.class.cast(super.persistent(persistent));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder devices(Map<String, ? extends Device> devices) {
-         return Builder.class.cast(super.devices(devices));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder bootDeviceIds(Iterable<String> bootDeviceIds) {
-         return Builder.class.cast(super.bootDeviceIds(bootDeviceIds));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder nics(Iterable<NIC> nics) {
-         return Builder.class.cast(super.nics(nics));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder vnc(VNC vnc) {
-         return Builder.class.cast(super.vnc(vnc));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder description(String description) {
-         return Builder.class.cast(super.description(description));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder uuid(String uuid) {
-         return Builder.class.cast(super.uuid(uuid));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder name(String name) {
-         return Builder.class.cast(super.name(name));
-      }
-
-      /**
-       * {@inheritDoc}
-       */
-      @Override
-      public Builder use(Iterable<String> use) {
-         return Builder.class.cast(super.use(use));
-      }
-
-      public ServerInfo build() {
-         return new ServerInfo(uuid, name, cpu, smp, mem, persistent, devices, bootDeviceIds, use, nics, vnc,
-               description, status, started, user, metrics);
-      }
-   }
-
-   protected final ServerStatus status;
-   @Nullable
-   protected final Date started;
-   @Nullable
-   protected final String user;
-   protected final ServerMetrics metrics;
-
-   public ServerInfo(String uuid, String name, int cpu, Integer smp, int mem, boolean persistent,
-         Map<String, ? extends Device> devices, Iterable<String> bootDeviceIds, Iterable<String> use,
-         Iterable<NIC> nics, VNC vnc, String description, ServerStatus status, Date started, String user,
-         @Nullable ServerMetrics metrics) {
-      super(uuid, name, cpu, smp, mem, persistent, devices, bootDeviceIds, use, nics, vnc, description);
-      this.status = status;
-      this.started = started;
-      this.user = user;
-      this.metrics = metrics;
-   }
-
-   /**
-    * 
-    * @return active | stopped | paused | dumped | dead
-    */
-   public ServerStatus getStatus() {
-      return status;
-   }
-
-   // TODO undocumented
-   public Date getStarted() {
-      return started;
-   }
-
-   /**
-    * 
-    * @return metrics, if the server is running, or null
-    */
-   @Nullable
-   public ServerMetrics getMetrics() {
-      return metrics;
-   }
-
-   // TODO undocumented
-   /**
-    * 
-    * @return owner of the server.
-    */
-   public String getUser() {
-      return user;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((metrics == null) ? 0 : metrics.hashCode());
-      result = prime * result + ((started == null) ? 0 : started.hashCode());
-      result = prime * result + ((status == null) ? 0 : status.hashCode());
-      result = prime * result + ((user == null) ? 0 : user.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (!super.equals(obj))
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      ServerInfo other = (ServerInfo) obj;
-      if (metrics == null) {
-         if (other.metrics != null)
-            return false;
-      } else if (!metrics.equals(other.metrics))
-         return false;
-      if (started == null) {
-         if (other.started != null)
-            return false;
-      } else if (!started.equals(other.started))
-         return false;
-      if (status != other.status)
-         return false;
-      if (user == null) {
-         if (other.user != null)
-            return false;
-      } else if (!user.equals(other.user))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[cpu=" + cpu + ", smp=" + smp + ", mem=" + mem + ", persistent=" + persistent + ", devices=" + devices
-            + ", bootDeviceIds=" + bootDeviceIds + ", nics=" + nics + ", vnc=" + vnc + ", uuid=" + uuid + ", name="
-            + name + ", use=" + use + ", status=" + status + ", started=" + started + ", user=" + user + ", metrics="
-            + metrics + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java
deleted file mode 100644
index 8dd7f9b..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerMetrics.java
+++ /dev/null
@@ -1,153 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ServerMetrics {
-
-   public static class Builder {
-      protected long txPackets;
-      protected long tx;
-      protected long rxPackets;
-      protected long rx;
-      protected Map<String, DriveMetrics> driveMetrics = ImmutableMap.<String, DriveMetrics> of();
-
-      public Builder txPackets(long txPackets) {
-         this.txPackets = txPackets;
-         return this;
-      }
-
-      public Builder tx(long tx) {
-         this.tx = tx;
-         return this;
-      }
-
-      public Builder rxPackets(long rxPackets) {
-         this.rxPackets = rxPackets;
-         return this;
-      }
-
-      public Builder rx(long rx) {
-         this.rx = rx;
-         return this;
-      }
-
-      public Builder driveMetrics(Map<String, ? extends DriveMetrics> driveMetrics) {
-         this.driveMetrics = ImmutableMap.copyOf(checkNotNull(driveMetrics, "driveMetrics"));
-         return this;
-      }
-
-      public ServerMetrics build() {
-         return new ServerMetrics(tx, txPackets, rx, rxPackets, driveMetrics);
-      }
-   }
-
-   protected final long txPackets;
-   protected final long tx;
-   protected final long rxPackets;
-   protected final long rx;
-   protected final Map<String, DriveMetrics> driveMetrics;
-
-   public ServerMetrics(long tx, long txPackets, long rx, long rxPackets, Map<String, DriveMetrics> driveMetrics) {
-      this.txPackets = txPackets;
-      this.tx = tx;
-      this.rxPackets = rxPackets;
-      this.rx = rx;
-      this.driveMetrics = ImmutableMap.copyOf(checkNotNull(driveMetrics, "driveMetrics"));
-   }
-
-   // TODO undocumented
-   public long getTxPackets() {
-      return txPackets;
-   }
-
-   // TODO undocumented
-   public long getTx() {
-      return tx;
-   }
-
-   // TODO undocumented
-   public long getRxPackets() {
-      return rxPackets;
-   }
-
-   // TODO undocumented
-   public long getRx() {
-      return rx;
-   }
-
-   /**
-    * 
-    * @return metrics keyed on device id ex. {@code ide:0:0}
-    */
-   public Map<String, DriveMetrics> getDriveMetrics() {
-      return driveMetrics;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((driveMetrics == null) ? 0 : driveMetrics.hashCode());
-      result = prime * result + (int) (rx ^ (rx >>> 32));
-      result = prime * result + (int) (rxPackets ^ (rxPackets >>> 32));
-      result = prime * result + (int) (tx ^ (tx >>> 32));
-      result = prime * result + (int) (txPackets ^ (txPackets >>> 32));
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      ServerMetrics other = (ServerMetrics) obj;
-      if (driveMetrics == null) {
-         if (other.driveMetrics != null)
-            return false;
-      } else if (!driveMetrics.equals(other.driveMetrics))
-         return false;
-      if (rx != other.rx)
-         return false;
-      if (rxPackets != other.rxPackets)
-         return false;
-      if (tx != other.tx)
-         return false;
-      if (txPackets != other.txPackets)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[ txPackets=" + txPackets + ", tx=" + tx + ", rxPackets=" + rxPackets + ", rx=" + rx + ", driveMetrics="
-            + driveMetrics + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java
deleted file mode 100644
index 5efaecd..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/ServerStatus.java
+++ /dev/null
@@ -1,44 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- * @author Adrian Cole
- */
-public enum ServerStatus {
-   ACTIVE, STOPPED, PAUSED, DUMPED, DEAD, UNRECOGNIZED;
-   public String value() {
-      return name().toLowerCase();
-   }
-
-   @Override
-   public String toString() {
-      return value();
-   }
-
-   public static ServerStatus fromValue(String status) {
-      try {
-         return valueOf(checkNotNull(status, "status").toUpperCase());
-      } catch (IllegalArgumentException e) {
-         return UNRECOGNIZED;
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java
deleted file mode 100644
index a50f735..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/StaticIPInfo.java
+++ /dev/null
@@ -1,228 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class StaticIPInfo {
-   public static class Builder {
-      protected String ip;
-      protected String user;
-      protected String netmask;
-      protected Set<String> nameservers = ImmutableSet.of();
-      protected String gateway;
-
-      public Builder ip(String ip) {
-         this.ip = ip;
-         return this;
-      }
-
-      public Builder user(String user) {
-         this.user = user;
-         return this;
-      }
-
-      public Builder nameservers(Iterable<String> nameservers) {
-         this.nameservers = ImmutableSet.copyOf(checkNotNull(nameservers, "nameservers"));
-         return this;
-      }
-
-      public Builder gateway(String gateway) {
-         this.gateway = gateway;
-         return this;
-      }
-
-      public Builder netmask(String netmask) {
-         this.netmask = netmask;
-         return this;
-      }
-
-      public StaticIPInfo build() {
-         return new StaticIPInfo(ip, user, netmask, nameservers, gateway);
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = 1;
-         result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
-         result = prime * result + ((nameservers == null) ? 0 : nameservers.hashCode());
-         result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
-         result = prime * result + ((user == null) ? 0 : user.hashCode());
-         result = prime * result + ((ip == null) ? 0 : ip.hashCode());
-         return result;
-      }
-
-      @Override
-      public boolean equals(Object obj) {
-         if (this == obj)
-            return true;
-         if (obj == null)
-            return false;
-         if (getClass() != obj.getClass())
-            return false;
-         Builder other = (Builder) obj;
-         if (gateway == null) {
-            if (other.gateway != null)
-               return false;
-         } else if (!gateway.equals(other.gateway))
-            return false;
-         if (nameservers == null) {
-            if (other.nameservers != null)
-               return false;
-         } else if (!nameservers.equals(other.nameservers))
-            return false;
-         if (netmask == null) {
-            if (other.netmask != null)
-               return false;
-         } else if (!netmask.equals(other.netmask))
-            return false;
-         if (user == null) {
-            if (other.user != null)
-               return false;
-         } else if (!user.equals(other.user))
-            return false;
-         if (ip == null) {
-            if (other.ip != null)
-               return false;
-         } else if (!ip.equals(other.ip))
-            return false;
-         return true;
-      }
-   }
-
-   protected final String ip;
-   protected final String user;
-   protected final String netmask;
-   protected final Set<String> nameservers;
-   protected final String gateway;
-
-   public StaticIPInfo(String ip, String user, String netmask, Iterable<String> nameservers, String gateway) {
-      this.ip = checkNotNull(ip, "ip");
-      this.user = checkNotNull(user, "user");
-      this.netmask = checkNotNull(netmask, "netmask");
-      this.nameservers = ImmutableSet.copyOf(checkNotNull(nameservers, "nameservers"));
-      this.gateway = checkNotNull(gateway, "gateway");
-   }
-
-   /**
-    * 
-    * @return ip of the ip.
-    */
-   @Nullable
-   public String getAddress() {
-      return ip;
-   }
-
-   /**
-    * 
-    * @return user owning the ip
-    */
-   public String getUser() {
-      return user;
-   }
-
-   /**
-    * 
-    * @return netmask of the ip
-    */
-   public String getNetmask() {
-      return netmask;
-   }
-
-   /**
-    * 
-    * @return nameservers of the ip
-    */
-   public Set<String> getNameservers() {
-      return nameservers;
-   }
-
-   /**
-    * 
-    * @return gateway of the ip
-    */
-   public String getGateway() {
-      return gateway;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((gateway == null) ? 0 : gateway.hashCode());
-      result = prime * result + ((nameservers == null) ? 0 : nameservers.hashCode());
-      result = prime * result + ((netmask == null) ? 0 : netmask.hashCode());
-      result = prime * result + ((user == null) ? 0 : user.hashCode());
-      result = prime * result + ((ip == null) ? 0 : ip.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      StaticIPInfo other = (StaticIPInfo) obj;
-      if (gateway == null) {
-         if (other.gateway != null)
-            return false;
-      } else if (!gateway.equals(other.gateway))
-         return false;
-      if (nameservers == null) {
-         if (other.nameservers != null)
-            return false;
-      } else if (!nameservers.equals(other.nameservers))
-         return false;
-      if (netmask == null) {
-         if (other.netmask != null)
-            return false;
-      } else if (!netmask.equals(other.netmask))
-         return false;
-      if (user == null) {
-         if (other.user != null)
-            return false;
-      } else if (!user.equals(other.user))
-         return false;
-      if (ip == null) {
-         if (other.ip != null)
-            return false;
-      } else if (!ip.equals(other.ip))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[ip=" + ip + ", user=" + user + ", netmask=" + netmask + ", nameservers="
-            + nameservers + ", gateway=" + gateway + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java
deleted file mode 100644
index 57dc84d..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VLANInfo.java
+++ /dev/null
@@ -1,163 +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.jclouds.cloudsigma.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.jclouds.javax.annotation.Nullable;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class VLANInfo {
-   public static class Builder {
-      protected String uuid;
-      protected String name;
-      protected String user;
-
-      public Builder uuid(String uuid) {
-         this.uuid = uuid;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public Builder user(String user) {
-         this.user = user;
-         return this;
-      }
-
-      public VLANInfo build() {
-         return new VLANInfo(uuid, name, user);
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = 1;
-         result = prime * result + ((name == null) ? 0 : name.hashCode());
-         result = prime * result + ((user == null) ? 0 : user.hashCode());
-         result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
-         return result;
-      }
-
-      @Override
-      public boolean equals(Object obj) {
-         if (this == obj)
-            return true;
-         if (obj == null)
-            return false;
-         if (getClass() != obj.getClass())
-            return false;
-         Builder other = (Builder) obj;
-         if (name == null) {
-            if (other.name != null)
-               return false;
-         } else if (!name.equals(other.name))
-            return false;
-         if (user == null) {
-            if (other.user != null)
-               return false;
-         } else if (!user.equals(other.user))
-            return false;
-         if (uuid == null) {
-            if (other.uuid != null)
-               return false;
-         } else if (!uuid.equals(other.uuid))
-            return false;
-         return true;
-      }
-   }
-
-   @Nullable
-   protected final String uuid;
-   protected final String name;
-   protected final String user;
-
-   public VLANInfo(String uuid, String name, String user) {
-      this.uuid = checkNotNull(uuid, "uuid");
-      this.name = checkNotNull(name, "name");
-      this.user = checkNotNull(user, "user");
-   }
-
-   /**
-    * 
-    * @return uuid of the vlan.
-    */
-   @Nullable
-   public String getUuid() {
-      return uuid;
-   }
-
-   /**
-    * 
-    * @return name of the vlan
-    */
-   public String getName() {
-      return name;
-   }
-
-   /**
-    * 
-    * @return user owning the vlan
-    */
-   public String getUser() {
-      return user;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((user == null) ? 0 : user.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      VLANInfo other = (VLANInfo) obj;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (user == null) {
-         if (other.user != null)
-            return false;
-      } else if (!user.equals(other.user))
-         return false;
-
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[uuid=" + uuid + ", name=" + name + ", user=" + user + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java
deleted file mode 100644
index 0c455db..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/domain/VNC.java
+++ /dev/null
@@ -1,102 +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.jclouds.cloudsigma.domain;
-
-import org.jclouds.javax.annotation.Nullable;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class VNC {
-   @Nullable
-   private final String ip;
-   @Nullable
-   private final String password;
-   private final boolean tls;
-
-   public VNC(String ip, String password, boolean tls) {
-      this.ip = ip;
-      this.password = password;
-      this.tls = tls;
-   }
-
-   /**
-    * 
-    * @return IP address for overlay VNC access on port 5900. Set to 'auto', to reuse nic:0:dhcp if
-    *         available, or otherwise allocate a temporary IP at boot.
-    */
-   public String getIp() {
-      return ip;
-   }
-
-   /**
-    * 
-    * @return Password for VNC access. If unset, VNC is disabled.
-    */
-   public String getPassword() {
-      return password;
-   }
-
-   /**
-    * 
-    * @return Set to 'on' to require VeNCrypt-style TLS auth in addition to the password. If this is
-    *         unset, only unencrypted VNC is available.
-    */
-   public boolean isTls() {
-      return tls;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((ip == null) ? 0 : ip.hashCode());
-      result = prime * result + ((password == null) ? 0 : password.hashCode());
-      result = prime * result + (tls ? 1231 : 1237);
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      VNC other = (VNC) obj;
-      if (ip == null) {
-         if (other.ip != null)
-            return false;
-      } else if (!ip.equals(other.ip))
-         return false;
-      if (password == null) {
-         if (other.password != null)
-            return false;
-      } else if (!password.equals(other.password))
-         return false;
-      if (tls != other.tls)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[ip=" + ip + ", password=" + password + ", tls=" + tls + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java
deleted file mode 100644
index 8405cdc..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/BaseDriveToMap.java
+++ /dev/null
@@ -1,54 +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.jclouds.cloudsigma.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ClaimType;
-import org.jclouds.cloudsigma.domain.Drive;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BaseDriveToMap implements Function<Drive, Map<String, String>> {
-   @Override
-   public Map<String, String> apply(Drive from) {
-      checkNotNull(from, "drive");
-      ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
-      builder.put("name", from.getName());
-      builder.put("size", from.getSize() + "");
-      if (from.getClaimType() != ClaimType.EXCLUSIVE)
-         builder.put("claim:type", from.getClaimType().toString());
-      if (from.getTags().size() != 0)
-          builder.put("tags", Joiner.on(' ').join(from.getTags()));
-      if (from.getReaders().size() != 0)
-         builder.put("readers", Joiner.on(' ').join(from.getReaders()));
-      if (from.getUse().size() != 0)
-         builder.put("use", Joiner.on(' ').join(from.getUse()));
-      return builder.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java
deleted file mode 100644
index 292d3cc..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/DriveDataToMap.java
+++ /dev/null
@@ -1,81 +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.jclouds.cloudsigma.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Predicates.equalTo;
-import static com.google.common.base.Predicates.not;
-import static com.google.common.collect.Maps.filterKeys;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveData;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMap.Builder;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class DriveDataToMap implements Function<DriveData, Map<String, String>> {
-   private final BaseDriveToMap baseDriveToMap;
-
-   @Inject
-   public DriveDataToMap(BaseDriveToMap baseDriveToMap) {
-      this.baseDriveToMap = baseDriveToMap;
-   }
-
-   @Override
-   public Map<String, String> apply(DriveData from) {
-      return renameKey(baseDriveToMap.apply(from), "use", "use");
-   }
-   
-   /**
-    * If the supplied map contains the key {@code k1}, its value will be assigned to the key {@code
-    * k2}. Note that this doesn't modify the input map.
-    * 
-    * @param <V>
-    *           type of value the map holds
-    * @param in
-    *           the map you wish to make a copy of
-    * @param k1
-    *           old key
-    * @param k2
-    *           new key
-    * @return copy of the map with the value of the key re-routed, or the original, if it {@code k1}
-    *         wasn't present.
-    */
-   @VisibleForTesting
-   static <V> Map<String, V> renameKey(Map<String, V> in, String k1, String k2) {
-      if (checkNotNull(in, "input map").containsKey(checkNotNull(k1, "old key"))) {
-         Builder<String, V> builder = ImmutableMap.builder();
-         builder.putAll(filterKeys(in, not(equalTo(k1))));
-         V tags = in.get(k1);
-         builder.put(checkNotNull(k2, "new key"), tags);
-         in = builder.build();
-      }
-      return in;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
deleted file mode 100644
index 14c3181..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
+++ /dev/null
@@ -1,50 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToDriveInfo implements Function<HttpResponse, DriveInfo> {
-   private final ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet setParser;
-
-   @Inject
-   public KeyValuesDelimitedByBlankLinesToDriveInfo(ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet setParser) {
-      this.setParser = setParser;
-   }
-
-   @Override
-   public DriveInfo apply(HttpResponse response) {
-      Set<DriveInfo> drives = setParser.apply(response);
-      if (drives.size() == 0)
-         return null;
-      return Iterables.get(drives, 0);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java
deleted file mode 100644
index 89f9637..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToProfileInfo.java
+++ /dev/null
@@ -1,50 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToProfileInfo implements Function<HttpResponse, ProfileInfo> {
-   private final ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet setParser;
-
-   @Inject
-   public KeyValuesDelimitedByBlankLinesToProfileInfo(ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet setParser) {
-      this.setParser = setParser;
-   }
-
-   @Override
-   public ProfileInfo apply(HttpResponse response) {
-      Set<ProfileInfo> drives = setParser.apply(response);
-      if (drives.size() == 0)
-         return null;
-      return Iterables.get(drives, 0);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
deleted file mode 100644
index 7fb1c18..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
+++ /dev/null
@@ -1,50 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToServerInfo implements Function<HttpResponse, ServerInfo> {
-   private final ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet setParser;
-
-   @Inject
-   public KeyValuesDelimitedByBlankLinesToServerInfo(ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet setParser) {
-      this.setParser = setParser;
-   }
-
-   @Override
-   public ServerInfo apply(HttpResponse response) {
-      Set<ServerInfo> drives = setParser.apply(response);
-      if (drives.size() == 0)
-         return null;
-      return Iterables.get(drives, 0);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java
deleted file mode 100644
index c4008cc..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToStaticIPInfo.java
+++ /dev/null
@@ -1,50 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToStaticIPInfo implements Function<HttpResponse, StaticIPInfo> {
-   private final ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet setParser;
-
-   @Inject
-   public KeyValuesDelimitedByBlankLinesToStaticIPInfo(ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet setParser) {
-      this.setParser = setParser;
-   }
-
-   @Override
-   public StaticIPInfo apply(HttpResponse response) {
-      Set<StaticIPInfo> drives = setParser.apply(response);
-      if (drives.size() == 0)
-         return null;
-      return Iterables.get(drives, 0);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java
deleted file mode 100644
index 4887b90..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/KeyValuesDelimitedByBlankLinesToVLANInfo.java
+++ /dev/null
@@ -1,50 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.http.HttpResponse;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class KeyValuesDelimitedByBlankLinesToVLANInfo implements Function<HttpResponse, VLANInfo> {
-   private final ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet setParser;
-
-   @Inject
-   public KeyValuesDelimitedByBlankLinesToVLANInfo(ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet setParser) {
-      this.setParser = setParser;
-   }
-
-   @Override
-   public VLANInfo apply(HttpResponse response) {
-      Set<VLANInfo> drives = setParser.apply(response);
-      if (drives.size() == 0)
-         return null;
-      return Iterables.get(drives, 0);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
deleted file mode 100644
index 333245d..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
+++ /dev/null
@@ -1,57 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.DriveInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet implements Function<HttpResponse, Set<DriveInfo>> {
-   private final ReturnStringIf2xx returnStringIf200;
-   private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
-   private final MapToDriveInfo mapToDrive;
-
-   @Inject
-   ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet(ReturnStringIf2xx returnStringIf200,
-         ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToDriveInfo mapToDrive) {
-      this.returnStringIf200 = returnStringIf200;
-      this.mapConverter = mapConverter;
-      this.mapToDrive = mapToDrive;
-   }
-
-   @Override
-   public Set<DriveInfo> apply(HttpResponse response) {
-      String text = returnStringIf200.apply(response);
-      if (text == null || text.trim().equals(""))
-         return ImmutableSet.<DriveInfo> of();
-      return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToDrive));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
deleted file mode 100644
index c829b36..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
+++ /dev/null
@@ -1,58 +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.jclouds.cloudsigma.functions;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import com.google.common.base.Function;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToListOfMaps implements Function<String, List<Map<String, String>>> {
-
-   @Override
-   public List<Map<String, String>> apply(String from) {
-      List<Map<String, String>> maps = Lists.newArrayList();
-      for (String listOfKeyValues : Splitter.on("\n\n").split(from)) {
-         if (!"".equals(listOfKeyValues)) {
-            Map<String, String> map = Maps.newLinkedHashMap();
-            for (String keyValueLine : Splitter.on('\n').split(listOfKeyValues)) {
-               if (!"".equals(keyValueLine)) {
-                  int firstIndex = keyValueLine.indexOf(' ');
-                  if (firstIndex != -1) {
-                     String key = keyValueLine.substring(0, firstIndex);
-                     String value = keyValueLine.substring(firstIndex + 1).replace("\\n", "\n");
-                     map.put(key, value);
-                  }
-               }
-            }
-            if (map.size() != 0)
-               maps.add(map);
-         }
-      }
-      return maps;
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java
deleted file mode 100644
index b010d00..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet.java
+++ /dev/null
@@ -1,57 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ProfileInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet implements Function<HttpResponse, Set<ProfileInfo>> {
-   private final ReturnStringIf2xx returnStringIf200;
-   private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
-   private final MapToProfileInfo mapToProfile;
-
-   @Inject
-   ListOfKeyValuesDelimitedByBlankLinesToProfileInfoSet(ReturnStringIf2xx returnStringIf200,
-         ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToProfileInfo mapToProfile) {
-      this.returnStringIf200 = returnStringIf200;
-      this.mapConverter = mapConverter;
-      this.mapToProfile = mapToProfile;
-   }
-
-   @Override
-   public Set<ProfileInfo> apply(HttpResponse response) {
-      String text = returnStringIf200.apply(response);
-      if (text == null || text.trim().equals(""))
-         return ImmutableSet.<ProfileInfo> of();
-      return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToProfile));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
deleted file mode 100644
index 785c57f..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
+++ /dev/null
@@ -1,58 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.ServerInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet implements Function<HttpResponse, Set<ServerInfo>> {
-   private final ReturnStringIf2xx returnStringIf200;
-   private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
-   private final MapToServerInfo mapToServer;
-
-   @Inject
-   ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet(ReturnStringIf2xx returnStringIf200,
-         ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToServerInfo mapToServer) {
-      this.returnStringIf200 = returnStringIf200;
-      this.mapConverter = mapConverter;
-      this.mapToServer = mapToServer;
-   }
-
-   @Override
-   public Set<ServerInfo> apply(HttpResponse response) {
-      String text = returnStringIf200.apply(response);
-      if (text == null || text.trim().equals(""))
-         return ImmutableSet.<ServerInfo> of();
-      return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToServer));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java
deleted file mode 100644
index a52c142..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet.java
+++ /dev/null
@@ -1,57 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.StaticIPInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet implements Function<HttpResponse, Set<StaticIPInfo>> {
-   private final ReturnStringIf2xx returnStringIf200;
-   private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
-   private final MapToStaticIPInfo mapToProfile;
-
-   @Inject
-   ListOfKeyValuesDelimitedByBlankLinesToStaticIPInfoSet(ReturnStringIf2xx returnStringIf200,
-         ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToStaticIPInfo mapToProfile) {
-      this.returnStringIf200 = returnStringIf200;
-      this.mapConverter = mapConverter;
-      this.mapToProfile = mapToProfile;
-   }
-
-   @Override
-   public Set<StaticIPInfo> apply(HttpResponse response) {
-      String text = returnStringIf200.apply(response);
-      if (text == null || text.trim().equals(""))
-         return ImmutableSet.<StaticIPInfo> of();
-      return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToProfile));
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/d07cf7fa/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java
deleted file mode 100644
index 3b41484..0000000
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/functions/ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet.java
+++ /dev/null
@@ -1,57 +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.jclouds.cloudsigma.functions;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.cloudsigma.domain.VLANInfo;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet implements Function<HttpResponse, Set<VLANInfo>> {
-   private final ReturnStringIf2xx returnStringIf200;
-   private final ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter;
-   private final MapToVLANInfo mapToProfile;
-
-   @Inject
-   ListOfKeyValuesDelimitedByBlankLinesToVLANInfoSet(ReturnStringIf2xx returnStringIf200,
-         ListOfKeyValuesDelimitedByBlankLinesToListOfMaps mapConverter, MapToVLANInfo mapToProfile) {
-      this.returnStringIf200 = returnStringIf200;
-      this.mapConverter = mapConverter;
-      this.mapToProfile = mapToProfile;
-   }
-
-   @Override
-   public Set<VLANInfo> apply(HttpResponse response) {
-      String text = returnStringIf200.apply(response);
-      if (text == null || text.trim().equals(""))
-         return ImmutableSet.<VLANInfo> of();
-      return ImmutableSet.copyOf(Iterables.transform(mapConverter.apply(text), mapToProfile));
-   }
-}


[02/17] jclouds git commit: JCLOUDS-743 - Remove greenhousedata-element-vcloud provider

Posted by ad...@apache.org.
JCLOUDS-743 - Remove greenhousedata-element-vcloud provider


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/2efb1df3
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/2efb1df3
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/2efb1df3

Branch: refs/heads/1.7.x
Commit: 2efb1df399bf5625e2cfde87b1727429e3295312
Parents: 5db2adf
Author: Adrian Cole <ad...@gmail.com>
Authored: Sat Oct 4 09:12:12 2014 -0700
Committer: Adrian Cole <ad...@apache.org>
Committed: Tue Nov 18 09:40:36 2014 -0800

----------------------------------------------------------------------
 allcompute/pom.xml                              |   5 -
 providers/greenhousedata-element-vcloud/pom.xml | 125 ---------------
 ...nHouseDataElementVCloudProviderMetadata.java |  92 -----------
 ...lementVCloudComputeServiceContextModule.java |  37 -----
 .../org.jclouds.providers.ProviderMetadata      |   1 -
 ...GreenHouseDataElementVCloudProviderTest.java |  33 ----
 ...DataElementVCloudComputeServiceLiveTest.java |  33 ----
 ...ataElementVCloudTemplateBuilderLiveTest.java |  75 ---------
 ...ouseDataElementVCloudCatalogApiLiveTest.java |  33 ----
 ...ouseDataElementVCloudNetworkApiLiveTest.java |  33 ----
 ...eenHouseDataElementVCloudOrgApiLiveTest.java |  33 ----
 ...enHouseDataElementVCloudTaskApiLiveTest.java |  33 ----
 ...enHouseDataElementVCloudVAppApiLiveTest.java |  33 ----
 ...ataElementVCloudVAppTemplateApiLiveTest.java |  33 ----
 ...eenHouseDataElementVCloudVDCApiLiveTest.java |  33 ----
 ...reenHouseDataElementVCloudVmApiLiveTest.java |  34 ----
 .../src/test/resources/log4j.xml                | 157 -------------------
 providers/pom.xml                               |   1 -
 18 files changed, 824 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/allcompute/pom.xml
----------------------------------------------------------------------
diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index 9b88cac..cbc1da5 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -30,11 +30,6 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>greenhousedata-element-vcloud</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
       <artifactId>aws-ec2</artifactId>
       <version>${project.version}</version>
     </dependency>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/pom.xml
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/pom.xml b/providers/greenhousedata-element-vcloud/pom.xml
deleted file mode 100644
index 08baf9b..0000000
--- a/providers/greenhousedata-element-vcloud/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.jclouds</groupId>
-    <artifactId>jclouds-project</artifactId>
-    <version>1.7.4-SNAPSHOT</version>
-    <relativePath>../../project/pom.xml</relativePath>
-  </parent>
-  <groupId>org.apache.jclouds.provider</groupId>
-  <artifactId>greenhousedata-element-vcloud</artifactId>
-  <name>jclouds Green House Data Element vCloud provider</name>
-  <description>vCloud implementation targeted to Green House Data Element</description>
-  <packaging>bundle</packaging>
-
-  <properties>
-    <test.greenhousedata-element-vcloud.endpoint>https://mycloud.greenhousedata.com/api</test.greenhousedata-element-vcloud.endpoint>
-    <test.greenhousedata-element-vcloud.api-version>1.0</test.greenhousedata-element-vcloud.api-version>
-    <test.greenhousedata-element-vcloud.build-version>1.5.0.464915</test.greenhousedata-element-vcloud.build-version>
-    <test.greenhousedata-element-vcloud.identity>FIXME_IDENTITY</test.greenhousedata-element-vcloud.identity>
-    <test.greenhousedata-element-vcloud.credential>FIXME_CREDENTIAL</test.greenhousedata-element-vcloud.credential>
-    <test.greenhousedata-element-vcloud.template />
-    <jclouds.osgi.export>org.jclouds.greenhousedata.element.vcloud*;version="${project.version}"</jclouds.osgi.export>
-    <jclouds.osgi.import>
-      org.jclouds.compute.internal;version="${project.version}",
-      org.jclouds.rest.internal;version="${project.version}",
-      org.jclouds*;version="${project.version}",
-      *
-    </jclouds.osgi.import>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>vcloud</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.api</groupId>
-      <artifactId>vcloud</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-core</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-sshj</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <test.greenhousedata-element-vcloud.endpoint>${test.greenhousedata-element-vcloud.endpoint}</test.greenhousedata-element-vcloud.endpoint>
-                    <test.greenhousedata-element-vcloud.api-version>${test.greenhousedata-element-vcloud.api-version}</test.greenhousedata-element-vcloud.api-version>
-                    <test.greenhousedata-element-vcloud.build-version>${test.greenhousedata-element-vcloud.build-version}</test.greenhousedata-element-vcloud.build-version>
-                    <test.greenhousedata-element-vcloud.identity>${test.greenhousedata-element-vcloud.identity}</test.greenhousedata-element-vcloud.identity>
-                    <test.greenhousedata-element-vcloud.credential>${test.greenhousedata-element-vcloud.credential}</test.greenhousedata-element-vcloud.credential>
-                    <test.greenhousedata-element-vcloud.template>${test.greenhousedata-element-vcloud.template}</test.greenhousedata-element-vcloud.template>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderMetadata.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderMetadata.java b/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderMetadata.java
deleted file mode 100644
index f04ca3d..0000000
--- a/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderMetadata.java
+++ /dev/null
@@ -1,92 +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.jclouds.greenhousedata.element.vcloud;
-
-import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK;
-
-import java.net.URI;
-import java.util.Properties;
-
-import org.jclouds.greenhousedata.element.vcloud.config.GreenHouseDataElementVCloudComputeServiceContextModule;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.internal.BaseProviderMetadata;
-import org.jclouds.vcloud.VCloudApiMetadata;
-import org.jclouds.vcloud.config.VCloudHttpApiModule;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Green House Data Element vCloud
- * 
- * @author Adrian Cole
- */
-public class GreenHouseDataElementVCloudProviderMetadata extends BaseProviderMetadata {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   @Override
-   public Builder toBuilder() {
-      return builder().fromProviderMetadata(this);
-   }
-   
-   public GreenHouseDataElementVCloudProviderMetadata() {
-      super(builder());
-   }
-
-   public GreenHouseDataElementVCloudProviderMetadata(Builder builder) {
-      super(builder);
-   }
-
-   public static Properties defaultProperties() {
-      Properties properties = new Properties();
-      properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, "orgNet-.*-External");
-      return properties;
-   }
-   
-   public static class Builder extends BaseProviderMetadata.Builder {
-
-      protected Builder() {
-         id("greenhousedata-element-vcloud")
-         .name("Green House Data Element vCloud")
-               .apiMetadata(
-                     new VCloudApiMetadata().toBuilder()
-                     .buildVersion("1.5.0.464915")
-                     .defaultModules(ImmutableSet.<Class<? extends Module>>of(VCloudHttpApiModule.class, GreenHouseDataElementVCloudComputeServiceContextModule.class))
-                     .build())
-         .homepage(URI.create("http://www.greenhousedata.com/element-cloud-hosting/vcloud-services/"))
-         .console(URI.create("https://mycloud.greenhousedata.com/cloud/org/YOUR_ORG_HERE"))
-         .iso3166Codes("US-WY")
-         .endpoint("https://mycloud.greenhousedata.com/api")
-         .defaultProperties(GreenHouseDataElementVCloudProviderMetadata.defaultProperties());
-      }
-
-      @Override
-      public GreenHouseDataElementVCloudProviderMetadata build() {
-         return new GreenHouseDataElementVCloudProviderMetadata(this);
-      }
-      
-      @Override
-      public Builder fromProviderMetadata(
-            ProviderMetadata in) {
-         super.fromProviderMetadata(in);
-         return this;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/config/GreenHouseDataElementVCloudComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/config/GreenHouseDataElementVCloudComputeServiceContextModule.java b/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/config/GreenHouseDataElementVCloudComputeServiceContextModule.java
deleted file mode 100644
index b3e0f70..0000000
--- a/providers/greenhousedata-element-vcloud/src/main/java/org/jclouds/greenhousedata/element/vcloud/config/GreenHouseDataElementVCloudComputeServiceContextModule.java
+++ /dev/null
@@ -1,37 +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.jclouds.greenhousedata.element.vcloud.config;
-
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.vcloud.compute.config.VCloudComputeServiceContextModule;
-import org.jclouds.vcloud.compute.options.VCloudTemplateOptions;
-import org.jclouds.vcloud.domain.network.IpAddressAllocationMode;
-
-import com.google.inject.Injector;
-
-/**
- * per docs, we are to use pool mode.
- * 
- * @author Adrian Cole
- */
-public class GreenHouseDataElementVCloudComputeServiceContextModule extends VCloudComputeServiceContextModule {
-
-   @Override
-   protected TemplateOptions provideTemplateOptions(Injector injector, TemplateOptions options) {
-      return options.as(VCloudTemplateOptions.class).ipAddressAllocationMode(IpAddressAllocationMode.POOL);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/providers/greenhousedata-element-vcloud/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 84a4ce2..0000000
--- a/providers/greenhousedata-element-vcloud/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.greenhousedata.element.vcloud.GreenHouseDataElementVCloudProviderMetadata

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderTest.java
deleted file mode 100644
index 50f4869..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/GreenHouseDataElementVCloudProviderTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud;
-
-import org.jclouds.providers.internal.BaseProviderMetadataTest;
-import org.jclouds.vcloud.VCloudApiMetadata;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "GreenHouseDataElementVCloudProviderTest")
-public class GreenHouseDataElementVCloudProviderTest extends BaseProviderMetadataTest {
-
-   public GreenHouseDataElementVCloudProviderTest() {
-      super(new GreenHouseDataElementVCloudProviderMetadata(), new VCloudApiMetadata());
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudComputeServiceLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudComputeServiceLiveTest.java
deleted file mode 100644
index 1ffa2bf..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudComputeServiceLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.compute;
-
-import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudComputeServiceLiveTest")
-public class GreenHouseDataElementVCloudComputeServiceLiveTest extends VCloudComputeServiceLiveTest {
-   public GreenHouseDataElementVCloudComputeServiceLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-   
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudTemplateBuilderLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudTemplateBuilderLiveTest.java
deleted file mode 100644
index bb2b95b..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/compute/GreenHouseDataElementVCloudTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,75 +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.jclouds.greenhousedata.element.vcloud.compute;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.internal.BaseTemplateBuilderLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "GreenHouseDataElementVCloudTemplateBuilderLiveTest")
-public class GreenHouseDataElementVCloudTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public GreenHouseDataElementVCloudTemplateBuilderLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case UBUNTU:
-               return !input.version.equals("") || !input.is64Bit;
-            default:
-               return true;
-            }
-         }
-
-      };
-   }
-
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = view.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU);
-      assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-WY");
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudCatalogApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudCatalogApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudCatalogApiLiveTest.java
deleted file mode 100644
index 946db6a..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudCatalogApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.CatalogApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudCatalogApiLiveTest")
-public class GreenHouseDataElementVCloudCatalogApiLiveTest extends CatalogApiLiveTest {
-
-   public GreenHouseDataElementVCloudCatalogApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudNetworkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudNetworkApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudNetworkApiLiveTest.java
deleted file mode 100644
index c65c60c..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudNetworkApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.NetworkApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudNetworkApiLiveTest")
-public class GreenHouseDataElementVCloudNetworkApiLiveTest extends NetworkApiLiveTest {
-
-   public GreenHouseDataElementVCloudNetworkApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudOrgApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudOrgApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudOrgApiLiveTest.java
deleted file mode 100644
index a7a9886..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudOrgApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.OrgApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudOrgApiLiveTest")
-public class GreenHouseDataElementVCloudOrgApiLiveTest extends OrgApiLiveTest {
-
-   public GreenHouseDataElementVCloudOrgApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudTaskApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudTaskApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudTaskApiLiveTest.java
deleted file mode 100644
index 2f97d58..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudTaskApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.TaskApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudTaskApiLiveTest")
-public class GreenHouseDataElementVCloudTaskApiLiveTest extends TaskApiLiveTest {
-
-   public GreenHouseDataElementVCloudTaskApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppApiLiveTest.java
deleted file mode 100644
index 7865ee3..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.VAppApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudVAppApiLiveTest")
-public class GreenHouseDataElementVCloudVAppApiLiveTest extends VAppApiLiveTest {
-
-   public GreenHouseDataElementVCloudVAppApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppTemplateApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppTemplateApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppTemplateApiLiveTest.java
deleted file mode 100644
index 900bb4e..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVAppTemplateApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.VAppTemplateApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudVAppTemplateApiLiveTest")
-public class GreenHouseDataElementVCloudVAppTemplateApiLiveTest extends VAppTemplateApiLiveTest {
-
-   public GreenHouseDataElementVCloudVAppTemplateApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVDCApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVDCApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVDCApiLiveTest.java
deleted file mode 100644
index 0650782..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVDCApiLiveTest.java
+++ /dev/null
@@ -1,33 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.VDCApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudVDCApiLiveTest")
-public class GreenHouseDataElementVCloudVDCApiLiveTest extends VDCApiLiveTest {
-
-   public GreenHouseDataElementVCloudVDCApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVmApiLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVmApiLiveTest.java b/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVmApiLiveTest.java
deleted file mode 100644
index dfab51d..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/java/org/jclouds/greenhousedata/element/vcloud/features/GreenHouseDataElementVCloudVmApiLiveTest.java
+++ /dev/null
@@ -1,34 +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.jclouds.greenhousedata.element.vcloud.features;
-
-import org.jclouds.vcloud.features.VmApiLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "GreenHouseDataElementVCloudVmApiLiveTest")
-public class GreenHouseDataElementVCloudVmApiLiveTest extends VmApiLiveTest {
-
-   public GreenHouseDataElementVCloudVmApiLiveTest() {
-      provider = "greenhousedata-element-vcloud";
-   }
-   
-}

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/greenhousedata-element-vcloud/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/providers/greenhousedata-element-vcloud/src/test/resources/log4j.xml b/providers/greenhousedata-element-vcloud/src/test/resources/log4j.xml
deleted file mode 100644
index daefa0e..0000000
--- a/providers/greenhousedata-element-vcloud/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-    <!--
-        For more configuration infromation and examples see the Apache
-        Log4j website: http://logging.apache.org/log4j/
-    -->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
-    debug="false">
-
-    <!-- A time/date based rolling appender -->
-    <appender name="WIREFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-wire.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <!-- A time/date based rolling appender -->
-    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-    
-    <!-- A time/date based rolling appender -->
-    <appender name="COMPUTEFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-compute.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <!-- A time/date based rolling appender -->
-    <appender name="SSHFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-ssh.log" />
-        <param name="Append" value="true" />
-
-        <!-- Rollover at midnight each day -->
-        <param name="DatePattern" value="'.'yyyy-MM-dd" />
-
-        <param name="Threshold" value="TRACE" />
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <!-- The default pattern: Date Priority [Category] Message\n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category]
-                (Thread:NDC) Message\n <param name="ConversionPattern"
-                value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-            -->
-        </layout>
-    </appender>
-
-    <appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="COMPUTEFILE" />
-    </appender>
-    
-    <appender name="ASYNCSSH" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="SSHFILE" />
-    </appender>
-
-    <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="FILE" />
-    </appender>
-
-    <appender name="ASYNCWIRE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="WIREFILE" />
-    </appender>
-
-    <!-- ================ -->
-    <!-- Limit categories -->
-    <!-- ================ -->
-
-    <category name="org.jclouds">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNC" />
-    </category>
-    
-    <!--  set to trace to get more info when parser fail -->
-    <category name="org.jclouds.http.functions.ParseSax">
-        <priority value="TRACE" />
-        <appender-ref ref="ASYNC" />
-    </category>
-    
-    <category name="jclouds.headers">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    <category name="jclouds.ssh">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCSSH" />
-    </category>
-    
-    <category name="jclouds.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-
-    <category name="jclouds.compute">
-        <priority value="TRACE" />
-        <appender-ref ref="ASYNCCOMPUTE" />
-    </category>
-    <!-- ======================= -->
-    <!-- Setup the Root category -->
-    <!-- ======================= -->
-
-    <root>
-        <priority value="WARN" />
-    </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/2efb1df3/providers/pom.xml
----------------------------------------------------------------------
diff --git a/providers/pom.xml b/providers/pom.xml
index 8aff23e..dc5a0db 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -49,7 +49,6 @@
     <module>openhosting-east1</module>
     <module>serverlove-z1-man</module>
     <module>skalicloud-sdg-my</module>
-    <module>greenhousedata-element-vcloud</module>
     <module>go2cloud-jhb1</module>
     <module>softlayer</module>
     <module>hpcloud-compute</module>