You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ab...@apache.org on 2013/05/10 23:53:10 UTC

[01/18] git commit: JCLOUDS-24. Add RAT check

Updated Branches:
  refs/heads/master 1665a7047 -> ffc05eea4


JCLOUDS-24. Add RAT check


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

Branch: refs/heads/master
Commit: c63b9329623546ad30319ba8dd0bcee73f36d785
Parents: 1665a70
Author: Andrew Bayer <an...@gmail.com>
Authored: Fri May 10 14:05:17 2013 -0700
Committer: Andrew Bayer <an...@gmail.com>
Committed: Fri May 10 14:52:37 2013 -0700

----------------------------------------------------------------------
 pom.xml |   39 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 38 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/c63b9329/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 54ebd25..388353c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,44 @@
     </modules>
     <build>
         <plugins>
-            <plugin>
+          <plugin>
+            <groupId>org.apache.rat</groupId>
+            <artifactId>apache-rat-plugin</artifactId>
+            <version>0.8</version>
+            <inherited>false</inherited>
+            <executions>
+              <execution>
+                <phase>package</phase>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <excludes>
+                <exclude>**/BUILD.txt</exclude>
+                <exclude>**/CHANGES.txt</exclude>
+                <exclude>**/NOTICE-src.txt</exclude>
+                <exclude>**/README.md</exclude>
+                <exclude>.git/**</exclude>
+                <exclude>**/.gitignore</exclude>
+                <exclude>**/*.json</exclude>
+                <exclude>**/*.log*</exclude>
+                <exclude>**/TODO</exclude>
+                <exclude>.mailmap</exclude>
+                <exclude>.idea/**</exclude>
+                <exclude>**/*.iml</exclude>
+                <exclude>**/.project</exclude>
+                <exclude>**/.classpath</exclude>
+                <exclude>**/.settings/**</exclude>
+                <exclude>**/.checkstyle</exclude>
+                <exclude>**/target/**</exclude>
+                <exclude>demos/getpath/src/test/resources/log4j.xml</exclude>
+                <!-- binary -->
+              </excludes>
+            </configuration>
+          </plugin>
+          <plugin>
                 <groupId>com.mycila.maven-license-plugin</groupId>
                 <artifactId>maven-license-plugin</artifactId>
                 <version>1.9.0</version>


[03/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/location.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/location.xml b/sandbox-providers/ibm-smartcloud/src/test/resources/location.xml
deleted file mode 100644
index 1e09cd7..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/location.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<ns2:DescribeLocationsResponse
-    xmlns:ns2="http://www.ibm.com/xmlns/b2b/cloud/api/2010-03-31">
-    <Location>
-        <ID>41</ID>
-        <Name>RTP</Name>
-        <Description>RTP usrdtsa0a1ccxra</Description>
-        <Location>RTP</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>   
-</ns2:DescribeLocationsResponse>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/locations.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/locations.xml b/sandbox-providers/ibm-smartcloud/src/test/resources/locations.xml
deleted file mode 100644
index 321329f..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/locations.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<ns2:DescribeLocationsResponse
-    xmlns:ns2="http://www.ibm.com/xmlns/b2b/cloud/api/2010-03-31">
-    <Location>
-        <ID>41</ID>
-        <Name>RTP</Name>
-        <Description>RTP usrdtsa0a1ccxra</Description>
-        <Location>RTP</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>
-    <Location>
-        <ID>61</ID>
-        <Name>EHN</Name>
-        <Description></Description>
-        <Location>EHN</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>
-    <Location>
-        <ID>82</ID>
-        <Name>us-co-dc1</Name>
-        <Description>BLD main DC</Description>
-        <Location>us-co-dc1</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>
-    <Location>
-        <ID>101</ID>
-        <Name>ca-on-dc1</Name>
-        <Description>Data Center 1 at Ontario, Canada </Description>
-        <Location>ca-on-dc1</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>
-    <Location>
-        <ID>121</ID>
-        <Name>ap-jp-dc1</Name>
-        <Description>Data Center 1 at Makuhari, Japan</Description>
-        <Location>ap-jp-dc1</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>
-    <Location>
-        <ID>141</ID>
-        <Name>ap-sg-dc1</Name>
-        <Description>Data Center 1 at Singapore</Description>
-        <Location>ap-sg-dc1</Location>
-        <Capabilities>
-            <Capability id="oss.storage.format">
-                <Entry key="EXT3">
-                    <Value>ext3</Value>
-                </Entry>
-                <Entry key="RAW">
-                    <Value>raw</Value>
-                </Entry>
-            </Capability>
-            <Capability id="oss.instance.spec.i386" />
-            <Capability id="oss.instance.spec.x86_64" />
-            <Capability id="oss.storage.availabilityarea" />
-        </Capabilities>
-        <State>1</State>
-    </Location>
-</ns2:DescribeLocationsResponse>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/log4j.xml b/sandbox-providers/ibm-smartcloud/src/test/resources/log4j.xml
deleted file mode 100644
index 63810d3..0000000
--- a/sandbox-providers/ibm-smartcloud/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/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/new_instance.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/new_instance.json b/sandbox-providers/ibm-smartcloud/src/test/resources/new_instance.json
deleted file mode 100644
index 4388aa8..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/new_instance.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-    "instances": [{
-        "launchTime": 1305359078796,
-        "software": [{
-            "version": "11 SP1",
-            "type": "OS",
-            "name": "SUSE Linux Enterprise Server"
-        }],
-        "requestId": "80904",
-        "keyName": "adriancole",
-        "name": "adriancole",
-        "instanceType": "COP32.1/2048/60",
-        "status": 0,
-        "owner": "adrian@cloudconscious.com",
-        "location": "101",
-        "imageId": "20015393",
-        "productCodes": [],
-        "volumes": [],
-        "requestName": "adriancole",
-        "id": "80604",
-        "secondaryIP": [],
-        "expirationTime": 1368431087355
-    }]
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/storage-offerings.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/storage-offerings.json b/sandbox-providers/ibm-smartcloud/src/test/resources/storage-offerings.json
deleted file mode 100644
index a6edca1..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/storage-offerings.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-    "addresses": [{
-        "location": "41",
-        "price": {
-            "rate": 0.039,
-            "unitOfMeasure": "UHR",
-            "countryCode": "897",
-            "effectiveDate": 1279497600000,
-            "currencyCode": "USD",
-            "pricePerQuantity": 1
-        },
-        "capacity": 256,
-        "name": "Small",
-        "id": "20001208",
-        "formats": [{
-            "label": "ext3",
-            "id": "EXT3"
-        }]
-    },
-    {
-        "location": "41",
-        "price": {
-            "rate": 0.078,
-            "unitOfMeasure": "UHR",
-            "countryCode": "897",
-            "effectiveDate": 1279497600000,
-            "currencyCode": "USD",
-            "pricePerQuantity": 1
-        },
-        "capacity": 512,
-        "name": "Medium",
-        "id": "20001209",
-        "formats": [{
-            "label": "ext3",
-            "id": "EXT3"
-        }]
-    },
-    {
-        "location": "41",
-        "price": {
-            "rate": 0.312,
-            "unitOfMeasure": "UHR",
-            "countryCode": "897",
-            "effectiveDate": 1279497600000,
-            "currencyCode": "USD",
-            "pricePerQuantity": 1
-        },
-        "capacity": 2048,
-        "name": "Large",
-        "id": "20001210",
-        "formats": [{
-            "label": "ext3",
-            "id": "EXT3"
-        }]
-    }]
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/volume.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/volume.json b/sandbox-providers/ibm-smartcloud/src/test/resources/volume.json
deleted file mode 100644
index b68b520..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/volume.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-"instanceId":"2",
-"state":5,
-"size":"50",
-"owner":"aadelucc@us.ibm.com",
-"createdTime":1260469075119,
-"location":"1",
-"productCodes":[],
-"format":"ext3",
-"name":"New Storage", 
-"id":"67"
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/volumes.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/volumes.json b/sandbox-providers/ibm-smartcloud/src/test/resources/volumes.json
deleted file mode 100644
index 83a40a0..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/volumes.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{"volumes": [
-{
-"instanceId":"2",
-"state":5,
-"size":"50",
-"owner":"aadelucc@us.ibm.com",
-"createdTime":1260469075119,
-"location":"1",
-"productCodes":[],
-"format":"ext3",
-"name":"New Storage", 
-"id":"67"
-},
-{
-"state":6,
-"size":"51",
-"owner":"aadelucc@us.ibm.com",
-"createdTime":1260469075120,
-"location":"2",
-"productCodes":["abrad"],
-"format":"ext3",
-"name":"New Storage1", 
-"id":"68"
-}
-
-]}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/README.txt b/sandbox-providers/scaleup-storage/README.txt
deleted file mode 100644
index 36cfb1a..0000000
--- a/sandbox-providers/scaleup-storage/README.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-#
-# The jclouds provider for ScaleUp's Secure Cloud Storage (http://www.scaleupstorage.com/).
-#
-# Expects the jclouds s3 API to be present on your application's classpath.
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/pom.xml b/sandbox-providers/scaleup-storage/pom.xml
deleted file mode 100644
index 1694679..0000000
--- a/sandbox-providers/scaleup-storage/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>scaleup-storage</artifactId>
-    <name>jclouds ScaleUp Cloud Storage provider</name>
-    <description>Scality RING (ScalityRS2) implementation targeted to ScaleUp Cloud Storage</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.initializer>org.jclouds.scaleup.storage.blobstore.ScaleUpStorageTestInitializer</test.initializer>
-        <test.scaleup-storage.endpoint>https://scs.scaleupstorage.com</test.scaleup-storage.endpoint>
-        <test.scaleup-storage.api-version>2006-03-01</test.scaleup-storage.api-version>
-        <test.scaleup-storage.build-version></test.scaleup-storage.build-version>
-        <test.scaleup-storage.identity>FIX_ME</test.scaleup-storage.identity>
-        <test.scaleup-storage.credential>FIX_ME</test.scaleup-storage.credential>
-
-        <jclouds.osgi.export>org.jclouds.scaleup.storage*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>scality-rs2</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>scality-rs2</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.scaleup-storage.endpoint>${test.scaleup-storage.endpoint}</test.scaleup-storage.endpoint>
-                                        <test.scaleup-storage.api-version>${test.scaleup-storage.api-version}</test.scaleup-storage.api-version>
-                                        <test.scaleup-storage.build-version>${test.scaleup-storage.build-version}</test.scaleup-storage.build-version>
-                                        <test.scaleup-storage.identity>${test.scaleup-storage.identity}</test.scaleup-storage.identity>
-                                        <test.scaleup-storage.credential>${test.scaleup-storage.credential}</test.scaleup-storage.credential>
-                                        <test.initializer>${test.initializer}</test.initializer>
-                                        <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/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/main/java/org/jclouds/scaleup/storage/ScaleUpStoragePropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/main/java/org/jclouds/scaleup/storage/ScaleUpStoragePropertiesBuilder.java b/sandbox-providers/scaleup-storage/src/main/java/org/jclouds/scaleup/storage/ScaleUpStoragePropertiesBuilder.java
deleted file mode 100644
index 6317ae9..0000000
--- a/sandbox-providers/scaleup-storage/src/main/java/org/jclouds/scaleup/storage/ScaleUpStoragePropertiesBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage;
-
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
-
-import java.util.Properties;
-
-import org.jclouds.scality.rs2.ScalityRS2PropertiesBuilder;
-
-/**
- * Builds properties used in ScaleUp Storage
- * 
- * @author Adrian Cole
- */
-public class ScaleUpStoragePropertiesBuilder extends ScalityRS2PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ISO3166_CODES, "DE");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://scs.scaleupstorage.com");
-      return properties;
-   }
-
-   public ScaleUpStoragePropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/ScaleUpStorageClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/ScaleUpStorageClientLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/ScaleUpStorageClientLiveTest.java
deleted file mode 100644
index e8d9525..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/ScaleUpStorageClientLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage;
-
-import org.jclouds.scality.rs2.ScalityRS2ClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code ScalityRS2Client}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "ScaleUpStorageClientLiveTest")
-public class ScaleUpStorageClientLiveTest extends ScalityRS2ClientLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobIntegrationLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobIntegrationLiveTest.java
deleted file mode 100644
index acd6bb9..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScaleUpStorageBlobIntegrationLiveTest")
-public class ScaleUpStorageBlobIntegrationLiveTest extends ScalityRS2BlobIntegrationLiveTest {
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobLiveTest.java
deleted file mode 100644
index ab5966a..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScaleUpStorageBlobLiveTest")
-public class ScaleUpStorageBlobLiveTest extends ScalityRS2BlobLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobMapIntegrationLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobMapIntegrationLiveTest.java
deleted file mode 100644
index eb3a70b..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScaleUpStorageBlobMapIntegrationLiveTest")
-public class ScaleUpStorageBlobMapIntegrationLiveTest extends ScalityRS2BlobMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobSignerLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobSignerLiveTest.java
deleted file mode 100644
index 377e376..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageBlobSignerLiveTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScaleUpStorageBlobSignerLiveTest")
-public class ScaleUpStorageBlobSignerLiveTest extends ScalityRS2BlobSignerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerIntegrationLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerIntegrationLiveTest.java
deleted file mode 100644
index 4b0a550..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScaleUpStorageContainerIntegrationLiveTest")
-public class ScaleUpStorageContainerIntegrationLiveTest extends ScalityRS2ContainerIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerLiveTest.java
deleted file mode 100644
index 955f1c4..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageContainerLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScaleUpStorageContainerLiveTest")
-public class ScaleUpStorageContainerLiveTest extends ScalityRS2ContainerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageInputStreamMapIntegrationLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 83da72b..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2InputStreamMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScaleUpStorageInputStreamMapIntegrationLiveTest")
-public class ScaleUpStorageInputStreamMapIntegrationLiveTest extends ScalityRS2InputStreamMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageServiceIntegrationLiveTest.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageServiceIntegrationLiveTest.java
deleted file mode 100644
index bb10c3f..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import java.util.Set;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScaleUpStorageServiceIntegrationLiveTest")
-public class ScaleUpStorageServiceIntegrationLiveTest extends ScalityRS2ServiceIntegrationLiveTest {
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("DE");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageTestInitializer.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageTestInitializer.java b/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageTestInitializer.java
deleted file mode 100644
index e3874b6..0000000
--- a/sandbox-providers/scaleup-storage/src/test/java/org/jclouds/scaleup/storage/blobstore/ScaleUpStorageTestInitializer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scaleup.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2TestInitializer;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ScaleUpStorageTestInitializer extends ScalityRS2TestInitializer {
-
-   public ScaleUpStorageTestInitializer() {
-      provider = "scaleup-storage";
-   }
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/pom.xml b/sandbox-providers/tiscali-storage/pom.xml
deleted file mode 100644
index 7a15d53..0000000
--- a/sandbox-providers/tiscali-storage/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>tiscali-storage</artifactId>
-    <name>jclouds Tisali Cloud Storage provider</name>
-    <description>Scality RING (ScalityRS2) implementation targeted to Tisali Cloud Storage</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.initializer>org.jclouds.tiscali.storage.blobstore.TiscaliStorageTestInitializer</test.initializer>
-        <test.tiscali-storage.endpoint>https://storage.tiscali.it</test.tiscali-storage.endpoint>
-        <test.tiscali-storage.api-version>2006-03-01</test.tiscali-storage.api-version>
-        <test.tiscali-storage.build-version></test.tiscali-storage.build-version>
-        <test.tiscali-storage.identity>FIX_ME</test.tiscali-storage.identity>
-        <test.tiscali-storage.credential>FIX_ME</test.tiscali-storage.credential>
-
-        <jclouds.osgi.export>org.jclouds.tiscali.storage*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>scality-rs2</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>scality-rs2</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.tiscali-storage.endpoint>${test.tiscali-storage.endpoint}</test.tiscali-storage.endpoint>
-                                        <test.tiscali-storage.api-version>${test.tiscali-storage.api-version}</test.tiscali-storage.api-version>
-                                        <test.tiscali-storage.build-version>${test.tiscali-storage.build-version}</test.tiscali-storage.build-version>
-                                        <test.tiscali-storage.identity>${test.tiscali-storage.identity}</test.tiscali-storage.identity>
-                                        <test.tiscali-storage.credential>${test.tiscali-storage.credential}</test.tiscali-storage.credential>
-                                        <test.initializer>${test.initializer}</test.initializer>
-                                        <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/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java b/sandbox-providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java
deleted file mode 100644
index 77bc380..0000000
--- a/sandbox-providers/tiscali-storage/src/main/java/org/jclouds/tiscali/storage/TiscaliStoragePropertiesBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage;
-
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
-
-import java.util.Properties;
-
-import org.jclouds.scality.rs2.ScalityRS2PropertiesBuilder;
-
-/**
- * Builds properties used in Tiscali Storage
- * 
- * @author Adrian Cole
- */
-public class TiscaliStoragePropertiesBuilder extends ScalityRS2PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ISO3166_CODES, "IT");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://storage.tiscali.it");
-      return properties;
-   }
-
-   public TiscaliStoragePropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java
deleted file mode 100644
index 696727d..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/TiscaliStorageClientLiveTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage;
-
-import org.jclouds.scality.rs2.ScalityRS2ClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code ScalityRS2Client}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "TiscaliStorageClientLiveTest")
-public class TiscaliStorageClientLiveTest extends ScalityRS2ClientLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java
deleted file mode 100644
index 13945c2..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "TiscaliStorageBlobIntegrationLiveTest")
-public class TiscaliStorageBlobIntegrationLiveTest extends ScalityRS2BlobIntegrationLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java
deleted file mode 100644
index dc06b21..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "TiscaliStorageBlobLiveTest")
-public class TiscaliStorageBlobLiveTest extends ScalityRS2BlobLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java
deleted file mode 100644
index e6db3e3..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "TiscaliStorageBlobMapIntegrationLiveTest")
-public class TiscaliStorageBlobMapIntegrationLiveTest extends ScalityRS2BlobMapIntegrationLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java
deleted file mode 100644
index 23d1d61..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageBlobSignerLiveTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "TiscaliStorageBlobSignerLiveTest")
-public class TiscaliStorageBlobSignerLiveTest extends ScalityRS2BlobSignerLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java
deleted file mode 100644
index a114e5c..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "TiscaliStorageContainerIntegrationLiveTest")
-public class TiscaliStorageContainerIntegrationLiveTest extends ScalityRS2ContainerIntegrationLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java
deleted file mode 100644
index 4db59b8..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageContainerLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "TiscaliStorageContainerLiveTest")
-public class TiscaliStorageContainerLiveTest extends ScalityRS2ContainerLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 58e31e6..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2InputStreamMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "TiscaliStorageInputStreamMapIntegrationLiveTest")
-public class TiscaliStorageInputStreamMapIntegrationLiveTest extends ScalityRS2InputStreamMapIntegrationLiveTest {
-   static {
-      containerCount = 4;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java
deleted file mode 100644
index 7703c2d..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import java.util.Set;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "TiscaliStorageServiceIntegrationLiveTest")
-public class TiscaliStorageServiceIntegrationLiveTest extends ScalityRS2ServiceIntegrationLiveTest {
-   static {
-      containerCount = 4;
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("IT");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java b/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java
deleted file mode 100644
index de3198a..0000000
--- a/sandbox-providers/tiscali-storage/src/test/java/org/jclouds/tiscali/storage/blobstore/TiscaliStorageTestInitializer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.tiscali.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2TestInitializer;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class TiscaliStorageTestInitializer extends ScalityRS2TestInitializer {
-
-   public TiscaliStorageTestInitializer() {
-      provider = "tiscali-storage";
-   }
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/.gitignore
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/.gitignore b/sandbox-providers/twitter/.gitignore
deleted file mode 100644
index 0432445..0000000
--- a/sandbox-providers/twitter/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-# use glob syntax.
-syntax: glob
-target
-.settings
-.classpath
-.project
-jclouds-twitter.iml
-jclouds-twitter.ipr
-jclouds-twitter.iws
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/README.txt b/sandbox-providers/twitter/README.txt
deleted file mode 100644
index 34db981..0000000
--- a/sandbox-providers/twitter/README.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-#
-# The jclouds provider for Twitter (http://twitter.com/).
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/pom.xml b/sandbox-providers/twitter/pom.xml
deleted file mode 100644
index d02550a..0000000
--- a/sandbox-providers/twitter/pom.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>twitter</artifactId>
-    <name>jclouds twitter core</name>
-    <description>jclouds components to access twitter</description>
-    <packaging>bundle</packaging>
-    
-    <!-- bootstrapping: need to fetch the project POM -->
-    <repositories>
-        <repository>
-            <id>jclouds-sona-snapshots-nexus</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>    
-    </repositories>
-    
-    <properties>
-        <!-- when instances are hung, open a ticket and add here -->
-        <test.twitter.endpoint>http://api.twitter.com</test.twitter.endpoint>
-        <test.twitter.api-version>1.0</test.twitter.api-version>
-        <test.twitter.build-version></test.twitter.build-version>
-        <test.twitter.identity>FIXME</test.twitter.identity>
-        <test.twitter.credential>FIXME</test.twitter.credential>
-
-        <jclouds.osgi.export>org.jclouds.twitter*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.twitter.endpoint>${test.twitter.endpoint}</test.twitter.endpoint>
-                                        <test.twitter.api-version>${test.twitter.api-version}</test.twitter.api-version>
-                                        <test.twitter.build-version>${test.twitter.build-version}</test.twitter.build-version>
-                                        <test.twitter.identity>${test.twitter.identity}</test.twitter.identity>
-                                        <test.twitter.credential>${test.twitter.credential}</test.twitter.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/Twitter.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/Twitter.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/Twitter.java
deleted file mode 100644
index 1cdc42d..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/Twitter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a Twitter resource.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Twitter {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterAsyncClient.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterAsyncClient.java
deleted file mode 100644
index e3c9de6..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterAsyncClient.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import java.util.SortedSet;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.twitter.domain.Status;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to Twitter via their REST API.
- * <p/>
- * 
- * @see TwitterClient
- * @see <a href= "http://apiwiki.twitter.com/Twitter-REST-API-Method" />
- * @author Adrian Cole
- */
-@RequestFilters(BasicAuthentication.class)
-public interface TwitterAsyncClient {
-
-   /**
-    * @see TwitterClient#getMyMentions()
-    */
-   @GET
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Path("/statuses/mentions.json")
-   ListenableFuture<SortedSet<Status>> getMyMentions();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterClient.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterClient.java
deleted file mode 100644
index 1dded41..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterClient.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import java.util.SortedSet;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.twitter.domain.Status;
-
-/**
- * Provides access to Twitter via their REST API.
- * <p/>
- * 
- * @see <a href= "http://apiwiki.twitter.com/Twitter-REST-API-Method" />
- * @see TwitterAsyncClient
- * @author Adrian Cole
- */
-@Timeout(duration = 4, timeUnit = TimeUnit.SECONDS)
-public interface TwitterClient {
-
-   SortedSet<Status> getMyMentions();
-
-}


[17/18] git commit: JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
JCLOUDS-25. Remove oprhaned sandbox-* from repo


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

Branch: refs/heads/master
Commit: 23d9d901d33593fa3ab7f51e599ac1f2cd60de11
Parents: c63b932
Author: Andrew Bayer <an...@gmail.com>
Authored: Fri May 10 14:07:00 2013 -0700
Committer: Andrew Bayer <an...@gmail.com>
Committed: Fri May 10 14:52:46 2013 -0700

----------------------------------------------------------------------
 sandbox-apis/libvirt/README.txt                    |   92 --
 sandbox-apis/libvirt/TODO                          |    1 -
 sandbox-apis/libvirt/pom.xml                       |  147 ----
 .../src/main/java/org/jclouds/libvirt/Image.java   |   55 --
 .../java/org/jclouds/libvirt/LibvirtConstants.java |   32 -
 .../libvirt/compute/LibvirtComputeService.java     |  121 ---
 .../LibvirtComputeServiceContextBuilder.java       |   49 --
 .../compute/LibvirtComputeServiceContextSpec.java  |   42 -
 .../libvirt/compute/LibvirtPropertiesBuilder.java  |   72 --
 .../domain/LibvirtComputeServiceContextModule.java |  180 ----
 .../compute/functions/DomainToHardware.java        |   98 ---
 .../compute/functions/DomainToNodeMetadata.java    |  138 ---
 .../compute/functions/LibvirtImageToImage.java     |   61 --
 .../strategy/LibvirtComputeServiceAdapter.java     |  282 ------
 .../LibvirtComputeServiceContextBuilderTest.java   |   76 --
 .../compute/LibvirtComputeServiceLiveTest.java     |   73 --
 .../libvirt/compute/LibvirtExperimentLiveTest.java |   95 ---
 sandbox-apis/libvirt/src/test/resources/log4j.xml  |  117 ---
 sandbox-apis/nirvanix/README.txt                   |   25 -
 sandbox-apis/nirvanix/pom.xml                      |  126 ---
 .../org/jclouds/nirvanix/sdn/SDNAsyncClient.java   |  112 ---
 .../jclouds/nirvanix/sdn/SDNAuthAsyncClient.java   |   53 --
 .../java/org/jclouds/nirvanix/sdn/SDNClient.java   |   67 --
 .../jclouds/nirvanix/sdn/SDNContextBuilder.java    |   46 -
 .../jclouds/nirvanix/sdn/SDNPropertiesBuilder.java |   45 -
 .../org/jclouds/nirvanix/sdn/SessionToken.java     |   39 -
 .../sdn/binders/BindMetadataToQueryParams.java     |   58 --
 .../sdn/config/SDNAuthRestClientModule.java        |   97 ---
 .../nirvanix/sdn/config/SDNRestClientModule.java   |   50 --
 .../jclouds/nirvanix/sdn/domain/UploadInfo.java    |   40 -
 .../sdn/filters/AddSessionTokenToRequest.java      |   95 ---
 .../sdn/filters/InsertUserContextIntoPath.java     |   71 --
 .../functions/ParseMetadataFromJsonResponse.java   |   67 --
 .../ParseSessionTokenFromJsonResponse.java         |   58 --
 .../functions/ParseUploadInfoFromJsonResponse.java |   65 --
 .../nirvanix/sdn/reference/SDNConstants.java       |   30 -
 .../nirvanix/sdn/reference/SDNQueryParams.java     |   38 -
 .../jclouds/nirvanix/sdn/SDNAsyncClientTest.java   |  188 ----
 .../nirvanix/sdn/SDNAuthAsyncClientTest.java       |   75 --
 .../nirvanix/sdn/SDNAuthenticationLiveTest.java    |   84 --
 .../jclouds/nirvanix/sdn/SDNClientLiveTest.java    |  101 ---
 .../sdn/binders/BindMetadataToQueryParamsTest.java |   79 --
 .../sdn/filters/AddSessionTokenToRequestTest.java  |  132 ---
 .../sdn/filters/InsertUserContextIntoPathTest.java |  130 ---
 .../ParseMetadataFromJsonResponseTest.java         |   53 --
 .../ParseSessionTokenFromJsonResponseTest.java     |   52 --
 .../ParseUploadInfoFromJsonResponseTest.java       |   55 --
 .../nirvanix/src/test/resources/authtoken.json     |    1 -
 sandbox-apis/nirvanix/src/test/resources/log4j.xml |   90 --
 .../nirvanix/src/test/resources/login.json         |    1 -
 .../nirvanix/src/test/resources/metadata.json      |    1 -
 sandbox-apis/pcs/README.txt                        |   25 -
 sandbox-apis/pcs/pom.xml                           |  126 ---
 .../java/org/jclouds/mezeo/pcs/PCSAsyncClient.java |  179 ----
 .../main/java/org/jclouds/mezeo/pcs/PCSClient.java |   70 --
 .../org/jclouds/mezeo/pcs/PCSCloudAsyncClient.java |   76 --
 .../org/jclouds/mezeo/pcs/PCSContextBuilder.java   |   42 -
 .../jclouds/mezeo/pcs/PCSPropertiesBuilder.java    |   44 -
 .../pcs/binders/BindContainerNameToXmlPayload.java |   39 -
 .../pcs/binders/BindFileInfoToXmlPayload.java      |   50 --
 .../pcs/binders/BindPCSFileToMultipartForm.java    |   52 --
 .../pcs/blobstore/functions/BlobToFileInfo.java    |   46 -
 .../pcs/blobstore/functions/BlobToPCSFile.java     |   49 --
 .../functions/FileInfoToBlobMetadata.java          |   57 --
 .../pcs/blobstore/functions/PCSFileToBlob.java     |   50 --
 .../jclouds/mezeo/pcs/config/PCSObjectModule.java  |   64 --
 .../mezeo/pcs/config/PCSRestClientModule.java      |  139 ---
 .../jclouds/mezeo/pcs/domain/ContainerInfo.java    |   37 -
 .../jclouds/mezeo/pcs/domain/ContainerList.java    |   37 -
 .../org/jclouds/mezeo/pcs/domain/FileInfo.java     |   44 -
 .../mezeo/pcs/domain/FileInfoWithMetadata.java     |   36 -
 .../jclouds/mezeo/pcs/domain/MutableFileInfo.java  |   44 -
 .../mezeo/pcs/domain/MutableResourceInfo.java      |   64 --
 .../java/org/jclouds/mezeo/pcs/domain/PCSFile.java |   44 -
 .../org/jclouds/mezeo/pcs/domain/ResourceInfo.java |   64 --
 .../pcs/domain/internal/ContainerInfoImpl.java     |   72 --
 .../pcs/domain/internal/ContainerListImpl.java     |  115 ---
 .../mezeo/pcs/domain/internal/FileInfoImpl.java    |  120 ---
 .../domain/internal/FileInfoWithMetadataImpl.java  |   72 --
 .../pcs/domain/internal/MutableFileInfoImpl.java   |  135 ---
 .../domain/internal/MutableResourceInfoImpl.java   |  271 ------
 .../mezeo/pcs/domain/internal/PCSFileImpl.java     |   78 --
 .../pcs/domain/internal/ResourceInfoImpl.java      |  224 -----
 .../org/jclouds/mezeo/pcs/endpoints/Contacts.java  |   39 -
 .../mezeo/pcs/endpoints/Metacontainers.java        |   40 -
 .../org/jclouds/mezeo/pcs/endpoints/Projects.java  |   39 -
 .../jclouds/mezeo/pcs/endpoints/Recyclebin.java    |   39 -
 .../jclouds/mezeo/pcs/endpoints/RootContainer.java |   39 -
 .../org/jclouds/mezeo/pcs/endpoints/Shares.java    |   39 -
 .../java/org/jclouds/mezeo/pcs/endpoints/Tags.java |   39 -
 .../org/jclouds/mezeo/pcs/endpoints/WebDAV.java    |   39 -
 .../pcs/functions/AddMetadataItemIntoMap.java      |   74 --
 .../functions/ReturnFalseIfContainerNotFound.java  |   43 -
 .../ReturnTrueIfContainerAlreadyExists.java        |   45 -
 .../pcs/handlers/PCSClientErrorRetryHandler.java   |   54 --
 .../jclouds/mezeo/pcs/options/PutBlockOptions.java |   85 --
 .../jclouds/mezeo/pcs/xml/CloudXlinkHandler.java   |  120 ---
 .../jclouds/mezeo/pcs/xml/ContainerHandler.java    |  277 ------
 .../org/jclouds/mezeo/pcs/xml/FileHandler.java     |  182 ----
 .../org/jclouds/mezeo/pcs/PCSAsyncClientTest.java  |  298 -------
 .../org/jclouds/mezeo/pcs/PCSClientLiveTest.java   |  279 ------
 .../jclouds/mezeo/pcs/PCSCloudAsyncClientTest.java |   86 --
 .../binders/BindContainerNameToXmlPayloadTest.java |   48 --
 .../pcs/binders/BindFileInfoToXmlPayloadTest.java  |   76 --
 .../pcs/functions/AddMetadataAndReturnIdTest.java  |  132 ---
 .../AssembleBlobFromBlobMetadataCallTest.java      |   48 --
 .../mezeo/pcs/internal/StubPCSAsyncClient.java     |   96 ---
 .../mezeo/pcs/options/PutBlockOptionsTest.java     |   88 --
 .../mezeo/pcs/xml/CloudXlinkHanderTest.java        |   65 --
 .../mezeo/pcs/xml/ContainerHandlerTest.java        |  164 ----
 .../mezeo/pcs/xml/FileMetadataHandlerTest.java     |   96 ---
 sandbox-apis/pcs/src/test/resources/discovery.xml  |   11 -
 sandbox-apis/pcs/src/test/resources/log4j.xml      |   90 --
 .../pcs/src/test/resources/test_file_metadata.xml  |   22 -
 .../pcs/src/test/resources/test_root_container.xml |  117 ---
 sandbox-apis/scality-rs2/README.txt                |   27 -
 sandbox-apis/scality-rs2/pom.xml                   |  125 ---
 .../jclouds/scality/rs2/ScalityRS2AsyncClient.java |   39 -
 .../scality/rs2/ScalityRS2ContextBuilder.java      |   50 --
 .../scality/rs2/ScalityRS2PropertiesBuilder.java   |   44 -
 .../config/ScalityRS2BlobStoreContextModule.java   |   29 -
 .../rs2/config/ScalityRS2RestClientModule.java     |   50 --
 .../rs2/ScalityRS2AsyncClientTestDisabled.java     |   47 -
 .../scality/rs2/ScalityRS2ClientLiveTest.java      |   46 -
 .../ScalityRS2BlobIntegrationLiveTest.java         |   55 --
 .../rs2/blobstore/ScalityRS2BlobLiveTest.java      |   37 -
 .../ScalityRS2BlobMapIntegrationLiveTest.java      |   30 -
 .../blobstore/ScalityRS2BlobSignerLiveTest.java    |   31 -
 .../ScalityRS2ContainerIntegrationLiveTest.java    |   39 -
 .../rs2/blobstore/ScalityRS2ContainerLiveTest.java |   30 -
 ...calityRS2InputStreamMapIntegrationLiveTest.java |   30 -
 .../ScalityRS2ServiceIntegrationLiveTest.java      |   30 -
 .../rs2/blobstore/ScalityRS2TestInitializer.java   |   35 -
 sandbox-apis/simpledb/pom.xml                      |  101 ---
 .../org/jclouds/simpledb/SimpleDBAsyncClient.java  |  113 ---
 .../java/org/jclouds/simpledb/SimpleDBClient.java  |  110 ---
 .../jclouds/simpledb/SimpleDBContextBuilder.java   |   56 --
 .../simpledb/SimpleDBPropertiesBuilder.java        |   55 --
 .../binders/BindAttributesToIndexedFormParams.java |   76 --
 .../simpledb/config/SimpleDBRestClientModule.java  |   41 -
 .../org/jclouds/simpledb/domain/AttributePair.java |   78 --
 .../jclouds/simpledb/domain/DomainMetadata.java    |  190 -----
 .../java/org/jclouds/simpledb/domain/Item.java     |   63 --
 .../simpledb/domain/ListDomainsResponse.java       |   37 -
 .../simpledb/options/ListDomainsOptions.java       |  101 ---
 .../java/org/jclouds/simpledb/package-info.java    |   25 -
 .../simpledb/reference/SimpleDBParameters.java     |   74 --
 .../jclouds/simpledb/reference/package-info.java   |   23 -
 .../org/jclouds/simpledb/xml/ItemsHandler.java     |  109 ---
 .../simpledb/xml/ListDomainsResponseHandler.java   |   82 --
 .../jclouds/simpledb/SimpleDBAsyncClientTest.java  |  139 ---
 .../jclouds/simpledb/SimpleDBClientLiveTest.java   |  172 ----
 .../simpledb/options/ListDomainsOptionsTest.java   |   87 --
 .../xml/ListDomainsResponseHandlerTest.java        |   51 --
 .../simpledb/src/test/resources/list_domains.xml   |   11 -
 sandbox-apis/simpledb/src/test/resources/log4j.xml |   89 --
 sandbox-drivers/asynchttpclient/pom.xml            |   76 --
 .../http/ning/NingHttpCommandExecutorService.java  |  199 -----
 .../NingHttpCommandExecutorServiceModule.java      |   67 --
 .../ning/NingHttpCommandExecutorServiceTest.java   |   59 --
 .../asynchttpclient/src/test/resources/test.jks    |  Bin 1365 -> 0 bytes
 sandbox-providers/aws-simpledb/pom.xml             |  114 ---
 .../aws/simpledb/AWSSimpleDBPropertiesBuilder.java |   74 --
 .../aws/simpledb/AWSSimpleDBProviderMetadata.java  |  115 ---
 .../org.jclouds.providers.ProviderMetadata         |    1 -
 .../aws/simpledb/AWSSimpleDBAsyncClientTest.java   |   61 --
 .../aws/simpledb/AWSSimpleDBClientLiveTest.java    |   50 --
 .../aws/simpledb/AWSSimpleDBProviderTest.java      |   36 -
 sandbox-providers/azurequeue/pom.xml               |  106 ---
 .../jclouds/azurequeue/AzureQueueAsyncClient.java  |  123 ---
 .../org/jclouds/azurequeue/AzureQueueClient.java   |  142 ----
 .../azurequeue/AzureQueueProviderMetadata.java     |  116 ---
 .../azurequeue/binders/BindToXmlStringPayload.java |   38 -
 .../jclouds/azurequeue/domain/QueueMessage.java    |  162 ----
 .../jclouds/azurequeue/domain/QueueMetadata.java   |   84 --
 .../org/jclouds/azurequeue/options/GetOptions.java |   85 --
 .../azurequeue/options/PutMessageOptions.java      |   63 --
 .../xml/AccountNameEnumerationResultsHandler.java  |   90 --
 .../azurequeue/xml/QueueMessagesListHandler.java   |  104 ---
 .../org.jclouds.providers.ProviderMetadata         |    1 -
 .../azurequeue/AzureQueueAsyncClientTest.java      |  240 ------
 .../azurequeue/AzureQueueClientLiveTest.java       |  162 ----
 .../jclouds/azurequeue/AzureQueueProviderTest.java |   35 -
 .../jclouds/azurequeue/options/GetOptionsTest.java |   75 --
 .../AccountNameEnumerationResultsHandlerTest.java  |   67 --
 .../xml/QueueMessagesListHandlerTest.java          |   69 --
 .../azurequeue/src/test/resources/log4j.xml        |   88 --
 .../src/test/resources/test_get_messages.xml       |   21 -
 .../src/test/resources/test_list_queues.xml        |   20 -
 .../test/resources/test_list_queues_options.xml    |   17 -
 sandbox-providers/boxdotnet/pom.xml                |  117 ---
 .../jclouds/boxdotnet/BoxDotNetAsyncClient.java    |   70 --
 .../org/jclouds/boxdotnet/BoxDotNetClient.java     |   50 --
 .../jclouds/boxdotnet/BoxDotNetContextBuilder.java |   44 -
 .../boxdotnet/BoxDotNetPropertiesBuilder.java      |   44 -
 .../config/BoxDotNetRestClientModule.java          |   60 --
 .../boxdotnet/handlers/BoxDotNetErrorHandler.java  |   89 --
 .../boxdotnet/BoxDotNetAsyncClientTest.java        |  128 ---
 .../jclouds/boxdotnet/BoxDotNetClientLiveTest.java |   83 --
 .../boxdotnet/src/test/resources/log4j.xml         |   90 --
 sandbox-providers/dunkel-vcd/pom.xml               |  126 ---
 .../vcd/DunkelVCloudDirectorContextBuilder.java    |   45 -
 .../vcd/DunkelVCloudDirectorPropertiesBuilder.java |   40 -
 .../vcd/DunkelVCloudDirectorProviderMetadata.java  |  109 ---
 ...lVCloudDirectorComputeServiceContextModule.java |   38 -
 .../DunkelVCloudDirectorRestClientModule.java      |   29 -
 .../org.jclouds.providers.ProviderMetadata         |    1 -
 .../vcd/DunkelVCloudDirectorProviderTest.java      |   33 -
 ...DunkelVCloudDirectorComputeServiceLiveTest.java |   33 -
 ...unkelVCloudDirectorTemplateBuilderLiveTest.java |   63 --
 .../dunkel-vcd/src/test/resources/log4j.xml        |  151 ----
 sandbox-providers/googlestorage/README.txt         |   27 -
 sandbox-providers/googlestorage/pom.xml            |  124 ---
 .../googlestorage/GoogleStorageAsyncClient.java    |   68 --
 .../googlestorage/GoogleStorageContextBuilder.java |   44 -
 .../GoogleStoragePropertiesBuilder.java            |   50 --
 .../GoogleStorageProviderMetadata.java             |  108 ---
 .../BindGoogleStorageObjectMetadataToRequest.java  |   70 --
 .../config/GoogleStorageRestClientModule.java      |   58 --
 .../org.jclouds.providers.ProviderMetadata         |    1 -
 .../GoogleStorageAsyncClientTestDisabled.java      |   46 -
 .../googlestorage/GoogleStorageClientLiveTest.java |   32 -
 .../googlestorage/GoogleStorageProviderTest.java   |   37 -
 ...ndGoogleStorageObjectMetadataToRequestTest.java |  145 ----
 .../GoogleStorageBlobIntegrationLiveTest.java      |   45 -
 .../blobstore/GoogleStorageBlobLiveTest.java       |   30 -
 .../GoogleStorageBlobMapIntegrationLiveTest.java   |   30 -
 .../blobstore/GoogleStorageBlobSignerLiveTest.java |   31 -
 .../GoogleStorageContainerIntegrationLiveTest.java |   30 -
 .../blobstore/GoogleStorageContainerLiveTest.java  |   30 -
 ...leStorageInputStreamMapIntegrationLiveTest.java |   30 -
 .../GoogleStorageServiceIntegrationLiveTest.java   |   38 -
 .../blobstore/GoogleStorageTestInitializer.java    |   33 -
 sandbox-providers/hosteurope-storage/pom.xml       |  132 ---
 .../HostEuropeStoragePropertiesBuilder.java        |   46 -
 .../storage/HostEuropeStorageClientLiveTest.java   |   32 -
 .../HostEuropeStorageBlobIntegrationLiveTest.java  |   32 -
 .../blobstore/HostEuropeStorageBlobLiveTest.java   |   30 -
 ...ostEuropeStorageBlobMapIntegrationLiveTest.java |   30 -
 .../HostEuropeStorageBlobSignerLiveTest.java       |   31 -
 ...tEuropeStorageContainerIntegrationLiveTest.java |   30 -
 .../HostEuropeStorageContainerLiveTest.java        |   30 -
 ...peStorageInputStreamMapIntegrationLiveTest.java |   30 -
 ...ostEuropeStorageServiceIntegrationLiveTest.java |   37 -
 .../HostEuropeStorageTestInitializer.java          |   35 -
 sandbox-providers/ibm-smartcloud/pom.xml           |  133 ---
 .../ibm/smartcloud/IBMSmartCloudAsyncClient.java   |  358 --------
 .../ibm/smartcloud/IBMSmartCloudClient.java        |  468 ----------
 .../smartcloud/IBMSmartCloudContextBuilder.java    |   49 --
 .../smartcloud/IBMSmartCloudPropertiesBuilder.java |   62 --
 .../IBMSmartCloudBindComputeStrategiesByClass.java |   75 --
 .../IBMSmartCloudBindComputeSuppliersByClass.java  |   50 --
 .../IBMSmartCloudComputeServiceContextModule.java  |   50 --
 ...SmartCloudComputeServiceDependenciesModule.java |  114 ---
 .../compute/functions/InstanceToNodeMetadata.java  |  112 ---
 .../options/IBMSmartCloudTemplateOptions.java      |  366 --------
 ...eNodesWithGroupEncodedIntoNameThenAddToSet.java |  114 ---
 ...artCloudCreateNodeWithGroupEncodedIntoName.java |   62 --
 .../strategy/IBMSmartCloudDestroyNodeStrategy.java |   74 --
 .../IBMSmartCloudGetNodeMetadataStrategy.java      |   53 --
 .../strategy/IBMSmartCloudLifeCycleStrategy.java   |   63 --
 .../strategy/IBMSmartCloudListNodesStrategy.java   |   59 --
 .../suppliers/IBMSmartCloudHardwareSupplier.java   |   87 --
 .../suppliers/IBMSmartCloudImageSupplier.java      |  100 ---
 .../suppliers/IBMSmartCloudLocationSupplier.java   |   80 --
 .../config/IBMSmartCloudParserModule.java          |   66 --
 .../config/IBMSmartCloudRestClientModule.java      |   61 --
 .../org/jclouds/ibm/smartcloud/domain/Address.java |  149 ----
 .../java/org/jclouds/ibm/smartcloud/domain/IP.java |  127 ---
 .../org/jclouds/ibm/smartcloud/domain/Image.java   |  221 -----
 .../jclouds/ibm/smartcloud/domain/Instance.java    |  449 ----------
 .../ibm/smartcloud/domain/InstanceType.java        |  103 ---
 .../org/jclouds/ibm/smartcloud/domain/Key.java     |  151 ----
 .../jclouds/ibm/smartcloud/domain/Location.java    |  174 ----
 .../jclouds/ibm/smartcloud/domain/Offering.java    |   93 --
 .../org/jclouds/ibm/smartcloud/domain/Price.java   |  132 ---
 .../ibm/smartcloud/domain/StorageOffering.java     |  125 ---
 .../org/jclouds/ibm/smartcloud/domain/Vlan.java    |  125 ---
 .../org/jclouds/ibm/smartcloud/domain/Volume.java  |  250 ------
 .../smartcloud/functions/ParseLongFromDate.java    |   39 -
 .../handlers/IBMSmartCloudErrorHandler.java        |   91 --
 .../smartcloud/options/CreateInstanceOptions.java  |  207 -----
 .../smartcloud/options/RestartInstanceOptions.java |   55 --
 .../ibm/smartcloud/predicates/AddressFree.java     |   71 --
 .../ibm/smartcloud/predicates/InstanceActive.java  |   63 --
 .../predicates/InstanceActiveOrFailed.java         |   58 --
 .../predicates/InstanceRemovedOrNotFound.java      |   59 --
 .../ibm/smartcloud/predicates/VolumeUnmounted.java |   58 --
 .../ibm/smartcloud/reference/Capabilities.java     |   33 -
 .../ibm/smartcloud/xml/LocationHandler.java        |   98 ---
 .../ibm/smartcloud/xml/LocationsHandler.java       |   69 --
 .../BaseIBMSmartCloudClientLiveTest.java           |   91 --
 .../smartcloud/IBMSmartCloudAsyncClientTest.java   |  658 ---------------
 .../smartcloud/IBMSmartCloudClientLiveTest.java    |  515 -----------
 .../ReadOnlyIBMSmartCloudClientLiveTest.java       |  125 ---
 .../IBMSmartCloudComputeServiceLiveTest.java       |   44 -
 .../IBMSmartCloudTemplateBuilderLiveTest.java      |   83 --
 .../parse/ExtendReservationForInstanceTest.java    |   55 --
 .../ibm/smartcloud/parse/GetAddressTest.java       |   41 -
 .../jclouds/ibm/smartcloud/parse/GetImageTest.java |   76 --
 .../ibm/smartcloud/parse/GetInstanceTest.java      |   61 --
 .../jclouds/ibm/smartcloud/parse/GetKeyTest.java   |   54 --
 .../ibm/smartcloud/parse/GetVolumeTest.java        |   50 --
 .../ibm/smartcloud/parse/ListAddressesTest.java    |   48 --
 .../ibm/smartcloud/parse/ListImagesTest.java       |   80 --
 .../ibm/smartcloud/parse/ListInstancesTest.java    |   66 --
 .../jclouds/ibm/smartcloud/parse/ListKeysTest.java |   58 --
 .../smartcloud/parse/ListStorageOfferingsTest.java |   66 --
 .../ibm/smartcloud/parse/ListVolumesTest.java      |   57 --
 .../ibm/smartcloud/parse/NewInstanceTest.java      |   62 --
 .../ibm/smartcloud/xml/LocationHandlerTest.java    |   53 --
 .../ibm/smartcloud/xml/LocationsHandlerTest.java   |   90 --
 .../ibm-smartcloud/src/test/resources/address.json |    7 -
 .../src/test/resources/addresses.json              |   16 -
 .../ibm-smartcloud/src/test/resources/image.json   |   51 --
 .../ibm-smartcloud/src/test/resources/images.json  |   55 --
 .../src/test/resources/instance.json               |   29 -
 .../src/test/resources/instances.json              |   31 -
 .../ibm-smartcloud/src/test/resources/key.json     |    7 -
 .../ibm-smartcloud/src/test/resources/keys.json    |   18 -
 .../ibm-smartcloud/src/test/resources/location.xml |   24 -
 .../src/test/resources/locations.xml               |  124 ---
 .../ibm-smartcloud/src/test/resources/log4j.xml    |  151 ----
 .../src/test/resources/new_instance.json           |   24 -
 .../src/test/resources/storage-offerings.json      |   56 --
 .../ibm-smartcloud/src/test/resources/volume.json  |   12 -
 .../ibm-smartcloud/src/test/resources/volumes.json |   26 -
 sandbox-providers/scaleup-storage/README.txt       |   27 -
 sandbox-providers/scaleup-storage/pom.xml          |  132 ---
 .../storage/ScaleUpStoragePropertiesBuilder.java   |   46 -
 .../storage/ScaleUpStorageClientLiveTest.java      |   32 -
 .../ScaleUpStorageBlobIntegrationLiveTest.java     |   32 -
 .../blobstore/ScaleUpStorageBlobLiveTest.java      |   30 -
 .../ScaleUpStorageBlobMapIntegrationLiveTest.java  |   30 -
 .../ScaleUpStorageBlobSignerLiveTest.java          |   31 -
 ...ScaleUpStorageContainerIntegrationLiveTest.java |   30 -
 .../blobstore/ScaleUpStorageContainerLiveTest.java |   30 -
 ...UpStorageInputStreamMapIntegrationLiveTest.java |   30 -
 .../ScaleUpStorageServiceIntegrationLiveTest.java  |   37 -
 .../blobstore/ScaleUpStorageTestInitializer.java   |   35 -
 sandbox-providers/tiscali-storage/pom.xml          |  132 ---
 .../storage/TiscaliStoragePropertiesBuilder.java   |   46 -
 .../storage/TiscaliStorageClientLiveTest.java      |   34 -
 .../TiscaliStorageBlobIntegrationLiveTest.java     |   32 -
 .../blobstore/TiscaliStorageBlobLiveTest.java      |   32 -
 .../TiscaliStorageBlobMapIntegrationLiveTest.java  |   32 -
 .../TiscaliStorageBlobSignerLiveTest.java          |   33 -
 ...TiscaliStorageContainerIntegrationLiveTest.java |   32 -
 .../blobstore/TiscaliStorageContainerLiveTest.java |   32 -
 ...liStorageInputStreamMapIntegrationLiveTest.java |   32 -
 .../TiscaliStorageServiceIntegrationLiveTest.java  |   41 -
 .../blobstore/TiscaliStorageTestInitializer.java   |   35 -
 sandbox-providers/twitter/.gitignore               |    9 -
 sandbox-providers/twitter/README.txt               |   25 -
 sandbox-providers/twitter/pom.xml                  |  117 ---
 .../src/main/java/org/jclouds/twitter/Twitter.java |   39 -
 .../org/jclouds/twitter/TwitterAsyncClient.java    |   53 --
 .../java/org/jclouds/twitter/TwitterClient.java    |   40 -
 .../org/jclouds/twitter/TwitterContextBuilder.java |   44 -
 .../jclouds/twitter/TwitterPropertiesBuilder.java  |   46 -
 .../twitter/config/TwitterRestClientModule.java    |   60 --
 .../java/org/jclouds/twitter/domain/Status.java    |  197 -----
 .../main/java/org/jclouds/twitter/domain/User.java |  363 --------
 .../jclouds/twitter/TwitterAsyncClientTest.java    |  111 ---
 .../org/jclouds/twitter/TwitterClientLiveTest.java |  106 ---
 .../twitter/src/test/resources/log4j.xml           |   90 --
 .../twitter/src/test/resources/test_mentions.json  |   77 --
 .../virtacore-publiccloud-lax/pom.xml              |  125 ---
 .../VirtacorePublicCloudLAXContextBuilder.java     |   51 --
 .../VirtacorePublicCloudLAXPropertiesBuilder.java  |   50 --
 .../VirtacorePublicCloudLAXProviderMetadata.java   |  116 ---
 ...ePublicCloudLAXComputeServiceContextModule.java |   47 -
 .../VirtacorePublicCloudLAXRestClientModule.java   |   38 -
 .../org.jclouds.providers.ProviderMetadata         |    1 -
 .../VirtacorePublicCloudLAXProviderTest.java       |   36 -
 ...tacorePublicCloudLAXComputeServiceLiveTest.java |   35 -
 ...acorePublicCloudLAXTemplateBuilderLiveTest.java |   83 --
 .../src/test/resources/log4j.xml                   |  151 ----
 378 files changed, 0 insertions(+), 29756 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/README.txt b/sandbox-apis/libvirt/README.txt
deleted file mode 100644
index 10453e5..0000000
--- a/sandbox-apis/libvirt/README.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-The libvirt library is used to interface with different virtualization technologies (http://libvirt.org/)
-
-libvirt supports:
-The Xen hypervisor on Linux and Solaris hosts.
-The QEMU emulator
-The KVM Linux hypervisor
-The LXC Linux container system
-The OpenVZ Linux container system
-The User Mode Linux paravirtualized kernel
-The VirtualBox hypervisor
-The VMware ESX and GSX hypervisors
-Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems
-
-Getting Started Guide for jclouds-libvirt
-
-install libvirt on your os
-  * if os/x, see http://github.com/justinclift/libvirt
-  * if you are using Linux, let's suppose you want to use KVM:
-- install libvirt and KVM (http://www.linux-kvm.org/page/Main_Page). 
-
-Remember to run
-	egrep '(vmx|svm)' /proc/cpuinfo
-		If nothing is printed, it means that your cpu does not support hardware virtualization.
-
-Verify Installation
-$ virsh -c qemu:///system list
- Id Name                 State
-----------------------------------
-
-(for Ubuntu users: look also at this good turorial https://help.ubuntu.com/community/KVM)
-
-Create your first guest
-- download, for example, an ubuntu 10.04 LTS ISO
-- create a libvirt domain by using:
-	virt-manager: a GUI tool at http://virt-manager.et.redhat.com/ 
-	virt-install, a python script developed by Red Hat (sudo apt-get install python-virtinst)
-	ubuntu-vm-builder, developed by Canonical. (sudo apt-get install ubuntu-vm-builder)
-		NB: use Javascript tool that generates the parameters for ubuntu-vm-builder: http://people.ubuntu.com/~kirkland/ubuntu-vm-builder.html
-
-Now that you have a libvirt domain, your workstation is ready to use jclouds-libvirt.
-You can now download jclouds-libvirt and give a try by running 
-
-ComputeServiceContext context = null;
-      try {
-         context = new ComputeServiceContextFactory()
-               .createContext(new StandaloneComputeServiceContextSpec<Domain, Domain, Image, Datacenter>("libvirt",
-                     endpoint, apiversion, identity, credential, new LibvirtComputeServiceContextModule(), ImmutableSet
-                           .<Module> of()));
-
-         Template defaultTemplate = context.getComputeService().templateBuilder()
-         	.hardwareId("c7ff2039-a9f1-a659-7f91-e0f82f59d52e").imageId("1").build();
-         	
-
-         context.getComputeService().runNodesWithTag(domainName, 1, defaultTemplate);
-        
-      } catch (RunNodesException e) {
-		e.printStackTrace();
-	} finally {
-         if (context != null)
-            context.close();
-      }
-
-where identity=your_name, endpoint=qemu:///system
-      and domainName equals to the name chosen during the creation of libvirt domain
-
-NB: apiversion, credential can be null 
-
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/TODO
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/TODO b/sandbox-apis/libvirt/TODO
deleted file mode 100644
index 81960b3..0000000
--- a/sandbox-apis/libvirt/TODO
+++ /dev/null
@@ -1 +0,0 @@
-runNodesWithTag: when ask for more than 1 node, cloning step fails cause of concurrent access to the originale virtual disk to be cloned.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/pom.xml b/sandbox-apis/libvirt/pom.xml
deleted file mode 100644
index f0b355f..0000000
--- a/sandbox-apis/libvirt/pom.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.api</groupId>
-    <artifactId>libvirt</artifactId>
-    <name>jclouds example components for a libvirt provider</name>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <!-- when instances are hung, open a ticket and add here -->
-        <jclouds.compute.blacklist.nodes>trmkrun-ccc,test.trmk-924</jclouds.compute.blacklist.nodes>
-        <test.libvirt.endpoint>test:///default</test.libvirt.endpoint>
-        <test.libvirt.api-version>1.0</test.libvirt.api-version>
-        <test.libvirt.build-version></test.libvirt.build-version>
-        <test.libvirt.identity>FIXME</test.libvirt.identity>
-        <test.libvirt.credential>FIXME</test.libvirt.credential>
-        <test.libvirt.image-id></test.libvirt.image-id>
-
-        <jclouds.osgi.export>org.jclouds.libvirt*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <dependencies>
-        <dependency>
-           <groupId>org.libvirt</groupId>
-           <artifactId>libvirt</artifactId>
-           <version>0.4.6</version>
-        </dependency>
-                <dependency>
-                    <groupId>commons-io</groupId>
-                    <artifactId>commons-io</artifactId>
-                    <version>2.4</version>
-                </dependency>
-
-		<dependency>
-		    <groupId>com.sun.jna</groupId>
-		    <artifactId>jna</artifactId>
-		    <version>3.0.9</version>
-		    <scope>provided</scope>
-		</dependency>
-		<dependency>
-           <groupId>com.jamesmurty.utils</groupId>
-           <artifactId>java-xmlbuilder</artifactId>
-           <version>0.3</version>
-       </dependency>		
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-compute</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-compute</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.driver</groupId>
-            <artifactId>jclouds-log4j</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.driver</groupId>
-            <artifactId>jclouds-jsch</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.jcraft</groupId>
-            <artifactId>jsch</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.libvirt.endpoint>${test.libvirt.endpoint}</test.libvirt.endpoint>
-                                        <test.libvirt.api-version>${test.libvirt.api-version}</test.libvirt.api-version>
-                                        <test.libvirt.build-version>${test.libvirt.build-version}</test.libvirt.build-version>
-                                        <test.libvirt.identity>${test.libvirt.identity}</test.libvirt.identity>
-                                        <test.libvirt.credential>${test.libvirt.credential}</test.libvirt.credential>
-                                        <test.libvirt.image-id>${test.libvirt.image-id}</test.libvirt.image-id>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/Image.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/Image.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/Image.java
deleted file mode 100644
index 2536924..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/Image.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt;
-
-import com.google.common.base.Objects;
-
-/**
- * This would be replaced with the real java object related to the underlying image
- * 
- * @author Adrian Cole
- */
-public class Image {
-
-   public int id;
-   public String name;
-
-   public Image(int id, String name) {
-      this.id = id;
-      this.name = name;
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(id, name);
-   }
-
-   @Override
-   public boolean equals(Object that) {
-      if (that == null)
-         return false;
-      return Objects.equal(this.toString(), that.toString());
-   }
-
-   @Override
-   public String toString() {
-      return Objects.toStringHelper(this).add("id", id).add("name", name).toString();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/LibvirtConstants.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/LibvirtConstants.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/LibvirtConstants.java
deleted file mode 100644
index 9fe3405..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/LibvirtConstants.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt;
-
-/**
- * Configuration properties and constants used in libvirt local connections.
- * 
- * @author Adrian Cole
- */
-public interface LibvirtConstants {
-   public static final String PROPERTY_LIBVIRT_DOMAIN_DIR = "jclouds.libvirt.domain.dir";
-}
-
-
-//public static final String PROPERTY_AUTH_TAG = "jclouds.aws.auth.tag";
-//public static final String PROPERTY_HEADER_TAG = "jclouds.aws.header.tag";

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeService.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeService.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeService.java
deleted file mode 100644
index 5feec7c..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeService.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import java.io.StringReader;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-
-import org.jclouds.Constants;
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.ImageExtension;
-import org.jclouds.compute.callables.RunScriptOnNode;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.internal.BaseComputeService;
-import org.jclouds.compute.internal.PersistNodeCredentials;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.reference.ComputeServiceConstants.Timeouts;
-import org.jclouds.compute.strategy.CreateNodesInGroupThenAddToSet;
-import org.jclouds.compute.strategy.DestroyNodeStrategy;
-import org.jclouds.compute.strategy.GetNodeMetadataStrategy;
-import org.jclouds.compute.strategy.InitializeRunScriptOnNodeOrPlaceInBadMap;
-import org.jclouds.compute.strategy.ListNodesStrategy;
-import org.jclouds.compute.strategy.RebootNodeStrategy;
-import org.jclouds.compute.strategy.ResumeNodeStrategy;
-import org.jclouds.compute.strategy.SuspendNodeStrategy;
-import org.jclouds.domain.Credentials;
-import org.jclouds.domain.Location;
-import org.jclouds.scriptbuilder.functions.InitAdminAccess;
-import org.libvirt.Connect;
-import org.libvirt.StorageVol;
-import org.xml.sax.InputSource;
-
-import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
-import com.google.common.base.Supplier;
-import com.google.common.base.Throwables;
-import com.jamesmurty.utils.XMLBuilder;
-
-/**
- * 
- * @author andrea turli
- * 
- */
-@Singleton
-public class LibvirtComputeService extends BaseComputeService {
-
-   private final Connect client;
-
-   @Inject
-   protected LibvirtComputeService(ComputeServiceContext context, Map<String, Credentials> credentialStore,
-            @Memoized Supplier<Set<? extends Image>> images,
-            @Memoized Supplier<Set<? extends Hardware>> hardwareProfiles,
-            @Memoized Supplier<Set<? extends Location>> locations, ListNodesStrategy listNodesStrategy,
-            GetNodeMetadataStrategy getNodeMetadataStrategy,
-            CreateNodesInGroupThenAddToSet runNodesAndAddToSetStrategy, RebootNodeStrategy rebootNodeStrategy,
-            DestroyNodeStrategy destroyNodeStrategy, ResumeNodeStrategy resumeNodeStrategy,
-            SuspendNodeStrategy suspendNodeStrategy, Provider<TemplateBuilder> templateBuilderProvider,
-            Provider<TemplateOptions> templateOptionsProvider,
-            @Named("NODE_RUNNING") Predicate<NodeMetadata> nodeRunning,
-            @Named("NODE_TERMINATED") Predicate<NodeMetadata> nodeTerminated,
-            @Named("NODE_SUSPENDED") Predicate<NodeMetadata> nodeSuspended,
-            InitializeRunScriptOnNodeOrPlaceInBadMap.Factory initScriptRunnerFactory, InitAdminAccess initAdminAccess,
-            RunScriptOnNode.Factory runScriptOnNodeFactory, PersistNodeCredentials persistNodeCredentials,
-            Timeouts timeouts, @Named(Constants.PROPERTY_USER_THREADS) ExecutorService executor, Connect client,
-            Optional<ImageExtension> imageExtension) {
-      super(context, credentialStore, images, hardwareProfiles, locations, listNodesStrategy, getNodeMetadataStrategy,
-               runNodesAndAddToSetStrategy, rebootNodeStrategy, destroyNodeStrategy, resumeNodeStrategy,
-               suspendNodeStrategy, templateBuilderProvider, templateOptionsProvider, nodeRunning, nodeTerminated,
-               nodeSuspended, initScriptRunnerFactory, initAdminAccess, runScriptOnNodeFactory, persistNodeCredentials,
-               timeouts, executor, imageExtension);
-      this.client = client;
-   }
-
-   @Override
-   protected void cleanUpIncidentalResourcesOfDeadNodes(Set<? extends NodeMetadata> deadNodes) {
-      // TODO Was previously commented out in overridden destroyNode; refactored to here but left commented out
-//      for (NodeMetadata deadNode : deadNodes) {
-//         eliminateDomain(deadNode.getId());
-//      }
-   }
-
-   private void eliminateDomain(String id) {
-      try {
-         XMLBuilder builder = XMLBuilder.parse(new InputSource(new StringReader(client.domainLookupByUUIDString(id)
-                  .getXMLDesc(0))));
-         String diskFileName = builder.xpathFind("//devices/disk[@device='disk']/source").getElement().getAttribute(
-                  "file");
-         StorageVol storageVol = client.storageVolLookupByPath(diskFileName);
-         storageVol.delete(0);
-         client.domainLookupByUUIDString(id).undefine();
-      } catch (Exception e) {
-         Throwables.propagate(e);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilder.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilder.java
deleted file mode 100644
index dd9e1de..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilder.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import static org.jclouds.libvirt.LibvirtConstants.PROPERTY_LIBVIRT_DOMAIN_DIR;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.compute.StandaloneComputeServiceContextBuilder;
-import org.jclouds.libvirt.compute.domain.LibvirtComputeServiceContextModule;
-import org.libvirt.Connect;
-
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class LibvirtComputeServiceContextBuilder extends StandaloneComputeServiceContextBuilder<Connect> {
-
-   public LibvirtComputeServiceContextBuilder(Properties props) {
-      super(Connect.class, props);
-
-      if (!properties.containsKey(PROPERTY_LIBVIRT_DOMAIN_DIR))
-         properties.setProperty(PROPERTY_LIBVIRT_DOMAIN_DIR, "/etc/libvirt/qemu");
-   }
-
-   @Override
-   protected void addContextModule(List<Module> modules) {
-      modules.add(new LibvirtComputeServiceContextModule());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextSpec.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextSpec.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextSpec.java
deleted file mode 100644
index 73d8641..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextSpec.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import org.jclouds.PropertiesBuilder;
-import org.jclouds.compute.ComputeService;
-import org.jclouds.rest.RestContextSpec;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * @author Adrian Cole
- */
-public class LibvirtComputeServiceContextSpec extends RestContextSpec<ComputeService, ComputeService> {
-
-   @SuppressWarnings("unchecked")
-   public LibvirtComputeServiceContextSpec(String endpoint, String identity, String credential, Iterable<Module> modules) {
-      super("libvirt", endpoint, "1", "", identity, credential, ComputeService.class, ComputeService.class,
-               PropertiesBuilder.class, (Class) LibvirtComputeServiceContextBuilder.class, modules);
-   }
-
-   public LibvirtComputeServiceContextSpec(String endpoint, String identity, String credential) {
-      this(endpoint, identity, credential, ImmutableSet.<Module> of());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtPropertiesBuilder.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtPropertiesBuilder.java
deleted file mode 100644
index e86ac8a..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/LibvirtPropertiesBuilder.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import static org.jclouds.Constants.PROPERTY_API_VERSION;
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.libvirt.LibvirtConstants.PROPERTY_LIBVIRT_DOMAIN_DIR;
-import static org.jclouds.compute.reference.ComputeServiceConstants.PROPERTY_TIMEOUT_NODE_SUSPENDED;
-
-import java.util.Properties;
-
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in Libvirt Clients
- * 
- * @author Andrea Turli
- */
-public class LibvirtPropertiesBuilder extends PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_LIBVIRT_DOMAIN_DIR, "/etc/libvirt/qemu");
-
-      /*
-      properties.setProperty(PROPERTY_AUTH_TAG, "AWS");
-      properties.setProperty(PROPERTY_HEADER_TAG, "amz");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://ec2.us-east-1.amazonaws.com");
-      properties.setProperty(PROPERTY_API_VERSION, EC2AsyncClient.VERSION);
-      properties.setProperty(PROPERTY_ELB_ENDPOINT, "https://elasticloadbalancing.us-east-1.amazonaws.com");
-      // amazon, alestic, canonical, and rightscale
-      properties.setProperty(PROPERTY_EC2_AMI_OWNERS, "137112412989,063491364108,099720109477,411009282317");
-      // amis that work with the cluster instances
-      properties.setProperty(PROPERTY_EC2_CC_AMIs, "us-east-1/ami-7ea24a17");
-		*/
-      
-      // sometimes, like in ec2, stop takes a very long time, perhaps
-      // due to volume management. one example spent 2 minutes moving
-      // from stopping->stopped state on an ec2 micro
-      properties.setProperty(PROPERTY_TIMEOUT_NODE_SUSPENDED, 120 * 1000 + "");
-      // auth fail sometimes happens in EC2, as the rc.local script that injects the
-      // authorized key executes after ssh has started
-      properties.setProperty("jclouds.ssh.max_retries", "7");
-      properties.setProperty("jclouds.ssh.retryable_messages",
-            "Auth fail,invalid data,End of IO Stream Read,Connection reset,socket is not established");
-      return properties;
-   }
-
-   public LibvirtPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-   public LibvirtPropertiesBuilder() {
-      super();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/domain/LibvirtComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/domain/LibvirtComputeServiceContextModule.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/domain/LibvirtComputeServiceContextModule.java
deleted file mode 100644
index a33ea58..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/domain/LibvirtComputeServiceContextModule.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute.domain;
-
-import static com.google.common.base.Predicates.notNull;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-import static org.jclouds.libvirt.LibvirtConstants.PROPERTY_LIBVIRT_DOMAIN_DIR;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.net.URI;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.jclouds.Constants;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.config.ComputeServiceAdapterContextModule;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.domain.Location;
-import org.jclouds.functions.IdentityFunction;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.libvirt.Image;
-import org.jclouds.libvirt.compute.functions.DomainToHardware;
-import org.jclouds.libvirt.compute.functions.DomainToNodeMetadata;
-import org.jclouds.libvirt.compute.functions.LibvirtImageToImage;
-import org.jclouds.libvirt.compute.strategy.LibvirtComputeServiceAdapter;
-import org.jclouds.location.Provider;
-import org.jclouds.location.suppliers.OnlyLocationOrFirstZone;
-import org.libvirt.Connect;
-import org.libvirt.Domain;
-import org.libvirt.LibvirtException;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-import com.google.common.collect.Iterables;
-import com.google.inject.Injector;
-import com.google.inject.Key;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class LibvirtComputeServiceContextModule extends
-         ComputeServiceAdapterContextModule<Connect, Connect, Domain, Domain, Image, Location> {
-
-   public LibvirtComputeServiceContextModule() {
-      super(Connect.class, Connect.class);
-   }
-
-   @SuppressWarnings("unchecked")
-   @Override
-   protected void configure() {
-      super.configure();
-      bind(new TypeLiteral<ComputeServiceAdapter<Domain, Domain, Image, Location>>() {
-      }).to(LibvirtComputeServiceAdapter.class);
-      bind(new TypeLiteral<Supplier<Location>>() {
-      }).to(OnlyLocationOrFirstZone.class);
-      bind(new TypeLiteral<Function<Domain, NodeMetadata>>() {
-      }).to(DomainToNodeMetadata.class);
-      bind(new TypeLiteral<Function<Image, org.jclouds.compute.domain.Image>>() {
-      }).to(LibvirtImageToImage.class);
-      bind(new TypeLiteral<Function<Domain, Hardware>>() {
-      }).to(DomainToHardware.class);
-      bind(new TypeLiteral<Function<Location, Location>>() {
-      }).to((Class) IdentityFunction.class);
-
-      // bind(ComputeService.class).to(LibvirtComputeService.class);
-   }
-
-   @Provides
-   @Singleton
-   protected Connect createConnection(@Provider URI endpoint, @Named(Constants.PROPERTY_IDENTITY) String identity,
-            @Named(Constants.PROPERTY_CREDENTIAL) String credential) throws LibvirtException {
-      // ConnectAuth connectAuth = null;
-      return new Connect(endpoint.toASCIIString());
-   }
-
-   @Override
-   protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) {
-      String domainDir = injector.getInstance(Key.get(String.class, Names.named(PROPERTY_LIBVIRT_DOMAIN_DIR)));
-      String hardwareId = searchForHardwareIdInDomainDir(domainDir, injector.getInstance(ParseSax.Factory.class),
-               injector.getProvider(UUIDHandler.class));
-      String image = searchForImageIdInDomainDir(domainDir);
-      return template.hardwareId(hardwareId).imageId(image);
-   }
-
-   private String searchForImageIdInDomainDir(String domainDir) {
-      // TODO
-      return "1";
-   }
-
-   @SuppressWarnings("unchecked")
-   private String searchForHardwareIdInDomainDir(String domainDir, final ParseSax.Factory factory,
-            final javax.inject.Provider<UUIDHandler> provider) {
-
-      // TODO: remove commons-io dependency
-      return Iterables.<String> getLast(filter(transform(FileUtils.listFiles(new File(domainDir),
-               new WildcardFileFilter("*.xml"), null), new Function<File, String>() {
-
-         @Override
-         public String apply(File input) {
-            try {
-               return factory.create(provider.get()).parse(new FileInputStream(input));
-            } catch (FileNotFoundException e) {
-               // log error.
-               return null;
-            }
-         }
-
-      }), notNull()));
-   }
-
-   public static class UUIDHandler extends ParseSax.HandlerWithResult<String> {
-      private StringBuilder currentText = new StringBuilder();
-
-      private boolean inDomain;
-      private String uuid;
-
-      public String getResult() {
-         return uuid;
-      }
-
-      @Override
-      public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
-         if (qName.equals("domain")) {
-            inDomain = true;
-         }
-      }
-
-      @Override
-      public void endElement(String uri, String localName, String qName) {
-         if (qName.equalsIgnoreCase("uuid") && inDomain) {
-            this.uuid = currentText.toString();
-         } else if (qName.equalsIgnoreCase("domain")) {
-            inDomain = false;
-         }
-         currentText = new StringBuilder();
-      }
-
-      public void characters(char ch[], int start, int length) {
-         currentText.append(ch, start, length);
-      }
-   }
-
-   /*
-    * Map<String, URI> regions = newLinkedHashMap(); for (String region :
-    * Splitter.on(',').split(regionString)) { regions.put( region,
-    * URI.create(injector.getInstance(Key.get(String.class, Names.named(Constants.PROPERTY_ENDPOINT
-    * + "." + region))))); } return regions;
-    */
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToHardware.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToHardware.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToHardware.java
deleted file mode 100644
index 7044321..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToHardware.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute.functions;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.List;
-
-import javax.inject.Singleton;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.internal.VolumeImpl;
-import org.libvirt.Domain;
-import org.libvirt.LibvirtException;
-import org.libvirt.StorageVol;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
-import com.google.common.collect.Lists;
-
-import com.jamesmurty.utils.XMLBuilder;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class DomainToHardware implements Function<Domain, Hardware> {
-
-	@Override
-	public Hardware apply(Domain from) {
-		HardwareBuilder builder = new HardwareBuilder();
-
-		try {
-			builder.id(from.getUUIDString());
-			builder.providerId(from.getID() + "");
-			builder.name(from.getName());
-			List<Processor> processors = Lists.newArrayList();
-			for (int i = 0; i < from.getInfo().nrVirtCpu; i++) {
-				processors.add(new Processor(i + 1, 1));
-			}
-			builder.processors(processors);
-
-			builder.ram((int) from.getInfo().maxMem);
-			List<Volume> volumes = Lists.newArrayList();
-			XMLBuilder xmlBuilder = XMLBuilder.parse(new InputSource(new StringReader(from.getXMLDesc(0))));
-			Document doc = xmlBuilder.getDocument();
-			XPathExpression expr = XPathFactory.newInstance().newXPath().compile("//devices/disk[@device='disk']/source/@file");
-			NodeList nodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
-			String diskFileName = nodes.item(0).getNodeValue();
-			for (int i = 0; i < nodes.getLength(); i++) {
-				StorageVol storageVol = from.getConnect().storageVolLookupByPath(diskFileName);
-				String id = storageVol.getKey();
-				float size = Long.valueOf(storageVol.getInfo().capacity).floatValue();
-				volumes.add(new VolumeImpl(id, Volume.Type.LOCAL, size, null, true, false));
-			}
-			builder.volumes((List<Volume>) volumes);
-		} catch (LibvirtException e) {
-			Throwables.propagate(e);
-		} catch (XPathExpressionException e) {
-			Throwables.propagate(e);
-		} catch (ParserConfigurationException e) {
-			Throwables.propagate(e);
-		} catch (SAXException e) {
-			Throwables.propagate(e);
-		} catch (IOException e) {
-			Throwables.propagate(e);
-		}
-		return builder.build();
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToNodeMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToNodeMetadata.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToNodeMetadata.java
deleted file mode 100644
index 03a4c24..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/DomainToNodeMetadata.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.compute.util.ComputeServiceUtils.parseGroupFromName;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.collect.FindResourceInSet;
-import org.jclouds.collect.Memoized;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeMetadataBuilder;
-import org.jclouds.compute.domain.NodeState;
-import org.jclouds.compute.domain.OperatingSystemBuilder;
-import org.jclouds.domain.Credentials;
-import org.jclouds.domain.Location;
-import org.libvirt.Domain;
-import org.libvirt.DomainInfo;
-import org.libvirt.LibvirtException;
-
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class DomainToNodeMetadata implements Function<Domain, NodeMetadata> {
-
-   public static final Map<DomainInfo.DomainState, NodeState> domainStateToNodeState = ImmutableMap
-            .<DomainInfo.DomainState, NodeState> builder().put(DomainInfo.DomainState.VIR_DOMAIN_RUNNING,
-                     NodeState.RUNNING)//
-            .put(DomainInfo.DomainState.VIR_DOMAIN_BLOCKED, NodeState.PENDING)//
-            .put(DomainInfo.DomainState.VIR_DOMAIN_PAUSED, NodeState.SUSPENDED)//
-            .put(DomainInfo.DomainState.VIR_DOMAIN_SHUTDOWN, NodeState.SUSPENDED)//
-            .put(DomainInfo.DomainState.VIR_DOMAIN_SHUTOFF, NodeState.SUSPENDED)//
-            .put(DomainInfo.DomainState.VIR_DOMAIN_CRASHED, NodeState.ERROR)//
-
-            .put(DomainInfo.DomainState.VIR_DOMAIN_NOSTATE, NodeState.UNRECOGNIZED)//
-            .build();
-
-   private final Function<Domain, Hardware> findHardwareForDomain;
-   private final FindLocationForDomain findLocationForDomain;
-   private final FindImageForDomain findImageForDomain;
-   private final Map<String, Credentials> credentialStore;
-
-   @Inject
-   DomainToNodeMetadata(Map<String, Credentials> credentialStore, Function<Domain, Hardware> findHardwareForDomain,
-            FindLocationForDomain findLocationForDomain, FindImageForDomain findImageForDomain) {
-      this.credentialStore = checkNotNull(credentialStore, "credentialStore");
-      this.findHardwareForDomain = checkNotNull(findHardwareForDomain, "findHardwareForDomain");
-      this.findLocationForDomain = checkNotNull(findLocationForDomain, "findLocationForDomain");
-      this.findImageForDomain = checkNotNull(findImageForDomain, "findImageForDomain");
-   }
-
-   @Override
-   public NodeMetadata apply(Domain from) {
-
-      // convert the result object to a jclouds NodeMetadata
-      NodeMetadataBuilder builder = new NodeMetadataBuilder();
-      try {
-         builder.id(from.getUUIDString());
-         builder.providerId(from.getID() + "");
-         builder.name(from.getName());
-         builder.location(findLocationForDomain.apply(from));
-         builder.group(parseGroupFromName(from.getName()));
-
-         builder.operatingSystem(new OperatingSystemBuilder().description(from.getOSType()).build());
-         builder.hardware(findHardwareForDomain.apply(from));
-
-         builder.state(domainStateToNodeState.get(from.getInfo().state));
-         // builder.publicAddresses(ImmutableSet.<String> of(from.publicAddress));
-         // builder.privateAddresses(ImmutableSet.<String> of(from.privateAddress));
-         builder.credentials(credentialStore.get("node#" + from.getUUIDString()));
-
-      } catch (LibvirtException e) {
-         // TODO Auto-generated catch block
-         e.printStackTrace();
-      }
-      return builder.build();
-   }
-
-   @Singleton
-   public static class FindImageForDomain extends FindResourceInSet<Domain, Image> {
-
-      @Inject
-      public FindImageForDomain(@Memoized Supplier<Set<? extends Image>> hardware) {
-         super(hardware);
-      }
-
-      @Override
-      public boolean matches(Domain from, Image input) {
-         // TODO
-         // return input.getProviderId().equals(from.imageId + "");
-         return true;
-      }
-   }
-
-   @Singleton
-   public static class FindLocationForDomain extends FindResourceInSet<Domain, Location> {
-
-      @Inject
-      public FindLocationForDomain(@Memoized Supplier<Set<? extends Location>> hardware) {
-         super(hardware);
-      }
-
-      @Override
-      public boolean matches(Domain from, Location input) {
-         // TODO
-         // return input.getId().equals(from.datacenter + "");
-         return true;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/LibvirtImageToImage.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/LibvirtImageToImage.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/LibvirtImageToImage.java
deleted file mode 100644
index fe208e1..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/functions/LibvirtImageToImage.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute.functions;
-
-import javax.annotation.Resource;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.compute.domain.OperatingSystemBuilder;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class LibvirtImageToImage implements Function<org.jclouds.libvirt.Image, Image> {
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-
-   @Override
-   public Image apply(org.jclouds.libvirt.Image from) {
-
-      ImageBuilder builder = new ImageBuilder();
-      builder.ids(from.id + "");
-      builder.name(from.name);
-      builder.description(from.name);
-
-      OsFamily family = null;
-      try {
-         family = OsFamily.fromValue(from.name);
-         builder.operatingSystem(new OperatingSystemBuilder().name(from.name).family(family).description(from.name).build());
-      } catch (IllegalArgumentException e) {
-         logger.debug("<< didn't match os(%s)", from);
-      }
-      return builder.build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/strategy/LibvirtComputeServiceAdapter.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/strategy/LibvirtComputeServiceAdapter.java b/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/strategy/LibvirtComputeServiceAdapter.java
deleted file mode 100644
index f1de6a9..0000000
--- a/sandbox-apis/libvirt/src/main/java/org/jclouds/libvirt/compute/strategy/LibvirtComputeServiceAdapter.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.libvirt.LibvirtConstants.PROPERTY_LIBVIRT_DOMAIN_DIR;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.security.SecureRandom;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.UUID;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.ComputeServiceAdapter;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.domain.Credentials;
-import org.jclouds.domain.Location;
-import org.jclouds.libvirt.Image;
-import org.libvirt.Connect;
-import org.libvirt.Domain;
-import org.libvirt.LibvirtException;
-import org.libvirt.StoragePool;
-import org.libvirt.StorageVol;
-import org.libvirt.jna.Libvirt;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-import com.google.inject.name.Named;
-import com.jamesmurty.utils.XMLBuilder;
-
-/**
- * defines the connection between the {@link Libvirt} implementation and the jclouds
- * {@link ComputeService}
- * 
- */
-@Singleton
-public class LibvirtComputeServiceAdapter implements ComputeServiceAdapter<Domain, Domain, Image, Location> {
-
-   private final Connect client;
-
-   @Inject
-   public LibvirtComputeServiceAdapter(Connect client, @Named(PROPERTY_LIBVIRT_DOMAIN_DIR) String domainDir) {
-      this.client = checkNotNull(client, "client");
-      System.out.println(domainDir);
-   }
-
-   @Override
-   public Domain createNodeWithGroupEncodedIntoNameThenStoreCredentials(String tag, String name, Template template,
-            Map<String, Credentials> credentialStore) {
-      try {
-         String domainName = tag;
-         Domain domain = client.domainLookupByName(domainName);
-         XMLBuilder builder = XMLBuilder.parse(new InputSource(new StringReader(domain.getXMLDesc(0))));
-         Document doc = builder.getDocument();
-         String xpathString = "//devices/disk[@device='disk']/source/@file";
-         XPathExpression expr = XPathFactory.newInstance().newXPath().compile(xpathString);
-         NodeList nodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
-         String diskFileName = nodes.item(0).getNodeValue();
-         StorageVol storageVol = client.storageVolLookupByPath(diskFileName);
-
-         // cloning volume
-         String poolName = storageVol.storagePoolLookupByVolume().getName();
-         StoragePool storagePool = client.storagePoolLookupByName(poolName);
-         StorageVol clonedVol = null;
-         boolean cloned = false;
-         int retry = 0;
-         while (!cloned && retry < 10) {
-            try {
-               clonedVol = cloneVolume(storagePool, storageVol);
-               cloned = true;
-            } catch (LibvirtException e) {
-               retry++;
-               Thread.sleep(1000);
-            }
-         }
-         // define Domain
-         String xmlFinal = generateClonedDomainXML(domain.getXMLDesc(0), clonedVol);
-         Domain newDomain = client.domainDefineXML(xmlFinal);
-         newDomain.create();
-         // store the credentials so that later functions can use them
-         credentialStore.put(domain.getUUIDString() + "", new Credentials("identity", "credential"));
-         return newDomain;
-      } catch (LibvirtException e) {
-         throw Throwables.propagate(e);
-      } catch (Exception e) {
-         throw Throwables.propagate(e);
-      }
-   }
-
-   @Override
-   public Iterable<Domain> listHardwareProfiles() {
-      return listNodes();
-   }
-
-   @Override
-   public Iterable<Image> listImages() {
-      int i = 1;
-      try {
-         String[] domains = client.listDefinedDomains();
-         List<Image> images = Lists.newArrayList();
-         for (String domainName : domains) {
-            images.add(new Image(i++, domainName));
-         }
-         return images;
-      } catch (Exception e) {
-         throw Throwables.propagate(e);
-      }
-   }
-
-   @Override
-   public Iterable<Domain> listNodes() {
-      try {
-         List<Domain> domains = Lists.newArrayList();
-         for (String domain : client.listDefinedDomains()) {
-            domains.add(client.domainLookupByName(domain));
-         }
-         return domains;
-      } catch (LibvirtException e) {
-         throw Throwables.propagate(e);
-      }
-   }
-
-   @Override
-   public Iterable<Location> listLocations() {
-      return ImmutableSet.of();
-   }
-
-   @Override
-   public Domain getNode(String id) {
-      Domain d = null;
-      try {
-         d = client.domainLookupByUUIDString(id);
-      } catch (LibvirtException e) {
-         if (e.getMessage().indexOf("Domain not found: no domain with matching uuid") != -1)
-            return null;
-         Throwables.propagate(e);
-      }
-      return d;
-   }
-
-   @Override
-   public void destroyNode(String id) {
-      try {
-         client.domainLookupByUUIDString(id).destroy();
-
-         XMLBuilder builder = XMLBuilder.parse(new InputSource(new StringReader(client.domainLookupByUUIDString(id)
-                  .getXMLDesc(0))));
-         String diskFileName = builder.xpathFind("//devices/disk[@device='disk']/source").getElement().getAttribute(
-                  "file");
-         StorageVol storageVol = client.storageVolLookupByPath(diskFileName);
-         storageVol.delete(0);
-         client.domainLookupByUUIDString(id).undefine();
-
-      } catch (LibvirtException e) {
-         Throwables.propagate(e);
-      } catch (Exception e) {
-         Throwables.propagate(e);
-      }
-   }
-
-   @Override
-   public void rebootNode(String id) {
-      try {
-         client.domainLookupByUUIDString(id).reboot(0);
-      } catch (LibvirtException e) {
-         Throwables.propagate(e);
-      }
-   }
-
-   private static StorageVol cloneVolume(StoragePool storagePool, StorageVol from) throws LibvirtException,
-            XPathExpressionException, ParserConfigurationException, SAXException, IOException, TransformerException {
-      return storagePool.storageVolCreateXMLFrom(generateClonedVolumeXML(from.getXMLDesc(0)), from, 0);
-   }
-
-   @Override
-   public void resumeNode(String id) {
-      try {
-         client.domainLookupByUUIDString(id).resume();
-      } catch (LibvirtException e) {
-         Throwables.propagate(e);
-      }
-   }
-
-   @Override
-   public void suspendNode(String id) {
-      try {
-         client.domainLookupByUUIDString(id).suspend();
-      } catch (LibvirtException e) {
-         Throwables.propagate(e);
-      }
-   }
-
-   private static String generateClonedVolumeXML(String fromXML) throws ParserConfigurationException, SAXException,
-            IOException, XPathExpressionException, TransformerException {
-
-      Properties outputProperties = generateOutputXMLProperties();
-      XMLBuilder builder = XMLBuilder.parse(new InputSource(new StringReader(fromXML)));
-      String nodeNamingConvention = "%s-%s";
-      String tag = "-clone";
-      String suffix = String.format(nodeNamingConvention, tag, Integer.toHexString(new SecureRandom().nextInt(4095)));
-      builder.xpathFind("//volume/name").t(suffix);
-      builder.xpathFind("//volume/key").t(suffix);
-      builder.xpathFind("//volume/target/path").t(suffix);
-
-      return builder.asString(outputProperties);
-   }
-
-   private static String generateClonedDomainXML(String fromXML, StorageVol clonedVol)
-            throws ParserConfigurationException, SAXException, IOException, XPathExpressionException,
-            TransformerException, LibvirtException {
-
-      Properties outputProperties = generateOutputXMLProperties();
-
-      XMLBuilder builder = XMLBuilder.parse(new InputSource(new StringReader(fromXML)));
-
-      String nodeNamingConvention = "%s-%s";
-      String tag = "-clone";
-      String suffix = String.format(nodeNamingConvention, tag, Integer.toHexString(new SecureRandom().nextInt(4095)));
-      builder.xpathFind("//domain/name").t(suffix);
-      // change uuid domain
-      Element oldChild = builder.xpathFind("//domain/uuid").getElement();
-      Node newNode = oldChild.cloneNode(true);
-      newNode.getFirstChild().setNodeValue(UUID.randomUUID().toString());
-      builder.getDocument().getDocumentElement().replaceChild(newNode, oldChild);
-
-      // String fromVolPath =
-      // builder.xpathFind("//domain/devices/disk/source").getElement().getAttribute("file");
-      builder.xpathFind("//domain/devices/disk/source").a("file", clonedVol.getPath());
-      // generate valid MAC address
-      String fromMACaddress = builder.xpathFind("//domain/devices/interface/mac").getElement().getAttribute("address");
-      String lastMACoctet = Integer.toHexString(new SecureRandom().nextInt(255));
-      builder.xpathFind("//domain/devices/interface/mac").a("address",
-               fromMACaddress.substring(0, fromMACaddress.lastIndexOf(":") + 1) + lastMACoctet);
-      return builder.asString(outputProperties);
-   }
-
-   private static Properties generateOutputXMLProperties() {
-      Properties outputProperties = new Properties();
-      // Explicitly identify the output as an XML document
-      outputProperties.put(javax.xml.transform.OutputKeys.METHOD, "xml");
-      // Pretty-print the XML output (doesn't work in all cases)
-      outputProperties.put(javax.xml.transform.OutputKeys.INDENT, "yes");
-      // Get 2-space indenting when using the Apache transformer
-      outputProperties.put("{http://xml.apache.org/xslt}indent-amount", "2");
-      return outputProperties;
-   }
-}


[05/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/CreateInstanceOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/CreateInstanceOptions.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/CreateInstanceOptions.java
deleted file mode 100644
index 7f855c8..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/CreateInstanceOptions.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.options;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * 
- * @author Adrian Cole
- * 
- */
-public class CreateInstanceOptions extends BaseHttpRequestOptions {
-
-   public CreateInstanceOptions() {
-      super();
-      formParameters.put("publicKey", "DEFAULT");
-   }
-
-   /**
-    * 
-    * @param id
-    *           The ID of a storage volume to associate with this instance
-    * @param mountPoint
-    *           The mount point in which to mount the attached storage volume
-    */
-   public CreateInstanceOptions mountVolume(String id, String mountPoint) {
-      checkNotNull(id, "volume id");
-      checkNotNull(mountPoint, "mountPoint");
-      formParameters.replaceValues("volumeID", ImmutableSet.of(id));
-      String mountParam = String.format("oss.storage.id.0.mnt", id);
-      formParameters.replaceValues(mountParam, ImmutableSet.of(mountPoint));
-      return this;
-   }
-
-   /**
-    * 
-    * @param publicKeyName
-    *           The public key to use for accessing the created instance
-    */
-   public CreateInstanceOptions authorizePublicKey(String publicKeyName) {
-      checkNotNull(publicKeyName, "publicKeyName");
-      formParameters.replaceValues("publicKey", ImmutableSet.of(publicKeyName));
-      return this;
-   }
-
-   /**
-    * 
-    * @param configurationData
-    *           extra configuration to pass to the instance
-    */
-   public CreateInstanceOptions configurationData(Map<String, String> configurationData) {
-      checkNotNull(configurationData, "configurationData");
-      for (Entry<String, String> entry : configurationData.entrySet()) {
-         formParameters.replaceValues(entry.getKey(), ImmutableSet.of(entry.getValue()));
-      }
-      return this;
-   }
-
-   /**
-    * 
-    * @param ip
-    *           The ID of a static IP address to associate with this instance
-    */
-   public CreateInstanceOptions staticIP(String ip) {
-      checkNotNull(ip, "ip");
-      formParameters.replaceValues("ip", ImmutableSet.of(ip));
-      return this;
-   }
-
-   /**
-    * 
-    * @param id
-    *           The ID of a Vlan offering to associate with this instance.
-    */
-   public CreateInstanceOptions vlanID(String id) {
-      checkNotNull(id, "id");
-      formParameters.replaceValues("vlanID", ImmutableSet.of(id));
-      return this;
-   }
-
-   /**
-    * 
-    * @param ip
-    *           The ID of a static IP address to associate with this instance as secondary IP.
-    */
-   public CreateInstanceOptions secondaryIP(String ip) {
-      checkNotNull(ip, "ip");
-      formParameters.replaceValues("secondaryIP", ImmutableSet.of(ip));
-      return this;
-   }
-
-   /**
-    * 
-    * @param id
-    *           The ID of an existing anti-collocated instance.
-    */
-   public CreateInstanceOptions antiCollocationInstance(String id) {
-      checkNotNull(id, "id");
-      formParameters.replaceValues("antiCollocationInstance", ImmutableSet.of(id));
-      return this;
-   }
-
-   /**
-    * Whether or not the instance should be provisioned with the root segment only. Compared to
-    * standard server size, this option will provide less storage but same memory and CPU, and thus
-    * provision the instance faster.
-    * 
-    * @param isMiniEphemeral
-    *           true if root only provision, False: normal provision
-    */
-   public CreateInstanceOptions isMiniEphemeral(boolean isMiniEphemeral) {
-      formParameters.replaceValues("isMiniEphemeral", ImmutableSet.of(isMiniEphemeral + ""));
-      return this;
-   }
-
-   public static class Builder {
-
-      /**
-       * @see CreateInstanceOptions#configurationData
-       */
-      public static CreateInstanceOptions configurationData(Map<String, String> configurationData) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.configurationData(configurationData);
-      }
-
-      /**
-       * @see CreateInstanceOptions#mountVolume
-       */
-      public static CreateInstanceOptions mountVolume(String id, String mountPoint) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.mountVolume(id, mountPoint);
-      }
-
-      /**
-       * @see CreateInstanceOptions#staticIP
-       */
-      public static CreateInstanceOptions staticIP(String ip) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.staticIP(ip);
-      }
-
-      /**
-       * @see CreateInstanceOptions#secondaryIP
-       */
-      public static CreateInstanceOptions secondaryIP(String ip) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.secondaryIP(ip);
-      }
-
-      /**
-       * @see CreateInstanceOptions#vlanID
-       */
-      public static CreateInstanceOptions vlanID(String id) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.vlanID(id);
-      }
-
-      /**
-       * @see CreateInstanceOptions#antiCollocationInstance
-       */
-      public static CreateInstanceOptions antiCollocationInstance(String id) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.antiCollocationInstance(id);
-      }
-
-      /**
-       * @see CreateInstanceOptions#isMiniEphemeral
-       */
-      public static CreateInstanceOptions isMiniEphemeral(boolean isMiniEphemeral) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.isMiniEphemeral(isMiniEphemeral);
-      }
-
-      /**
-       * @see CreateInstanceOptions#authorizePublicKey
-       */
-      public static CreateInstanceOptions authorizePublicKey(String publicKeyName) {
-         CreateInstanceOptions options = new CreateInstanceOptions();
-         return options.authorizePublicKey(publicKeyName);
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/RestartInstanceOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/RestartInstanceOptions.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/RestartInstanceOptions.java
deleted file mode 100644
index 63c93bd..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/options/RestartInstanceOptions.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.options;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-/**
- * 
- * 
- * @author Adrian Cole
- * 
- */
-public class RestartInstanceOptions extends BaseHttpRequestOptions {
-
-   /**
-    * 
-    * @param keyName
-    *           The name of the SSH Public Key to add to the instance during restart.
-    */
-   public RestartInstanceOptions authorizePublicKey(String keyName) {
-      checkNotNull(keyName, "keyName");
-      formParameters.removeAll("keyName");
-      formParameters.put("keyName", keyName);
-      return this;
-   }
-
-   public static class Builder {
-
-      /**
-       * @see RestartInstanceOptions#authorizePublicKey(String )
-       */
-      public static RestartInstanceOptions authorizePublicKey(String keyName) {
-         RestartInstanceOptions options = new RestartInstanceOptions();
-         return options.authorizePublicKey(keyName);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/AddressFree.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/AddressFree.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/AddressFree.java
deleted file mode 100644
index 97c32d4..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/AddressFree.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.predicates;
-
-import java.util.NoSuchElementException;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-import com.google.inject.Inject;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class AddressFree implements Predicate<Address> {
-
-   private final IBMSmartCloudClient client;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public AddressFree(IBMSmartCloudClient client) {
-      this.client = client;
-   }
-
-   public boolean apply(Address address) {
-      logger.trace("looking for state on address %s", address);
-      final String id = address.getId();
-      try {
-         address = Iterables.find(client.listAddresses(), new Predicate<Address>() {
-
-            @Override
-            public boolean apply(Address input) {
-               return input.getId().equals(id);
-            }
-         });
-      } catch (NoSuchElementException e) {
-         return false;
-      }
-      logger.trace("%s: looking for address state %s: currently: %s", address.getId(),
-               Address.State.FREE, address.getState());
-      return address.getState() == Address.State.FREE;
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActive.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActive.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActive.java
deleted file mode 100644
index 9feac00..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActive.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.predicates;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- * Tests to see if a task succeeds.
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class InstanceActive implements Predicate<Instance> {
-
-   private final IBMSmartCloudClient client;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public InstanceActive(IBMSmartCloudClient client) {
-      this.client = client;
-   }
-
-   public boolean apply(Instance instance) {
-      logger.trace("looking for state on instance %s", instance);
-      instance = client.getInstance(instance.getId());
-      if (instance == null)
-         return false;
-      logger.trace("%s: looking for instance state %s: currently: %s", instance
-            .getId(), Instance.Status.ACTIVE, instance.getStatus());
-      if (instance.getStatus() == Instance.Status.FAILED)
-         throw new IllegalStateException("node " + instance.getId()
-               + " in location " + instance.getLocation()
-               + " is in a failed state");
-      return instance.getStatus() == Instance.Status.ACTIVE;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActiveOrFailed.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActiveOrFailed.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActiveOrFailed.java
deleted file mode 100644
index 47178b2..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceActiveOrFailed.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.predicates;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class InstanceActiveOrFailed implements Predicate<Instance> {
-
-   private final IBMSmartCloudClient client;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public InstanceActiveOrFailed(IBMSmartCloudClient client) {
-      this.client = client;
-   }
-
-   public boolean apply(Instance instance) {
-      logger.trace("looking for state on instance %s", instance);
-      instance = client.getInstance(instance.getId());
-      if (instance == null)
-         return false;
-      logger.trace("%s: looking for instance state %s: currently: %s", instance.getId(), String.format("%s or %s",
-            Instance.Status.ACTIVE, Instance.Status.FAILED), instance.getStatus());
-      return instance.getStatus() == Instance.Status.ACTIVE || instance.getStatus() == Instance.Status.FAILED;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceRemovedOrNotFound.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceRemovedOrNotFound.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceRemovedOrNotFound.java
deleted file mode 100644
index 2e4e46f..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/InstanceRemovedOrNotFound.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.predicates;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class InstanceRemovedOrNotFound implements Predicate<Instance> {
-
-   private final IBMSmartCloudClient client;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public InstanceRemovedOrNotFound(IBMSmartCloudClient client) {
-      this.client = client;
-   }
-
-   public boolean apply(Instance instance) {
-      logger.trace("looking for state on instance %s", instance);
-      instance = client.getInstance(instance.getId());
-      if (instance == null)
-         return true;
-      logger.trace("%s: looking for instance state %s: currently: %s", instance.getId(), Instance.Status.REMOVED,
-            instance.getStatus());
-      return instance.getStatus() == Instance.Status.REMOVED;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/VolumeUnmounted.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/VolumeUnmounted.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/VolumeUnmounted.java
deleted file mode 100644
index 68ea264..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/predicates/VolumeUnmounted.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.predicates;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Predicate;
-import com.google.inject.Inject;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class VolumeUnmounted implements Predicate<Volume> {
-
-   private final IBMSmartCloudClient client;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public VolumeUnmounted(IBMSmartCloudClient client) {
-      this.client = client;
-   }
-
-   public boolean apply(Volume volume) {
-      logger.trace("looking for state on volume %s", volume);
-      volume = client.getVolume(volume.getId());
-      if (volume == null)
-         return false;
-      logger.trace("%s: looking for volume state %s: currently: %s", volume.getId(),
-               Volume.State.UNMOUNTED, volume.getState());
-      return volume.getState() == Volume.State.UNMOUNTED;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/reference/Capabilities.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/reference/Capabilities.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/reference/Capabilities.java
deleted file mode 100644
index e805ac4..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/reference/Capabilities.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.reference;
-
-/**
- * Configuration properties and constants used in IBMSmartCloud connections.
- * 
- * @author Adrian Cole
- */
-public interface Capabilities {
-   public static final String CAPABILITY_CAPACITY = "oss.storage.capacity";
-   public static final String CAPABILITY_FORMAT = "oss.storage.format";
-   public static final String CAPABILITY_I386 = "oss.instance.spec.i386";
-   public static final String CAPABILITY_x86_64 = "oss.instance.spec.x86_64";
-   public static final String CAPABILITY_AVAILABILITYAREA =  "oss.storage.availabilityarea";
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationHandler.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationHandler.java
deleted file mode 100644
index 38c4860..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationHandler.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.xml;
-
-import java.util.Map;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.domain.Location.State;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Maps;
-
-/**
- * @author Adrian Cole
- */
-public class LocationHandler extends ParseSax.HandlerWithResult<Location> {
-   private StringBuilder currentText = new StringBuilder();
-
-   private String id;
-   private String name;
-   private String description;
-   private String location;
-   private Map<String, Map<String, String>> capabilities = Maps.newLinkedHashMap();
-   private String capabilityName;
-   private String capabilityKey;
-
-   private Location loc;
-
-   private State state;
-
-   public Location getResult() {
-      return loc;
-   }
-
-   @Override
-   public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-      if (qName.equalsIgnoreCase("Capability")) {
-         capabilityName = attributes.getValue(attributes.getIndex("id"));
-         capabilities.put(capabilityName, Maps.<String, String> newLinkedHashMap());
-      } else if (qName.equalsIgnoreCase("Entry")) {
-         capabilityKey = attributes.getValue(attributes.getIndex("key"));
-      }
-   }
-
-   @Override
-   public void endElement(String uri, String localName, String qName) throws SAXException {
-      if (qName.equalsIgnoreCase("ID")) {
-         id = currentText.toString().trim();
-      } else if (qName.equalsIgnoreCase("Name")) {
-         name = currentText.toString().trim();
-      } else if (qName.equalsIgnoreCase("Description")) {
-         description = currentText.toString().trim();
-         if (description.equals(""))
-            description = null;
-      } else if (qName.equalsIgnoreCase("State")) {
-         state = State.fromValue(Integer.parseInt(currentText.toString().trim()));
-      } else if (qName.equalsIgnoreCase("Value")) {
-         capabilities.get(capabilityName).put(capabilityKey, currentText.toString().trim());
-      } else if (qName.equalsIgnoreCase("Location")) {
-         if (currentText.toString().trim().equals("")) {
-            this.loc = new Location(id, name, description, location, state, capabilities);
-            id = null;
-            name = null;
-            description = null;
-            location = null;
-            state = null;
-            capabilities = Maps.newLinkedHashMap();
-            capabilityKey = null;
-            capabilityName = null;
-         } else {
-            location = currentText.toString().trim();
-         }
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationsHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationsHandler.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationsHandler.java
deleted file mode 100644
index 360831e..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/xml/LocationsHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.xml;
-
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Sets;
-
-/**
- * @author Adrian Cole
- */
-public class LocationsHandler extends ParseSax.HandlerWithResult<Set<? extends Location>> {
-   private StringBuilder currentText = new StringBuilder();
-
-   private Set<Location> locations = Sets.newLinkedHashSet();
-   private final LocationHandler locationHandler;
-
-   @Inject
-   public LocationsHandler(LocationHandler locationHandler) {
-      this.locationHandler = locationHandler;
-   }
-
-   public Set<? extends Location> getResult() {
-      return locations;
-   }
-
-   @Override
-   public void startElement(String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-      locationHandler.startElement(uri, localName, qName, attributes);
-   }
-
-   @Override
-   public void endElement(String uri, String localName, String qName) throws SAXException {
-      locationHandler.endElement(uri, localName, qName);
-      if (qName.equals("Location") && currentText.toString().trim().equals("")) {
-         this.locations.add(locationHandler.getResult());
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      locationHandler.characters(ch, start, length);
-      currentText.append(ch, start, length);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/BaseIBMSmartCloudClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/BaseIBMSmartCloudClientLiveTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/BaseIBMSmartCloudClientLiveTest.java
deleted file mode 100644
index b755e69..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/BaseIBMSmartCloudClientLiveTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jclouds.Constants;
-import org.jclouds.compute.ComputeTestUtils;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "BaseIBMSmartCloudClientLiveTest")
-public abstract class BaseIBMSmartCloudClientLiveTest {
-
-   protected RestContext<IBMSmartCloudClient, IBMSmartCloudAsyncClient> context;
-   protected String provider = "ibm-smartcloud";
-   protected String identity;
-   protected String credential;
-   protected String endpoint;
-   protected String apiVersion;
-
-   protected IBMSmartCloudClient connection;
-
-   protected Map<String, String> keyPair;
-
-   protected void setupCredentials() {
-      identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider
-               + ".identity must be set.  ex. apiKey");
-      credential = checkNotNull(System.getProperty("test." + provider + ".credential"), "test." + provider
-               + ".credential must be set.  ex. secretKey");
-      endpoint = System.getProperty("test." + provider + ".endpoint");
-     apiVersion = System.getProperty("test." + provider + ".api-version");
-   }
-
-   protected Properties setupProperties() {
-      Properties overrides = new Properties();
-      overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
-      overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true");
-      overrides.setProperty(provider + ".identity", identity);
-      overrides.setProperty(provider + ".credential", credential);
-      if (endpoint != null)
-         overrides.setProperty(provider + ".endpoint", endpoint);
-      if (apiVersion != null)
-         overrides.setProperty(provider + ".api-version", apiVersion);
-      return overrides;
-   }
-
-   @BeforeGroups(groups = "live")
-   public void setupClient() throws FileNotFoundException, IOException {
-      setupCredentials();
-      Properties overrides = setupProperties();
-      context = new RestContextFactory().createContext(provider, ImmutableSet.<Module> of(new Log4JLoggingModule(),
-               new SshjSshClientModule()), overrides);
-
-      connection = context.getApi();
-      keyPair = ComputeTestUtils.setupKeyPair();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClientTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClientTest.java
deleted file mode 100644
index eae7c1f..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClientTest.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Date;
-import java.util.Properties;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.http.functions.UnwrapOnlyJsonValue;
-import org.jclouds.http.functions.UnwrapOnlyJsonValueInSet;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.options.CreateInstanceOptions;
-import org.jclouds.ibm.smartcloud.options.RestartInstanceOptions;
-import org.jclouds.ibm.smartcloud.xml.LocationHandler;
-import org.jclouds.ibm.smartcloud.xml.LocationsHandler;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.functions.ReturnEmptySetOnNotFoundOr404;
-import org.jclouds.rest.functions.ReturnNullOnNotFoundOr404;
-import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests annotation parsing of {@code IBMSmartCloudAsyncClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "IBMSmartCloudAsyncClientTest")
-public class IBMSmartCloudAsyncClientTest extends RestClientTest<IBMSmartCloudAsyncClient> {
-
-   public void testListImages() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listImages");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/image HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\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://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/image HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest,
-               "Accept: application/json\nAuthorization: Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGetImage() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("getImage", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/image/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDeleteImage() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("deleteImage", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "DELETE https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/image/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testSetImageVisibility() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("setImageVisibility", String.class,
-               Image.Visibility.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1", Image.Visibility.PUBLIC);
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/image/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "visibility=PUBLIC", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListInstances() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listInstances");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListInstancesFromRequest() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listInstancesFromRequest", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/requests/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGetInstance() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("getInstance", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testExtendReservationForInstance() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class
-               .getMethod("extendReservationForInstance", String.class, Date.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1", new Date(123215235l));
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "expirationTime=123215235", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testRestartInstance() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("restartInstance", String.class,
-               RestartInstanceOptions[].class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, "state=restart", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testRestartInstanceNewKey() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("restartInstance", String.class,
-               RestartInstanceOptions[].class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1", new RestartInstanceOptions()
-               .authorizePublicKey("keyName"));
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, "state=restart&keyName=keyName", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testSaveInstanceToImage() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("saveInstanceToImage", String.class, String.class,
-               String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1", "imageName", "imageDescription");
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "state=save&description=imageDescription&name=imageName",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testDeleteInstance() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("deleteInstance", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "DELETE https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListKeys() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listKeys");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGetKey() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("getKey", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGenerateKeyPair() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("generateKeyPair", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "key");
-
-      assertRequestLineEquals(httpRequest,
-               "POST https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "name=key", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testAddPublicKey() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("addPublicKey", String.class, String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "key", "publicbits");
-
-      assertRequestLineEquals(httpRequest,
-               "POST https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, "name=key&publicKey=publicbits", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testUpdatePublicKey() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("updatePublicKey", String.class, String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "key", "publicbits");
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys/key HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, "publicKey=publicbits", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testSetDefaultStatusOfKey() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("setDefaultStatusOfKey", String.class, boolean.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "key", true);
-
-      assertRequestLineEquals(httpRequest,
-               "PUT https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys/key HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, "default=true", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDeleteKey() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("deleteKey", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "DELETE https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/keys/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListVolumes() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listVolumes");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/storage HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGetVolume() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("getVolume", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/storage/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateVolumeInLocation() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("createVolumeInLocation", String.class, String.class,
-               String.class, String.class, String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "location", "name", "format", "size", "offering");
-
-      assertRequestLineEquals(httpRequest,
-               "POST https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/storage HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "location=location&format=format&name=name&size=size&offeringID=offering",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateInstanceInLocation() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("createInstanceInLocation", String.class, String.class,
-               String.class, String.class, CreateInstanceOptions[].class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1", "name", "22", "instanceType");
-
-      assertRequestLineEquals(httpRequest,
-               "POST https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "location=1&imageID=22&name=name&instanceType=instanceType",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValueInSet.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testCreateInstanceInLocationWithOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("createInstanceInLocation", String.class, String.class,
-               String.class, String.class, CreateInstanceOptions[].class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "location", "name", "22", "instanceType",
-               new CreateInstanceOptions().staticIP("1").authorizePublicKey("MOO").mountVolume("2", "/mnt")
-                        .configurationData(
-                                 ImmutableMap.of("insight_admin_password", "myPassword1", "db2_admin_password",
-                                          "myPassword2", "report_user_password", "myPassword3")));
-
-      assertRequestLineEquals(httpRequest,
-               "POST https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/instances HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(
-               httpRequest,
-               "location=location&imageID=22&name=name&instanceType=instanceType&ip=1&publicKey=MOO&volumeID=2&oss.storage.id.0.mnt=%2Fmnt&insight_admin_password=myPassword1&db2_admin_password=myPassword2&report_user_password=myPassword3",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValueInSet.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDeleteVolume() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("deleteVolume", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "DELETE https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/storage/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListLocations() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listLocations");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/locations HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/xml\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, LocationsHandler.class);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGetLocation() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("getLocation", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/locations/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: text/xml\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, LocationHandler.class);
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListAddresses() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listAddresses");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/addresses HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testAllocateAddressInLocation() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("allocateAddressInLocation", String.class, String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1", "offering");
-
-      assertRequestLineEquals(httpRequest,
-               "POST https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/addresses HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, "location=1&offeringID=offering", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testReleaseAddress() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("releaseAddress", String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "1");
-
-      assertRequestLineEquals(httpRequest,
-               "DELETE https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/addresses/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testListStorageOfferings() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listStorageOfferings");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/storage HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-   }
-
-   public void testListAddressOfferings() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = IBMSmartCloudAsyncClient.class.getMethod("listAddressOfferings");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest,
-               "GET https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/offerings/address HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, UnwrapOnlyJsonValue.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnEmptySetOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), BasicAuthentication.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<IBMSmartCloudAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<IBMSmartCloudAsyncClient>>() {
-      };
-   }
-
-   @Override
-   public RestContextSpec<IBMSmartCloudClient, IBMSmartCloudAsyncClient> createContextSpec() {
-      return new RestContextFactory().createContextSpec("ibm-smartcloud", "identity", "credential", new Properties());
-   }
-}


[18/18] git commit: JCLOUDS-26. Adding .dir-locals.el for Emacs tab-width setting

Posted by ab...@apache.org.
JCLOUDS-26. Adding .dir-locals.el for Emacs tab-width setting


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

Branch: refs/heads/master
Commit: ffc05eea4ba09930f8886a33a9c472a7de090bf8
Parents: 23d9d90
Author: Andrew Bayer <an...@gmail.com>
Authored: Fri May 10 14:29:27 2013 -0700
Committer: Andrew Bayer <an...@gmail.com>
Committed: Fri May 10 14:52:52 2013 -0700

----------------------------------------------------------------------
 .dir-locals.el |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/ffc05eea/.dir-locals.el
----------------------------------------------------------------------
diff --git a/.dir-locals.el b/.dir-locals.el
new file mode 100644
index 0000000..2c3da6c
--- /dev/null
+++ b/.dir-locals.el
@@ -0,0 +1,16 @@
+;;   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.
+
+((nil . ((c-basic-offset . 3))))
\ No newline at end of file


[06/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudLocationSupplier.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudLocationSupplier.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudLocationSupplier.java
deleted file mode 100644
index cac22bc..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudLocationSupplier.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.suppliers;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationBuilder;
-import org.jclouds.domain.LocationScope;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Location.State;
-import org.jclouds.location.Iso3166;
-import org.jclouds.location.Provider;
-import org.jclouds.location.suppliers.JustProvider;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.ImmutableSet.Builder;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudLocationSupplier extends JustProvider {
-
-   private final IBMSmartCloudClient sync;
-   private final Map<String, Set<String>> isoCodesById;
-
-   @Inject
-   IBMSmartCloudLocationSupplier(@Iso3166 Set<String> isoCodes, @Provider String providerName, @Provider URI endpoint,
-            IBMSmartCloudClient sync, @Iso3166 Map<String, Set<String>> isoCodesById) {
-      super(isoCodes, providerName, endpoint);
-      this.sync = checkNotNull(sync, "sync");
-      this.isoCodesById = checkNotNull(isoCodesById, "isoCodesById");
-   }
-
-   @Override
-   public Set<? extends Location> get() {
-      Builder<Location> locations = ImmutableSet.builder();
-      Set<? extends org.jclouds.ibm.smartcloud.domain.Location> list = sync.listLocations();
-      Location provider = Iterables.getOnlyElement(super.get());
-      if (list.size() == 0)
-         locations.add(provider);
-      else
-         for (org.jclouds.ibm.smartcloud.domain.Location from : list) {
-            if (from.getState() != State.OFFLINE) {
-               LocationBuilder builder = new LocationBuilder().scope(LocationScope.ZONE).id(from.getId() + "")
-                        .description(from.getName()).parent(provider);
-               if (isoCodesById.containsKey(from.getId() + ""))
-                  builder.iso3166Codes(isoCodesById.get(from.getId() + ""));
-               locations.add(builder.build());
-            }
-         }
-      return locations.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudParserModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudParserModule.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudParserModule.java
deleted file mode 100644
index 4c318fe..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudParserModule.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.config;
-
-import java.lang.reflect.Type;
-import java.net.URI;
-import java.util.Map;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpUtils;
-import org.jclouds.json.config.GsonModule.DateAdapter;
-import org.jclouds.json.config.GsonModule.LongDateAdapter;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class IBMSmartCloudParserModule extends AbstractModule {
-   @Singleton
-   public static class CurlyBraceCapableURIAdapter implements JsonDeserializer<URI> {
-      @Override
-      public URI deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context)
-            throws JsonParseException {
-         String toParse = jsonElement.getAsJsonPrimitive().getAsString();
-         URI toReturn = HttpUtils.createUri(toParse);
-         return toReturn;
-      }
-   }
-
-   @Provides
-   @Singleton
-   public Map<Type, Object> provideCustomAdapterBindings(CurlyBraceCapableURIAdapter adapter) {
-      return ImmutableMap.<Type, Object> of(URI.class, adapter);
-   }
-
-   @Override
-   protected void configure() {
-      bind(DateAdapter.class).to(LongDateAdapter.class);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudRestClientModule.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudRestClientModule.java
deleted file mode 100644
index d9fc016..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/config/IBMSmartCloudRestClientModule.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.config;
-
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudAsyncClient;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.handlers.IBMSmartCloudErrorHandler;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.RestClientModule;
-
-/**
- * Configures the IBMSmartCloud connection.
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-@ConfiguresRestClient
-public class IBMSmartCloudRestClientModule extends
-         RestClientModule<IBMSmartCloudClient, IBMSmartCloudAsyncClient> {
-
-   public IBMSmartCloudRestClientModule() {
-      super(IBMSmartCloudClient.class, IBMSmartCloudAsyncClient.class);
-   }
-
-   @Override
-   protected void bindErrorHandlers() {
-      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(
-               IBMSmartCloudErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(
-               IBMSmartCloudErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(
-               IBMSmartCloudErrorHandler.class);
-   }
-
-   @Override
-   protected void configure() {
-      install(new IBMSmartCloudParserModule());
-      super.configure();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Address.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Address.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Address.java
deleted file mode 100644
index 10b21b5..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Address.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import javax.annotation.Nullable;
-
-/**
- * 
- * The current state of a Address
- * 
- * @author Adrian Cole
- */
-public class Address implements Comparable<Address> {
-
-   public static enum State {
-      NEW, ALLOCATING, FREE, ATTACHED, RELEASING, RELEASED, FAILED, RELEASE_PENDING;
-      public static State fromValue(int v) {
-         switch (v) {
-            case 0:
-               return NEW;
-            case 1:
-               return ALLOCATING;
-            case 2:
-               return FREE;
-            case 3:
-               return ATTACHED;
-            case 4:
-               return RELEASING;
-            case 5:
-               return RELEASED;
-            case 6:
-               return FAILED;
-            case 7:
-               return RELEASE_PENDING;
-            default:
-               throw new IllegalArgumentException("invalid state:" + v);
-         }
-      }
-   }
-
-   private int state;
-   private String location;
-   private String ip;
-   private String id;
-   @Nullable
-   private String instanceId;
-
-   public Address(int state, String location, String ip, String id, String instanceId) {
-      this.state = state;
-      this.location = location;
-      this.ip = ip;
-      this.id = id;
-      this.instanceId = instanceId;
-   }
-
-   Address() {
-
-   }
-
-   public State getState() {
-      return State.fromValue(state);
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public String getIP() {
-      return "".equals(ip.trim()) ? null : ip.trim();
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   public String getInstanceId() {
-      return instanceId;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.hashCode());
-      result = prime * result + ((instanceId == null) ? 0 : instanceId.hashCode());
-      result = prime * result + ((ip == null) ? 0 : ip.hashCode());
-      result = prime * result + ((location == null) ? 0 : location.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;
-      Address other = (Address) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      if (instanceId == null) {
-         if (other.instanceId != null)
-            return false;
-      } else if (!instanceId.equals(other.instanceId))
-         return false;
-      if (ip == null) {
-         if (other.ip != null)
-            return false;
-      } else if (!ip.equals(other.ip))
-         return false;
-      if (location == null) {
-         if (other.location != null)
-            return false;
-      } else if (!location.equals(other.location))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + id + ", ip=" + ip + ", location=" + location + ", state=" + getState() + ", instanceId="
-               + instanceId + "]";
-   }
-
-   @Override
-   public int compareTo(Address arg0) {
-      return id.compareTo(arg0.getId());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/IP.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/IP.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/IP.java
deleted file mode 100644
index 1b7da88..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/IP.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.annotations.Beta;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class IP {
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public static class Builder {
-      private String ip;
-      private String hostname;
-      private int type;
-
-      public Builder ip(String ip) {
-         this.ip = ip;
-         return this;
-      }
-
-      public Builder hostname(String hostname) {
-         this.hostname = hostname;
-         return this;
-      }
-
-      public Builder type(int type) {
-         this.type = type;
-         return this;
-      }
-
-      public IP build() {
-         return new IP(ip, hostname, type);
-      }
-   }
-
-   private String ip;
-   private String hostname;
-   @Beta
-   private int type;
-
-   IP() {
-
-   }
-
-   public IP(String ip, String hostname, int type) {
-      this.ip = checkNotNull(ip, "ip");
-      this.hostname = checkNotNull(hostname, "hostname");
-      this.type = type;
-   }
-
-   // TODO custom parser to do this once
-   public String getHostname() {
-      return "".equals(hostname.trim()) ? null : hostname.trim();
-   }
-
-   public String getIP() {
-      return "".equals(ip.trim()) ? null : ip.trim();
-   }
-
-   public int getType() {
-      return type;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((hostname == null) ? 0 : hostname.hashCode());
-      result = prime * result + ((ip == null) ? 0 : ip.hashCode());
-      result = prime * result + type;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      IP other = (IP) obj;
-      if (hostname == null) {
-         if (other.hostname != null)
-            return false;
-      } else if (!hostname.equals(other.hostname))
-         return false;
-      if (ip == null) {
-         if (other.ip != null)
-            return false;
-      } else if (!ip.equals(other.ip))
-         return false;
-      if (type != other.type)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return String.format("[hostname=%s, ip=%s, type=%s]", hostname, ip, type);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Image.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Image.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Image.java
deleted file mode 100644
index e6deb04..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Image.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.Set;
-import java.util.SortedSet;
-
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.common.collect.Sets;
-
-/**
- * 
- * The current state of the image.
- * 
- * @author Adrian Cole
- */
-public class Image implements Comparable<Image> {
-
-   public static enum State {
-      NEW, AVAILABLE, UNAVAILABLE, DELETED, CAPTURING, UNRECOGNIZED;
-      public static State fromValue(String v) {
-         switch (Integer.parseInt(v)) {
-            case 0:
-               return NEW;
-            case 1:
-               return AVAILABLE;
-            case 2:
-               return UNAVAILABLE;
-            case 3:
-               return DELETED;
-            case 4:
-               return CAPTURING;
-            default:
-               return UNRECOGNIZED;
-         }
-      }
-   }
-
-   public static enum Visibility {
-
-      PUBLIC,
-
-      SHARED,
-
-      PRIVATE;
-   }
-
-   public static enum Architecture {
-      I386, X86_64, UNRECOGNIZED;
-      public String value() {
-         return name().toLowerCase();
-      }
-
-      public static Architecture fromValue(String v) {
-         try {
-            return valueOf(v.toUpperCase());
-         } catch (IllegalArgumentException e) {
-            return UNRECOGNIZED;
-         }
-      }
-   }
-
-   private String name;
-
-   private URI manifest;
-   private State state;
-   private Visibility visibility;
-   private String owner;
-   private String platform;
-   private Architecture architecture;
-   private Date createdTime;
-   private String location;
-   // for testing to be the same order each time
-   private SortedSet<InstanceType> supportedInstanceTypes = Sets.newTreeSet();
-   private SortedSet<String> productCodes = Sets.newTreeSet();
-   private URI documentation;
-   private String id;
-   private String description;
-
-   Image() {
-
-   }
-
-   public Image(String name, URI manifest, State state, Visibility visibility, String owner, String platform,
-            Architecture architecture, Date createdTime, String location, Set<InstanceType> supportedInstanceTypes,
-            Set<String> productCodes, URI documentation, String id, String description) {
-      this.name = name;
-      this.manifest = manifest;
-      this.state = state;
-      this.visibility = visibility;
-      this.owner = owner;
-      this.platform = platform;
-      this.architecture = architecture;
-      this.createdTime = createdTime;
-      this.location = location;
-      this.supportedInstanceTypes = ImmutableSortedSet.copyOf(supportedInstanceTypes);
-      this.productCodes = ImmutableSortedSet.copyOf(productCodes);
-      this.documentation = documentation;
-      this.id = id;
-      this.description = description;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.hashCode());
-      result = prime * result + ((location == null) ? 0 : location.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;
-      Image other = (Image) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      if (location == null) {
-         if (other.location != null)
-            return false;
-      } else if (!location.equals(other.location))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return String
-               .format(
-                        "[id=%s, name=%s, architecture=%s, createdTime=%s, description=%s, documentation=%s, location=%s, manifest=%s, owner=%s, platform=%s, productCodes=%s, state=%s, supportedInstanceTypes=%s, visibility=%s]",
-                        id, name, architecture, createdTime, description, documentation, location, manifest, owner,
-                        platform, productCodes, state, supportedInstanceTypes, visibility);
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public URI getManifest() {
-      return manifest;
-   }
-
-   public State getState() {
-      return state;
-   }
-
-   public Visibility getVisibility() {
-      return visibility;
-   }
-
-   public String getOwner() {
-      return owner;
-   }
-
-   public String getPlatform() {
-      return platform;
-   }
-
-   public Architecture getArchitecture() {
-      return architecture;
-   }
-
-   public Date getCreatedTime() {
-      return createdTime;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public Set<InstanceType> getSupportedInstanceTypes() {
-      return supportedInstanceTypes;
-   }
-
-   public Set<String> getProductCodes() {
-      return productCodes;
-   }
-
-   public URI getDocumentation() {
-      return documentation;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   public String getDescription() {
-      return description;
-   }
-
-   @Override
-   public int compareTo(Image arg0) {
-      return id.compareTo(arg0.getId());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Instance.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Instance.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Instance.java
deleted file mode 100644
index 2c885ad..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Instance.java
+++ /dev/null
@@ -1,449 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Date;
-import java.util.Set;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-import com.google.gson.annotations.SerializedName;
-
-/**
- * 
- * The current state of the instance.
- * 
- * @author Adrian Cole
- */
-public class Instance implements Comparable<Instance> {
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public static class Builder {
-      private Date launchTime;
-      private Set<Software> software = Sets.newLinkedHashSet();
-      private IP primaryIP;
-      private Set<IP> secondaryIPs = Sets.newLinkedHashSet();
-      private String requestId;
-      private String keyName;
-      private String name;
-      private String instanceType;
-      private Status status;
-      private String owner;
-      private String location;
-      private String imageId;
-      private Set<String> productCodes = Sets.newLinkedHashSet();
-      private String requestName;
-      private String id;
-      private Date expirationTime;
-      private Vlan vlan;
-      private int diskSize;
-
-      private boolean rootOnly;
-      private String antiCollocationInstance;
-
-      public Builder launchTime(Date launchTime) {
-         this.launchTime = launchTime;
-         return this;
-      }
-
-      public Builder software(Iterable<Software> software) {
-         this.software = ImmutableSet.<Software> copyOf(checkNotNull(software, "software"));
-         return this;
-      }
-
-      public Builder primaryIP(IP primaryIP) {
-         this.primaryIP = primaryIP;
-         return this;
-      }
-
-      public Builder secondaryIPs(Iterable<IP> secondaryIPs) {
-         this.secondaryIPs = ImmutableSet.<IP> copyOf(checkNotNull(secondaryIPs, "secondaryIPs"));
-         return this;
-      }
-
-      public Builder requestId(String requestId) {
-         this.requestId = requestId;
-         return this;
-      }
-
-      public Builder keyName(String keyName) {
-         this.keyName = keyName;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public Builder instanceType(String instanceType) {
-         this.instanceType = instanceType;
-         return this;
-      }
-
-      public Builder status(Status status) {
-         this.status = status;
-         return this;
-      }
-
-      public Builder owner(String owner) {
-         this.owner = owner;
-         return this;
-      }
-
-      public Builder location(String location) {
-         this.location = location;
-         return this;
-      }
-
-      public Builder imageId(String imageId) {
-         this.imageId = imageId;
-         return this;
-      }
-
-      public Builder productCodes(Iterable<String> productCodes) {
-         this.productCodes = ImmutableSet.<String> copyOf(checkNotNull(productCodes, "productCodes"));
-         return this;
-      }
-
-      public Builder requestName(String requestName) {
-         this.requestName = requestName;
-         return this;
-      }
-
-      public Builder id(String id) {
-         this.id = id;
-         return this;
-      }
-
-      public Builder expirationTime(Date expirationTime) {
-         this.expirationTime = expirationTime;
-         return this;
-      }
-
-      public Builder vlan(Vlan vlan) {
-         this.vlan = vlan;
-         return this;
-      }
-
-      public Builder diskSize(int diskSize) {
-         this.diskSize = diskSize;
-         return this;
-      }
-
-      public Builder rootOnly(boolean rootOnly) {
-         this.rootOnly = rootOnly;
-         return this;
-      }
-
-      public Builder antiCollocationInstance(String antiCollocationInstance) {
-         this.antiCollocationInstance = antiCollocationInstance;
-         return this;
-      }
-
-      public Instance build() {
-         return new Instance(launchTime, software, primaryIP, secondaryIPs, requestId, keyName, name, instanceType,
-                  status, owner, location, imageId, productCodes, requestName, id, expirationTime, vlan, diskSize,
-                  rootOnly, antiCollocationInstance);
-      }
-   }
-
-   public static enum Status {
-      NEW, PROVISIONING, FAILED, REMOVED, REJECTED, ACTIVE, UNKNOWN, DEPROVISIONING, RESTARTING, STARTING, STOPPING, STOPPED, DEPROVISION_PENDING, UNRECOGNIZED;
-
-      public static Status fromValue(String v) {
-         switch (Integer.parseInt(v)) {
-            case 0:
-               return NEW;
-            case 1:
-               return PROVISIONING;
-            case 2:
-               return FAILED;
-            case 3:
-               return REMOVED;
-            case 4:
-               return REJECTED;
-            case 5:
-               return ACTIVE;
-            case 6:
-               return UNKNOWN;
-            case 7:
-               return DEPROVISIONING;
-            case 8:
-               return RESTARTING;
-            case 9:
-               return STARTING;
-            case 10:
-               return STOPPING;
-            case 11:
-               return STOPPED;
-            case 12:
-               return DEPROVISION_PENDING;
-            default:
-               return UNRECOGNIZED;
-         }
-      }
-   }
-
-   public static class Software {
-      private String version;
-      private String type;
-      private String name;
-
-      public Software(String name, String type, String version) {
-         this.version = version;
-         this.type = type;
-         this.name = name;
-      }
-
-      public Software() {
-
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = 1;
-         result = prime * result + ((name == null) ? 0 : name.hashCode());
-         result = prime * result + ((type == null) ? 0 : type.hashCode());
-         result = prime * result + ((version == null) ? 0 : version.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;
-         Software other = (Software) obj;
-         if (name == null) {
-            if (other.name != null)
-               return false;
-         } else if (!name.equals(other.name))
-            return false;
-         if (type == null) {
-            if (other.type != null)
-               return false;
-         } else if (!type.equals(other.type))
-            return false;
-         if (version == null) {
-            if (other.version != null)
-               return false;
-         } else if (!version.equals(other.version))
-            return false;
-         return true;
-      }
-
-      public String getVersion() {
-         return version;
-      }
-
-      public String getType() {
-         return type;
-      }
-
-      public String getName() {
-         return name;
-      }
-
-      @Override
-      public String toString() {
-         return "[name=" + name + ", type=" + type + ", version=" + version + "]";
-      }
-   }
-
-   private Date launchTime;
-   private Set<Software> software = Sets.newLinkedHashSet();
-   private IP primaryIP;
-   @SerializedName("secondaryIP")
-   private Set<IP> secondaryIPs = Sets.newLinkedHashSet();
-   private String requestId;
-   private String keyName;
-   private String name;
-   private String instanceType;
-   private Status status;
-   private String owner;
-   private String location;
-   private String imageId;
-   private Set<String> productCodes = Sets.newLinkedHashSet();
-   private String requestName;
-   private String id;
-   private Date expirationTime;
-   private Vlan vlan;
-   private int diskSize;
-   @SerializedName("root-only")
-   private boolean rootOnly;
-   private String antiCollocationInstance;
-
-   Instance() {
-   }
-
-   public Instance(Date launchTime, Iterable<Software> software, IP primaryIP, Iterable<IP> secondaryIPs,
-            String requestId, String keyName, String name, String instanceType, Status status, String owner,
-            String location, String imageId, Iterable<String> productCodes, String requestName, String id,
-            Date expirationTime, Vlan vlan, int diskSize, boolean rootOnly, String antiCollocationInstance) {
-      this.launchTime = launchTime;
-      this.software = ImmutableSet.copyOf(software);
-      this.primaryIP = primaryIP;
-      this.secondaryIPs = ImmutableSet.copyOf(secondaryIPs);
-      this.requestId = requestId;
-      this.keyName = keyName;
-      this.name = name;
-      this.instanceType = instanceType;
-      this.status = status;
-      this.owner = owner;
-      this.location = location;
-      this.imageId = imageId;
-      this.productCodes = ImmutableSet.copyOf(productCodes);
-      this.requestName = requestName;
-      this.id = id;
-      this.expirationTime = expirationTime;
-      this.vlan = vlan;
-      this.diskSize = diskSize;
-      this.rootOnly = rootOnly;
-      this.antiCollocationInstance = antiCollocationInstance;
-   }
-
-   public Date getLaunchTime() {
-      return launchTime;
-   }
-
-   public Set<Software> getSoftware() {
-      return software;
-   }
-
-   public IP getPrimaryIP() {
-      return primaryIP;
-   }
-
-   public Set<IP> getSecondaryIPs() {
-      return secondaryIPs;
-   }
-
-   public String getRequestId() {
-      return requestId;
-   }
-
-   public String getKeyName() {
-      return keyName;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public String getInstanceType() {
-      return instanceType;
-   }
-
-   public Status getStatus() {
-      return status;
-   }
-
-   public String getOwner() {
-      return owner;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public String getImageId() {
-      return imageId;
-   }
-
-   public Set<String> getProductCodes() {
-      return productCodes;
-   }
-
-   public String getRequestName() {
-      return requestName;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   public Date getExpirationTime() {
-      return expirationTime;
-   }
-
-   public Vlan getVlan() {
-      return vlan;
-   }
-
-   public int getDiskSize() {
-      return diskSize;
-   }
-
-   public boolean isRootOnly() {
-      return rootOnly;
-   }
-
-   public String getAntiCollocationInstance() {
-      return antiCollocationInstance;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.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;
-      Instance other = (Instance) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return String
-               .format(
-                        "[id=%s, instanceType=%s, owner=%s, name=%s, location=%s, status=%s, imageId=%s, primaryIP=%s, secondaryIPs=%s, diskSize=%s, keyName=%s, launchTime=%s, rootOnly=%s, vlan=%s, software=%s, expirationTime=%s, antiCollocationInstance=%s, requestId=%s, requestName=%s, productCodes=%s]",
-                        id, instanceType, owner, name, location, status, imageId, primaryIP, secondaryIPs, diskSize,
-                        keyName, launchTime, rootOnly, vlan, software, expirationTime, antiCollocationInstance,
-                        requestId, requestName, productCodes);
-   }
-
-   @Override
-   public int compareTo(Instance arg0) {
-      return id.compareTo(arg0.getId());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/InstanceType.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/InstanceType.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/InstanceType.java
deleted file mode 100644
index 4edd5ae..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/InstanceType.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import com.google.common.collect.ComparisonChain;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class InstanceType implements Comparable<InstanceType> {
-
-   protected String label;
-   protected Price price;
-   protected String id;
-
-   public InstanceType(String label, Price price, String id) {
-      super();
-      this.label = label;
-      this.price = price;
-      this.id = id;
-   }
-
-   InstanceType() {
-      super();
-   }
-
-   public String getLabel() {
-      return label;
-   }
-
-   public Price getPrice() {
-      return price;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.hashCode());
-      result = prime * result + ((label == null) ? 0 : label.hashCode());
-      result = prime * result + ((price == null) ? 0 : price.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;
-      InstanceType other = (InstanceType) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      if (label == null) {
-         if (other.label != null)
-            return false;
-      } else if (!label.equals(other.label))
-         return false;
-      if (price == null) {
-         if (other.price != null)
-            return false;
-      } else if (!price.equals(other.price))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + id + ", label=" + label + ", price=" + price + "]";
-   }
-
-   @Override
-   public int compareTo(InstanceType o) {
-      return ComparisonChain.start().compare(this.getPrice().getRate(), o.getPrice().getRate()).result();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Key.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Key.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Key.java
deleted file mode 100644
index a4a9db9..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Key.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import java.util.Date;
-import java.util.Set;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-import com.google.gson.annotations.SerializedName;
-
-/**
- * 
- * The current state of a public or private key.
- * 
- * @author Adrian Cole
- */
-public class Key implements Comparable<Key> {
-   @SerializedName("default")
-   private boolean isDefault;
-   private Set<String> instanceIds = Sets.newLinkedHashSet();
-   private String keyMaterial;
-   @SerializedName("keyName")
-   private String name;
-   private Date lastModifiedTime;
-
-   public Key(boolean isDefault, Iterable<String> instanceIds, String keyMaterial, String name, Date lastModifiedTime) {
-      this.isDefault = isDefault;
-      Iterables.addAll(this.instanceIds, instanceIds);
-      this.keyMaterial = keyMaterial;
-      this.name = name;
-      this.lastModifiedTime = lastModifiedTime;
-   }
-
-   public Key() {
-
-   }
-
-   public boolean isDefault() {
-      return isDefault;
-   }
-
-   public void setDefault(boolean isDefault) {
-      this.isDefault = isDefault;
-   }
-
-   public String getKeyMaterial() {
-      return keyMaterial;
-   }
-
-   public void setKeyMaterial(String keyMaterial) {
-      this.keyMaterial = keyMaterial;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public void setName(String name) {
-      this.name = name;
-   }
-
-   public Date getLastModifiedTime() {
-      return lastModifiedTime;
-   }
-
-   public void setLastModifiedTime(Date lastModifiedTime) {
-      this.lastModifiedTime = lastModifiedTime;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((instanceIds == null) ? 0 : instanceIds.hashCode());
-      result = prime * result + (isDefault ? 1231 : 1237);
-      result = prime * result + ((keyMaterial == null) ? 0 : keyMaterial.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((lastModifiedTime == null) ? 0 : lastModifiedTime.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;
-      Key other = (Key) obj;
-      if (instanceIds == null) {
-         if (other.instanceIds != null)
-            return false;
-      } else if (!instanceIds.equals(other.instanceIds))
-         return false;
-      if (isDefault != other.isDefault)
-         return false;
-      if (keyMaterial == null) {
-         if (other.keyMaterial != null)
-            return false;
-      } else if (!keyMaterial.equals(other.keyMaterial))
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (lastModifiedTime == null) {
-         if (other.lastModifiedTime != null)
-            return false;
-      } else if (!lastModifiedTime.equals(other.lastModifiedTime))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "Key [isDefault=" + isDefault + ", instanceIds=" + instanceIds + ", name=" + name + ", keyMaterial="
-            + keyMaterial + ", lastModifiedTime=" + lastModifiedTime + "]";
-   }
-
-   public Set<String> getInstanceIds() {
-      return instanceIds;
-   }
-
-   public void setInstanceIds(Set<String> instanceIds) {
-      this.instanceIds = instanceIds;
-   }
-
-   @Override
-   public int compareTo(Key arg0) {
-      return name.compareTo(arg0.name);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Location.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Location.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Location.java
deleted file mode 100644
index dd1ce52..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Location.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import java.util.Map;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-
-/**
- * 
- * The current state of a location (datacenter)
- * 
- * @author Adrian Cole
- */
-public class Location {
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public static class Builder {
-      private String id;
-      private String name;
-      private String description;
-      private String location;
-      private State state;
-      private Map<String, Map<String, String>> capabilities = Maps.newLinkedHashMap();
-
-      public Builder id(String id) {
-         this.id = id;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public Builder description(String description) {
-         this.description = description;
-         return this;
-      }
-
-      public Builder location(String location) {
-         this.location = location;
-         return this;
-      }
-
-      public Builder state(State state) {
-         this.state = state;
-         return this;
-      }
-
-      public Builder capabilities(Map<String, Map<String, String>> capabilities) {
-         this.capabilities = ImmutableMap.copyOf(capabilities);
-         return this;
-      }
-
-      public Builder capability(String id) {
-         return capability(id, ImmutableMap.<String, String> of());
-      }
-
-      public Builder capability(String id, Map<String, String> entries) {
-         this.capabilities.put(id, entries);
-         return this;
-      }
-
-      public Location build() {
-         return new Location(id, name, description, location, state, capabilities);
-      }
-   }
-
-   public static enum State {
-      OFFLINE, ONLINE;
-      @Override
-      public String toString() {
-         return this == OFFLINE ? "-1" : "1";
-      }
-
-      public static State fromValue(int state) {
-         return state == -1 ? OFFLINE : ONLINE;
-      }
-
-   }
-
-   private final String id;
-   private final String name;
-   private final String description;
-   private final String location;
-   private final State state;
-   private final Map<String, Map<String, String>> capabilities;
-
-   public Location(String id, String name, String description, String location, State state,
-            Map<String, Map<String, String>> capabilities) {
-      this.id = id;
-      this.name = name;
-      this.description = description;
-      this.location = location;
-      this.state = state;
-      this.capabilities = ImmutableMap.copyOf(capabilities);
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public State getState() {
-      return state;
-   }
-
-   public String getDescription() {
-      return description;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public Map<String, Map<String, String>> getCapabilities() {
-      return capabilities;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.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;
-      Location other = (Location) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + id + ", name=" + name + ", description=" + description + ", location=" + location + ", state="
-               + state + ", capabilities=" + capabilities + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Offering.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Offering.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Offering.java
deleted file mode 100644
index 5134cf7..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Offering.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class Offering implements Comparable<Offering> {
-
-   protected String location;
-   protected Price price;
-   protected String id;
-
-   Offering() {
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public Price getPrice() {
-      return price;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.hashCode());
-      result = prime * result + ((location == null) ? 0 : location.hashCode());
-      result = prime * result + ((price == null) ? 0 : price.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;
-      Offering other = (Offering) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      if (location == null) {
-         if (other.location != null)
-            return false;
-      } else if (!location.equals(other.location))
-         return false;
-      if (price == null) {
-         if (other.price != null)
-            return false;
-      } else if (!price.equals(other.price))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + id + ", location=" + location + ", price=" + price + "]";
-   }
-
-   @Override
-   public int compareTo(Offering arg0) {
-      return id.compareTo(arg0.id);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Price.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Price.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Price.java
deleted file mode 100644
index a942a30..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Price.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import java.util.Date;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class Price {
-
-   private double rate;
-   private String unitOfMeasure;
-   private String countryCode;
-   private Date effectiveDate;
-   private String currencyCode;
-   private double pricePerQuantity;
-
-   Price() {
-
-   }
-
-   public Price(double rate, String unitOfMeasure, String countryCode, Date effectiveDate, String currencyCode,
-         double pricePerQuantity) {
-      this.rate = rate;
-      this.unitOfMeasure = unitOfMeasure;
-      this.countryCode = countryCode;
-      this.effectiveDate = effectiveDate;
-      this.currencyCode = currencyCode;
-      this.pricePerQuantity = pricePerQuantity;
-   }
-
-   public double getRate() {
-      return rate;
-   }
-
-   public String getUnitOfMeasure() {
-      return unitOfMeasure;
-   }
-
-   public String getCountryCode() {
-      return countryCode;
-   }
-
-   public Date getEffectiveDate() {
-      return effectiveDate;
-   }
-
-   public String getCurrencyCode() {
-      return currencyCode;
-   }
-
-   public double getPricePerQuantity() {
-      return pricePerQuantity;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((countryCode == null) ? 0 : countryCode.hashCode());
-      result = prime * result + ((currencyCode == null) ? 0 : currencyCode.hashCode());
-      result = prime * result + ((effectiveDate == null) ? 0 : effectiveDate.hashCode());
-      long temp;
-      temp = Double.doubleToLongBits(pricePerQuantity);
-      result = prime * result + (int) (temp ^ (temp >>> 32));
-      temp = Double.doubleToLongBits(rate);
-      result = prime * result + (int) (temp ^ (temp >>> 32));
-      result = prime * result + ((unitOfMeasure == null) ? 0 : unitOfMeasure.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;
-      Price other = (Price) obj;
-      if (countryCode == null) {
-         if (other.countryCode != null)
-            return false;
-      } else if (!countryCode.equals(other.countryCode))
-         return false;
-      if (currencyCode == null) {
-         if (other.currencyCode != null)
-            return false;
-      } else if (!currencyCode.equals(other.currencyCode))
-         return false;
-      if (effectiveDate == null) {
-         if (other.effectiveDate != null)
-            return false;
-      } else if (!effectiveDate.equals(other.effectiveDate))
-         return false;
-      if (Double.doubleToLongBits(pricePerQuantity) != Double.doubleToLongBits(other.pricePerQuantity))
-         return false;
-      if (Double.doubleToLongBits(rate) != Double.doubleToLongBits(other.rate))
-         return false;
-      if (unitOfMeasure == null) {
-         if (other.unitOfMeasure != null)
-            return false;
-      } else if (!unitOfMeasure.equals(other.unitOfMeasure))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[countryCode=" + countryCode + ", currencyCode=" + currencyCode + ", effectiveDate=" + effectiveDate
-            + ", pricePerQuantity=" + pricePerQuantity + ", rate=" + rate + ", unitOfMeasure=" + unitOfMeasure + "]";
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/StorageOffering.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/StorageOffering.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/StorageOffering.java
deleted file mode 100644
index 6f71442..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/StorageOffering.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import java.util.Set;
-
-import com.google.common.collect.Sets;
-
-/**
- * 
- * An Offering for Storage
- * 
- * @author Adrian Cole
- */
-public class StorageOffering extends Offering {
-   public static class Format {
-      private String label;
-      private String id;
-
-      Format() {
-
-      }
-
-      public Format(String label, String id) {
-         this.label = label;
-         this.id = id;
-      }
-
-      public String getLabel() {
-         return label;
-      }
-
-      public String getId() {
-         return id;
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = 1;
-         result = prime * result + ((id == null) ? 0 : id.hashCode());
-         result = prime * result + ((label == null) ? 0 : label.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;
-         Format other = (Format) obj;
-         if (id == null) {
-            if (other.id != null)
-               return false;
-         } else if (!id.equals(other.id))
-            return false;
-         if (label == null) {
-            if (other.label != null)
-               return false;
-         } else if (!label.equals(other.label))
-            return false;
-         return true;
-      }
-
-      @Override
-      public String toString() {
-         return "[id=" + id + ", label=" + label + "]";
-      }
-   }
-
-   private long capacity;
-   private String name;
-   private Set<Format> formats = Sets.newLinkedHashSet();
-
-   StorageOffering() {
-
-   }
-
-   public StorageOffering(String location, Price price, long capacity, String name, String id, Set<Format> formats) {
-      this.location = location;
-      this.price = price;
-      this.capacity = capacity;
-      this.name = name;
-      this.id = id;
-      this.formats = formats;
-   }
-
-   public long getCapacity() {
-      return capacity;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public Set<? extends Format> getFormats() {
-      return formats;
-   }
-
-   @Override
-   public String toString() {
-      return "[capacity=" + capacity + ", formats=" + formats + ", id=" + id + ", location=" + location + ", name="
-            + name + ", price=" + price + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Vlan.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Vlan.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Vlan.java
deleted file mode 100644
index 19c36cc..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Vlan.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class Vlan {
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public static class Builder {
-      private String id;
-      private String name;
-      private String location;
-
-      public Builder id(String id) {
-         this.id = id;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public Builder location(String location) {
-         this.location = location;
-         return this;
-      }
-
-      public Vlan build() {
-         return new Vlan(location, name, id);
-      }
-   }
-
-   private String location;
-   private String name;
-   private String id;
-
-   Vlan() {
-
-   }
-
-   public Vlan(String location, String name, String id) {
-      this.location = location;
-      this.name = name;
-      this.id = id;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((id == null) ? 0 : id.hashCode());
-      result = prime * result + ((location == null) ? 0 : location.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.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;
-      Vlan other = (Vlan) obj;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      if (location == null) {
-         if (other.location != null)
-            return false;
-      } else if (!location.equals(other.location))
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + id + ", location=" + location + ", name=" + name + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Volume.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Volume.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Volume.java
deleted file mode 100644
index b277f3c..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/domain/Volume.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.domain;
-
-import java.util.Date;
-import java.util.Set;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-
-/**
- * 
- * The current state of a Volume
- * 
- * @author Adrian Cole
- */
-public class Volume  implements Comparable<Volume> {
-
-   public static enum State {
-      NEW, CREATING, DELETING, DELETED, UNMOUNTED, MOUNTED, FAILED;
-      public static State fromValue(int v) {
-         switch (v) {
-            case 0:
-               return NEW;
-            case 1:
-               return CREATING;
-            case 2:
-               return DELETING;
-            case 3:
-               return DELETED;
-            case 4:
-               return UNMOUNTED;
-            case 5:
-               return MOUNTED;
-            case 6:
-               return FAILED;
-            default:
-               throw new IllegalArgumentException("invalid state:" + v);
-         }
-      }
-   }
-
-   private String instanceId;
-   private int state;
-   private int size;
-   private String owner;
-   private Date createdTime;
-   private String location;
-   private Set<String> productCodes = Sets.newLinkedHashSet();
-   private String format;
-   private String name;
-   private String id;
-
-   public Volume(String instanceId, int state, int size, String owner, Date createdTime,
-            String location, Iterable<String> productCodes, String format, String name, String id) {
-      this.instanceId = instanceId;
-      this.state = state;
-      this.size = size;
-      this.owner = owner;
-      this.createdTime = createdTime;
-      this.location = location;
-      Iterables.addAll(this.productCodes, productCodes);
-      this.format = format;
-      this.name = name;
-      this.id = id;
-   }
-
-   public Volume() {
-
-   }
-
-   public String getInstanceId() {
-      return instanceId;
-   }
-
-   public void setInstanceId(String instanceId) {
-      this.instanceId = instanceId;
-   }
-
-   public State getState() {
-      return State.fromValue(state);
-   }
-
-   public void setState(int state) {
-      this.state = state;
-   }
-
-   public int getSize() {
-      return size;
-   }
-
-   public void setSize(int size) {
-      this.size = size;
-   }
-
-   public String getOwner() {
-      return owner;
-   }
-
-   public void setOwner(String owner) {
-      this.owner = owner;
-   }
-
-   public Date getCreatedTime() {
-      return createdTime;
-   }
-
-   public void setCreatedTime(Date createdTime) {
-      this.createdTime = createdTime;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public void setLocation(String location) {
-      this.location = location;
-   }
-
-   public Set<String> getProductCodes() {
-      return productCodes;
-   }
-
-   public void setProductCodes(Set<String> productCodes) {
-      this.productCodes = productCodes;
-   }
-
-   public String getFormat() {
-      return format;
-   }
-
-   public void setFormat(String format) {
-      this.format = format;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public void setName(String name) {
-      this.name = name;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   public void setId(String id) {
-      this.id = id;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((createdTime == null) ? 0 : createdTime.hashCode());
-      result = prime * result + ((format == null) ? 0 : format.hashCode());
-      result = prime * result + ((id == null) ? 0 : id.hashCode());
-      result = prime * result + ((instanceId == null) ? 0 : instanceId.hashCode());
-      result = prime * result + ((location == null) ? 0 : location.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((owner == null) ? 0 : owner.hashCode());
-      result = prime * result + ((productCodes == null) ? 0 : productCodes.hashCode());
-      result = prime * result + size;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      Volume other = (Volume) obj;
-      if (createdTime == null) {
-         if (other.createdTime != null)
-            return false;
-      } else if (!createdTime.equals(other.createdTime))
-         return false;
-      if (format == null) {
-         if (other.format != null)
-            return false;
-      } else if (!format.equals(other.format))
-         return false;
-      if (id == null) {
-         if (other.id != null)
-            return false;
-      } else if (!id.equals(other.id))
-         return false;
-      if (instanceId == null) {
-         if (other.instanceId != null)
-            return false;
-      } else if (!instanceId.equals(other.instanceId))
-         return false;
-      if (location == null) {
-         if (other.location != null)
-            return false;
-      } else if (!location.equals(other.location))
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (owner == null) {
-         if (other.owner != null)
-            return false;
-      } else if (!owner.equals(other.owner))
-         return false;
-      if (productCodes == null) {
-         if (other.productCodes != null)
-            return false;
-      } else if (!productCodes.equals(other.productCodes))
-         return false;
-      if (size != other.size)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[id=" + id + ", name=" + name + ", size=" + size + ", state=" + getState()
-               + ", instanceId=" + instanceId + ", location=" + location + ", format=" + format
-               + ", owner=" + owner + ", createdTime=" + createdTime + ", productCodes="
-               + productCodes + "]";
-   }
-
-   @Override
-   public int compareTo(Volume arg0) {
-      return id.compareTo(arg0.getId());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/functions/ParseLongFromDate.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/functions/ParseLongFromDate.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/functions/ParseLongFromDate.java
deleted file mode 100644
index 6119db7..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/functions/ParseLongFromDate.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.functions;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.util.Date;
-
-import com.google.common.base.Function;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class ParseLongFromDate implements Function<Object, String> {
-
-   @Override
-   public String apply(Object from) {
-      checkArgument(from instanceof Date, "this binder is only valid for Date!");
-      return Date.class.cast(from).getTime()+"";
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/handlers/IBMSmartCloudErrorHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/handlers/IBMSmartCloudErrorHandler.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/handlers/IBMSmartCloudErrorHandler.java
deleted file mode 100644
index b95416f..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/handlers/IBMSmartCloudErrorHandler.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.handlers;
-
-import static org.jclouds.http.HttpUtils.releasePayload;
-
-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.Strings2;
-
-/**
- * This will parse and set an appropriate exception on the command object.
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class IBMSmartCloudErrorHandler implements HttpErrorHandler {
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   public void handleError(HttpCommand command, HttpResponse response) {
-      Exception exception = new HttpResponseException(command, response);
-      try {
-         // it is important to always read fully and close streams
-         String message = parseMessage(response);
-         exception = message != null ? new HttpResponseException(command, response, message) : exception;
-         message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(),
-               response.getStatusLine());
-         switch (response.getStatusCode()) {
-         case 401:
-            exception = new AuthorizationException(exception.getMessage(), exception);
-            break;
-         case 402:
-         case 403:
-            exception = new AuthorizationException(message, exception);
-            break;
-         case 404:
-            if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
-               exception = new ResourceNotFoundException(message, exception);
-            }
-            break;
-         case 406:
-         case 409:
-         case 412:
-            exception = new IllegalStateException(message, exception);
-            break;
-         case 500:
-            if (message != null && message.indexOf("There is already a BlockStorageDevice object with name") != 1)
-               exception = new IllegalStateException(message, exception);
-            break;
-         }
-      } catch (IOException e) {
-      } finally {
-         releasePayload(response);
-         command.setException(exception);
-      }
-   }
-
-   public String parseMessage(HttpResponse response) throws IOException {
-      if (response.getPayload() == null)
-         return null;
-      return Strings2.toString(response.getPayload());
-   }
-}


[12/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/README.txt b/sandbox-apis/scality-rs2/README.txt
deleted file mode 100644
index f32255f..0000000
--- a/sandbox-apis/scality-rs2/README.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-#
-# The jclouds API for RS2, Scality RING's s3 flavour (http://www.scality.com/scalable-data-storage-technology/).
-#
-# Expects the jclouds S3 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/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/pom.xml b/sandbox-apis/scality-rs2/pom.xml
deleted file mode 100644
index b193aa0..0000000
--- a/sandbox-apis/scality-rs2/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.api</groupId>
-    <artifactId>scality-rs2</artifactId>
-    <name>jclouds Eucalyptus Walrus api</name>
-    <description>Simple Storage Service (S3) implementation based on Scality RING RS2</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.initializer>org.jclouds.scality.rs2.blobstore.ScalityRS2TestInitializer</test.initializer>
-        <test.scality-rs2.endpoint>FIXME_ENDPOINT</test.scality-rs2.endpoint>
-        <test.scality-rs2.api-version>2006-03-01</test.scality-rs2.api-version>
-        <test.scality-rs2.build-version></test.scality-rs2.build-version>
-        <test.scality-rs2.identity>FIXME_IDENTITY</test.scality-rs2.identity>
-        <test.scality-rs2.credential>FIXME_CREDENTIAL</test.scality-rs2.credential>
-
-        <jclouds.osgi.export>org.jclouds.scality.rs2*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.scality-rs2.endpoint>${test.scality-rs2.endpoint}</test.scality-rs2.endpoint>
-                                        <test.scality-rs2.api-version>${test.scality-rs2.api-version}</test.scality-rs2.api-version>
-                                        <test.scality-rs2.build-version>${test.scality-rs2.build-version}</test.scality-rs2.build-version>
-                                        <test.scality-rs2.identity>${test.scality-rs2.identity}</test.scality-rs2.identity>
-                                        <test.scality-rs2.credential>${test.scality-rs2.credential}</test.scality-rs2.credential>
-                                        <test.initializer>${test.initializer}</test.initializer>
-                                        <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/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2AsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2AsyncClient.java b/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2AsyncClient.java
deleted file mode 100644
index 75d60fe..0000000
--- a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2AsyncClient.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2;
-
-import static org.jclouds.blobstore.attr.BlobScopes.CONTAINER;
-
-import org.jclouds.blobstore.attr.BlobScope;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.s3.S3AsyncClient;
-import org.jclouds.s3.filters.RequestAuthorizeSignature;
-
-/**
- * 
- * @author Adrian Cole
- */
-@SkipEncoding('/')
-@RequestFilters(RequestAuthorizeSignature.class)
-@BlobScope(CONTAINER)
-public interface ScalityRS2AsyncClient extends S3AsyncClient {
-   public static final String VERSION = "2006-03-01";
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2ContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2ContextBuilder.java b/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2ContextBuilder.java
deleted file mode 100644
index c62c343..0000000
--- a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2ContextBuilder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.s3.S3ContextBuilder;
-import org.jclouds.scality.rs2.blobstore.config.ScalityRS2BlobStoreContextModule;
-import org.jclouds.scality.rs2.config.ScalityRS2RestClientModule;
-
-import com.google.inject.Module;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class ScalityRS2ContextBuilder extends S3ContextBuilder {
-
-   public ScalityRS2ContextBuilder(Properties props) {
-      super(props);
-   }
-
-   @Override
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new ScalityRS2RestClientModule());
-   }
-   @Override
-   protected void addContextModule(List<Module> modules) {
-      modules.add(new ScalityRS2BlobStoreContextModule());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2PropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2PropertiesBuilder.java b/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2PropertiesBuilder.java
deleted file mode 100644
index 30f1b3e..0000000
--- a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/ScalityRS2PropertiesBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2;
-
-import static org.jclouds.Constants.PROPERTY_API_VERSION;
-
-import java.util.Properties;
-
-import org.jclouds.s3.S3PropertiesBuilder;
-
-/**
- * Builds properties used in ScalityRS2 Clients
- * 
- * @author Adrian Cole
- */
-public class ScalityRS2PropertiesBuilder extends S3PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_API_VERSION, ScalityRS2AsyncClient.VERSION);
-      return properties;
-   }
-
-   public ScalityRS2PropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/blobstore/config/ScalityRS2BlobStoreContextModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/blobstore/config/ScalityRS2BlobStoreContextModule.java b/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/blobstore/config/ScalityRS2BlobStoreContextModule.java
deleted file mode 100644
index 2c57627..0000000
--- a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/blobstore/config/ScalityRS2BlobStoreContextModule.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore.config;
-
-import org.jclouds.s3.blobstore.config.S3BlobStoreContextModule;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ScalityRS2BlobStoreContextModule extends S3BlobStoreContextModule {
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/config/ScalityRS2RestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/config/ScalityRS2RestClientModule.java b/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/config/ScalityRS2RestClientModule.java
deleted file mode 100644
index 9ba0907..0000000
--- a/sandbox-apis/scality-rs2/src/main/java/org/jclouds/scality/rs2/config/ScalityRS2RestClientModule.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.config;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.s3.S3AsyncClient;
-import org.jclouds.s3.S3Client;
-import org.jclouds.s3.config.S3RestClientModule;
-import org.jclouds.scality.rs2.ScalityRS2AsyncClient;
-
-import com.google.inject.Provides;
-
-/**
- * 
- * @author Adrian Cole
- */
-@ConfiguresRestClient
-@RequiresHttp
-public class ScalityRS2RestClientModule extends S3RestClientModule<S3Client, ScalityRS2AsyncClient> {
-
-   public ScalityRS2RestClientModule() {
-      super(S3Client.class, ScalityRS2AsyncClient.class);
-   }
-
-   @Provides
-   @Singleton
-   S3AsyncClient provideS3AsyncClient(ScalityRS2AsyncClient in) {
-      return in;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2AsyncClientTestDisabled.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2AsyncClientTestDisabled.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2AsyncClientTestDisabled.java
deleted file mode 100644
index 5ecf14f..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2AsyncClientTestDisabled.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2;
-
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.jclouds.s3.S3AsyncClient;
-import org.jclouds.s3.S3AsyncClientTest;
-import org.testng.annotations.Test;
-
-import com.google.inject.TypeLiteral;
-
-/**
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(enabled = false, groups = "unit", testName = "ScalityRS2AsyncClientTest")
-public class ScalityRS2AsyncClientTestDisabled extends S3AsyncClientTest<S3AsyncClient> {
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<S3AsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<S3AsyncClient>>() {
-      };
-   }
-
-   public ScalityRS2AsyncClientTestDisabled() {
-      this.provider = "scality-rs2";
-      this.url = "scality-test.com";
-   }
-
-   // TODO parameterize this test so that it can pass
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2ClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2ClientLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2ClientLiveTest.java
deleted file mode 100644
index 7e4da9f..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/ScalityRS2ClientLiveTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.s3.S3ClientLiveTest;
-import org.jclouds.s3.domain.S3Object;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code S3Client}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "ScalityRS2ClientLiveTest")
-public class ScalityRS2ClientLiveTest extends S3ClientLiveTest {
-   // no support for content encoding
-   @Override
-   protected void assertContentEncoding(S3Object newObject, String string) {
-      assert (newObject.getPayload().getContentMetadata().getContentEncoding().indexOf(string) != -1);
-      assert (newObject.getMetadata().getContentMetadata().getContentEncoding().indexOf(string) != -1);
-   }
-
-   // no support for cache control
-   @Override
-   protected void assertCacheControl(S3Object newObject, String string) {
-      assertEquals(newObject.getMetadata().getCacheControl(), null);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobIntegrationLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobIntegrationLiveTest.java
deleted file mode 100644
index de5cee9..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.domain.BlobMetadata;
-import org.jclouds.s3.blobstore.integration.S3BlobIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScalityRS2BlobIntegrationLiveTest")
-public class ScalityRS2BlobIntegrationLiveTest extends S3BlobIntegrationLiveTest {
-   // no support for content language
-   @Override
-   protected void checkContentLanguage(Blob blob, String contentLanguage) {
-      assert blob.getPayload().getContentMetadata().getContentLanguage() == null;
-      assert blob.getMetadata().getContentMetadata().getContentLanguage() == null;
-   }
-
-   // double range not supported
-   @Test(groups = { "integration", "live" })
-   @Override
-   public void testGetTwoRanges() throws InterruptedException, IOException {
-
-   }
-
-   // no md5
-   @Override
-   protected void checkMD5(BlobMetadata metadata) throws IOException {
-      assertEquals(metadata.getContentMetadata().getContentMD5(), null);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobLiveTest.java
deleted file mode 100644
index 8e4eccd..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobLiveTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.s3.blobstore.integration.S3BlobLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScalityRS2BlobLiveTest")
-public class ScalityRS2BlobLiveTest extends S3BlobLiveTest {
-
-   // no md5
-   @Override
-   protected void checkMD5(String container, String name, byte[] md5) {
-      assertEquals(context.getBlobStore().blobMetadata(container, name).getContentMetadata().getContentMD5(), null);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobMapIntegrationLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobMapIntegrationLiveTest.java
deleted file mode 100644
index 390ccdf..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3BlobMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScalityRS2BlobMapIntegrationLiveTest")
-public class ScalityRS2BlobMapIntegrationLiveTest extends S3BlobMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobSignerLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobSignerLiveTest.java
deleted file mode 100644
index fa94a83..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2BlobSignerLiveTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3BlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScalityRS2BlobSignerLiveTest")
-public class ScalityRS2BlobSignerLiveTest extends S3BlobSignerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerIntegrationLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerIntegrationLiveTest.java
deleted file mode 100644
index b776c2a..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.jclouds.blobstore.domain.BlobMetadata;
-import org.jclouds.s3.blobstore.integration.S3ContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ScalityRS2ContainerIntegrationLiveTest")
-public class ScalityRS2ContainerIntegrationLiveTest extends S3ContainerIntegrationLiveTest {
-   // doesn't support MD5
-   @Override
-   protected void checkMD5(BlobMetadata metadata) throws IOException {
-      assertEquals(metadata.getContentMetadata().getContentMD5(), null);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerLiveTest.java
deleted file mode 100644
index 2e270e7..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ContainerLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3ContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScalityRS2ContainerLiveTest")
-public class ScalityRS2ContainerLiveTest extends S3ContainerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2InputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2InputStreamMapIntegrationLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2InputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index f7b211b..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2InputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3InputStreamMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScalityRS2InputStreamMapIntegrationLiveTest")
-public class ScalityRS2InputStreamMapIntegrationLiveTest extends S3InputStreamMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ServiceIntegrationLiveTest.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ServiceIntegrationLiveTest.java
deleted file mode 100644
index 31422ce..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2ServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3ServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "ScalityRS2ServiceIntegrationLiveTest")
-public class ScalityRS2ServiceIntegrationLiveTest extends S3ServiceIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2TestInitializer.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2TestInitializer.java b/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2TestInitializer.java
deleted file mode 100644
index 90008b7..0000000
--- a/sandbox-apis/scality-rs2/src/test/java/org/jclouds/scality/rs2/blobstore/ScalityRS2TestInitializer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.scality.rs2.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3TestInitializer;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ScalityRS2TestInitializer extends S3TestInitializer {
-
-   public ScalityRS2TestInitializer() {
-      provider = "scality-rs2";
-   }
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/pom.xml b/sandbox-apis/simpledb/pom.xml
deleted file mode 100644
index acfe611..0000000
--- a/sandbox-apis/simpledb/pom.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.api</groupId>
-    <artifactId>simpledb</artifactId>
-    <name>jcloud simpledb api</name>
-    <description>jclouds components to access an implementation of Simple DB</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.simpledb.endpoint>https://sdb.amazonaws.com</test.simpledb.endpoint>
-        <test.simpledb.api-version>2009-04-15</test.simpledb.api-version>
-        <test.simpledb.build-version></test.simpledb.build-version>
-        <test.simpledb.identity>${test.aws.identity}</test.simpledb.identity>
-        <test.simpledb.credential>${test.aws.credential}</test.simpledb.credential>
-
-        <jclouds.osgi.export>org.jclouds.simpledb*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.common</groupId>
-            <artifactId>aws-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.simpledb.endpoint>${test.simpledb.endpoint}</test.simpledb.endpoint>
-                                        <test.simpledb.api-version>${test.simpledb.api-version}</test.simpledb.api-version>
-                                        <test.simpledb.build-version>${test.simpledb.build-version}</test.simpledb.build-version>
-                                        <test.simpledb.identity>${test.simpledb.identity}</test.simpledb.identity>
-                                        <test.simpledb.credential>${test.simpledb.credential}</test.simpledb.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBAsyncClient.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBAsyncClient.java
deleted file mode 100644
index 9a394fb..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBAsyncClient.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb;
-
-import static org.jclouds.simpledb.reference.SimpleDBParameters.ACTION;
-import static org.jclouds.simpledb.reference.SimpleDBParameters.VERSION;
-
-import java.util.Map;
-
-import javax.annotation.Nullable;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.location.functions.RegionToEndpointOrProviderIfNull;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.FormParams;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.VirtualHost;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.simpledb.binders.BindAttributesToIndexedFormParams;
-import org.jclouds.simpledb.domain.Item;
-import org.jclouds.simpledb.domain.ListDomainsResponse;
-import org.jclouds.simpledb.options.ListDomainsOptions;
-import org.jclouds.simpledb.xml.ItemsHandler;
-import org.jclouds.simpledb.xml.ListDomainsResponseHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides access to SimpleDB via their REST API.
- * <p/>
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-@RequestFilters(FormSigner.class)
-@FormParams(keys = VERSION, values = SimpleDBAsyncClient.VERSION)
-@VirtualHost
-public interface SimpleDBAsyncClient {
-   public static final String VERSION = "2009-04-15";
-
-   /**
-    * @see SimpleDBClient#listDomainsInRegion
-    */
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "ListDomains")
-   @XMLResponseParser(ListDomainsResponseHandler.class)
-   ListenableFuture<? extends ListDomainsResponse> listDomainsInRegion(
-         @EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region, ListDomainsOptions... options);
-
-   /**
-    * @see SimpleDBClient#createDomainInRegion
-    */
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "CreateDomain")
-   ListenableFuture<Void> createDomainInRegion(@EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region,
-         @FormParam("DomainName") String domainName);
-
-   /**
-    * @see SimpleDBClient#deleteDomain
-    */
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "DeleteDomain")
-   ListenableFuture<Void> deleteDomainInRegion(@EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region,
-         @FormParam("DomainName") String domainName);
-
-
-   /**
-    * @see SimpleDBClient#putAttributes
-    */
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "PutAttributes")
-   ListenableFuture<Void> putAttributes(@EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region,
-		 @FormParam("DomainName") String domainName,
-		 @FormParam("ItemName") String itemName,
-         @BinderParam(BindAttributesToIndexedFormParams.class) Item attributes);
-
-   /**
-    * @see SimpleDBClient#putAttributes
-    */
-   @POST
-   @Path("/")
-   @FormParams(keys = ACTION, values = "Select")
-   @XMLResponseParser(ItemsHandler.class)
-   ListenableFuture<? extends Map<String, Item>> select(@EndpointParam(parser = RegionToEndpointOrProviderIfNull.class) @Nullable String region,
-		 @FormParam("SelectExpression") String selectExpression);
-
-   
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBClient.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBClient.java
deleted file mode 100644
index 7c4601c..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBClient.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb;
-
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import javax.annotation.Nullable;
-
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.simpledb.domain.Item;
-import org.jclouds.simpledb.domain.ListDomainsResponse;
-import org.jclouds.simpledb.options.ListDomainsOptions;
-
-/**
- * Provides access to SimpleDB via their REST API.
- * <p/>
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-@Timeout(duration = 30, timeUnit = TimeUnit.SECONDS)
-public interface SimpleDBClient {
-
-   /**
-    * The ListDomains operation lists all domains associated with the Access Key ID. It returns
-    * domain names up to the limit set by MaxNumberOfDomains. A NextToken is returned if there are
-    * more than MaxNumberOfDomains domains. Calling ListDomains successive times with the NextToken
-    * returns up to MaxNumberOfDomains more domain names each time.
-    * 
-    * 
-    * @param region
-    *           Domains are Region-specific.
-    * @param options
-    *           specify result count or other options
-    * 
-    * @see <a href=
-    *      "http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/SDB_API_ListDomains.html"
-    *      />
-    */
-   ListDomainsResponse listDomainsInRegion(@Nullable String region, ListDomainsOptions... options);
-
-   /**
-    * The CreateDomain operation creates a new domain.
-    * 
-    * <p/>
-    * The domain name must be unique among the domains associated with the Access Key ID provided in
-    * the request. The CreateDomain operation might take 10 or more seconds to complete.
-    * 
-    * 
-    * <h3>Note</h3>
-    * CreateDomain is an idempotent operation; running it multiple times using the same domain name
-    * will not result in an error response.
-    * <p/>
-    * You can create up to 100 domains per account.
-    * <p/>
-    * If you require additional domains, go to
-    * http://amazon.com/contact-us/simpledb-limit-request/.
-    * 
-    * @param region
-    *           Domains are Region-specific.
-    * @param domainName
-    *           The name of the domain to create. The name can range between 3 and 255 characters
-    *           and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.
-    * 
-    * @see <a href=
-    *      "http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/SDB_API_ListDomains.html"
-    *      />
-    */
-   void createDomainInRegion(@Nullable String region, String domainName);
-
-   /**
-    * The DeleteDomain operation deletes a domain. Any items (and their attributes) in the domain
-    * are deleted as well. The DeleteDomain operation might take 10 or more seconds to complete. <h3>
-    * Note</h3>
-    * 
-    * Running DeleteDomain on a domain that does not exist or running the function multiple times
-    * using the same domain name will not result in an error response.
-    * 
-    * 
-    * @param region
-    *           Domains are Region-specific.
-    * @param domainName
-    *           The name of the domain to delete.
-    * 
-    * 
-    * @see <a href=
-    *      "http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/SDB_API_ListDomains.html"
-    *      />
-    */
-   void deleteDomainInRegion(String region, String domainName);
-   void putAttributes(String region, String domain, String itemName, Item attributes);
-   Map<String, Item> select(String region, String selectionExpression);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBContextBuilder.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBContextBuilder.java
deleted file mode 100644
index 2e68b82..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBContextBuilder.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
-import org.jclouds.logging.jdk.config.JDKLoggingModule;
-import org.jclouds.rest.RestContextBuilder;
-import org.jclouds.simpledb.config.SimpleDBRestClientModule;
-
-import com.google.inject.Injector;
-import com.google.inject.Module;
-
-/**
- * Creates {@link SimpleDBContext} or {@link Injector} instances based on the most commonly requested
- * arguments.
- * <p/>
- * Note that Threadsafe objects will be bound as singletons to the Injector or Context provided.
- * <p/>
- * <p/>
- * If no <code>Module</code>s are specified, the default {@link JDKLoggingModule logging} and
- * {@link JavaUrlHttpCommandExecutorServiceModule http transports} will be installed.
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- * @see SimpleDBContext
- */
-public class SimpleDBContextBuilder extends RestContextBuilder<SimpleDBClient, SimpleDBAsyncClient> {
-
-   public SimpleDBContextBuilder(Properties props) {
-      super(SimpleDBClient.class, SimpleDBAsyncClient.class, props);
-   }
-
-   @Override
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new SimpleDBRestClientModule());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBPropertiesBuilder.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBPropertiesBuilder.java
deleted file mode 100644
index 3760f87..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/SimpleDBPropertiesBuilder.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb;
-
-import static org.jclouds.Constants.PROPERTY_API_VERSION;
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_AUTH_TAG;
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_HEADER_TAG;
-
-import java.util.Properties;
-
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in SimpleDB Clients
- * 
- * @author Adrian Cole
- */
-public class SimpleDBPropertiesBuilder extends PropertiesBuilder {
-
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_AUTH_TAG, "AWS");
-      properties.setProperty(PROPERTY_HEADER_TAG, "amz");
-      properties.setProperty(PROPERTY_API_VERSION, SimpleDBAsyncClient.VERSION);
-      properties.setProperty(PROPERTY_ENDPOINT, "https://sdb.amazonaws.com");
-      return properties;
-   }
-
-   public SimpleDBPropertiesBuilder() {
-      super();
-   }
-
-   public SimpleDBPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java
deleted file mode 100644
index 89107f3..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/binders/BindAttributesToIndexedFormParams.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.lang.String.format;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.jclouds.simpledb.domain.AttributePair;
-import org.jclouds.simpledb.domain.Item;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.utils.ModifyRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableMultimap.Builder;
-
-/**
- * 
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-public class BindAttributesToIndexedFormParams implements Binder {
-
-   private final String attributeName = "Attribute.%d.Name";
-   private final String attributeValue = "Attribute.%d.Value";
-   private final String attributeReplace = "Attribute.%d.Replace";
-
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Item, "this binder is only valid for AttributeMap");
-      Item attributeMap = (Item) input;
-
-      Builder<String, String> builder = ImmutableMultimap.builder();
-      int amazonOneBasedIndex = 1; // according to docs, counters must start with 1
-      for (Map.Entry<String, Collection<AttributePair>> entry : attributeMap.getAttributes().entrySet());
-         String itemName = entry.getKey();
-
-         for (AttributePair attr : = entry.getValue()) {
-            // not null by contract
-
-            String value = attr.getValue();
-
-            if (value != null) {
-               builder.put(format(attributeName, amazonOneBasedIndex), attr.getKey());
-               builder.put(format(attributeValue, amazonOneBasedIndex), value);
-               builder.put(format(attributeReplace, amazonOneBasedIndex), String.valueOf(attr.isReplace()));
-
-            }
-            amazonOneBasedIndex++;
-         }
-
-      }
-      ImmutableMultimap<String, String> forms = builder.build();
-      return forms.size() == 0 ? request : ModifyRequest.putFormParams(request, forms);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/config/SimpleDBRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/config/SimpleDBRestClientModule.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/config/SimpleDBRestClientModule.java
deleted file mode 100644
index ae52954..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/config/SimpleDBRestClientModule.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.config;
-
-import org.jclouds.aws.config.FormSigningRestClientModule;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.simpledb.SimpleDBAsyncClient;
-import org.jclouds.simpledb.SimpleDBClient;
-
-/**
- * Configures the SimpleDB connection.
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-@RequiresHttp
-@ConfiguresRestClient
-public class SimpleDBRestClientModule extends FormSigningRestClientModule<SimpleDBClient, SimpleDBAsyncClient> {
-
-   public SimpleDBRestClientModule() {
-      super(SimpleDBClient.class, SimpleDBAsyncClient.class);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/AttributePair.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/AttributePair.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/AttributePair.java
deleted file mode 100644
index c149489..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/AttributePair.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.domain;
-
-
-
-/**
- * AttributePair is a class to support the attributes to put in the SimpleDB
- * <p/>
- * 
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-public class AttributePair 
-{
-
-	private String key;
-	private String value;
-	private boolean replace;
-	
-	
-	/**
-	 * 
-	 * Default constructor to represent an attribute in a domain in SimpleDB
-	 * 
-	 * <p/>
-	 * 
-	 * @param key Name of Attribute
-	 * @param value Value of Attribute
-	 * @param replace Replace value if it already exists in domain
-	 */
-	public AttributePair(String key, String value, boolean replace)
-	{
-		this.key = key;
-                
-		this.value = value ;
-		this.replace = replace;
-	}
-	
-	
-	public String getKey() {
-		return key;
-	}
-
-
-	public String getValue() {
-		return value;
-	}
-
-        public void setValue(String value)
-        {
-            this.value = value;
-        }
-
-
-	public boolean isReplace() {
-		return replace;
-	}
-
-	
-	
-	
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/DomainMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/DomainMetadata.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/DomainMetadata.java
deleted file mode 100644
index e774440..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/DomainMetadata.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.domain;
-
-import java.util.Date;
-
-/**
- * 
- * @see <a href=
- *      "http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/index.html?SDB_API_CreateDomain.html"
- *      />
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-public class DomainMetadata {
-   private final String region;
-   private final String name;
-   private final Date timestamp;
-   private final long itemCount;
-   private final long attributeValueCount;
-   private final long attributeNameCount;
-   private final long itemNamesSizeBytes;
-   private final long attributeValuesSizeBytes;
-   private final long attributeNamesSizeBytes;
-
-   public DomainMetadata(String region, String name, Date timestamp, long itemCount, long attributeValueCount,
-         long attributeNameCount, long itemNamesSizeBytes, long attributeValuesSizeBytes, long attributeNamesSizeBytes) {
-      this.region = region;
-      this.name = name;
-      this.timestamp = timestamp;
-      this.itemCount = itemCount;
-      this.attributeValueCount = attributeValueCount;
-      this.attributeNameCount = attributeNameCount;
-      this.itemNamesSizeBytes = itemNamesSizeBytes;
-      this.attributeValuesSizeBytes = attributeValuesSizeBytes;
-      this.attributeNamesSizeBytes = attributeNamesSizeBytes;
-   }
-
-   /**
-    * 
-    * @return region the domain belongs to
-    */
-   public String getRegion() {
-      return region;
-   }
-
-   /**
-    * 
-    * @return name of the domain
-    */
-   public String getName() {
-      return name;
-   }
-
-   /**
-    * 
-    * @return The number of all items in the domain.
-    */
-   public Date getTimestamp() {
-      return timestamp;
-   }
-
-   /**
-    * 
-    * @return
-    */
-   public long getItemCount() {
-      return itemCount;
-   }
-
-   /**
-    * 
-    * @return The number of all attribute name/value pairs in the domain.
-    */
-   public long getAttributeValueCount() {
-      return attributeValueCount;
-   }
-
-   /**
-    * 
-    * @return The number of unique attribute names in the domain.
-    */
-   public long getAttributeNameCount() {
-      return attributeNameCount;
-   }
-
-   /**
-    * 
-    * @return The total size of all item names in the domain, in bytes.
-    */
-   public long getItemNamesSizeBytes() {
-      return itemNamesSizeBytes;
-   }
-
-   /**
-    * 
-    * @return The total size of all attribute values, in bytes.
-    */
-   public long getAttributeValuesSizeBytes() {
-      return attributeValuesSizeBytes;
-   }
-
-   /**
-    * 
-    * @return The total size of all unique attribute names, in bytes.
-    */
-   public long getAttributeNamesSizeBytes() {
-      return attributeNamesSizeBytes;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + (int) (attributeNameCount ^ (attributeNameCount >>> 32));
-      result = prime * result + (int) (attributeNamesSizeBytes ^ (attributeNamesSizeBytes >>> 32));
-      result = prime * result + (int) (attributeValueCount ^ (attributeValueCount >>> 32));
-      result = prime * result + (int) (attributeValuesSizeBytes ^ (attributeValuesSizeBytes >>> 32));
-      result = prime * result + (int) (itemCount ^ (itemCount >>> 32));
-      result = prime * result + (int) (itemNamesSizeBytes ^ (itemNamesSizeBytes >>> 32));
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((region == null) ? 0 : region.hashCode());
-      result = prime * result + ((timestamp == null) ? 0 : timestamp.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;
-      DomainMetadata other = (DomainMetadata) obj;
-      if (attributeNameCount != other.attributeNameCount)
-         return false;
-      if (attributeNamesSizeBytes != other.attributeNamesSizeBytes)
-         return false;
-      if (attributeValueCount != other.attributeValueCount)
-         return false;
-      if (attributeValuesSizeBytes != other.attributeValuesSizeBytes)
-         return false;
-      if (itemCount != other.itemCount)
-         return false;
-      if (itemNamesSizeBytes != other.itemNamesSizeBytes)
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (region == null) {
-         if (other.region != null)
-            return false;
-      } else if (!region.equals(other.region))
-         return false;
-      if (timestamp == null) {
-         if (other.timestamp != null)
-            return false;
-      } else if (!timestamp.equals(other.timestamp))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[region=" + region + ", name=" + name + ", timestamp=" + timestamp + ", itemCount=" + itemCount
-            + ", attributeValueCount=" + attributeValueCount + ", attributeNameCount=" + attributeNameCount
-            + ", itemNamesSizeBytes=" + itemNamesSizeBytes + ", attributeValuesSizeBytes=" + attributeValuesSizeBytes
-            + ", attributeNamesSizeBytes=" + attributeNamesSizeBytes + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/Item.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/Item.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/Item.java
deleted file mode 100644
index ccb23b4..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/Item.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.domain;
-
-import javax.annotation.Nullable;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Multimap;
-
-/**
- * Defines the mapping of Items
- * 
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-public class Item {
-
-   private final Multimap<String, AttributePair> attributes = LinkedHashMultimap
-            .create();
-
-   public Item() {
-   }
-
-   /**
-    * Creates a map of Attribute Pair
-    * 
-    */
-   public Item(Multimap<String, AttributePair> attributes)
-   {
-   
-	   this.attributes.putAll(attributes);
-	   
-   }
-   
-   public Item addAttributePair(@Nullable String itemName,
-            AttributePair attrPair) 
-   {
-      this.attributes.put(itemName, attrPair);
-      return this;
-   }
-
-   public Multimap<String, AttributePair> getAttributes()
-   {
-      return ImmutableMultimap.<String, AttributePair> builder().putAll(
-    		  attributes).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/ListDomainsResponse.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/ListDomainsResponse.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/ListDomainsResponse.java
deleted file mode 100644
index 3639e42..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/domain/ListDomainsResponse.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.domain;
-
-import java.util.Set;
-
-/**
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- * @see <a href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/index.html" />
- */
-public interface ListDomainsResponse extends Set<String> {
-
-   /**
-    * An opaque token indicating that there are more than MaxNumberOfDomains domains still
-    * available.
-    */
-   String getNextToken();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/options/ListDomainsOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/options/ListDomainsOptions.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/options/ListDomainsOptions.java
deleted file mode 100644
index 7d02ac5..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/options/ListDomainsOptions.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.options;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-/**
- * Contains options supported in the Form API for the ListDomains operation. <h2>
- * Usage</h2> The recommended way to instantiate a ListDomainsOptions object is to statically import
- * ListDomainsOptions.Builder.* and invoke a static creation method followed by an instance mutator
- * (if needed):
- * <p/>
- * <code>
- * import static org.jclouds.simpledb.options.ListDomainsOptions.Builder.*
- * <p/>
- * SimpleDBClient connection = // get connection
- * Set<String> domains = connection.listDomainsInRegion(maxNumberOfDomains(1));
- * <code>
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- * @see <a href=
- *      "http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/SDB_API_ListDomains.html"
- *      />
- */
-public class ListDomainsOptions extends BaseHttpRequestOptions {
-
-   /**
-    * The maximum number of domain names you want returned.
-    * 
-    * @param maxNumberOfDomains
-    *           Maximum 100
-    */
-   public ListDomainsOptions maxNumberOfDomains(int maxNumberOfDomains) {
-      checkArgument(maxNumberOfDomains > 0 && maxNumberOfDomains <= 100, "must be between 1-100");
-      formParameters.put("MaxNumberOfDomains", maxNumberOfDomains + "");
-      return this;
-   }
-
-   public String getMaxNumberOfDomains() {
-      return getFirstFormOrNull("MaxNumberOfDomains");
-   }
-
-   /**
-    * 
-    * @param nextToken
-    *           tells Amazon SimpleDB where to start the next list of domain names.
-    */
-   public ListDomainsOptions nextToken(String nextToken) {
-      checkNotNull(nextToken, "nextToken");
-      formParameters.put("NextToken", nextToken);
-      return this;
-   }
-
-   /**
-    * 
-    * @return String that tells Amazon SimpleDB where to start the next list of domain names.
-    */
-   public String getNextToken() {
-      return getFirstFormOrNull("NextToken");
-   }
-
-   public static class Builder {
-
-      /**
-       * @see ListDomainsOptions#nextToken
-       */
-      public static ListDomainsOptions nextToken(String nextToken) {
-         ListDomainsOptions options = new ListDomainsOptions();
-         return options.nextToken(nextToken);
-      }
-
-      /**
-       * @see ListDomainsOptions#maxNumberOfDomains
-       */
-      public static ListDomainsOptions maxNumberOfDomains(int maxNumberOfDomains) {
-         ListDomainsOptions options = new ListDomainsOptions();
-         return options.maxNumberOfDomains(maxNumberOfDomains);
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/package-info.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/package-info.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/package-info.java
deleted file mode 100644
index e08a24b..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/package-info.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.
- */
-/**
- *
- * @see <a href="http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/index.html"/>
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-package org.jclouds.simpledb;

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/SimpleDBParameters.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/SimpleDBParameters.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/SimpleDBParameters.java
deleted file mode 100644
index d66f5d0..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/SimpleDBParameters.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.reference;
-
-/**
- * Configuration properties and constants used in SimpleDB connections.
- * 
- * @see <a href="http://docs.amazonwebservices.com/AWSSimpleDomainService/2009-02-01/APIReference/Query_QueryParams.html"
- *      />
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-public interface SimpleDBParameters {
-
-   /**
-    * The action to perform. For example: CreateDomain.
-    */
-   public static final String ACTION = "Action";
-
-   /**
-    * The API version to use, as specified in the WSDL. For example: 2009-02-01.
-    */
-   public static final String VERSION = "Version";
-
-   /**
-    * Your Access Key ID. For example: 0AS7253JW73RRM652K02. For more information, see Your AWS
-    * Identifiers in the Amazon SimpleDB Developer Guide.
-    */
-   public static final String AWS_ACCESS_KEY_ID = "AWSAccessKeyId";
-
-   /**
-    * The date and time the request is signed, in the format YYYY-MM-DDThh:mm:ssZ, as specified in
-    * the ISO 8601 standard. Query requests must include either Timestamp or Expires, but not both.
-    * 
-    */
-   public static final String TIMESTAMP = "Timestamp";
-
-   /**
-    * The date and time at which the signature included in the request expires, in the format
-    * YYYY-MM-DDThh:mm:ssZ, as specified in the ISO 8601 standard. Query requests must include
-    * either Timestamp or Expires, but not both.
-    */
-   public static final String EXPIRES = "Expires";
-   /**
-    * A request signature (for information, see Request Authentication in the Amazon SimpleDB Developer
-    * Guide). For example: Qnpl4Qk/7tINHzfXCiT7VbBatDA=.
-    */
-   public static final String SIGNATURE = "Signature";
-   /**
-    *Required when you use signature version 2 with Query requests. For more information, see Query
-    * Request Authentication in the Amazon SimpleDB Developer Guide.
-    */
-   public static final String SIGNATURE_METHOD = "SignatureMethod";
-   /**
-    * For more information, see Query Request Authentication in the Amazon SimpleDB Developer Guide.
-    */
-   public static final String SIGNATURE_VERSION = "SignatureVersion";
-}


[07/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClient.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClient.java
deleted file mode 100644
index ec7ff4a..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClient.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import java.util.Date;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.domain.Offering;
-import org.jclouds.ibm.smartcloud.domain.StorageOffering;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.jclouds.ibm.smartcloud.options.CreateInstanceOptions;
-import org.jclouds.ibm.smartcloud.options.RestartInstanceOptions;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-
-/**
- * Provides synchronous access to IBMSmartCloud.
- * <p/>
- * 
- * @see IBMSmartCloudAsyncClient
- * @see <a href="http://www-180.ibm.com/cloud/enterprise/beta/support" />
- * @author Adrian Cole
- */
-@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
-public interface IBMSmartCloudClient {
-   /**
-    * 
-    * @return the list of Images available to be provisioned on the IBM
-    *         DeveloperCloud.
-    */
-   Set<? extends Image> listImages();
-
-   /**
-    * Returns the available Image identified by the supplied Image ID.
-    * 
-    * @return null if image is not found
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to view this image to
-    *            section
-    */
-   Image getImage(String id);
-
-   /**
-    * Deletes Image identified by the supplied Image ID.
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to delete this image
-    * @throws IllegalStateException
-    *            code 412 if the image is in an invalid state to perform this
-    *            operation
-    */
-   void deleteImage(String id);
-   
-   String getManifestOfImage(String id);
-
-   /**
-    * If set to {@code Image.Visibility#PUBLIC}, makes the Image identified by
-    * the supplied Image ID publicly available for all users to create Instances
-    * of.
-    * 
-    * @return modified image or null, if image was not found.
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to change the visibility
-    *            of this image
-    * @throws IllegalStateException
-    *            code 412 if the image is in an invalid state to perform this
-    *            operation
-    */
-   Image setImageVisibility(String id, Image.Visibility visibility);
-
-   /**
-    * 
-    * @return the list of Instances that the authenticated user manages.
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this information
-    */
-   Set<? extends Instance> listInstances();
-
-   /**
-    * 
-    * @return the list of Instances that the authenticated user manages that
-    *         were created as part of the request specified by {@code requestId}
-    *         , or null if the request was not found
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this request
-    */
-   Set<? extends Instance> listInstancesFromRequest(String requestId);
-
-   /**
-    * Returns the Instance that the authenticated user manages with the
-    * specified {@code id}
-    * 
-    * @return null if instance is not found
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this instance
-    */
-   Instance getInstance(String id);
-
-   /**
-    * Requests a new Instance to be created.
-    * 
-    * @param location
-    *           The id of the Location where this instance will be created
-    * @param name
-    *           The alias to use to reference this instance
-    * @param imageID
-    *           The ID of the image to create this instance from
-    * @param instanceType
-    *           The instance type to use for this instance {SMALL, MEDIUM,
-    *           LARGE}
-    * @param options
-    *           overrides default public key, mounts a volume, or attaches a
-    *           static ip
-    * @throws AuthorizationException
-    *            code 401 if the authenticated user is not authorized to create
-    *            instances
-    *            <p/>
-    *            code 402 if payment is required before more instances may be
-    *            created
-    * @throws IllegalStateException
-    *            code 409 if there are not enough resources in the cloud to
-    *            fulfill this request
-    *            <p/>
-    *            code 412 One or more of the supplied parameters are invalid for
-    *            this request
-    */
-   Instance createInstanceInLocation(String location, String name, String imageID, String instanceType,
-         CreateInstanceOptions... options);
-
-   /**
-    * Sets the expiration time of the instance to the value specified
-    * 
-    * @throws ResourceNotFoundException
-    *            code 404 The instance specified by {@code name} was not found
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to extend the expiration
-    *            time of this instance
-    *            <p/>
-    *            code 402 if payment is required before more instances may be
-    *            created
-    * @throws IllegalStateException
-    *            <p>
-    *            code 406 The provided expiration date is not valid code 409 if
-    *            there are not enough resources in the cloud to fulfill this
-    *            request
-    *            <p/>
-    *            code 412 The instance is in an invalid state to perform this
-    *            operation
-    */
-   Date extendReservationForInstance(String id, Date expirationTime);
-
-   /**
-    * Restart the instance
-    * 
-    * @param id
-    *           the instance to restart
-    * @param options
-    *           allows you to specify a new public key for login
-    * @throws ResourceNotFoundException
-    *            code 404 The instance specified by {@code name} was not found
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to extend the expiration
-    *            time of this instance
-    *            <p/>
-    *            code 402 if payment is required before more instances may be
-    *            created
-    * @throws IllegalStateException
-    *            <p>
-    *            code 406 The provided expiration date is not valid code 409 if
-    *            there are not enough resources in the cloud to fulfill this
-    *            request
-    *            <p/>
-    *            code 412 The instance is in an invalid state to perform this
-    *            operation
-    */
-   void restartInstance(String id, RestartInstanceOptions... options);
-
-   /**
-    * Saves an instance to a private image
-    * 
-    * @param id
-    *           the instance to save
-    * @param toImageName
-    *           The name to associate with the captured image.
-    * @param toImageDescription
-    *           The description to associate with the capture image.
-    * @return a private image
-    * @throws ResourceNotFoundException
-    *            code 404 The instance specified by {@code name} was not found
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to extend the expiration
-    *            time of this instance
-    *            <p/>
-    *            code 402 if payment is required before more instances may be
-    *            created
-    * @throws IllegalStateException
-    *            <p>
-    *            code 406 The provided expiration date is not valid code 409 if
-    *            there are not enough resources in the cloud to fulfill this
-    *            request
-    *            <p/>
-    *            code 412 The instance is in an invalid state to perform this
-    *            operation
-    */
-   Image saveInstanceToImage(String id, String toImageName, String toImageDescription);
-
-   /**
-    * Deletes the Instance that the authenticated user manages with the
-    * specified {@code id}
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to delete this instance
-    * @throws IllegalStateException
-    *            code 412 if the instance is in an invalid state to perform this
-    *            operation
-    */
-   void deleteInstance(String id);
-
-   /**
-    * 
-    * @return the set of Public Keys stored for the authenticated user.
-    */
-   Set<? extends Key> listKeys();
-
-   /**
-    * Returns the key with the specified key name from the set of Public Keys
-    * stored for the authenticated user.
-    * 
-    * @return null if key is not found
-    */
-   Key getKey(String name);
-
-   /**
-    * Used to generate a new SSH Key Pair for the authenticated user.
-    * 
-    * @param name
-    *           The name to used to identify this key pair.
-    * @return private key
-    * 
-    * @throws IllegalStateException
-    *            code 409 A key with the specified {@code name} already exists
-    * 
-    */
-   Key generateKeyPair(String name);
-
-   /**
-    * Used to generate a new SSH Key Pair for the authenticated user.
-    * 
-    * @param name
-    *           The name to used to identify this key pair.
-    * @param publicKey
-    *           The RSA SSH Key to add
-    * 
-    * @throws IllegalStateException
-    *            code 409 A key with the specified {@code name} already exists
-    *            <p/>
-    *            code 412 The supplied public key is invalid
-    */
-   void addPublicKey(String name, String publicKey);
-
-   /**
-    * Used to update the Public Key specified by the supplied key name stored
-    * for the authenticated user.
-    * 
-    * @param name
-    *           The name to used to identify this key pair.
-    * @param publicKey
-    *           The public key to store
-    * @throws ResourceNotFoundException
-    *            code 404 The key specified by {@code name} was not found
-    * @throws IllegalStateException
-    *            code 412 The supplied public key is invalid
-    */
-   void updatePublicKey(String name, String publicKey);
-
-   /**
-    * Used to set the Public Key specified by the supplied key name as the
-    * default key.
-    * 
-    * @param name
-    *           The name to used to identify this key pair.
-    * @param isDefault
-    *           A boolean representing the default state of this key
-    * @throws ResourceNotFoundException
-    *            code 404 The key specified by {@code name} was not found
-    */
-   void setDefaultStatusOfKey(String name, boolean isDefault);
-
-   /**
-    * Deletes Key identified by the supplied key name.
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to perform this action
-    */
-   void deleteKey(String name);
-
-   /**
-    * Used to retrieve the offerings of storage for the authenticated user.
-    * 
-    * @return offerings or empty set if none
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this information
-    */
-   Set<? extends StorageOffering> listStorageOfferings();
-
-   /**
-    * 
-    * @return the set of storage volumes for the authenticated user.
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this information
-    */
-   Set<? extends Volume> listVolumes();
-
-   /**
-    * Creates a new storage volume for the authenticated user.
-    * 
-    * @param location
-    *           The id of the Location where the storage volume will be created
-    * @param name
-    *           The desired name of the newly created storage volume
-    * @param format
-    *           The filesystem format for the new storage volume. Valid format
-    *           is: EXT3
-    * @param size
-    *           The size of the new storage volume. Valid values may include
-    *           SMALL, MEDIUM, and LARGE. Actual values may depend on the
-    *           location used and may be discovered via the location service
-    * @param offeringID
-    *           The offeringID which can be obtained from
-    *           {@link #listStorageOfferings}
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to create a volume
-    *            <p/>
-    *            code 402 if payment is required before more storage volumes may
-    *            be created
-    * @throws IllegalStateException
-    *            code 409 if there are not enough resources in the cloud to
-    *            fulfill this request
-    *            <p/>
-    *            code 412 One or more of the supplied parameters are invalid for
-    *            this request
-    */
-   Volume createVolumeInLocation(String location, String name, String format, String size, String offeringID);
-
-   /**
-    * Used to retrieve the specified storage volume for the authenticated user.
-    * 
-    * @return null if volume is not found
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this storage volume
-    */
-   Volume getVolume(String id);
-
-   /**
-    * Remove the specified storage volume for the authenticated user.
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to remove this storage volume
-    * @throws IllegalStateException
-    *            code 412 if the storage volume is not in the correct state to
-    *            be deleted
-    */
-   void deleteVolume(String id);
-
-   /**
-    * 
-    * @return the list of Locations (Data Centers) that the user is entitled to
-    *         and their capabilities
-    */
-   Set<? extends Location> listLocations();
-
-   /**
-    * Returns the Location identified by the supplied Location ID
-    * 
-    * @return null if location is not found
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized
-    */
-   Location getLocation(String id);
-
-   /**
-    * 
-    * @return the set of static IP addresses for the authenticated user.
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this information
-    */
-   Set<? extends Address> listAddresses();
-
-   /**
-    * 
-    * Allocates a new static IP addresses for the authenticated user.
-    * 
-    * @param locationId
-    *           the id of the Location where this address will be allocated
-    * @param offeringID
-    *           The offeringID which can be obtained from
-    *           {@link #listAddressOfferings}
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to remove this IP address
-    *            <p/>
-    *            code 402 if payment is required before more addresses may be
-    *            allocated
-    * 
-    * @throws IllegalStateException
-    *            code 409 if there are not enough resources in the cloud to
-    *            fulfill this request
-    */
-   Address allocateAddressInLocation(String locationId, String offeringID);
-
-   /**
-    * Used to retrieve the offerings of addresses for the authenticated user.
-    * 
-    * @return offerings or empty set if none
-    * @throws AuthorizationException
-    *            code 401 if the currently authenticated user is not authorized
-    *            to view this information
-    */
-   Set<? extends Offering> listAddressOfferings();
-
-   /**
-    * Used to release the specified static IP addresses for the authenticated
-    * user.
-    * 
-    * @throws AuthorizationException
-    *            code 401 if the user is not authorized to release this address
-    * @throws IllegalStateException
-    *            code 412 address is in an invalid state to perform this
-    *            operation
-    */
-   void releaseAddress(String id);
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudContextBuilder.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudContextBuilder.java
deleted file mode 100644
index cfff163..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudContextBuilder.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.compute.ComputeServiceContextBuilder;
-import org.jclouds.ibm.smartcloud.compute.config.IBMSmartCloudComputeServiceContextModule;
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudRestClientModule;
-
-import com.google.inject.Module;
-
-/**
- * @author Adrian Cole
- */
-public class IBMSmartCloudContextBuilder extends
-         ComputeServiceContextBuilder<IBMSmartCloudClient, IBMSmartCloudAsyncClient> {
-
-   public IBMSmartCloudContextBuilder(Properties props) {
-      super(IBMSmartCloudClient.class, IBMSmartCloudAsyncClient.class, props);
-   }
-
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new IBMSmartCloudRestClientModule());
-   }
-
-   @Override
-   protected void addContextModule(List<Module> modules) {
-      modules.add(new IBMSmartCloudComputeServiceContextModule());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudPropertiesBuilder.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudPropertiesBuilder.java
deleted file mode 100644
index 137c90f..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudPropertiesBuilder.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import static org.jclouds.Constants.PROPERTY_API_VERSION;
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
-import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
-import static org.jclouds.compute.reference.ComputeServiceConstants.PROPERTY_TIMEOUT_NODE_RUNNING;
-import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
-import static org.jclouds.location.reference.LocationConstants.PROPERTY_ZONE;
-import static org.jclouds.location.reference.LocationConstants.PROPERTY_ZONES;
-
-import java.util.Properties;
-
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in IBMSmartCloud Clients
- * 
- * @author Adrian Cole
- */
-public class IBMSmartCloudPropertiesBuilder extends PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ZONES, "41,61,82,101,121,141");
-      properties.setProperty(PROPERTY_ISO3166_CODES, "US-NC,DE-BW,US-CO,CA-ON,JP-12,SG");
-      properties.setProperty(PROPERTY_ZONE + ".41." + ISO3166_CODES, "US-NC");
-      properties.setProperty(PROPERTY_ZONE + ".61." + ISO3166_CODES, "DE-BW");
-      properties.setProperty(PROPERTY_ZONE + ".82." + ISO3166_CODES, "US-CO");
-      properties.setProperty(PROPERTY_ZONE + ".101." + ISO3166_CODES, "CA-ON");
-      properties.setProperty(PROPERTY_ZONE + ".121." + ISO3166_CODES, "JP-12");
-      properties.setProperty(PROPERTY_ZONE + ".141." + ISO3166_CODES, "SG");
-      properties.setProperty(PROPERTY_API_VERSION, IBMSmartCloudAsyncClient.VERSION);
-      properties.setProperty(PROPERTY_ENDPOINT, "https://www-147.ibm.com/computecloud/enterprise/api/rest");
-      properties.setProperty(PROPERTY_TIMEOUT_NODE_RUNNING, (15 * 60 * 1000) + "");
-      properties.setProperty(PROPERTY_SESSION_INTERVAL, 60 * 5 + "");
-      return properties;
-   }
-
-   public IBMSmartCloudPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeStrategiesByClass.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeStrategiesByClass.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeStrategiesByClass.java
deleted file mode 100644
index dc61b3e..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeStrategiesByClass.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.config;
-
-import org.jclouds.compute.config.BindComputeStrategiesByClass;
-import org.jclouds.compute.strategy.CreateNodeWithGroupEncodedIntoName;
-import org.jclouds.compute.strategy.DestroyNodeStrategy;
-import org.jclouds.compute.strategy.GetNodeMetadataStrategy;
-import org.jclouds.compute.strategy.ListNodesStrategy;
-import org.jclouds.compute.strategy.RebootNodeStrategy;
-import org.jclouds.compute.strategy.ResumeNodeStrategy;
-import org.jclouds.compute.strategy.SuspendNodeStrategy;
-import org.jclouds.ibm.smartcloud.compute.strategy.IBMSmartCloudCreateNodeWithGroupEncodedIntoName;
-import org.jclouds.ibm.smartcloud.compute.strategy.IBMSmartCloudDestroyNodeStrategy;
-import org.jclouds.ibm.smartcloud.compute.strategy.IBMSmartCloudGetNodeMetadataStrategy;
-import org.jclouds.ibm.smartcloud.compute.strategy.IBMSmartCloudLifeCycleStrategy;
-import org.jclouds.ibm.smartcloud.compute.strategy.IBMSmartCloudListNodesStrategy;
-
-/**
- * @author Adrian Cole
- */
-public class IBMSmartCloudBindComputeStrategiesByClass extends BindComputeStrategiesByClass {
-
-   @Override
-   protected Class<? extends CreateNodeWithGroupEncodedIntoName> defineAddNodeWithTagStrategy() {
-      return IBMSmartCloudCreateNodeWithGroupEncodedIntoName.class;
-   }
-
-   @Override
-   protected Class<? extends DestroyNodeStrategy> defineDestroyNodeStrategy() {
-      return IBMSmartCloudDestroyNodeStrategy.class;
-   }
-
-   @Override
-   protected Class<? extends GetNodeMetadataStrategy> defineGetNodeMetadataStrategy() {
-      return IBMSmartCloudGetNodeMetadataStrategy.class;
-   }
-
-   @Override
-   protected Class<? extends ListNodesStrategy> defineListNodesStrategy() {
-      return IBMSmartCloudListNodesStrategy.class;
-   }
-
-   @Override
-   protected Class<? extends RebootNodeStrategy> defineRebootNodeStrategy() {
-      return IBMSmartCloudLifeCycleStrategy.class;
-   }
-
-   @Override
-   protected Class<? extends ResumeNodeStrategy> defineStartNodeStrategy() {
-      return IBMSmartCloudLifeCycleStrategy.class;
-   }
-
-   @Override
-   protected Class<? extends SuspendNodeStrategy> defineStopNodeStrategy() {
-      return IBMSmartCloudLifeCycleStrategy.class;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeSuppliersByClass.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeSuppliersByClass.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeSuppliersByClass.java
deleted file mode 100644
index 1a1d3a9..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudBindComputeSuppliersByClass.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.config;
-
-import java.util.Set;
-
-import org.jclouds.compute.config.BindComputeSuppliersByClass;
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.Image;
-import org.jclouds.domain.Location;
-import org.jclouds.ibm.smartcloud.compute.suppliers.IBMSmartCloudHardwareSupplier;
-import org.jclouds.ibm.smartcloud.compute.suppliers.IBMSmartCloudImageSupplier;
-import org.jclouds.ibm.smartcloud.compute.suppliers.IBMSmartCloudLocationSupplier;
-
-import com.google.common.base.Supplier;
-/**
- * @author Adrian Cole
- */
-public class IBMSmartCloudBindComputeSuppliersByClass extends BindComputeSuppliersByClass {
-   @Override
-   protected Class<? extends Supplier<Set<? extends Hardware>>> defineHardwareSupplier() {
-      return IBMSmartCloudHardwareSupplier.class;
-   }
-
-   @Override
-   protected Class<? extends Supplier<Set<? extends Image>>> defineImageSupplier() {
-      return IBMSmartCloudImageSupplier.class;
-   }
-
-   @Override
-   protected Class<? extends Supplier<Set<? extends Location>>> defineLocationSupplier() {
-      return IBMSmartCloudLocationSupplier.class;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceContextModule.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceContextModule.java
deleted file mode 100644
index 241ab70..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceContextModule.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.config;
-
-import org.jclouds.compute.config.BaseComputeServiceContextModule;
-import org.jclouds.compute.domain.TemplateBuilder;
-import org.jclouds.compute.internal.BaseComputeService;
-
-import com.google.inject.Injector;
-
-/**
- * Configures the {@link IBMSmartCloudComputeServiceContext}; requires
- * {@link BaseComputeService} bound.
- * 
- * @author Adrian Cole
- */
-public class IBMSmartCloudComputeServiceContextModule extends BaseComputeServiceContextModule {
-
-   @Override
-   protected void configure() {
-      install(new IBMSmartCloudComputeServiceDependenciesModule());
-      install(new IBMSmartCloudBindComputeStrategiesByClass());
-      install(new IBMSmartCloudBindComputeSuppliersByClass());
-      super.configure();
-   }
-
-   /**
-    * cheapest image in most available datacenter
-    */
-   @Override
-   protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) {
-      return template.imageNameMatches("^SUSE Linux Enterprise Server 11 SP1 for x86.*").locationId("101");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceDependenciesModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceDependenciesModule.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceDependenciesModule.java
deleted file mode 100644
index 8bae00b..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/config/IBMSmartCloudComputeServiceDependenciesModule.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.config;
-
-import java.security.SecureRandom;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeState;
-import org.jclouds.compute.internal.ComputeServiceContextImpl;
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudAsyncClient;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.compute.functions.InstanceToNodeMetadata;
-import org.jclouds.ibm.smartcloud.compute.options.IBMSmartCloudTemplateOptions;
-import org.jclouds.ibm.smartcloud.compute.strategy.CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.internal.RestContextImpl;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import com.google.inject.Scopes;
-import com.google.inject.TypeLiteral;
-
-/**
- * @author Adrian Cole
- */
-public class IBMSmartCloudComputeServiceDependenciesModule extends AbstractModule {
-
-   @Override
-   protected void configure() {
-      bind(TemplateOptions.class).to(IBMSmartCloudTemplateOptions.class);
-      bind(new TypeLiteral<Function<Instance, NodeMetadata>>() {
-      }).to(InstanceToNodeMetadata.class);
-      bind(new TypeLiteral<ComputeServiceContext>() {
-      }).to(new TypeLiteral<ComputeServiceContextImpl<IBMSmartCloudClient, IBMSmartCloudAsyncClient>>() {
-      }).in(Scopes.SINGLETON);
-      bind(new TypeLiteral<RestContext<IBMSmartCloudClient, IBMSmartCloudAsyncClient>>() {
-      }).to(new TypeLiteral<RestContextImpl<IBMSmartCloudClient, IBMSmartCloudAsyncClient>>() {
-      }).in(Scopes.SINGLETON);
-      bind(CreateNodesWithGroupEncodedIntoNameThenAddToSet.class).to(
-               CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet.class);
-   }
-
-   @Provides
-   @Singleton
-   Supplier<String> provideSuffix() {
-      return new Supplier<String>() {
-         final SecureRandom random = new SecureRandom();
-
-         @Override
-         public String get() {
-            return random.nextInt(100) + "";
-         }
-      };
-
-   }
-
-   @Provides
-   @Singleton
-   @Named("CREDENTIALS")
-   Map<String, String> credentialsMap() {
-      return new ConcurrentHashMap<String, String>();
-   }
-
-   @VisibleForTesting
-   static final Map<Instance.Status, NodeState> instanceStatusToNodeState = ImmutableMap
-            .<Instance.Status, NodeState> builder().put(Instance.Status.ACTIVE, NodeState.RUNNING)//
-            .put(Instance.Status.STOPPED, NodeState.SUSPENDED)//
-            .put(Instance.Status.REMOVED, NodeState.TERMINATED)//
-            .put(Instance.Status.DEPROVISIONING, NodeState.PENDING)//
-            .put(Instance.Status.FAILED, NodeState.ERROR)//
-            .put(Instance.Status.NEW, NodeState.PENDING)//
-            .put(Instance.Status.PROVISIONING, NodeState.PENDING)//
-            .put(Instance.Status.REJECTED, NodeState.ERROR)//
-            .put(Instance.Status.RESTARTING, NodeState.PENDING)//
-            .put(Instance.Status.STARTING, NodeState.PENDING)//
-            .put(Instance.Status.STOPPING, NodeState.PENDING)//
-            .put(Instance.Status.DEPROVISION_PENDING, NodeState.PENDING)//
-            .put(Instance.Status.UNKNOWN, NodeState.UNRECOGNIZED).build();
-
-   @Singleton
-   @Provides
-   Map<Instance.Status, NodeState> provideServerToNodeState() {
-      return instanceStatusToNodeState;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/functions/InstanceToNodeMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/functions/InstanceToNodeMetadata.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/functions/InstanceToNodeMetadata.java
deleted file mode 100644
index d7d1de4..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/functions/InstanceToNodeMetadata.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.functions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.compute.util.ComputeServiceUtils.parseGroupFromName;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.NodeMetadataBuilder;
-import org.jclouds.compute.domain.NodeState;
-import org.jclouds.domain.Credentials;
-import org.jclouds.domain.Location;
-import org.jclouds.ibm.smartcloud.domain.IP;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.logging.Logger;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
-import com.google.common.base.Predicates;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class InstanceToNodeMetadata implements Function<Instance, NodeMetadata> {
-
-   @VisibleForTesting
-   public static final Map<Instance.Status, NodeState> instanceStatusToNodeState = ImmutableMap
-            .<Instance.Status, NodeState> builder().put(Instance.Status.ACTIVE, NodeState.RUNNING)//
-            .put(Instance.Status.STOPPED, NodeState.SUSPENDED)//
-            .put(Instance.Status.REMOVED, NodeState.TERMINATED)//
-            .put(Instance.Status.DEPROVISIONING, NodeState.PENDING)//
-            .put(Instance.Status.FAILED, NodeState.ERROR)//
-            .put(Instance.Status.NEW, NodeState.PENDING)//
-            .put(Instance.Status.PROVISIONING, NodeState.PENDING)//
-            .put(Instance.Status.REJECTED, NodeState.ERROR)//
-            .put(Instance.Status.RESTARTING, NodeState.PENDING)//
-            .put(Instance.Status.STARTING, NodeState.PENDING)//
-            .put(Instance.Status.STOPPING, NodeState.PENDING)//
-            .put(Instance.Status.DEPROVISION_PENDING, NodeState.PENDING)//
-            .put(Instance.Status.UNKNOWN, NodeState.UNRECOGNIZED).build();
-   @Resource
-   protected Logger logger = Logger.NULL;
-   private final Map<Instance.Status, NodeState> instanceStateToNodeState;
-   private final Supplier<Map<String, ? extends Image>> images;
-   private final Map<String, String> credentialsMap;
-   private final Supplier<Map<String, ? extends Location>> locations;
-
-   @Inject
-   InstanceToNodeMetadata(Map<Instance.Status, NodeState> instanceStateToNodeState,
-            Supplier<Map<String, ? extends Image>> images, @Named("CREDENTIALS") Map<String, String> credentialsMap,
-            Supplier<Map<String, ? extends Location>> locations) {
-      this.instanceStateToNodeState = checkNotNull(instanceStateToNodeState, "instanceStateToNodeState");
-      this.images = checkNotNull(images, "images");
-      this.credentialsMap = checkNotNull(credentialsMap, "credentialsMap");
-      this.locations = checkNotNull(locations, "locations");
-   }
-
-   private static Function<IP, String> ipFromIP = new Function<IP, String>() {
-
-      @Override
-      public String apply(IP arg0) {
-         return arg0 != null ? arg0.getIP() : null;
-      }
-
-   };
-
-   @Override
-   public NodeMetadata apply(Instance from) {
-      // TODO hardware
-      String group = parseGroupFromName(from.getName());
-      String ip = ipFromIP.apply(from.getPrimaryIP());
-      Set<String> ipSet = ip != null ? ImmutableSet.of(ip) : ImmutableSet.<String> of();
-      Image image = images.get().get(from.getImageId());
-      String key = credentialsMap.get(from.getKeyName());
-      return new NodeMetadataBuilder().ids(from.getId() + "").name(from.getName()).location(
-               locations.get().get(image.getLocation())).group(group).imageId(from.getImageId()).state(
-               instanceStateToNodeState.get(from.getStatus())).operatingSystem(
-               image != null ? image.getOperatingSystem() : null).publicAddresses(ipSet).privateAddresses(
-               Iterables.filter(Iterables.transform(from.getSecondaryIPs(), ipFromIP), Predicates.notNull()))
-               .credentials(new Credentials(image.getDefaultCredentials().identity, key)).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/options/IBMSmartCloudTemplateOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/options/IBMSmartCloudTemplateOptions.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/options/IBMSmartCloudTemplateOptions.java
deleted file mode 100644
index 857cb68..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/options/IBMSmartCloudTemplateOptions.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.options;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-
-import java.util.Arrays;
-
-import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.domain.Credentials;
-import org.jclouds.ibm.smartcloud.options.CreateInstanceOptions;
-import org.jclouds.io.Payload;
-import org.jclouds.scriptbuilder.domain.Statement;
-import org.jclouds.util.Preconditions2;
-
-/**
- * Contains options supported in the {@code ComputeService#runNode} operation on the
- * "ibm.smartcloud" provider. <h2>
- * Usage</h2> The recommended way to instantiate a IBMSmartCloudTemplateOptions object is to
- * statically import IBMSmartCloudTemplateOptions.* and invoke a static creation method followed by
- * an instance mutator (if needed):
- * <p/>
- * <code>
- * import static org.jclouds.ibm.smartcloud.compute.options.IBMSmartCloudTemplateOptions.Builder.*;
- * <p/>
- * ComputeService client = // get connection
- * templateBuilder.options(inboundPorts(22, 80, 8080, 443));
- * Set<? extends NodeMetadata> set = client.runNodesWithTag(tag, 2, templateBuilder.build());
- * <code>
- * 
- * @author Adrian Cole
- */
-public class IBMSmartCloudTemplateOptions extends TemplateOptions implements Cloneable {
-   @Override
-   public IBMSmartCloudTemplateOptions clone() {
-      IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-      copyTo(options);
-      return options;
-   }
-
-   @Override
-   public void copyTo(TemplateOptions to) {
-      super.copyTo(to);
-      if (to instanceof IBMSmartCloudTemplateOptions) {
-         IBMSmartCloudTemplateOptions eTo = IBMSmartCloudTemplateOptions.class.cast(to);
-         if (getKeyPair() != null)
-            eTo.keyPair(getKeyPair());
-         if (!shouldAutomaticallyCreateKeyPair())
-            eTo.noKeyPair();
-         if (!isMiniEphemeral)
-            eTo.isMiniEphemeral(false);
-      }
-   }
-
-   private String keyPair = null;
-   private boolean noKeyPair;
-   private boolean isMiniEphemeral = true;
-
-   public static final IBMSmartCloudTemplateOptions NONE = new IBMSmartCloudTemplateOptions();
-
-   /**
-    * @see CreateInstanceOptions#isMiniEphemeral
-    */
-   public IBMSmartCloudTemplateOptions isMiniEphemeral(boolean isMiniEphemeral) {
-      this.isMiniEphemeral = isMiniEphemeral;
-      return this;
-   }
-
-   /**
-    * Specifies the keypair used to run instances with
-    */
-   public IBMSmartCloudTemplateOptions keyPair(String keyPair) {
-      checkNotNull(keyPair, "use noKeyPair option to request boot without a keypair");
-      checkState(!noKeyPair, "you cannot specify both options keyPair and noKeyPair");
-      Preconditions2.checkNotEmpty(keyPair, "keypair must be non-empty");
-      this.keyPair = keyPair;
-      return this;
-   }
-
-   /**
-    * Do not use a keypair on instances
-    */
-   public IBMSmartCloudTemplateOptions noKeyPair() {
-      checkState(keyPair == null, "you cannot specify both options keyPair and noKeyPair");
-      this.noKeyPair = true;
-      return this;
-   }
-
-   public static class Builder {
-
-      /**
-       * @see IBMSmartCloudTemplateOptions#isMiniEphemeral
-       */
-      public static IBMSmartCloudTemplateOptions isMiniEphemeral(boolean isMiniEphemeral) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return options.isMiniEphemeral(isMiniEphemeral);
-      }
-
-      /**
-       * @see IBMSmartCloudTemplateOptions#keyPair
-       */
-      public static IBMSmartCloudTemplateOptions keyPair(String keyPair) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.keyPair(keyPair));
-      }
-
-      /**
-       * @see IBMSmartCloudTemplateOptions#noKeyPair
-       */
-      public static IBMSmartCloudTemplateOptions noKeyPair() {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.noKeyPair());
-      }
-
-
-      // methods that only facilitate returning the correct object type
-      /**
-       * @see TemplateOptions#inboundPorts
-       */
-      public static IBMSmartCloudTemplateOptions inboundPorts(int... ports) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.inboundPorts(ports));
-      }
-
-      /**
-       * @see TemplateOptions#port
-       */
-      public static IBMSmartCloudTemplateOptions blockOnPort(int port, int seconds) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.blockOnPort(port, seconds));
-      }
-
-      /**
-       * @see TemplateOptions#runScript
-       */
-      public static IBMSmartCloudTemplateOptions runScript(byte[] script) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.runScript(script));
-      }
-
-      /**
-       * @see TemplateOptions#installPrivateKey
-       */
-      public static IBMSmartCloudTemplateOptions installPrivateKey(String rsaKey) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.installPrivateKey(rsaKey));
-      }
-
-      /**
-       * @see TemplateOptions#authorizePublicKey
-       */
-      public static IBMSmartCloudTemplateOptions authorizePublicKey(String rsaKey) {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.authorizePublicKey(rsaKey));
-      }
-
-      /**
-       * @see TemplateOptions#withDetails
-       */
-      public static IBMSmartCloudTemplateOptions withDetails() {
-         IBMSmartCloudTemplateOptions options = new IBMSmartCloudTemplateOptions();
-         return IBMSmartCloudTemplateOptions.class.cast(options.withMetadata());
-      }
-
-   }
-
-   // methods that only facilitate returning the correct object type
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions blockOnPort(int port, int seconds) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.blockOnPort(port, seconds));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions inboundPorts(int... ports) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.inboundPorts(ports));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions authorizePublicKey(String publicKey) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.authorizePublicKey(publicKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   @Deprecated
-   public IBMSmartCloudTemplateOptions authorizePublicKey(Payload publicKey) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.authorizePublicKey(publicKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions installPrivateKey(String privateKey) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.installPrivateKey(privateKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   @Deprecated
-   public IBMSmartCloudTemplateOptions installPrivateKey(Payload privateKey) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.installPrivateKey(privateKey));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions runScript(Payload script) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.runScript(script));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   @Deprecated
-   public IBMSmartCloudTemplateOptions runScript(byte[] script) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.runScript(script));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions withMetadata() {
-      return IBMSmartCloudTemplateOptions.class.cast(super.withMetadata());
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions blockUntilRunning(boolean blockUntilRunning) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.blockUntilRunning(blockUntilRunning));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions dontAuthorizePublicKey() {
-      return IBMSmartCloudTemplateOptions.class.cast(super.dontAuthorizePublicKey());
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions nameTask(String name) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.nameTask(name));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions runAsRoot(boolean runAsRoot) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.runAsRoot(runAsRoot));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions runScript(Statement script) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.runScript(script));
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public IBMSmartCloudTemplateOptions overrideCredentialsWith(Credentials overridingCredentials) {
-      return IBMSmartCloudTemplateOptions.class.cast(super.overrideCredentialsWith(overridingCredentials));
-   }
-
-   /**
-    * @return keyPair to use when running the instance or null, to generate a keypair.
-    */
-   public String getKeyPair() {
-      return keyPair;
-   }
-
-   /**
-    * @return true (default) if we are supposed to use a keypair
-    */
-   public boolean shouldAutomaticallyCreateKeyPair() {
-      return !noKeyPair;
-   }
-
-   /**
-    * @see CreateInstanceOptions#isMiniEphemeral
-    */
-   public boolean isMiniEphemeral() {
-      return isMiniEphemeral;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((keyPair == null) ? 0 : keyPair.hashCode());
-      result = prime * result + (noKeyPair ? 1231 : 1237);
-      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;
-      IBMSmartCloudTemplateOptions other = (IBMSmartCloudTemplateOptions) obj;
-      if (keyPair == null) {
-         if (other.keyPair != null)
-            return false;
-      } else if (!keyPair.equals(other.keyPair))
-         return false;
-      if (noKeyPair != other.noKeyPair)
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[keyPair=" + keyPair + ", noKeyPair=" + noKeyPair + ", isMiniEphemeral=" + isMiniEphemeral
-               + ", inboundPorts=" + Arrays.toString(inboundPorts) + ", privateKey=" + (privateKey != null)
-               + ", publicKey=" + (publicKey != null) + ", runScript=" + (script != null) + ", port:seconds=" + port
-               + ":" + seconds + ", metadata/details: " + includeMetadata + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
deleted file mode 100644
index b5a54da..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.Constants;
-import org.jclouds.compute.config.CustomizationResponse;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.compute.strategy.CreateNodeWithGroupEncodedIntoName;
-import org.jclouds.compute.strategy.CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap;
-import org.jclouds.compute.strategy.ListNodesStrategy;
-import org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.compute.options.IBMSmartCloudTemplateOptions;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.logging.Logger;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Supplier;
-import com.google.common.collect.Multimap;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet extends
-         CreateNodesWithGroupEncodedIntoNameThenAddToSet {
-
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-
-   private final IBMSmartCloudClient client;
-   private final Map<String, String> credentialsMap;
-   private final Supplier<String> randomSuffix;
-
-   @Inject
-   protected CreateKeyCreateNodesWithGroupEncodedIntoNameThenAddToSet(
-            CreateNodeWithGroupEncodedIntoName addNodeWithTagStrategy,
-            ListNodesStrategy listNodesStrategy,
-            @Named("NAMING_CONVENTION") String nodeNamingConvention,
-            @Named(Constants.PROPERTY_USER_THREADS) ExecutorService executor,
-            CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.Factory customizeNodeAndAddToGoodMapOrPutExceptionIntoBadMapFactory,
-            IBMSmartCloudClient client, @Named("CREDENTIALS") Map<String, String> credentialsMap,
-            Supplier<String> randomSuffix) {
-      super(addNodeWithTagStrategy, listNodesStrategy, nodeNamingConvention, executor,
-               customizeNodeAndAddToGoodMapOrPutExceptionIntoBadMapFactory);
-      this.client = checkNotNull(client, "client");
-      this.credentialsMap = checkNotNull(credentialsMap, "credentialsMap");
-      this.randomSuffix = checkNotNull(randomSuffix, "randomSuffix");
-   }
-
-   @Override
-   public Map<?, Future<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes,
-            Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) {
-      IBMSmartCloudTemplateOptions options = template.getOptions().as(IBMSmartCloudTemplateOptions.class);
-      if (options.shouldAutomaticallyCreateKeyPair() && options.getKeyPair() == null) {
-         Key key = createNewKey(group);
-         options.keyPair(key.getName());
-         credentialsMap.put(key.getName(), key.getKeyMaterial());
-      }
-      return super.execute(group, count, template, goodNodes, badNodes, customizationResponses);
-   }
-
-   @VisibleForTesting
-   Key createNewKey(String group) {
-      checkNotNull(group, "group");
-      logger.debug(">> creating key group(%s)", group);
-      Key key = null;
-      while (key == null) {
-         try {
-            key = client.generateKeyPair(getNextName(group));
-            logger.debug("<< created key(%s)", key.getName());
-         } catch (IllegalStateException e) {
-
-         }
-      }
-      return key;
-   }
-
-   private String getNextName(String group) {
-      return String.format("jclouds#%s#%s", group, randomSuffix.get());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudCreateNodeWithGroupEncodedIntoName.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudCreateNodeWithGroupEncodedIntoName.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudCreateNodeWithGroupEncodedIntoName.java
deleted file mode 100644
index 2172d92..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudCreateNodeWithGroupEncodedIntoName.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.ibm.smartcloud.options.CreateInstanceOptions.Builder.authorizePublicKey;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.compute.strategy.CreateNodeWithGroupEncodedIntoName;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.compute.options.IBMSmartCloudTemplateOptions;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.options.CreateInstanceOptions;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudCreateNodeWithGroupEncodedIntoName implements CreateNodeWithGroupEncodedIntoName {
-
-   private final IBMSmartCloudClient client;
-   private final Function<Instance, NodeMetadata> instanceToNodeMetadata;
-
-   @Inject
-   protected IBMSmartCloudCreateNodeWithGroupEncodedIntoName(IBMSmartCloudClient client,
-            Function<Instance, NodeMetadata> instanceToNodeMetadata) {
-      this.client = checkNotNull(client, "client");
-      this.instanceToNodeMetadata = checkNotNull(instanceToNodeMetadata, "instanceToNodeMetadata");
-   }
-
-   @Override
-   public NodeMetadata createNodeWithGroupEncodedIntoName(String group, String name, Template template) {
-      IBMSmartCloudTemplateOptions templateOptions = template.getOptions().as(IBMSmartCloudTemplateOptions.class);
-      CreateInstanceOptions options = authorizePublicKey(templateOptions.getKeyPair()).isMiniEphemeral(
-               IBMSmartCloudTemplateOptions.class.cast(template.getOptions()).isMiniEphemeral());
-      Instance instance = client.createInstanceInLocation(template.getLocation().getId(), name, template.getImage()
-               .getProviderId(), template.getHardware().getProviderId(), options);
-      return instanceToNodeMetadata.apply(instance);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudDestroyNodeStrategy.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudDestroyNodeStrategy.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudDestroyNodeStrategy.java
deleted file mode 100644
index 18fe9b1..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudDestroyNodeStrategy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.concurrent.TimeUnit;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.compute.strategy.DestroyNodeStrategy;
-import org.jclouds.compute.strategy.GetNodeMetadataStrategy;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.predicates.InstanceActiveOrFailed;
-import org.jclouds.logging.Logger;
-import org.jclouds.predicates.RetryablePredicate;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudDestroyNodeStrategy implements DestroyNodeStrategy {
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-
-   private final IBMSmartCloudClient client;
-   private final GetNodeMetadataStrategy getNode;
-
-   @Inject
-   protected IBMSmartCloudDestroyNodeStrategy(IBMSmartCloudClient client, GetNodeMetadataStrategy getNode) {
-      this.client = checkNotNull(client, "client");
-      this.getNode = checkNotNull(getNode, "getNode");
-   }
-
-   @Override
-   public NodeMetadata destroyNode(String id) {
-      Instance instance = client.getInstance(id);
-      if (instance != null && instance.getStatus() != Instance.Status.DEPROVISIONING
-               && instance.getStatus() != Instance.Status.DEPROVISION_PENDING) {
-         // often it takes 8 minutes to finish provisioning a suse host
-         int timeout = (instance.getStatus() == Instance.Status.NEW || instance.getStatus() == Instance.Status.PROVISIONING) ? 600
-                  : 30;
-         logger.debug(">> awaiting up to %s seconds for instance %s to be ready for delete", timeout, id);
-         boolean ready = new RetryablePredicate<Instance>(new InstanceActiveOrFailed(client), timeout, 2,
-                  TimeUnit.SECONDS).apply(instance);
-         logger.debug(">> instance state is %sready, deleting", ready ? "" : "not ", id);
-         client.deleteInstance(instance.getId());
-      }
-      return instance != null ? getNode.getNode(id) : null;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudGetNodeMetadataStrategy.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudGetNodeMetadataStrategy.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudGetNodeMetadataStrategy.java
deleted file mode 100644
index 3f7061d..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudGetNodeMetadataStrategy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.strategy.GetNodeMetadataStrategy;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudGetNodeMetadataStrategy implements GetNodeMetadataStrategy {
-   private final IBMSmartCloudClient client;
-   private final Function<Instance, NodeMetadata> instanceToNodeMetadata;
-
-   @Inject
-   protected IBMSmartCloudGetNodeMetadataStrategy(IBMSmartCloudClient client,
-            Function<Instance, NodeMetadata> instanceToNodeMetadata) {
-      this.client = client;
-      this.instanceToNodeMetadata = instanceToNodeMetadata;
-   }
-
-   @Override
-   public NodeMetadata getNode(String id) {
-      Instance instance = client.getInstance(checkNotNull(id, "id"));
-      return instance == null ? null : instanceToNodeMetadata.apply(instance);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudLifeCycleStrategy.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudLifeCycleStrategy.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudLifeCycleStrategy.java
deleted file mode 100644
index 13772c0..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudLifeCycleStrategy.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.strategy;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.strategy.GetNodeMetadataStrategy;
-import org.jclouds.compute.strategy.RebootNodeStrategy;
-import org.jclouds.compute.strategy.ResumeNodeStrategy;
-import org.jclouds.compute.strategy.SuspendNodeStrategy;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudLifeCycleStrategy implements RebootNodeStrategy, SuspendNodeStrategy, ResumeNodeStrategy {
-
-   private final IBMSmartCloudClient client;
-   private final GetNodeMetadataStrategy getNode;
-
-   @Inject
-   protected IBMSmartCloudLifeCycleStrategy(IBMSmartCloudClient client, GetNodeMetadataStrategy getNode) {
-      this.client = checkNotNull(client, "client");
-      this.getNode = checkNotNull(getNode, "getNode");
-   }
-
-   @Override
-   public NodeMetadata rebootNode(String id) {
-      client.restartInstance(id);
-      return getNode.getNode(id);
-   }
-
-   @Override
-   public NodeMetadata suspendNode(String id) {
-      throw new UnsupportedOperationException("suspend not supported");
-   }
-
-   @Override
-   public NodeMetadata resumeNode(String id) {
-      throw new UnsupportedOperationException("resume not supported");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudListNodesStrategy.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudListNodesStrategy.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudListNodesStrategy.java
deleted file mode 100644
index 700c59c..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/strategy/IBMSmartCloudListNodesStrategy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.strategy;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.ComputeMetadata;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.predicates.NodePredicates;
-import org.jclouds.compute.strategy.ListNodesStrategy;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Iterables;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudListNodesStrategy implements ListNodesStrategy {
-   private final IBMSmartCloudClient client;
-   private final Function<Instance, NodeMetadata> instanceToNodeMetadata;
-
-   @Inject
-   protected IBMSmartCloudListNodesStrategy(IBMSmartCloudClient client,
-         Function<Instance, NodeMetadata> instanceToNodeMetadata) {
-      this.client = client;
-      this.instanceToNodeMetadata = instanceToNodeMetadata;
-   }
-
-   @Override
-   public Iterable<? extends ComputeMetadata> listNodes() {
-      return listDetailsOnNodesMatching(NodePredicates.all());
-   }
-
-   @Override
-   public Iterable<? extends NodeMetadata> listDetailsOnNodesMatching(Predicate<ComputeMetadata> filter) {
-      return Iterables.filter(Iterables.transform(client.listInstances(), instanceToNodeMetadata), filter);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudHardwareSupplier.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudHardwareSupplier.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudHardwareSupplier.java
deleted file mode 100644
index f4f2d51..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudHardwareSupplier.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.suppliers;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.Hardware;
-import org.jclouds.compute.domain.HardwareBuilder;
-import org.jclouds.compute.domain.Processor;
-import org.jclouds.compute.domain.Volume;
-import org.jclouds.compute.domain.internal.VolumeImpl;
-import org.jclouds.compute.predicates.ImagePredicates;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.domain.Location;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.InstanceType;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Sets;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudHardwareSupplier implements Supplier<Set<? extends Hardware>> {
-
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-   private final IBMSmartCloudClient sync;
-   private final Supplier<Map<String, ? extends Location>> locations;
-
-   @Inject
-   IBMSmartCloudHardwareSupplier(IBMSmartCloudClient sync, Supplier<Map<String, ? extends Location>> locations) {
-      this.sync = sync;
-      this.locations = locations;
-   }
-
-   @Override
-   public Set<? extends Hardware> get() {
-      final Set<Hardware> hardware = Sets.newHashSet();
-      logger.debug(">> providing hardware");
-      for (org.jclouds.ibm.smartcloud.domain.Image image : sync.listImages()) {
-         for (InstanceType instanceType : image.getSupportedInstanceTypes()) {
-            hardware.add(new HardwareBuilder()
-                  .id(image.getId() + "/" + instanceType.getId())
-                  .providerId(instanceType.getId())
-                  .name(instanceType.getLabel())
-                  .location(locations.get().get(image.getLocation()))
-                  .uri(image.getManifest())
-                  .processors(ImmutableList.of(new Processor((instanceType.getPrice().getRate() * 100), 1.0)))
-                  .ram((int) instanceType.getPrice().getRate() * 1024)
-                  .supportsImage(ImagePredicates.idEquals(image.getId()))
-                  .volumes(
-                        ImmutableList.<Volume> of(new VolumeImpl((float) (instanceType.getPrice().getRate() * 100d),
-                              true, true))).build());
-
-         }
-      }
-      logger.debug("<< hardware(%d)", hardware.size());
-      return hardware;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudImageSupplier.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudImageSupplier.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudImageSupplier.java
deleted file mode 100644
index 2f0b5a4..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/compute/suppliers/IBMSmartCloudImageSupplier.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute.suppliers;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.Set;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.domain.Image;
-import org.jclouds.compute.domain.ImageBuilder;
-import org.jclouds.compute.domain.OperatingSystem;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.reference.ComputeServiceConstants;
-import org.jclouds.domain.Credentials;
-import org.jclouds.domain.Location;
-import org.jclouds.ibm.smartcloud.IBMSmartCloudClient;
-import org.jclouds.ibm.smartcloud.domain.Image.Architecture;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Splitter;
-import com.google.common.base.Supplier;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class IBMSmartCloudImageSupplier implements Supplier<Set<? extends Image>> {
-
-   @Resource
-   @Named(ComputeServiceConstants.COMPUTE_LOGGER)
-   protected Logger logger = Logger.NULL;
-   private final IBMSmartCloudClient sync;
-   private final Supplier<Map<String, ? extends Location>> locations;
-
-   @Inject
-   IBMSmartCloudImageSupplier(final IBMSmartCloudClient sync, Supplier<Map<String, ? extends Location>> locations) {
-      this.sync = sync;
-      this.locations = locations;
-   }
-
-   @Override
-   public Set<? extends Image> get() {
-      final Set<Image> images = Sets.newHashSet();
-      logger.debug(">> providing images");
-
-      for (org.jclouds.ibm.smartcloud.domain.Image image : sync.listImages()) {
-
-         OperatingSystem.Builder osBuilder = OperatingSystem.builder();
-         Iterable<String> osVersion = Splitter.on('/').split(checkNotNull(image.getPlatform(), "platform"));
-         osBuilder.version(Iterables.get(osVersion, 1));
-         osBuilder.name(image.getPlatform());
-         osBuilder.description(image.getPlatform());
-         if ("Red Hat Enterprise Linux".equals(Iterables.get(osVersion, 0)))
-            osBuilder.family(OsFamily.RHEL);
-         else if ("SUSE Linux Enterprise Server".equals(Iterables.get(osVersion, 0)))
-            osBuilder.family(OsFamily.SUSE);
-         else if ("Windows".equals(Iterables.get(osVersion, 0)))
-            osBuilder.family(OsFamily.WINDOWS);
-         else
-            osBuilder.family(OsFamily.UNRECOGNIZED);
-         osBuilder.arch(image.getArchitecture().toString());
-         osBuilder.is64Bit(image.getArchitecture() == Architecture.X86_64);
-
-         // TODO manifest fails to parse due to encoding issues in the path
-         // TODO get correct default credentials
-         // http://www-180.ibm.com/cloud/enterprise/beta/ram/community/_rlvid.jsp.faces?_rap=pc_DiscussionForum.doDiscussionTopic&_rvip=/community/discussionForum.jsp&guid={DA689AEE-783C-6FE7-6F9F-DFEE9763F806}&v=1&submission=false&fid=1068&tid=1527
-         images.add(new ImageBuilder().ids(image.getId()).name(image.getName()).location(
-                  locations.get().get(image.getLocation())).operatingSystem(osBuilder.build()).description(
-                  image.getName()).version(image.getCreatedTime().getTime() + "").defaultCredentials(
-                  new Credentials("idcuser", null)).build());
-      }
-
-      logger.debug("<< images(%d)", images.size());
-      return images;
-   }
-}


[09/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetPropertiesBuilder.java b/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetPropertiesBuilder.java
deleted file mode 100644
index ee8edf8..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetPropertiesBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet;
-
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-
-import java.util.Properties;
-
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in BoxDotNet Clients
- * 
- * @author Adrian Cole
- */
-public class BoxDotNetPropertiesBuilder extends PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ENDPOINT, "https://www.box.net/api/1.0/rest");
-      return properties;
-   }
-
-   public BoxDotNetPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/config/BoxDotNetRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/config/BoxDotNetRestClientModule.java b/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/config/BoxDotNetRestClientModule.java
deleted file mode 100644
index 5065b6f..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/config/BoxDotNetRestClientModule.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet.config;
-
-import org.jclouds.boxdotnet.BoxDotNetAsyncClient;
-import org.jclouds.boxdotnet.BoxDotNetClient;
-import org.jclouds.boxdotnet.handlers.BoxDotNetErrorHandler;
-import org.jclouds.http.HttpErrorHandler;
-import org.jclouds.http.HttpRetryHandler;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.http.annotation.Redirection;
-import org.jclouds.http.annotation.ServerError;
-import org.jclouds.http.handlers.BackoffLimitedRetryHandler;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.RestClientModule;
-
-/**
- * Configures the BoxDotNet connection.
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-@ConfiguresRestClient
-public class BoxDotNetRestClientModule extends
-         RestClientModule<BoxDotNetClient, BoxDotNetAsyncClient> {
-
-   public BoxDotNetRestClientModule() {
-      super(BoxDotNetClient.class, BoxDotNetAsyncClient.class);
-   }
-
-   @Override
-   protected void bindErrorHandlers() {
-      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(BoxDotNetErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(BoxDotNetErrorHandler.class);
-      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(BoxDotNetErrorHandler.class);
-   }
-
-   @Override
-   protected void bindRetryHandlers() {
-      bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(BackoffLimitedRetryHandler.class);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/handlers/BoxDotNetErrorHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/handlers/BoxDotNetErrorHandler.java b/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/handlers/BoxDotNetErrorHandler.java
deleted file mode 100644
index e3a0015..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/handlers/BoxDotNetErrorHandler.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet.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.Strings2;
-
-import com.google.common.base.Throwables;
-import com.google.common.io.Closeables;
-
-/**
- * This will parse and set an appropriate exception on the command object.
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class BoxDotNetErrorHandler 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 401:
-         case 403:
-            exception = new AuthorizationException(message, exception);
-            break;
-         case 404:
-            if (!command.getCurrentRequest().getMethod().equals("DELETE")) {
-               exception = new ResourceNotFoundException(message, exception);
-            }
-            break;
-         }
-      } finally {
-         Closeables.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/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetAsyncClientTest.java b/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetAsyncClientTest.java
deleted file mode 100644
index dcfe760..0000000
--- a/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetAsyncClientTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet;
-
-import static org.jclouds.rest.RestContextFactory.contextSpec;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.functions.ReturnNullOnNotFoundOr404;
-import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Iterables;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests annotation parsing of {@code BoxDotNetAsyncClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class BoxDotNetAsyncClientTest extends RestClientTest<BoxDotNetAsyncClient> {
-
-   public void testList() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = BoxDotNetAsyncClient.class.getMethod("list");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest, "GET https://www.box.net/api/1.0/rest/items HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      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://www.box.net/api/1.0/rest/items HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest, "Authorization: Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // TODO: insert expected response class, which probably extends ParseJson
-      assertResponseParserClassEquals(method, httpRequest, ReturnStringIf2xx.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testGet() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = BoxDotNetAsyncClient.class.getMethod("get", long.class);
-      GeneratedHttpRequest<BoxDotNetAsyncClient> httpRequest = processor.createRequest(method, 1);
-
-      assertRequestLineEquals(httpRequest, "GET https://www.box.net/api/1.0/rest/items/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      // TODO: insert expected response class, which probably extends ParseJson
-      assertResponseParserClassEquals(method, httpRequest, ReturnStringIf2xx.class);
-      assertSaxResponseParserClassEquals(method, null);
-      // note that get methods should convert 404's to null
-      assertExceptionParserClassEquals(method, ReturnNullOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   public void testDelete() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = BoxDotNetAsyncClient.class.getMethod("delete", long.class);
-      GeneratedHttpRequest<BoxDotNetAsyncClient> httpRequest = processor.createRequest(method, 1);
-
-      assertRequestLineEquals(httpRequest, "DELETE https://www.box.net/api/1.0/rest/items/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(httpRequest);
-
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), BasicAuthentication.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<BoxDotNetAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<BoxDotNetAsyncClient>>() {
-      };
-   }
-
-   @Override
-   public RestContextSpec<BoxDotNetClient, BoxDotNetAsyncClient> createContextSpec() {
-      return contextSpec("boxdotnet", "https://www.box.net/api/1.0/rest", "1.0", "", "identity", "credential",
-               BoxDotNetClient.class, BoxDotNetAsyncClient.class);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetClientLiveTest.java b/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetClientLiveTest.java
deleted file mode 100644
index 9b8ec25..0000000
--- a/sandbox-providers/boxdotnet/src/test/java/org/jclouds/boxdotnet/BoxDotNetClientLiveTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Properties;
-
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.testng.annotations.AfterGroups;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code BoxDotNetClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class BoxDotNetClientLiveTest {
-
-   private BoxDotNetClient connection;
-   private RestContext<BoxDotNetClient, BoxDotNetAsyncClient> context;
-
-   @BeforeGroups(groups = { "live" })
-   public void setupClient() {
-      String identity = checkNotNull(System.getProperty("jclouds.test.identity"), "jclouds.test.identity");
-      String credential = checkNotNull(System.getProperty("jclouds.test.credential"), "jclouds.test.credential");
-
-      Properties restProperties = new Properties();
-      restProperties.setProperty("boxdotnet.contextbuilder", "org.jclouds.boxdotnet.BoxDotNetContextBuilder");
-      restProperties.setProperty("boxdotnet.propertiesbuilder", "org.jclouds.boxdotnet.BoxDotNetPropertiesBuilder");
-
-      context = new RestContextFactory(restProperties).createContext("boxdotnet", identity, credential,
-            ImmutableSet.<Module> of(new Log4JLoggingModule()));
-
-      connection = context.getApi();
-   }
-
-   @AfterGroups(groups = "live")
-   void tearDown() {
-      if (context != null)
-         context.close();
-   }
-
-   @Test
-   public void testList() throws Exception {
-      String response = connection.list();
-      assertNotNull(response);
-   }
-
-   @Test
-   public void testGet() throws Exception {
-      String response = connection.get(1l);
-      assertNotNull(response);
-   }
-
-   /*
-    * TODO: add tests for BoxDotNet interface methods
-    */
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/test/resources/log4j.xml b/sandbox-providers/boxdotnet/src/test/resources/log4j.xml
deleted file mode 100644
index 3351727..0000000
--- a/sandbox-providers/boxdotnet/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,90 +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${symbol_escape}n -->
-            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-
-            <!--
-                The full pattern: Date MS Priority [Category] (Thread:NDC) Message${symbol_escape}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${symbol_escape}n -->
-      			<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
-      
-      			<!--
-      				The full pattern: Date MS Priority [Category] (Thread:NDC) Message${symbol_escape}n
-      				<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x)
-      				%m%n"/>
-      			-->
-    		</layout>
-  	</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.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    --><!-- ======================= -->
-  	<!-- Setup the Root category -->
-  	<!-- ======================= -->
-
-  	<root>
-    		<priority value="WARN" />
-  	</root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/pom.xml b/sandbox-providers/dunkel-vcd/pom.xml
deleted file mode 100644
index 9af5577..0000000
--- a/sandbox-providers/dunkel-vcd/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>dunkel-vcd</artifactId>
-    <name>jclouds Dunkel vCloud provider</name>
-    <description>vCloud implementation targeted to Dunkel</description>
-
-    <properties>
-        <test.dunkel-vcd.endpoint>https://vcd.dunkel.de/api</test.dunkel-vcd.endpoint>
-        <test.dunkel-vcd.api-version>1.0</test.dunkel-vcd.api-version>
-        <test.dunkel-vcd.build-version>1.0.1.356485</test.dunkel-vcd.build-version>
-        <test.dunkel-vcd.identity>FIXME_IDENTITY</test.dunkel-vcd.identity>
-        <test.dunkel-vcd.credential>FIXME_CREDENTIAL</test.dunkel-vcd.credential>
-        <test.dunkel-vcd.image-id></test.dunkel-vcd.image-id>
-        <test.dunkel-vcd.image.login-user></test.dunkel-vcd.image.login-user>
-        <test.dunkel-vcd.image.authenticate-sudo></test.dunkel-vcd.image.authenticate-sudo>
-
-        <jclouds.osgi.export>org.jclouds.dunkel.vcd*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>vcloud</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>vcloud</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-compute</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.driver</groupId>
-            <artifactId>jclouds-log4j</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.dunkel-vcd.endpoint>${test.dunkel-vcd.endpoint}</test.dunkel-vcd.endpoint>
-                                    <test.dunkel-vcd.api-version>${test.dunkel-vcd.api-version}</test.dunkel-vcd.api-version>
-                                    <test.dunkel-vcd.build-version>${test.dunkel-vcd.build-version}</test.dunkel-vcd.build-version>
-                                    <test.dunkel-vcd.identity>${test.dunkel-vcd.identity}</test.dunkel-vcd.identity>
-                                    <test.dunkel-vcd.credential>${test.dunkel-vcd.credential}</test.dunkel-vcd.credential>
-                                    <test.dunkel-vcd.image-id>${test.dunkel-vcd.image-id}</test.dunkel-vcd.image-id>
-                                    <test.dunkel-vcd.image.login-user>${test.dunkel-vcd.image.login-user}</test.dunkel-vcd.image.login-user>
-                                    <test.dunkel-vcd.image.authenticate-sudo>${test.dunkel-vcd.image.authenticate-sudo}</test.dunkel-vcd.image.authenticate-sudo>
-                                  </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorContextBuilder.java b/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorContextBuilder.java
deleted file mode 100644
index 496f679..0000000
--- a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorContextBuilder.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd;
-
-import src.main.java.org.jclouds.dunkel.vcd.config.DunkelVCloudDirectorComputeServiceContextModule;
-import src.main.java.org.jclouds.dunkel.vcd.config.DunkelVCloudDirectorRestClientModule;
-
-/**
- * 
- * @author Adrian Cole
- *
- */
-public class DunkelVCloudDirectorContextBuilder extends VCloudContextBuilder {
-
-   public DunkelVCloudDirectorContextBuilder(Properties props) {
-      super(props);
-   }
-
-   @Override
-   protected void addContextModule(List<Module> modules) {
-      modules.add(new DunkelVCloudDirectorComputeServiceContextModule());
-   }
-
-   @Override
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new DunkelVCloudDirectorRestClientModule());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorPropertiesBuilder.java b/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorPropertiesBuilder.java
deleted file mode 100644
index e246599..0000000
--- a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorPropertiesBuilder.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class DunkelVCloudDirectorPropertiesBuilder extends VCloudPropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ISO3166_CODES, "DE");
-      properties.setProperty(PROPERTY_BUILD_VERSION, "1.0.1.356485");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://vcd.dunkel.de/api");
-      properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, ".*-intranet");
-      return properties;
-   }
-
-   public DunkelVCloudDirectorPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderMetadata.java b/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderMetadata.java
deleted file mode 100644
index f657fe5..0000000
--- a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderMetadata.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd;
-
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Dunkel vCloud Director
- * 
- * @author Adrian Cole
- */
-public class DunkelVCloudDirectorProviderMetadata extends BaseProviderMetadata {
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getId() {
-      return "dunkel-vcd";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getType() {
-      return ProviderMetadata.COMPUTE_TYPE;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getName() {
-      return "Dunkel vCloud Director";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getIdentityName() {
-      return "User at Organization (user@org)";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getCredentialName() {
-      return "Password";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getHomepage() {
-      return URI.create("http://www.dunkel.de/vcloud/");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getConsole() {
-      return URI.create("https://vcd.dunkel.de/cloud");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getApiDocumentation() {
-      return URI.create("http://www.dunkel.de/vcloud/");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getLinkedServices() {
-      return ImmutableSet.of("dunkel-vcd");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getIso3166Codes() {
-      return ImmutableSet.of("DE");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorComputeServiceContextModule.java b/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorComputeServiceContextModule.java
deleted file mode 100644
index 210e5a1..0000000
--- a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorComputeServiceContextModule.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd.config;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class DunkelVCloudDirectorComputeServiceContextModule extends VCloudComputeServiceContextModule {
-
-   @Override
-   protected TemplateOptions provideTemplateOptions(Injector injector, TemplateOptions options) {
-      return options.as(VCloudTemplateOptions.class).ipAddressAllocationMode(IpAddressAllocationMode.POOL);
-   }
-   
-   //CIM ostype does not include version info
-   @Override
-   protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) {
-      return template.osFamily(RHEL).os64Bit(true);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorRestClientModule.java b/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorRestClientModule.java
deleted file mode 100644
index 9bb92e1..0000000
--- a/sandbox-providers/dunkel-vcd/src/main/java/org/jclouds/dunkel/vcd/config/DunkelVCloudDirectorRestClientModule.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd.config;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-@ConfiguresRestClient
-public class DunkelVCloudDirectorRestClientModule extends VCloudRestClientModule {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/sandbox-providers/dunkel-vcd/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 217f305..0000000
--- a/sandbox-providers/dunkel-vcd/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.dunkel.vcd.DunkelVCloudDirectorProviderMetadata

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderTest.java b/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderTest.java
deleted file mode 100644
index 5589905..0000000
--- a/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/DunkelVCloudDirectorProviderTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd;
-
-import src.main.java.org.jclouds.dunkel.vcd.DunkelVCloudDirectorProviderMetadata;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "DunkelVCloudDirectorProviderTest")
-public class DunkelVCloudDirectorProviderTest extends BaseProviderMetadataTest {
-
-   public DunkelVCloudDirectorProviderTest() {
-      super(new DunkelVCloudDirectorProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorComputeServiceLiveTest.java b/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorComputeServiceLiveTest.java
deleted file mode 100644
index 9f43601..0000000
--- a/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorComputeServiceLiveTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd.compute;
-
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true)
-public class DunkelVCloudDirectorComputeServiceLiveTest extends VCloudComputeServiceLiveTest {
-   public DunkelVCloudDirectorComputeServiceLiveTest() {
-      provider = "dunkel-vcd";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorTemplateBuilderLiveTest.java b/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorTemplateBuilderLiveTest.java
deleted file mode 100644
index 0025def..0000000
--- a/sandbox-providers/dunkel-vcd/src/test/java/org/jclouds/dunkel/vcd/compute/DunkelVCloudDirectorTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.dunkel.vcd.compute;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "DunkelVCloudDirectorTemplateBuilderLiveTest")
-public class DunkelVCloudDirectorTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public DunkelVCloudDirectorTemplateBuilderLiveTest() {
-      provider = "dunkel-vcd";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-            case RHEL:
-               return !(input.version.equals("") && input.is64Bit);
-            default:
-               return true;
-            }
-         }
-
-      };
-   }
-
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = context.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.RHEL);
-      assertEquals(getCores(defaultTemplate.getHardware()), 1.0d);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("DE");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/dunkel-vcd/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/dunkel-vcd/src/test/resources/log4j.xml b/sandbox-providers/dunkel-vcd/src/test/resources/log4j.xml
deleted file mode 100644
index 63810d3..0000000
--- a/sandbox-providers/dunkel-vcd/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/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/README.txt b/sandbox-providers/googlestorage/README.txt
deleted file mode 100644
index 7bd6924..0000000
--- a/sandbox-providers/googlestorage/README.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-#
-# The jclouds provider for Google Storage for Developers (http://code.google.com/apis/storage/).
-#
-# Expects the jclouds s3 API to be present on your application's classpath.
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/pom.xml b/sandbox-providers/googlestorage/pom.xml
deleted file mode 100644
index bd403f0..0000000
--- a/sandbox-providers/googlestorage/pom.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>googlestorage</artifactId>
-    <name>jclouds Google Storage for Developers provider</name>
-    <description>Simple Storage Service (S3) implementation targeted to Google Storage for Developers</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.initializer>org.jclouds.googlestorage.blobstore.GoogleStorageTestInitializer</test.initializer>
-        <test.googlestorage.endpoint>https://commondatastorage.googleapis.com</test.googlestorage.endpoint>
-        <test.googlestorage.api-version>2006-03-01</test.googlestorage.api-version>
-        <test.googlestorage.build-version></test.googlestorage.build-version>
-        <test.googlestorage.identity>FIX_ME</test.googlestorage.identity>
-        <test.googlestorage.credential>FIX_ME</test.googlestorage.credential>
-
-        <jclouds.osgi.export>org.jclouds.googlestorage*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.googlestorage.endpoint>${test.googlestorage.endpoint}</test.googlestorage.endpoint>
-                                        <test.googlestorage.api-version>${test.googlestorage.api-version}</test.googlestorage.api-version>
-                                        <test.googlestorage.build-version>${test.googlestorage.build-version}</test.googlestorage.build-version>
-                                        <test.googlestorage.identity>${test.googlestorage.identity}</test.googlestorage.identity>
-                                        <test.googlestorage.credential>${test.googlestorage.credential}</test.googlestorage.credential>
-                                        <test.initializer>${test.initializer}</test.initializer>
-                                        <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/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageAsyncClient.java b/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageAsyncClient.java
deleted file mode 100644
index bb01db2..0000000
--- a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageAsyncClient.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import static org.jclouds.blobstore.attr.BlobScopes.CONTAINER;
-
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.blobstore.attr.BlobScope;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Headers;
-import org.jclouds.rest.annotations.ParamValidators;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.s3.Bucket;
-import org.jclouds.s3.S3AsyncClient;
-import org.jclouds.s3.S3Client;
-import org.jclouds.s3.binders.BindAsHostPrefixIfConfigured;
-import org.jclouds.s3.domain.ObjectMetadata;
-import org.jclouds.s3.filters.RequestAuthorizeSignature;
-import org.jclouds.s3.options.CopyObjectOptions;
-import org.jclouds.s3.predicates.validators.BucketNameValidator;
-import org.jclouds.s3.xml.CopyObjectHandler;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * 
- * @author Adrian Cole
- */
-@SkipEncoding('/')
-@RequestFilters(RequestAuthorizeSignature.class)
-@BlobScope(CONTAINER)
-public interface GoogleStorageAsyncClient extends S3AsyncClient {
-   /**
-    * @see S3Client#copyObject
-    */
-   @Override
-   @PUT
-   @Path("/{destinationObject}")
-   @Headers(keys = "x-goog-copy-source", values = "/{sourceBucket}/{sourceObject}")
-   @XMLResponseParser(CopyObjectHandler.class)
-   ListenableFuture<ObjectMetadata> copyObject(
-            @PathParam("sourceBucket") String sourceBucket,
-            @PathParam("sourceObject") String sourceObject,
-            @Bucket @BinderParam(BindAsHostPrefixIfConfigured.class) @ParamValidators( { BucketNameValidator.class }) String destinationBucket,
-            @PathParam("destinationObject") String destinationObject, CopyObjectOptions... options);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageContextBuilder.java b/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageContextBuilder.java
deleted file mode 100644
index dbce493..0000000
--- a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageContextBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.googlestorage.config.GoogleStorageRestClientModule;
-import org.jclouds.s3.S3ContextBuilder;
-
-import com.google.inject.Module;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-public class GoogleStorageContextBuilder extends S3ContextBuilder {
-
-   public GoogleStorageContextBuilder(Properties props) {
-      super(props);
-   }
-
-   @Override
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new GoogleStorageRestClientModule());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStoragePropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStoragePropertiesBuilder.java b/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStoragePropertiesBuilder.java
deleted file mode 100644
index a070f8b..0000000
--- a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStoragePropertiesBuilder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_AUTH_TAG;
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_HEADER_TAG;
-
-import java.util.Properties;
-
-import org.jclouds.s3.S3PropertiesBuilder;
-
-/**
- * Builds properties used in Google Storage
- * 
- * @author Adrian Cole
- */
-public class GoogleStoragePropertiesBuilder extends S3PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_AUTH_TAG, "GOOG1");
-      properties.setProperty(PROPERTY_HEADER_TAG, "goog");
-      properties.setProperty(PROPERTY_ISO3166_CODES, "US");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://commondatastorage.googleapis.com");
-      return properties;
-   }
-
-   public GoogleStoragePropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageProviderMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageProviderMetadata.java b/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageProviderMetadata.java
deleted file mode 100644
index 2d03c39..0000000
--- a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/GoogleStorageProviderMetadata.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import com.google.common.collect.ImmutableSet;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.providers.BaseProviderMetadata;
-
-/**
- * Implementation of {@ link org.jclouds.types.ProviderMetadata} for Google's
- * Storage provider.
- *
- * @author Jeremy Whitlock <jw...@apache.org>
- */
-public class GoogleStorageProviderMetadata extends BaseProviderMetadata {
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getId() {
-      return "googlestorage";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getType() {
-      return BLOBSTORE_TYPE;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getName() {
-      return "Google Storage";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getIdentityName() {
-      return "Access Key";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getCredentialName() {
-      return "Secret Key";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getHomepage() {
-      return URI.create("http://code.google.com/apis/storage/");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getConsole() {
-      return URI.create("https://code.google.com/apis/console#:storage:access");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getApiDocumentation() {
-      return URI.create("http://code.google.com/apis/storage/docs/reference-guide.html");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getIso3166Codes() {
-      return ImmutableSet.of("US");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequest.java b/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequest.java
deleted file mode 100644
index 740c6ce..0000000
--- a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.ws.rs.core.HttpHeaders;
-
-import org.jclouds.blobstore.binders.BindMapToHeadersWithPrefix;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.utils.ModifyRequest;
-import org.jclouds.s3.binders.BindS3ObjectMetadataToRequest;
-import org.jclouds.s3.domain.S3Object;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BindGoogleStorageObjectMetadataToRequest extends BindS3ObjectMetadataToRequest {
-   @Inject
-   public BindGoogleStorageObjectMetadataToRequest(BindMapToHeadersWithPrefix metadataPrefixer) {
-      super(metadataPrefixer);
-   }
-
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof S3Object, "this binder is only valid for S3Object!");
-      checkNotNull(request, "request");
-
-      S3Object s3Object = S3Object.class.cast(input);
-      checkArgument(s3Object.getMetadata().getKey() != null, "s3Object.getMetadata().getKey() must be set!");
-
-      if (s3Object.getPayload().getContentMetadata().getContentLength() != null
-               && s3Object.getPayload().getContentMetadata().getContentLength() >= 0) {
-         checkArgument(s3Object.getPayload().getContentMetadata().getContentLength() <= 5l * 1024 * 1024 * 1024,
-                  "maximum size for put object is 5GB");
-      } else {
-         // Enable "chunked"/"streamed" data, where the size needn't be known in advance.
-         request = ModifyRequest.replaceHeader(request, "Transfer-Encoding", "chunked");
-      }
-
-      request = metadataPrefixer.bindToRequest(request, s3Object.getMetadata().getUserMetadata());
-
-      if (s3Object.getMetadata().getCacheControl() != null) {
-         request = ModifyRequest.replaceHeader(request, HttpHeaders.CACHE_CONTROL, s3Object.getMetadata()
-                  .getCacheControl());
-      }
-      return request;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/config/GoogleStorageRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/config/GoogleStorageRestClientModule.java b/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/config/GoogleStorageRestClientModule.java
deleted file mode 100644
index f6d7bb6..0000000
--- a/sandbox-providers/googlestorage/src/main/java/org/jclouds/googlestorage/config/GoogleStorageRestClientModule.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.config;
-
-import javax.inject.Singleton;
-
-import org.jclouds.googlestorage.GoogleStorageAsyncClient;
-import org.jclouds.googlestorage.binders.BindGoogleStorageObjectMetadataToRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.s3.S3AsyncClient;
-import org.jclouds.s3.S3Client;
-import org.jclouds.s3.binders.BindS3ObjectMetadataToRequest;
-import org.jclouds.s3.config.S3RestClientModule;
-
-import com.google.inject.Provides;
-
-/**
- * 
- * @author Adrian Cole
- */
-@ConfiguresRestClient
-@RequiresHttp
-public class GoogleStorageRestClientModule extends S3RestClientModule<S3Client, GoogleStorageAsyncClient> {
-
-   public GoogleStorageRestClientModule() {
-      super(S3Client.class, GoogleStorageAsyncClient.class);
-   }
-
-   @Override
-   protected void configure() {
-      bind(BindS3ObjectMetadataToRequest.class).to(BindGoogleStorageObjectMetadataToRequest.class);
-      super.configure();
-   }
-
-   @Provides
-   @Singleton
-   S3AsyncClient provideS3AsyncClient(GoogleStorageAsyncClient in) {
-      return in;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/sandbox-providers/googlestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 01a8afe..0000000
--- a/sandbox-providers/googlestorage/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.googlestorage.GoogleStorageProviderMetadata

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageAsyncClientTestDisabled.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageAsyncClientTestDisabled.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageAsyncClientTestDisabled.java
deleted file mode 100644
index a04357a..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageAsyncClientTestDisabled.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.jclouds.s3.S3AsyncClient;
-import org.testng.annotations.Test;
-
-import com.google.inject.TypeLiteral;
-
-/**
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(enabled = false, groups = "unit", testName = "GoogleStorageAsyncClientTest")
-public class GoogleStorageAsyncClientTestDisabled extends org.jclouds.s3.S3AsyncClientTest<S3AsyncClient> {
-
-   public GoogleStorageAsyncClientTestDisabled() {
-      this.provider = "googlestorage";
-      this.url = "commondatastorage.googleapis.com";
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<S3AsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<S3AsyncClient>>() {
-      };
-   }
-
-   // TODO parameterize this test so that it can pass
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageClientLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageClientLiveTest.java
deleted file mode 100644
index f037b41..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageClientLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import org.jclouds.s3.S3ClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code S3Client}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "GoogleStorageClientLiveTest")
-public class GoogleStorageClientLiveTest extends S3ClientLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageProviderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageProviderTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageProviderTest.java
deleted file mode 100644
index 77e3999..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/GoogleStorageProviderTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage;
-
-import org.jclouds.providers.BaseProviderMetadataTest;
-import org.jclouds.providers.ProviderMetadata;
-import org.testng.annotations.Test;
-
-/**
- * The GoogleStorageProviderTest tests the {@link GoogleStorageProviderMetadata} class.
- * 
- * @author Jeremy Whitlock <jw...@apache.org>
- */
-@Test(groups = "unit", testName = "GoogleStorageProviderTest")
-public class GoogleStorageProviderTest extends BaseProviderMetadataTest {
-
-   public GoogleStorageProviderTest() {
-      super(new GoogleStorageProviderMetadata(), ProviderMetadata.BLOBSTORE_TYPE);
-   }
-
-}


[14/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableResourceInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableResourceInfo.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableResourceInfo.java
deleted file mode 100644
index ddd9899..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableResourceInfo.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.internal.MutableResourceInfoImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(MutableResourceInfoImpl.class)
-public interface MutableResourceInfo extends ResourceInfo {
-   void setType(StorageType value);
-
-   void setUrl(URI value);
-
-   void setName(String value);
-
-   void setCreated(Date value);
-
-   void setInProject(Boolean value);
-
-   void setModified(Date value);
-
-   void setOwner(String value);
-
-   void setVersion(Integer value);
-
-   void setShared(Boolean value);
-
-   void setAccessed(Date value);
-
-   void setBytes(Long value);
-
-   void setMetadata(URI value);
-
-   void setParent(URI value);
-
-   void setTags(URI value);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/PCSFile.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/PCSFile.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/PCSFile.java
deleted file mode 100644
index 2e37a4c..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/PCSFile.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import javax.annotation.Nullable;
-
-import org.jclouds.io.PayloadEnclosing;
-
-import com.google.common.collect.Multimap;
-
-/**
- * 
- * @author Adrian Cole
- */
-public interface PCSFile extends PayloadEnclosing, Comparable<PCSFile> {
-   public interface Factory {
-      PCSFile create(@Nullable MutableFileInfo metadata);
-   }
-
-   /**
-    * @return System and User metadata relevant to this object.
-    */
-   MutableFileInfo getMetadata();
-
-   Multimap<String, String> getAllHeaders();
-
-   void setAllHeaders(Multimap<String, String> allHeaders);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ResourceInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ResourceInfo.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ResourceInfo.java
deleted file mode 100644
index a7ba781..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ResourceInfo.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.internal.ResourceInfoImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(ResourceInfoImpl.class)
-public interface ResourceInfo extends Comparable<ResourceInfo> {
-   StorageType getType();
-
-   URI getUrl();
-
-   String getName();
-
-   Date getCreated();
-
-   Boolean isInProject();
-
-   Date getModified();
-
-   String getOwner();
-
-   Integer getVersion();
-
-   Boolean isShared();
-
-   Date getAccessed();
-
-   Long getBytes();
-
-   URI getMetadata();
-
-   URI getParent();
-
-   URI getTags();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerInfoImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerInfoImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerInfoImpl.java
deleted file mode 100644
index 019e82a..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerInfoImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.ContainerInfo;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class ContainerInfoImpl extends ResourceInfoImpl implements ContainerInfo {
-   private final URI contents;
-
-   public ContainerInfoImpl(URI url, String name, Date created, boolean inProject, Date modified,
-            String owner, int version, boolean shared, Date accessed, long bytes, URI contents,
-            URI tags, URI metadata, URI parent) {
-      super(StorageType.FOLDER, url, name, created, inProject, modified, owner, version, shared,
-               accessed, bytes, tags, metadata, parent);
-      this.contents = contents;
-   }
-
-   public URI getContents() {
-      return contents;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((contents == null) ? 0 : contents.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;
-      ContainerInfoImpl other = (ContainerInfoImpl) obj;
-      if (contents == null) {
-         if (other.contents != null)
-            return false;
-      } else if (!contents.equals(other.contents))
-         return false;
-      return true;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerListImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerListImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerListImpl.java
deleted file mode 100644
index fa9ae65..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ContainerListImpl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.ResourceInfo;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class ContainerListImpl extends TreeSet<ResourceInfo> implements ContainerList {
-
-   private final ResourceInfo info;
-   private final Map<String, URI> metadataItems;
-
-   public ContainerListImpl(URI url, String name, Date created, boolean inProject, Date modified,
-            String owner, int version, boolean shared, Date accessed, long bytes,
-            SortedSet<? extends ResourceInfo> contents, URI tags, URI metadata,
-            Map<String, URI> metadataItems, URI parent) {
-      this.info = new ResourceInfoImpl(StorageType.FOLDER, url, name, created, inProject,
-               modified, owner, version, shared, accessed, bytes, tags, metadata, parent);
-      addAll(contents);
-      this.metadataItems = metadataItems;
-   }
-
-   public Map<String, URI> getMetadataItems() {
-      return metadataItems;
-   }
-
-   public Date getAccessed() {
-      return info.getAccessed();
-   }
-
-   public Long getBytes() {
-      return info.getBytes();
-   }
-
-   public Date getCreated() {
-      return info.getCreated();
-   }
-
-   public URI getMetadata() {
-      return info.getMetadata();
-   }
-
-   public Date getModified() {
-      return info.getModified();
-   }
-
-   public String getName() {
-      return info.getName();
-   }
-
-   public String getOwner() {
-      return info.getOwner();
-   }
-
-   public URI getParent() {
-      return info.getParent();
-   }
-
-   public URI getTags() {
-      return info.getTags();
-   }
-
-   public StorageType getType() {
-      return info.getType();
-   }
-
-   public URI getUrl() {
-      return info.getUrl();
-   }
-
-   public Integer getVersion() {
-      return info.getVersion();
-   }
-
-   public Boolean isInProject() {
-      return info.isInProject();
-   }
-
-   public Boolean isShared() {
-      return info.isShared();
-   }
-
-   public int compareTo(ResourceInfo o) {
-      return info.compareTo(o);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoImpl.java
deleted file mode 100644
index 5018df1..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.FileInfo;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class FileInfoImpl extends ResourceInfoImpl implements FileInfo {
-
-   private final Boolean isPublic;
-   private final String mimeType;
-   private final URI content;
-   private final URI permissions;
-   private final URI thumbnail;
-
-   public FileInfoImpl(URI url, String name, Date created, boolean inProject,
- Date modified,
-            String owner, int version, boolean shared, Date accessed,
-            boolean isPublic, String mimeType, long bytes, URI content, URI parent,
-            URI permissions, URI tags, URI metadata, URI thumbnail) {
-      super(StorageType.BLOB, url, name, created, inProject, modified, owner, version, shared,
-               accessed, bytes, tags, metadata, parent);
-      this.isPublic = isPublic;
-      this.mimeType = mimeType;
-      this.content=content;
-      this.permissions = permissions;
-      this.thumbnail = thumbnail;
-   }
-
-   public Boolean isPublic() {
-      return isPublic;
-   }
-
-   public String getMimeType() {
-      return mimeType;
-   }
-
-   public URI getContent() {
-      return content;
-   }
-
-   public URI getPermissions() {
-      return permissions;
-   }
-
-   public URI getThumbnail() {
-      return thumbnail;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((content == null) ? 0 : content.hashCode());
-      result = prime * result + (isPublic ? 1231 : 1237);
-      result = prime * result + ((mimeType == null) ? 0 : mimeType.hashCode());
-      result = prime * result + ((permissions == null) ? 0 : permissions.hashCode());
-      result = prime * result + ((thumbnail == null) ? 0 : thumbnail.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;
-      FileInfoImpl other = (FileInfoImpl) obj;
-      if (content == null) {
-         if (other.content != null)
-            return false;
-      } else if (!content.equals(other.content))
-         return false;
-      if (isPublic != other.isPublic)
-         return false;
-      if (mimeType == null) {
-         if (other.mimeType != null)
-            return false;
-      } else if (!mimeType.equals(other.mimeType))
-         return false;
-      if (permissions == null) {
-         if (other.permissions != null)
-            return false;
-      } else if (!permissions.equals(other.permissions))
-         return false;
-      if (thumbnail == null) {
-         if (other.thumbnail != null)
-            return false;
-      } else if (!thumbnail.equals(other.thumbnail))
-         return false;
-      return true;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoWithMetadataImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoWithMetadataImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoWithMetadataImpl.java
deleted file mode 100644
index 50945a4..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/FileInfoWithMetadataImpl.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.Map;
-
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class FileInfoWithMetadataImpl extends FileInfoImpl implements FileInfoWithMetadata {
-   private final Map<String, URI> metadataItems;
-
-   public FileInfoWithMetadataImpl(URI url, String name, Date created, boolean inProject,
-            Date modified, String owner, int version, boolean shared, Date accessed,
-            boolean isPublic, String mimeType, long bytes, URI content, URI parent,
-            URI permissions, URI tags, URI metadata, Map<String, URI> metadataItems, URI thumbnail) {
-      super(url, name, created, inProject, modified, owner, version, shared, accessed, isPublic,
-               mimeType, bytes, content, parent, permissions, tags, metadata, thumbnail);
-      this.metadataItems = metadataItems;
-   }
-
-   public Map<String, URI> getMetadataItems() {
-      return metadataItems;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((metadataItems == null) ? 0 : metadataItems.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;
-      FileInfoWithMetadataImpl other = (FileInfoWithMetadataImpl) obj;
-      if (metadataItems == null) {
-         if (other.metadataItems != null)
-            return false;
-      } else if (!metadataItems.equals(other.metadataItems))
-         return false;
-      return true;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableFileInfoImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableFileInfoImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableFileInfoImpl.java
deleted file mode 100644
index bfc03a5..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableFileInfoImpl.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.MutableFileInfo;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class MutableFileInfoImpl extends MutableResourceInfoImpl implements
-         MutableFileInfo {
-
-   private Boolean isPublic;
-   private String mimeType;
-   private URI content;
-   private URI permissions;
-   private URI thumbnail;
-
-   public MutableFileInfoImpl() {
-      setType(StorageType.BLOB);
-      setMimeType(MediaType.APPLICATION_OCTET_STREAM);
-   }
-
-   public String getMimeType() {
-      return mimeType;
-   }
-
-   public URI getContent() {
-      return content;
-   }
-
-   public URI getPermissions() {
-      return permissions;
-   }
-
-   public URI getThumbnail() {
-      return thumbnail;
-   }
-
-   public void setPublic(Boolean isPublic) {
-      this.isPublic = isPublic;
-   }
-
-   public Boolean isPublic() {
-      return isPublic;
-   }
-
-   public void setMimeType(String mimeType) {
-      this.mimeType = mimeType;
-   }
-
-   public void setContent(URI content) {
-      this.content = content;
-   }
-
-   public void setPermissions(URI permissions) {
-      this.permissions = permissions;
-   }
-
-   public void setThumbnail(URI thumbnail) {
-      this.thumbnail = thumbnail;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = super.hashCode();
-      result = prime * result + ((content == null) ? 0 : content.hashCode());
-      result = prime * result + ((isPublic == null) ? 0 : isPublic.hashCode());
-      result = prime * result + ((mimeType == null) ? 0 : mimeType.hashCode());
-      result = prime * result + ((permissions == null) ? 0 : permissions.hashCode());
-      result = prime * result + ((thumbnail == null) ? 0 : thumbnail.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;
-      MutableFileInfoImpl other = (MutableFileInfoImpl) obj;
-      if (content == null) {
-         if (other.content != null)
-            return false;
-      } else if (!content.equals(other.content))
-         return false;
-      if (isPublic == null) {
-         if (other.isPublic != null)
-            return false;
-      } else if (!isPublic.equals(other.isPublic))
-         return false;
-      if (mimeType == null) {
-         if (other.mimeType != null)
-            return false;
-      } else if (!mimeType.equals(other.mimeType))
-         return false;
-      if (permissions == null) {
-         if (other.permissions != null)
-            return false;
-      } else if (!permissions.equals(other.permissions))
-         return false;
-      if (thumbnail == null) {
-         if (other.thumbnail != null)
-            return false;
-      } else if (!thumbnail.equals(other.thumbnail))
-         return false;
-      return true;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableResourceInfoImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableResourceInfoImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableResourceInfoImpl.java
deleted file mode 100644
index 89887b3..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/MutableResourceInfoImpl.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.MutableResourceInfo;
-import org.jclouds.mezeo.pcs.domain.ResourceInfo;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class MutableResourceInfoImpl implements MutableResourceInfo {
-
-   private StorageType type;
-   private URI url;
-   private String name;
-   private Date created;
-   private Boolean inProject;
-   private Date modified;
-   private String owner;
-   private Integer version;
-   private Boolean shared;
-   private Date accessed;
-   private Long bytes;
-   private URI tags;
-   private URI metadata;
-   private URI parent;
-
-   public int compareTo(ResourceInfo o) {
-      if (getName() == null)
-         return -1;
-      return (this == o) ? 0 : getName().compareTo(o.getName());
-   }
-
-   public StorageType getType() {
-      return type;
-   }
-
-   public void setType(StorageType type) {
-      this.type = type;
-   }
-
-   public URI getUrl() {
-      return url;
-   }
-
-   public void setUrl(URI url) {
-      this.url = url;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public void setName(String name) {
-      this.name = name;
-   }
-
-   public Date getCreated() {
-      return created;
-   }
-
-   public void setCreated(Date created) {
-      this.created = created;
-   }
-
-   public Boolean isInProject() {
-      return inProject;
-   }
-
-   public void setInProject(Boolean inProject) {
-      this.inProject = inProject;
-   }
-
-   public Date getModified() {
-      return modified;
-   }
-
-   public void setModified(Date modified) {
-      this.modified = modified;
-   }
-
-   public String getOwner() {
-      return owner;
-   }
-
-   public void setOwner(String owner) {
-      this.owner = owner;
-   }
-
-   public Integer getVersion() {
-      return version;
-   }
-
-   public void setVersion(Integer version) {
-      this.version = version;
-   }
-
-   public Boolean isShared() {
-      return shared;
-   }
-
-   public void setShared(Boolean shared) {
-      this.shared = shared;
-   }
-
-   public Date getAccessed() {
-      return accessed;
-   }
-
-   public void setAccessed(Date accessed) {
-      this.accessed = accessed;
-   }
-
-   public Long getBytes() {
-      return bytes;
-   }
-
-   public void setBytes(Long bytes) {
-      this.bytes = bytes;
-   }
-
-   public URI getTags() {
-      return tags;
-   }
-
-   public void setTags(URI tags) {
-      this.tags = tags;
-   }
-
-   public URI getMetadata() {
-      return metadata;
-   }
-
-   public void setMetadata(URI metadata) {
-      this.metadata = metadata;
-   }
-
-   public URI getParent() {
-      return parent;
-   }
-
-   public void setParent(URI parent) {
-      this.parent = parent;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((accessed == null) ? 0 : accessed.hashCode());
-      result = prime * result + ((bytes == null) ? 0 : bytes.hashCode());
-      result = prime * result + ((created == null) ? 0 : created.hashCode());
-      result = prime * result + ((inProject == null) ? 0 : inProject.hashCode());
-      result = prime * result + ((metadata == null) ? 0 : metadata.hashCode());
-      result = prime * result + ((modified == null) ? 0 : modified.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((owner == null) ? 0 : owner.hashCode());
-      result = prime * result + ((parent == null) ? 0 : parent.hashCode());
-      result = prime * result + ((shared == null) ? 0 : shared.hashCode());
-      result = prime * result + ((tags == null) ? 0 : tags.hashCode());
-      result = prime * result + ((type == null) ? 0 : type.hashCode());
-      result = prime * result + ((url == null) ? 0 : url.hashCode());
-      result = prime * result + ((version == null) ? 0 : version.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;
-      MutableResourceInfoImpl other = (MutableResourceInfoImpl) obj;
-      if (accessed == null) {
-         if (other.accessed != null)
-            return false;
-      } else if (!accessed.equals(other.accessed))
-         return false;
-      if (bytes == null) {
-         if (other.bytes != null)
-            return false;
-      } else if (!bytes.equals(other.bytes))
-         return false;
-      if (created == null) {
-         if (other.created != null)
-            return false;
-      } else if (!created.equals(other.created))
-         return false;
-      if (inProject == null) {
-         if (other.inProject != null)
-            return false;
-      } else if (!inProject.equals(other.inProject))
-         return false;
-      if (metadata == null) {
-         if (other.metadata != null)
-            return false;
-      } else if (!metadata.equals(other.metadata))
-         return false;
-      if (modified == null) {
-         if (other.modified != null)
-            return false;
-      } else if (!modified.equals(other.modified))
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (owner == null) {
-         if (other.owner != null)
-            return false;
-      } else if (!owner.equals(other.owner))
-         return false;
-      if (parent == null) {
-         if (other.parent != null)
-            return false;
-      } else if (!parent.equals(other.parent))
-         return false;
-      if (shared == null) {
-         if (other.shared != null)
-            return false;
-      } else if (!shared.equals(other.shared))
-         return false;
-      if (tags == null) {
-         if (other.tags != null)
-            return false;
-      } else if (!tags.equals(other.tags))
-         return false;
-      if (type == null) {
-         if (other.type != null)
-            return false;
-      } else if (!type.equals(other.type))
-         return false;
-      if (url == null) {
-         if (other.url != null)
-            return false;
-      } else if (!url.equals(other.url))
-         return false;
-      if (version == null) {
-         if (other.version != null)
-            return false;
-      } else if (!version.equals(other.version))
-         return false;
-      return true;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/PCSFileImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/PCSFileImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/PCSFileImpl.java
deleted file mode 100644
index 9152eef..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/PCSFileImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-
-import org.jclouds.http.internal.PayloadEnclosingImpl;
-import org.jclouds.mezeo.pcs.domain.MutableFileInfo;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Multimap;
-
-/**
- * Default Implementation of {@link PCSFile}.
- * 
- * @author Adrian Cole
- */
-public class PCSFileImpl extends PayloadEnclosingImpl implements PCSFile, Comparable<PCSFile> {
-
-   private final MutableFileInfo metadata;
-   private Multimap<String, String> allHeaders = LinkedHashMultimap.create();
-
-   @Inject
-   public PCSFileImpl(MutableFileInfo metadata) {
-      super();// no MD5 support
-      this.metadata = metadata;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   public MutableFileInfo getMetadata() {
-      return metadata;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   public Multimap<String, String> getAllHeaders() {
-      return allHeaders;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   public void setAllHeaders(Multimap<String, String> allHeaders) {
-      this.allHeaders = checkNotNull(allHeaders, "allHeaders");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   public int compareTo(PCSFile o) {
-      if (getMetadata().getName() == null)
-         return -1;
-      return (this == o) ? 0 : getMetadata().getName().compareTo(o.getMetadata().getName());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ResourceInfoImpl.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ResourceInfoImpl.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ResourceInfoImpl.java
deleted file mode 100644
index 52810ae..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/internal/ResourceInfoImpl.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain.internal;
-
-import java.net.URI;
-import java.util.Date;
-
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.mezeo.pcs.domain.ResourceInfo;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class ResourceInfoImpl implements ResourceInfo {
-
-   private final StorageType type;
-   private final URI url;
-   private final String name;
-   private final Date created;
-   private final boolean inProject;
-   private final Date modified;
-   private final String owner;
-   private final int version;
-   private final boolean shared;
-   private final Date accessed;
-   private final long bytes;
-   private final URI tags;
-   private final URI metadata;
-   private final URI parent;
-
-   protected ResourceInfoImpl(StorageType type, URI url, String name, Date created,
-            boolean inProject, Date modified, String owner, int version, boolean shared,
-            Date accessed, long bytes, URI tags, URI metadata, URI parent) {
-      super();
-      this.type = type;
-      this.url = url;
-      this.name = name;
-      this.created = created;
-      this.inProject = inProject;
-      this.modified = modified;
-      this.owner = owner;
-      this.version = version;
-      this.shared = shared;
-      this.accessed = accessed;
-      this.bytes = bytes;
-      this.tags = tags;
-      this.metadata = metadata;
-      this.parent = parent;
-   }
-
-   public int compareTo(ResourceInfo o) {
-      if (getName() == null)
-         return -1;
-      if (o.getName() == null)
-         return 1;
-      return (this == o) ? 0 : getName().compareTo(o.getName());
-   }
-
-   public StorageType getType() {
-      return type;
-   }
-
-   public URI getUrl() {
-      return url;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public Date getCreated() {
-      return created;
-   }
-
-   public Boolean isInProject() {
-      return inProject;
-   }
-
-   public Date getModified() {
-      return modified;
-   }
-
-   public String getOwner() {
-      return owner;
-   }
-
-   public Integer getVersion() {
-      return version;
-   }
-
-   public Boolean isShared() {
-      return shared;
-   }
-
-   public Date getAccessed() {
-      return accessed;
-   }
-
-   public Long getBytes() {
-      return bytes;
-   }
-
-   public URI getTags() {
-      return tags;
-   }
-
-   public URI getMetadata() {
-      return metadata;
-   }
-
-   public URI getParent() {
-      return parent;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((accessed == null) ? 0 : accessed.hashCode());
-      result = prime * result + (int) (bytes ^ (bytes >>> 32));
-      result = prime * result + ((created == null) ? 0 : created.hashCode());
-      result = prime * result + (inProject ? 1231 : 1237);
-      result = prime * result + ((metadata == null) ? 0 : metadata.hashCode());
-      result = prime * result + ((modified == null) ? 0 : modified.hashCode());
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((owner == null) ? 0 : owner.hashCode());
-      result = prime * result + ((parent == null) ? 0 : parent.hashCode());
-      result = prime * result + (shared ? 1231 : 1237);
-      result = prime * result + ((tags == null) ? 0 : tags.hashCode());
-      result = prime * result + ((type == null) ? 0 : type.hashCode());
-      result = prime * result + ((url == null) ? 0 : url.hashCode());
-      result = prime * result + version;
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      ResourceInfoImpl other = (ResourceInfoImpl) obj;
-      if (accessed == null) {
-         if (other.accessed != null)
-            return false;
-      } else if (!accessed.equals(other.accessed))
-         return false;
-      if (bytes != other.bytes)
-         return false;
-      if (created == null) {
-         if (other.created != null)
-            return false;
-      } else if (!created.equals(other.created))
-         return false;
-      if (inProject != other.inProject)
-         return false;
-      if (metadata == null) {
-         if (other.metadata != null)
-            return false;
-      } else if (!metadata.equals(other.metadata))
-         return false;
-      if (modified == null) {
-         if (other.modified != null)
-            return false;
-      } else if (!modified.equals(other.modified))
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (owner == null) {
-         if (other.owner != null)
-            return false;
-      } else if (!owner.equals(other.owner))
-         return false;
-      if (parent == null) {
-         if (other.parent != null)
-            return false;
-      } else if (!parent.equals(other.parent))
-         return false;
-      if (shared != other.shared)
-         return false;
-      if (tags == null) {
-         if (other.tags != null)
-            return false;
-      } else if (!tags.equals(other.tags))
-         return false;
-      if (type == null) {
-         if (other.type != null)
-            return false;
-      } else if (!type.equals(other.type))
-         return false;
-      if (url == null) {
-         if (other.url != null)
-            return false;
-      } else if (!url.equals(other.url))
-         return false;
-      if (version != other.version)
-         return false;
-      return true;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Contacts.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Contacts.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Contacts.java
deleted file mode 100644
index f707949..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Contacts.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type Contacts, which represents the user's contact list.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Contacts {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Metacontainers.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Metacontainers.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Metacontainers.java
deleted file mode 100644
index e1ab417..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Metacontainers.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type MetaContainers, which lists the metacontainers available to the
- * user.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Metacontainers {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Projects.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Projects.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Projects.java
deleted file mode 100644
index dcd8270..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Projects.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type Projects, which lists the projects available to the user.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Projects {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Recyclebin.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Recyclebin.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Recyclebin.java
deleted file mode 100644
index 5505337..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Recyclebin.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type RecycleBin, which contains the user's deleted files.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Recyclebin {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/RootContainer.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/RootContainer.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/RootContainer.java
deleted file mode 100644
index 9da2fb7..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/RootContainer.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type Container, which is the user's root Container
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface RootContainer {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Shares.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Shares.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Shares.java
deleted file mode 100644
index 735877a..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Shares.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type Shares, which lists the items shared to and by the user. 
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Shares {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Tags.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Tags.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Tags.java
deleted file mode 100644
index e172734..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/Tags.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type Tags, which lists all the tags applied to the user's files.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface Tags {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/WebDAV.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/WebDAV.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/WebDAV.java
deleted file mode 100644
index 029edd5..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/endpoints/WebDAV.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.endpoints;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a resource of type WebDAV
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface WebDAV {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/AddMetadataItemIntoMap.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/AddMetadataItemIntoMap.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/AddMetadataItemIntoMap.java
deleted file mode 100644
index e6364a6..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/AddMetadataItemIntoMap.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.functions;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkState;
-
-import java.util.Map;
-
-import javax.inject.Inject;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-import org.jclouds.rest.InvocationContext;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-
-import com.google.common.base.Function;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class AddMetadataItemIntoMap implements Function<HttpResponse, Void>, InvocationContext<AddMetadataItemIntoMap> {
-   ReturnStringIf2xx returnIf200;
-   private GeneratedHttpRequest<?> request;
-
-   @Inject
-   private AddMetadataItemIntoMap(ReturnStringIf2xx returnIf200) {
-      this.returnIf200 = returnIf200;
-   }
-
-   @SuppressWarnings("unchecked")
-   public Void apply(HttpResponse from) {
-      checkState(request.getArgs() != null, "args should be initialized at this point");
-      Map<String, String> map = null;
-      String key = null;
-      for (Object arg : request.getArgs()) {
-         if (arg instanceof Map)
-            map = (Map<String, String>) arg;
-         else if (arg instanceof String)
-            key = arg.toString();
-      }
-      checkState(map != null, "No Map found in args, improper method declarations");
-      checkState(key != null, "No String found in args, improper method declarations");
-
-      map.put(key, returnIf200.apply(from).trim());
-      return null;
-   }
-
-   @Override
-   public AddMetadataItemIntoMap setContext(HttpRequest request) {
-      checkArgument(request instanceof GeneratedHttpRequest<?>, "note this handler requires a GeneratedHttpRequest");
-      this.request = (GeneratedHttpRequest<?>) request;
-      return this;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnFalseIfContainerNotFound.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnFalseIfContainerNotFound.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnFalseIfContainerNotFound.java
deleted file mode 100644
index 7f8aca5..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnFalseIfContainerNotFound.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.functions;
-
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.ContainerNotFoundException;
-
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ReturnFalseIfContainerNotFound implements Function<Exception, Boolean> {
-
-   @Override
-   public Boolean apply(Exception from) {
-      if (from instanceof ContainerNotFoundException) {
-         return false;
-      }
-      throw Throwables.propagate(from);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnTrueIfContainerAlreadyExists.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnTrueIfContainerAlreadyExists.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnTrueIfContainerAlreadyExists.java
deleted file mode 100644
index f1ce032..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/functions/ReturnTrueIfContainerAlreadyExists.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.functions;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponseException;
-
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ReturnTrueIfContainerAlreadyExists implements Function<Exception, Boolean> {
-   @Override
-   public Boolean apply(Exception from) {
-      if (from instanceof HttpResponseException) {
-         HttpResponseException responseException = (HttpResponseException) from;
-         if ("The directory already exists.".equals(responseException.getContent())) {
-            return true;
-         }
-      }
-      throw Throwables.propagate(from);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/handlers/PCSClientErrorRetryHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/handlers/PCSClientErrorRetryHandler.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/handlers/PCSClientErrorRetryHandler.java
deleted file mode 100644
index c103079..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/handlers/PCSClientErrorRetryHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.handlers;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.HttpRetryHandler;
-import org.jclouds.http.handlers.BackoffLimitedRetryHandler;
-import org.jclouds.logging.Logger;
-
-/**
- * Handles Retryable responses with error codes in the 4xx range
- * 
- * @author Adrian Cole
- */
-public class PCSClientErrorRetryHandler implements HttpRetryHandler {
-
-   private final BackoffLimitedRetryHandler backoffHandler;
-
-   @Inject
-   public PCSClientErrorRetryHandler(BackoffLimitedRetryHandler backoffHandler) {
-      this.backoffHandler = backoffHandler;
-   }
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   public boolean shouldRetryRequest(HttpCommand command, HttpResponse response) {
-      if (response.getStatusCode() == 400) {
-         return backoffHandler.shouldRetryRequest(command, response);
-      }
-      return false;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/options/PutBlockOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/options/PutBlockOptions.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/options/PutBlockOptions.java
deleted file mode 100644
index e4489f1..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/options/PutBlockOptions.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.options;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-import com.google.common.collect.Multimap;
-
-/**
- * Contains options supported in the REST API for the PUT file operation. <h2>
- * Usage</h2> The recommended way to instantiate a PutFileOptions object is to statically import
- * PutFileOptions.Builder.* and invoke a static creation method followed by an instance mutator (if
- * needed):
- * <p/>
- * <code>
- * import static org.jclouds.mezeo.pcs2.options.PutFileOptions.Builder.*
- * import org.jclouds.mezeo.pcs2.PCSClient;
- * <p/>
- * PCSClient connection = // get connection
- * Future<Void> added = connection.appendFile("container",range(0,3));
- * <code>
- * 
- * @author Adrian Cole
- */
-public class PutBlockOptions extends BaseHttpRequestOptions {
-   public static final PutBlockOptions NONE = new PutBlockOptions();
-   private String range;
-
-   @Override
-   public Multimap<String, String> buildRequestHeaders() {
-      Multimap<String, String> headers = super.buildRequestHeaders();
-      String range = getRange();
-      if (range != null)
-         headers.put("Content-Range", this.getRange());
-      return headers;
-   }
-
-   /**
-    * For use in the header Content-Range
-    * <p />
-    * 
-    * @see PutBlockOptions#range(long, long)
-    */
-   public String getRange() {
-      return range;
-   }
-
-   /**
-    * download the specified range of the object.
-    */
-   public PutBlockOptions range(long start, long end) {
-      checkArgument(start >= 0, "start must be >= 0");
-      checkArgument(end >= 0, "end must be >= 0");
-      range = String.format("bytes %d-%d/*", start, end);
-      return this;
-   }
-
-   public static class Builder {
-      /**
-       * @see PutBlockOptions#range(long, long)
-       */
-      public static PutBlockOptions range(long start, long end) {
-         PutBlockOptions options = new PutBlockOptions();
-         return options.range(start, end);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHandler.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHandler.java
deleted file mode 100644
index a8f0a75..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHandler.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.xml;
-
-import java.net.URI;
-import java.util.Map;
-
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Maps;
-
-/**
- * Parses the discovery response from xlink refs.
- * 
- * @author Adrian Cole
- */
-public class CloudXlinkHandler extends ParseSax.HandlerWithResult<PCSCloudAsyncClient.Response> {
-
-   private Map<String, URI> map = Maps.newHashMap();
-
-   public static class PCSCloudResponseImpl implements PCSCloudAsyncClient.Response {
-      private final Map<String, URI> map;
-
-      public PCSCloudResponseImpl(Map<String, URI> map) {
-         this.map = map;
-      }
-
-      public URI getContactsUrl() {
-         return map.get("contacts");
-      }
-
-      public URI getMetacontainersUrl() {
-         return map.get("metacontainers");
-      }
-
-      public URI getProjectsUrl() {
-         return map.get("projects");
-      }
-
-      public URI getRecyclebinUrl() {
-         return map.get("recyclebin");
-      }
-
-      public URI getRootContainerUrl() {
-         return map.get("rootContainer");
-      }
-
-      public URI getSharesUrl() {
-         return map.get("shares");
-      }
-
-      public URI getTagsUrl() {
-         return map.get("tags");
-      }
-
-      @Override
-      public int hashCode() {
-         final int prime = 31;
-         int result = 1;
-         result = prime * result + ((map == null) ? 0 : map.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;
-         PCSCloudResponseImpl other = (PCSCloudResponseImpl) obj;
-         if (map == null) {
-            if (other.map != null)
-               return false;
-         } else if (!map.equals(other.map))
-            return false;
-         return true;
-      }
-
-      @Override
-      public String toString() {
-         return "PCSDiscoveryResponseImpl [map=" + map + "]";
-      }
-
-   }
-
-   public PCSCloudAsyncClient.Response getResult() {
-      return new PCSCloudResponseImpl(map);
-   }
-
-   @Override
-   public void startElement(String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-      int index = attributes.getIndex("xlink:href");
-      if (index != -1) {
-         map.put(qName, URI.create(attributes.getValue(index)));
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/ContainerHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/ContainerHandler.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/ContainerHandler.java
deleted file mode 100644
index 1d4fa40..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/ContainerHandler.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.xml;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.regex.Pattern;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.logging.Logger;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.ResourceInfo;
-import org.jclouds.mezeo.pcs.domain.internal.ContainerInfoImpl;
-import org.jclouds.mezeo.pcs.domain.internal.ContainerListImpl;
-import org.jclouds.mezeo.pcs.domain.internal.FileInfoImpl;
-import org.jclouds.util.Strings2;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
-/**
- * @author Adrian Cole
- */
-public class ContainerHandler extends ParseSax.HandlerWithResult<ContainerList> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   private SortedSet<ResourceInfo> containerMetadata = Sets.newTreeSet();
-   protected Map<String, URI> metadataItems = Maps.newHashMap();
-
-   private URI rootUrl;
-   private String rootName;
-   private Date rootCreated;
-   private boolean rootInproject;
-   private Date rootModified;
-   private String rootOwner;
-   private int rootVersion;
-   private boolean rootShared;
-   private Date rootAccessed;
-   private long rootBytes;
-   private URI rootParent;
-   private URI rootTags;
-   private URI rootMetadata;
-
-   private URI currentUrl;
-   private String currentName;
-   private Date currentCreated;
-   private boolean currentInproject;
-   private Date currentModified;
-   private String currentOwner;
-   private int currentVersion;
-   private boolean currentShared;
-   private Date currentAccessed;
-   private long currentBytes;
-   private URI currentParent;
-   private URI currentTags;
-   private URI currentMetadata;
-   private URI currentContents;
-
-   private boolean currentPublic;
-   private String currentMimeType;
-   private URI currentContent;
-   private URI currentPermissions;
-
-   private URI currentThumbnail;
-
-   private StringBuilder currentText = new StringBuilder();
-
-   private final DateService dateParser;
-
-   boolean inContainer = false;
-   boolean inContents = false;
-
-   private ContainerListImpl rootContainer;
-
-   @Inject
-   public ContainerHandler(DateService dateParser) {
-      this.dateParser = dateParser;
-   }
-
-   public ContainerList getResult() {
-      return rootContainer;
-   }
-
-   @Override
-   public void startElement(String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-      if (qName.equals("contents") && attributes.getIndex("count") != -1) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            rootUrl = URI.create(attributes.getValue(index).replace("/contents", ""));
-         }
-         inContents = true;
-         return;
-      } else if (qName.equals("container")) {
-         if (inContents)
-            inContainer = true;
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentUrl = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("parent")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentParent = URI.create(attributes.getValue(index));
-            if (!inContents)
-               rootParent = currentParent;
-         }
-      } else if (qName.equals("file")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentUrl = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("content")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentContent = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("contents")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentContents = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("permissions")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentPermissions = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("tags")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentTags = URI.create(attributes.getValue(index));
-            if (!inContents)
-               rootTags = currentTags;
-         }
-      } else if (qName.equals("thumbnail")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentThumbnail = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("metadata")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentMetadata = URI.create(attributes.getValue(index));
-            if (!inContents)
-               rootMetadata = currentMetadata;
-         }
-      } else if (qName.equals("metadata-item")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            String key = Strings2.replaceAll(attributes.getValue(index), METADATA_PATTERN, "");
-            metadataItems.put(key.toLowerCase(), URI.create(attributes.getValue(index)));
-         }
-      }
-   }
-
-   public final Pattern METADATA_PATTERN = Pattern.compile(".*/metadata/");
-
-   @Override
-   public void endElement(String uri, String name, String qName) {
-      if (qName.equals("contents")) {
-         if (!inContainer)
-            inContents = false;
-         currentText = new StringBuilder();
-         return;
-      }
-      if (qName.equals("container") && !inContents) {
-         rootContainer = new ContainerListImpl(rootUrl, rootName, rootCreated, rootInproject,
-                  rootModified, rootOwner, rootVersion, rootShared, rootAccessed, rootBytes,
-                  containerMetadata, rootTags, rootMetadata, metadataItems, rootParent);
-      } else if (qName.equals("container") || qName.equals("file")) {
-         if (qName.equals("container")) {
-            inContainer = false;
-            containerMetadata.add(new ContainerInfoImpl(currentUrl, currentName, currentCreated,
-                     currentInproject, currentModified, currentOwner, currentVersion,
-                     currentShared, currentAccessed, currentBytes, currentContents, currentTags,
-                     currentMetadata, currentParent));
-         } else {
-            containerMetadata.add(new FileInfoImpl(currentUrl, currentName, currentCreated,
-                     currentInproject, currentModified, currentOwner, currentVersion,
-                     currentShared, currentAccessed, currentPublic, currentMimeType, currentBytes,
-                     currentContent, currentParent, currentPermissions, currentTags,
-                     currentMetadata, currentThumbnail));
-         }
-         currentUrl = null;
-         currentName = null;
-         currentCreated = null;
-         currentInproject = false;
-         currentModified = null;
-         currentOwner = null;
-         currentVersion = 0;
-         currentShared = false;
-         currentAccessed = null;
-         currentBytes = 0;
-         currentPublic = false;
-         currentMimeType = null;
-         currentParent = null;
-         currentContents = null;
-         currentContent = null;
-         currentPermissions = null;
-         currentTags = null;
-         currentMetadata = null;
-         currentThumbnail = null;
-
-      } else if (qName.equals("name")) {
-         currentName = currentText.toString().trim();
-         if (!inContents)
-            rootName = currentName;
-      } else if (qName.equals("created")) {
-         currentCreated = dateParser.fromSeconds(Long.parseLong(currentText.toString().trim()));
-         if (!inContents)
-            rootCreated = currentCreated;
-      } else if (qName.equals("inproject")) {
-         currentInproject = Boolean.parseBoolean(currentText.toString().trim());
-         if (!inContents)
-            rootInproject = currentInproject;
-      } else if (qName.equals("modified")) {
-         currentModified = dateParser.fromSeconds(Long.parseLong(currentText.toString().trim()));
-         if (!inContents)
-            rootModified = currentModified;
-      } else if (qName.equals("owner")) {
-         currentOwner = currentText.toString().trim();
-         if (!inContents)
-            rootOwner = currentOwner;
-      } else if (qName.equals("version")) {
-         currentVersion = Integer.parseInt(currentText.toString().trim());
-         if (!inContents)
-            rootVersion = currentVersion;
-      } else if (qName.equals("shared")) {
-         currentShared = Boolean.parseBoolean(currentText.toString().trim());
-         if (!inContents)
-            rootShared = currentShared;
-      } else if (qName.equals("accessed")) {
-         currentAccessed = dateParser.fromSeconds(Long.parseLong(currentText.toString().trim()));
-         if (!inContents)
-            rootAccessed = currentAccessed;
-      } else if (qName.equals("bytes")) {
-         currentBytes = Long.parseLong(currentText.toString().trim());
-         if (!inContents)
-            rootBytes = currentBytes;
-      } else if (qName.equals("public")) {
-         currentPublic = Boolean.parseBoolean(currentText.toString().trim());
-      } else if (qName.equals("mime_type")) {
-         currentMimeType = currentText.toString().trim();
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-}


[11/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/package-info.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/package-info.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/package-info.java
deleted file mode 100644
index 51d91c2..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/reference/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.
- */
-/**
- * This package contains properties and reference data used in SimpleDB.
- * @author Adrian Cole
- */
-package org.jclouds.simpledb.reference;

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ItemsHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ItemsHandler.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ItemsHandler.java
deleted file mode 100644
index aba7373..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ItemsHandler.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.xml;
-
-import java.util.Map;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.simpledb.domain.AttributePair;
-import org.jclouds.simpledb.domain.Item;
-import org.xml.sax.Attributes;
-
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.inject.Inject;
-
-/**
- *
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- */
-public class ItemsHandler extends
-         ParseSax.HandlerWithResult<Map<String, Item>> {
-   private StringBuilder currentText = new StringBuilder();
-
-   private Map<String, Item> items = Maps.newConcurrentMap();
-   private Multimap<String, AttributePair> attributes =  LinkedHashMultimap.create();
-   private String attributeName;
-   private String attributeValue = "";
-   private String itemName;
-
-   private boolean inside = false;
-
-   protected final DateService dateService;
-
-   @Inject 
-   public ItemsHandler(DateService dateService) {
-	   this.dateService = dateService;
-   }
-
-   public Map<String, Item> getResult() {
-      return items;
-   }
-
-   public void startElement(String uri, String localName, String qName, Attributes attributes)
-   {
-       if (qName.equals("Attribute")) {
-               inside = true;
-       }
-   }
-
-   public void endElement(String uri, String name, String qName)
-   {
-       if (qName.equals("Attribute"))
-       {
-               inside = false;
-
-               
-               System.out.println("AttributeName: " + attributeName);
-               System.out.println("AttributeValue: " + attributeValue);
-       }
-       else if(qName.equals("Name")) {
-               if (inside)
-                       attributeName = currentText.toString().trim();
-               else
-                       itemName = currentText.toString().trim();
-			   
-      } else if (qName.equals("Value"))
-      {
-    	  attributeValue = currentText.toString().trim();
-
-          attributes.put(attributeName,new AttributePair(attributeName,
-                  attributeValue, false));
-      } 
-      else if (qName.equals("Item")) 
-      {
-          System.out.println("ItemName: " + itemName);
-          
-          Item item = new Item(attributes);
-          items.put(itemName, item);
-          attributes =  LinkedHashMultimap.create();
-          this.attributeName = null;
-          this.attributeValue = null;
-          this.itemName = null;
-          inside = false;
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ListDomainsResponseHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ListDomainsResponseHandler.java b/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ListDomainsResponseHandler.java
deleted file mode 100644
index 26e7d6e..0000000
--- a/sandbox-apis/simpledb/src/main/java/org/jclouds/simpledb/xml/ListDomainsResponseHandler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.xml;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.jclouds.simpledb.domain.ListDomainsResponse;
-import org.jclouds.http.functions.ParseSax;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-
-/**
- * Parses the following XML document:
- * <p/>
- * ListDomainsResponse
- * 
- * @author Adrian Cole
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- * @see <a href=
- *      "http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/SDB_API_ListDomains.htm l"
- *      />
- */
-public class ListDomainsResponseHandler extends ParseSax.HandlerWithResult<ListDomainsResponse> {
-   private StringBuilder currentText = new StringBuilder();
-
-   private Set<String> domains = Sets.newLinkedHashSet();
-   private String nextToken;
-
-   @Override
-   public ListDomainsResponse getResult() {
-      return new ListDomainsResponseImpl(domains, nextToken);
-   }
-
-   public static class ListDomainsResponseImpl extends LinkedHashSet<String> implements ListDomainsResponse {
-
-      private final String nextToken;
-
-      public ListDomainsResponseImpl(Iterable<String> domains, String nextToken) {
-         Iterables.addAll(this, domains);
-         this.nextToken = nextToken;
-      }
-
-      @Override
-      public String getNextToken() {
-         return nextToken;
-      }
-
-   }
-
-   public void endElement(String uri, String name, String qName) {
-      if (qName.equals("DomainName")) {
-         domains.add(currentText.toString().trim());
-      } else if (qName.equals("NextToken")) {
-         if (!currentText.toString().equals(""))
-            this.nextToken = currentText.toString().trim();
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBAsyncClientTest.java b/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBAsyncClientTest.java
deleted file mode 100644
index 105df02..0000000
--- a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBAsyncClientTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jclouds.aws.filters.FormSigner;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.jclouds.simpledb.config.SimpleDBRestClientModule;
-import org.jclouds.simpledb.options.ListDomainsOptions;
-import org.jclouds.simpledb.xml.ListDomainsResponseHandler;
-import org.testng.annotations.Test;
-
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code SimpleDBAsyncClient}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "SimpleDBAsyncClientTest")
-public class SimpleDBAsyncClientTest extends RestClientTest<SimpleDBAsyncClient> {
-
-   protected String provider = "simpledb";
-
-   @RequiresHttp
-   @ConfiguresRestClient
-   private static final class TestSimpleDBRestClientModule extends SimpleDBRestClientModule {
-   }
-
-   public void testListDomainsInRegion() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SimpleDBAsyncClient.class.getMethod("listDomainsInRegion", String.class,
-               ListDomainsOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method);
-
-      assertRequestLineEquals(request, "POST https://sdb.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: sdb.amazonaws.com\n");
-      assertPayloadEquals(request, "Version=2009-04-15&Action=ListDomains", "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, ListDomainsResponseHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testCreateDomainInRegion() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SimpleDBAsyncClient.class.getMethod("createDomainInRegion", String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, null, "domainName");
-
-      assertRequestLineEquals(request, "POST https://sdb.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: sdb.amazonaws.com\n");
-      assertPayloadEquals(request, "Version=2009-04-15&Action=CreateDomain&DomainName=domainName",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   // TODO fix this test as it has the wrong arg type
-   @Test(enabled = false)
-   public void testPutAttributes() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SimpleDBAsyncClient.class.getMethod("putAttributes", String.class, String.class, Map.class);
-      GeneratedHttpRequest request = processor.createRequest(method, null, "domainName");
-
-      assertRequestLineEquals(request, "POST https://sdb.amazonaws.com/ HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Host: sdb.amazonaws.com\n");
-      assertPayloadEquals(request, "Version=2009-04-15&Action=PutAttributes&DomainName=domainName&ItemName=itemName"
-               + "&Attribute.1.Name=name" + "&Attribute.1.Value=fuzzy" + "&Attribute.1.Replace=true",
-               "application/x-www-form-urlencoded", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), FormSigner.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<SimpleDBAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<SimpleDBAsyncClient>>() {
-      };
-   }
-
-   @Override
-   protected Module createModule() {
-      return new TestSimpleDBRestClientModule();
-   }
-
-   @Override
-   public RestContextSpec<?, ?> createContextSpec() {
-      // TODO take this out, when the service is registered in jclouds-core/rest.properties
-      Properties restProperties = new Properties();
-      restProperties.setProperty(provider + ".contextbuilder", SimpleDBContextBuilder.class.getName());
-      restProperties.setProperty(provider + ".propertiesbuilder", SimpleDBPropertiesBuilder.class.getName());
-      return new RestContextFactory(restProperties).createContextSpec(provider, "foo", "bar", getProperties());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBClientLiveTest.java b/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBClientLiveTest.java
deleted file mode 100644
index dc60197..0000000
--- a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/SimpleDBClientLiveTest.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedSet;
-
-import org.jclouds.Constants;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.simpledb.domain.ListDomainsResponse;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code SimpleDBClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true)
-public class SimpleDBClientLiveTest {
-
-   protected SimpleDBClient client;
-
-   private RestContext<SimpleDBClient, SimpleDBAsyncClient> context;
-
-   protected Set<String> domains = Sets.newHashSet();
-   protected String provider = "simpledb";
-   protected String identity;
-   protected String credential;
-   protected String endpoint;
-   protected String apiVersion;
-
-   protected void setupCredentials() {
-      identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider + ".identity");
-      credential = checkNotNull(System.getProperty("test." + provider + ".credential"), "test." + provider
-            + ".credential");
-      endpoint = System.getProperty("test." + provider + ".endpoint");
-     apiVersion = System.getProperty("test." + provider + ".api-version");
-   }
-
-   protected Properties setupProperties() {
-      Properties overrides = new Properties();
-      overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
-      overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true");
-      overrides.setProperty(provider + ".identity", identity);
-      if (credential != null)
-         overrides.setProperty(provider + ".credential", credential);
-      if (endpoint != null)
-         overrides.setProperty(provider + ".endpoint", endpoint);
-      if (apiVersion != null)
-         overrides.setProperty(provider + ".api-version", apiVersion);
-      return overrides;
-   }
-
-   @BeforeGroups(groups = { "live" })
-   public void setupClient() {
-      setupCredentials();
-      Properties overrides = setupProperties();
-      context = new RestContextFactory().createContext(provider, ImmutableSet.<Module> of(new Log4JLoggingModule()),
-            overrides);
-      this.client = context.getApi();
-   }
-
-   @Test
-   protected void testListDomains() throws InterruptedException {
-      listDomainInRegion(null);
-   }
-
-   protected void listDomainInRegion(String region) throws InterruptedException {
-      SortedSet<String> allResults = Sets.newTreeSet(client.listDomainsInRegion(region));
-      assertNotNull(allResults);
-      if (allResults.size() >= 1) {
-         String domain = allResults.last();
-         assertDomainInList(region, domain);
-      }
-   }
-
-   public static final String PREFIX = System.getProperty("user.name") + "-simpledb";
-
-   protected String createDomainInRegion(String region, String domainName) throws InterruptedException {
-      try {
-         SortedSet<String> result = Sets.newTreeSet(client.listDomainsInRegion(region));
-         if (result.size() >= 1) {
-            client.deleteDomainInRegion(region, result.last());
-            domainName += 1;// cannot recreate a domain within 60 seconds
-         }
-      } catch (Exception e) {
-
-      }
-      client.createDomainInRegion(region, domainName);
-
-      // TODO get the domain metadata and ensure the region is correct
-
-      // if (region != null)
-      // assertEquals(domain.getRegion(), region);
-      // assertEquals(domain.getName(), domainName);
-      assertDomainInList(region, domainName);
-      domains.add(domainName);
-      return domainName;
-   }
-
-   @Test
-   protected void testCreateDomain() throws InterruptedException {
-      createDomainInRegion(null, PREFIX + "1");
-   }
-
-   protected void assertDomainInList(final String region, final String domain) throws InterruptedException {
-      assertEventually(new Runnable() {
-         public void run() {
-            ListDomainsResponse domains = client.listDomainsInRegion(region);
-            assert domains.contains(domain) : domain + " not in " + domains;
-         }
-      });
-   }
-
-   private static final int INCONSISTENCY_WINDOW = 10000;
-
-   /**
-    * Due to eventual consistency, container commands may not return correctly immediately. Hence,
-    * we will try up to the inconsistency window to see if the assertion completes.
-    */
-   protected static void assertEventually(Runnable assertion) throws InterruptedException {
-      long start = System.currentTimeMillis();
-      AssertionError error = null;
-      for (int i = 0; i < 30; i++) {
-         try {
-            assertion.run();
-            if (i > 0)
-               System.err.printf("%d attempts and %dms asserting %s%n", i + 1, System.currentTimeMillis() - start,
-                     assertion.getClass().getSimpleName());
-            return;
-         } catch (AssertionError e) {
-            error = e;
-         }
-         Thread.sleep(INCONSISTENCY_WINDOW / 30);
-      }
-      if (error != null)
-         throw error;
-   }
-
-   @AfterTest
-   public void shutdown() {
-      context.close();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/options/ListDomainsOptionsTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/options/ListDomainsOptionsTest.java b/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/options/ListDomainsOptionsTest.java
deleted file mode 100644
index e6c6de3..0000000
--- a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/options/ListDomainsOptionsTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.options;
-
-import static org.jclouds.simpledb.options.ListDomainsOptions.Builder.maxNumberOfDomains;
-import static org.jclouds.simpledb.options.ListDomainsOptions.Builder.nextToken;
-import static org.testng.Assert.assertEquals;
-
-import org.jclouds.http.options.HttpRequestOptions;
-import org.testng.annotations.Test;
-
-/**
- * Tests possible uses of ListDomainsOptions and ListDomainsOptions.Builder.*
- * 
- * @author Adrian Cole
- */
-public class ListDomainsOptionsTest {
-
-   @Test
-   public void testAssignability() {
-      assert HttpRequestOptions.class.isAssignableFrom(ListDomainsOptions.class);
-      assert !String.class.isAssignableFrom(ListDomainsOptions.class);
-   }
-
-   @Test
-   public void testNextToken() {
-      ListDomainsOptions options = new ListDomainsOptions();
-      options.nextToken("test");
-      assertEquals(options.buildFormParameters().get("NextToken"), ImmutableList.of("test"));
-   }
-
-   @Test
-   public void testNullNextToken() {
-      ListDomainsOptions options = new ListDomainsOptions();
-      assertEquals(options.buildFormParameters().get("NextToken"), ImmutableList.of());
-   }
-
-   @Test
-   public void testNextTokenStatic() {
-      ListDomainsOptions options = nextToken("test");
-      assertEquals(options.buildFormParameters().get("NextToken"), ImmutableList.of("test"));
-   }
-
-   public void testInvalidMaxNumberOfDomainsZero() {
-      maxNumberOfDomains(0);
-   }
-
-   public void testInvalidMaxNumberOfDomainsOver100() {
-      maxNumberOfDomains(101);
-   }
-
-   @Test
-   public void testMaxNumberOfDomains() {
-      ListDomainsOptions options = new ListDomainsOptions();
-      options.maxNumberOfDomains(1);
-      assertEquals(options.buildFormParameters().get("MaxNumberOfDomains"), ImmutableList.of("1"));
-   }
-
-   @Test
-   public void testNullMaxNumberOfDomains() {
-      ListDomainsOptions options = new ListDomainsOptions();
-      assertEquals(options.buildFormParameters().get("MaxNumberOfDomains"), ImmutableList.of());
-   }
-
-   @Test
-   public void testMaxNumberOfDomainsStatic() {
-      ListDomainsOptions options = maxNumberOfDomains(1);
-      assertEquals(options.buildFormParameters().get("MaxNumberOfDomains"), ImmutableList.of("1"));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/xml/ListDomainsResponseHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/xml/ListDomainsResponseHandlerTest.java b/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/xml/ListDomainsResponseHandlerTest.java
deleted file mode 100644
index 94424d3..0000000
--- a/sandbox-apis/simpledb/src/test/java/org/jclouds/simpledb/xml/ListDomainsResponseHandlerTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.simpledb.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.simpledb.domain.ListDomainsResponse;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Tests behavior of {@code ListDomainsResponseHandler}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "ListDomainsResponseHandlerTest")
-public class ListDomainsResponseHandlerTest extends BaseHandlerTest {
-
-   public void test() {
-      InputStream is = getClass().getResourceAsStream("/list_domains.xml");
-
-      ListDomainsResponse result = factory.create(injector.getInstance(ListDomainsResponseHandler.class)).parse(is);
-
-      assertEquals(
-            result,
-            new ListDomainsResponseHandler.ListDomainsResponseImpl(ImmutableSet.of("Domain1-200706011651",
-                  "Domain2-200706011652"), "TWV0ZXJpbmdUZXN0RG9tYWluMS0yMDA3MDYwMTE2NTY"));
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/test/resources/list_domains.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/test/resources/list_domains.xml b/sandbox-apis/simpledb/src/test/resources/list_domains.xml
deleted file mode 100644
index bd5595c..0000000
--- a/sandbox-apis/simpledb/src/test/resources/list_domains.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<ListDomainsResponse>
-  <ListDomainsResult>
-    <DomainName>Domain1-200706011651</DomainName>
-    <DomainName>Domain2-200706011652</DomainName>
-    <NextToken>TWV0ZXJpbmdUZXN0RG9tYWluMS0yMDA3MDYwMTE2NTY=</NextToken>
-  </ListDomainsResult>
-  <ResponseMetadata>
-    <RequestId>eb13162f-1b95-4511-8b12-489b86acfd28</RequestId>
-    <BoxUsage>0.0000219907</BoxUsage>
-  </ResponseMetadata>
-</ListDomainsResponse>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/simpledb/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/simpledb/src/test/resources/log4j.xml b/sandbox-apis/simpledb/src/test/resources/log4j.xml
deleted file mode 100644
index bca086b..0000000
--- a/sandbox-apis/simpledb/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,89 +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>
-
-    <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.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    <!-- ======================= -->
-    <!-- Setup the Root category -->
-    <!-- ======================= -->
-
-    <root>
-        <priority value="WARN" />
-    </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-drivers/asynchttpclient/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-drivers/asynchttpclient/pom.xml b/sandbox-drivers/asynchttpclient/pom.xml
deleted file mode 100644
index 5491450..0000000
--- a/sandbox-drivers/asynchttpclient/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.driver</groupId>
-    <artifactId>jclouds-asynchttpclient</artifactId>
-    <name>jclouds Ning Http Client</name>
-    <description>Ning Http client</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <jclouds.osgi.export>org.jclouds.http.ning*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <!-- bootstrapping: need to fetch the project POM -->
-    <repositories>
-        <repository>
-            <id>jclouds-sona-snapshots-nexus</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.ning</groupId>
-            <artifactId>async-http-client</artifactId>
-            <version>1.7.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-security</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java
----------------------------------------------------------------------
diff --git a/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java b/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java
deleted file mode 100644
index 0202a05..0000000
--- a/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/NingHttpCommandExecutorService.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.http.ning;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Throwables.propagate;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.HttpHeaders;
-
-import org.jclouds.JcloudsVersion;
-import org.jclouds.crypto.CryptoStreams;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpCommandExecutorService;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.handlers.DelegatingErrorHandler;
-import org.jclouds.http.handlers.DelegatingRetryHandler;
-import org.jclouds.http.internal.BaseHttpCommandExecutorService;
-import org.jclouds.io.Payload;
-import org.jclouds.io.Payloads;
-import org.jclouds.io.payloads.FilePayload;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-
-import com.google.common.base.Function;
-import com.google.common.base.Throwables;
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Multimap;
-import com.google.common.io.Closeables;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.inject.Inject;
-import com.ning.http.client.AsyncHttpClient;
-import com.ning.http.client.Request;
-import com.ning.http.client.RequestBuilder;
-import com.ning.http.client.Response;
-import com.ning.http.client.generators.InputStreamBodyGenerator;
-
-/**
- * Todo Write me
- * 
- * @author Sam Tunnicliffe
- * @author Adrian Cole
- */
-public class NingHttpCommandExecutorService implements HttpCommandExecutorService {
-
-   //TODO: get async version from maven or something
-   public static final String USER_AGENT = String.format("jclouds/%s async-http-client/%s", JcloudsVersion.get(), "1.7.4");
-
-   private final AsyncHttpClient client;
-   private final ConvertToNingRequest convertToNingRequest;
-   private final ConvertToJCloudsResponse convertToJCloudsResponse;
-   private final DelegatingRetryHandler retryHandler;
-   private final DelegatingErrorHandler errorHandler;
-
-   @Inject
-   public NingHttpCommandExecutorService(AsyncHttpClient client, ConvertToNingRequest convertToNingRequest,
-            ConvertToJCloudsResponse convertToJCloudsResponse, DelegatingRetryHandler retryHandler,
-            DelegatingErrorHandler errorHandler) {
-      this.client = client;
-      this.convertToNingRequest = convertToNingRequest;
-      this.convertToJCloudsResponse = convertToJCloudsResponse;
-      this.retryHandler = retryHandler;
-      this.errorHandler = errorHandler;
-   }
-
-   @Override
-   public ListenableFuture<HttpResponse> submit(HttpCommand command) {
-      try {
-         for (;;) {
-            Future<Response> responseF = client.executeRequest(convertToNingRequest.apply(command.getCurrentRequest()));
-            final HttpResponse httpResponse = convertToJCloudsResponse.apply(responseF.get());
-            int statusCode = httpResponse.getStatusCode();
-            if (statusCode >= 300) {
-               if (retryHandler.shouldRetryRequest(command, httpResponse)) {
-                  continue;
-               } else {
-                  errorHandler.handleError(command, httpResponse);
-                  return Futures.immediateFuture(httpResponse);
-               }
-            } else {
-               return Futures.immediateFuture(httpResponse);
-            }
-         }
-
-      } catch (IOException e) {
-         throw Throwables.propagate(e);
-      } catch (InterruptedException e) {
-         throw Throwables.propagate(e);
-      } catch (ExecutionException e) {
-         throw Throwables.propagate(e);
-      }
-   }
-
-   @Singleton
-   public static class ConvertToNingRequest implements Function<HttpRequest, Request> {
-
-      public Request apply(HttpRequest request) {
-
-         for (HttpRequestFilter filter : request.getFilters()) {
-            request = filter.filter(request);
-         }
-
-         RequestBuilder builder = new RequestBuilder(request.getMethod());
-         builder.setUrl(request.getEndpoint().toASCIIString());
-         Payload payload = request.getPayload();
-         if (payload != null) {
-            boolean chunked = "chunked".equals(request.getFirstHeaderOrNull("Transfer-Encoding"));
-
-            if (request.getPayload().getContentMetadata().getContentMD5() != null)
-               builder.addHeader("Content-MD5", CryptoStreams.base64(request.getPayload().getContentMetadata()
-                        .getContentMD5()));
-            if (request.getPayload().getContentMetadata().getContentType() != null)
-               builder.addHeader(HttpHeaders.CONTENT_TYPE, request.getPayload().getContentMetadata().getContentType());
-            if (request.getPayload().getContentMetadata().getContentLanguage() != null)
-               builder.addHeader(HttpHeaders.CONTENT_LANGUAGE, request.getPayload().getContentMetadata()
-                        .getContentLanguage());
-            if (request.getPayload().getContentMetadata().getContentEncoding() != null)
-               builder.addHeader(HttpHeaders.CONTENT_ENCODING, request.getPayload().getContentMetadata()
-                        .getContentEncoding());
-            if (request.getPayload().getContentMetadata().getContentDisposition() != null)
-               builder.addHeader("Content-Disposition", request.getPayload().getContentMetadata()
-                        .getContentDisposition());
-            if (!chunked) {
-               Long length = checkNotNull(request.getPayload().getContentMetadata().getContentLength(),
-                        "payload.getContentLength");
-               builder.addHeader(HttpHeaders.CONTENT_LENGTH, length.toString());
-            }
-            setPayload(builder, payload);
-         } else {
-            builder.addHeader(HttpHeaders.CONTENT_LENGTH, "0");
-         }
-
-         builder.addHeader(HttpHeaders.USER_AGENT, USER_AGENT);
-         for (Map<String, String> entry : request.getHeaders().entries()) {
-            builder.addHeader(entry.getKey(), entry.getValue());
-         }
-
-         return builder.build();
-      }
-
-      void setPayload(RequestBuilder requestBuilder, Payload payload) {
-         if (payload instanceof FilePayload) {
-            requestBuilder.setBody(((FilePayload) payload).getRawContent());
-         } else {
-            requestBuilder.setBody(new InputStreamBodyGenerator(payload.getInput()));
-         }
-      }
-   }
-
-   @Singleton
-   public static class ConvertToJCloudsResponse implements Function<Response, HttpResponse> {
-
-      public HttpResponse apply(Response nativeResponse) {
-
-         InputStream in = null;
-         try {
-            in = BaseHttpCommandExecutorService.consumeOnClose(nativeResponse.getResponseBodyAsStream());
-         } catch (IOException e) {
-            Closeables.closeQuietly(in);
-            throw propagate(e);
-         }
-
-         Payload payload = in != null ? Payloads.newInputStreamPayload(in) : null;
-         Multimap<String, String> headers = LinkedHashMultimap.create();
-         for (Entry<String, List<String>> header : nativeResponse.getHeaders()) {
-            headers.putAll(header.getKey(), header.getValue());
-         }
-         if (payload != null)
-            payload.getContentMetadata().setPropertiesFromHttpHeaders(headers);
-         return new HttpResponse(nativeResponse.getStatusCode(), nativeResponse.getStatusText(), payload,
-                  RestAnnotationProcessor.filterOutContentHeaders(headers));
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/config/NingHttpCommandExecutorServiceModule.java
----------------------------------------------------------------------
diff --git a/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/config/NingHttpCommandExecutorServiceModule.java b/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/config/NingHttpCommandExecutorServiceModule.java
deleted file mode 100644
index 9a1d78e..0000000
--- a/sandbox-drivers/asynchttpclient/src/main/java/org/jclouds/http/ning/config/NingHttpCommandExecutorServiceModule.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.http.ning.config;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpCommandExecutorService;
-import org.jclouds.http.TransformingHttpCommandExecutorService;
-import org.jclouds.http.TransformingHttpCommandExecutorServiceImpl;
-import org.jclouds.http.config.ConfiguresHttpCommandExecutorService;
-import org.jclouds.http.ning.NingHttpCommandExecutorService;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import com.google.inject.Scopes;
-import com.ning.http.client.AsyncHttpClient;
-import com.ning.http.client.AsyncHttpClientConfig;
-
-/**
- * Configures {@link NingHttpCommandExecutorService}.
- * 
- * Note that this uses threads
- * 
- * @author Sam Tunnicliffe
- * @author Adrian Cole
- */
-@ConfiguresHttpCommandExecutorService
-public class NingHttpCommandExecutorServiceModule extends AbstractModule {
-
-   @Override
-   protected void configure() {
-      bindClient();
-   }
-
-   @Singleton
-   @Provides
-   AsyncHttpClient provideNingClient() {
-      AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setFollowRedirects(true)
-               .build();
-      return new AsyncHttpClient(config);
-   }
-
-   protected void bindClient() {
-      bind(HttpCommandExecutorService.class).to(NingHttpCommandExecutorService.class).in(
-               Scopes.SINGLETON);
-
-      bind(TransformingHttpCommandExecutorService.class).to(
-               TransformingHttpCommandExecutorServiceImpl.class).in(Scopes.SINGLETON);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-drivers/asynchttpclient/src/test/java/org/jclouds/http/ning/NingHttpCommandExecutorServiceTest.java
----------------------------------------------------------------------
diff --git a/sandbox-drivers/asynchttpclient/src/test/java/org/jclouds/http/ning/NingHttpCommandExecutorServiceTest.java b/sandbox-drivers/asynchttpclient/src/test/java/org/jclouds/http/ning/NingHttpCommandExecutorServiceTest.java
deleted file mode 100644
index 51d9be9..0000000
--- a/sandbox-drivers/asynchttpclient/src/test/java/org/jclouds/http/ning/NingHttpCommandExecutorServiceTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.http.ning;
-
-import static org.jclouds.Constants.PROPERTY_CONNECTION_TIMEOUT;
-import static org.jclouds.Constants.PROPERTY_IO_WORKER_THREADS;
-import static org.jclouds.Constants.PROPERTY_MAX_CONNECTIONS_PER_CONTEXT;
-import static org.jclouds.Constants.PROPERTY_MAX_CONNECTIONS_PER_HOST;
-import static org.jclouds.Constants.PROPERTY_SO_TIMEOUT;
-import static org.jclouds.Constants.PROPERTY_USER_THREADS;
-
-import java.util.Properties;
-
-import org.jclouds.http.BaseHttpCommandExecutorServiceIntegrationTest;
-import org.jclouds.http.ning.config.NingHttpCommandExecutorServiceModule;
-import org.testng.annotations.Test;
-
-import com.google.inject.Module;
-
-/**
- * Tests the functionality of the {@link ApacheHCHttpCommandExecutorService}
- * 
- * @author Adrian Cole
- */
-@Test(testName = "NingHttpCommandExecutorServiceTest")
-public class NingHttpCommandExecutorServiceTest extends BaseHttpCommandExecutorServiceIntegrationTest {
-   static {
-      System.setProperty("http.conn-manager.timeout", 1000 + "");
-   }
-
-   protected Module createConnectionModule() {
-      return new NingHttpCommandExecutorServiceModule();
-   }
-
-   protected void addConnectionProperties(Properties props) {
-      props.setProperty(PROPERTY_MAX_CONNECTIONS_PER_CONTEXT, 20 + "");
-      props.setProperty(PROPERTY_MAX_CONNECTIONS_PER_HOST, 0 + "");
-      props.setProperty(PROPERTY_CONNECTION_TIMEOUT, 100 + "");
-      props.setProperty(PROPERTY_SO_TIMEOUT, 100 + "");
-      props.setProperty(PROPERTY_IO_WORKER_THREADS, 3 + "");
-      props.setProperty(PROPERTY_USER_THREADS, 0 + "");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-drivers/asynchttpclient/src/test/resources/test.jks
----------------------------------------------------------------------
diff --git a/sandbox-drivers/asynchttpclient/src/test/resources/test.jks b/sandbox-drivers/asynchttpclient/src/test/resources/test.jks
deleted file mode 100644
index e641fb5..0000000
Binary files a/sandbox-drivers/asynchttpclient/src/test/resources/test.jks and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/pom.xml b/sandbox-providers/aws-simpledb/pom.xml
deleted file mode 100644
index 40f238f..0000000
--- a/sandbox-providers/aws-simpledb/pom.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>aws-simpledb</artifactId>
-    <name>jclouds Amazon SimpleDB provider</name>
-    <description>SimpleDB implementation targeted to Amazon Web Services</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.aws-simpledb.endpoint>https://sdb.amazonaws.com</test.aws-simpledb.endpoint>
-        <test.aws-simpledb.api-version>2009-04-15</test.aws-simpledb.api-version>
-        <test.aws-simpledb.build-version></test.aws-simpledb.build-version>
-        <test.aws-simpledb.identity>${test.aws.identity}</test.aws-simpledb.identity>
-        <test.aws-simpledb.credential>${test.aws.credential}</test.aws-simpledb.credential>
-
-        <jclouds.osgi.export>org.jclouds.aws.simpledb*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>simpledb</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>simpledb</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.aws-simpledb.endpoint>${test.aws-simpledb.endpoint}</test.aws-simpledb.endpoint>
-                                        <test.aws-simpledb.api-version>${test.aws-simpledb.api-version}</test.aws-simpledb.api-version>
-                                        <test.aws-simpledb.build-version>${test.aws-simpledb.build-version}</test.aws-simpledb.build-version>
-                                        <test.aws-simpledb.identity>${test.aws-simpledb.identity}</test.aws-simpledb.identity>
-                                        <test.aws-simpledb.credential>${test.aws-simpledb.credential}</test.aws-simpledb.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBPropertiesBuilder.java b/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBPropertiesBuilder.java
deleted file mode 100644
index 6d03226..0000000
--- a/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBPropertiesBuilder.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.aws.simpledb;
-
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.aws.domain.Region.AP_NORTHEAST_1;
-import static org.jclouds.aws.domain.Region.AP_SOUTHEAST_1;
-import static org.jclouds.aws.domain.Region.EU_WEST_1;
-import static org.jclouds.aws.domain.Region.SA_EAST_1;
-import static org.jclouds.aws.domain.Region.US_EAST_1;
-import static org.jclouds.aws.domain.Region.US_WEST_1;
-import static org.jclouds.aws.domain.Region.US_WEST_2;
-import static org.jclouds.aws.reference.AWSConstants.PROPERTY_AUTH_TAG;
-import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
-
-import java.util.Properties;
-
-import org.jclouds.aws.domain.Region;
-
-/**
- * Builds properties used in SimpleDB Clients
- * 
- * @author Adrian Cole
- */
-public class AWSSimpleDBPropertiesBuilder extends org.jclouds.simpledb.SimpleDBPropertiesBuilder {
-
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_AUTH_TAG, "AWS");
-      properties.putAll(Region.regionProperties());
-      
-      properties.setProperty(PROPERTY_ENDPOINT, "https://sdb.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + US_EAST_1 + ".endpoint", "https://sdb.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + US_WEST_1 + ".endpoint",
-            "https://sdb.us-west-1.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + US_WEST_2 + ".endpoint",
-            "https://sdb.us-west-2.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + SA_EAST_1 + ".endpoint",
-            "https://sdb.sa-east-1.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + EU_WEST_1 + ".endpoint",
-            "https://sdb.eu-west-1.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + AP_SOUTHEAST_1 + ".endpoint",
-            "https://sdb.ap-southeast-1.amazonaws.com");
-      properties.setProperty(PROPERTY_REGION + "." + AP_NORTHEAST_1 + ".endpoint",
-            "https://sdb.ap-northeast-1.amazonaws.com");
-      return properties;
-   }
-
-   public AWSSimpleDBPropertiesBuilder() {
-      super();
-   }
-
-   public AWSSimpleDBPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderMetadata.java b/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderMetadata.java
deleted file mode 100644
index fd47d3d..0000000
--- a/sandbox-providers/aws-simpledb/src/main/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderMetadata.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.aws.simpledb;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.providers.BaseProviderMetadata;
-import org.jclouds.providers.ProviderMetadata;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Implementation of @ link org.jclouds.types.ProviderMetadata} for Amazon's SimpleDB provider.
- * 
- * @author Adrian Cole
- */
-public class AWSSimpleDBProviderMetadata extends BaseProviderMetadata {
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getId() {
-      return "aws-simpledb";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getType() {
-      return ProviderMetadata.TABLE_TYPE;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getName() {
-      return "Amazon SimpleDB";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getIdentityName() {
-      return "Access Key ID";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getCredentialName() {
-      return "Secret Access Key";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getHomepage() {
-      return URI.create("http://aws.amazon.com/simpledb");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getConsole() {
-      return null;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getApiDocumentation() {
-      return URI.create("http://docs.amazonwebservices.com/AmazonSimpleDB/latest/DeveloperGuide");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getLinkedServices() {
-      return ImmutableSet.of("aws-s3", "aws-ec2", "aws-elb", "aws-simpledb");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getIso3166Codes() {
-      return ImmutableSet.of("US-VA", "US-CA", "US-OR", "BR-SP", "IE", "SG", "JP-13");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/sandbox-providers/aws-simpledb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 2e3fd4f..0000000
--- a/sandbox-providers/aws-simpledb/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.aws.simpledb.AWSSimpleDBProviderMetadata

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBAsyncClientTest.java b/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBAsyncClientTest.java
deleted file mode 100644
index fc80d04..0000000
--- a/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBAsyncClientTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.aws.simpledb;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Properties;
-
-import org.jclouds.aws.domain.Region;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.simpledb.SimpleDBAsyncClient;
-import org.jclouds.simpledb.SimpleDBAsyncClientTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code SimpleDBAsyncClient}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "aws.SimpleDBAsyncClientTest")
-public class AWSSimpleDBAsyncClientTest extends SimpleDBAsyncClientTest {
-
-   public AWSSimpleDBAsyncClientTest() {
-      this.provider = "aws-simpledb";
-   }
-
-   @Override
-   protected Properties getProperties() {
-      return RestContextFactory.getPropertiesFromResource("/rest.properties");
-   }
-
-   public void testAllRegions() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SimpleDBAsyncClient.class.getMethod("createDomainInRegion", String.class, String.class);
-      for (String region : Region.DEFAULT_REGIONS) {
-         processor.createRequest(method, region, "domainName");
-      }
-   }
-
-   @Override
-   public RestContextSpec<?, ?> createContextSpec() {
-      return new RestContextFactory().createContextSpec(provider, "foo", "bar", getProperties());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBClientLiveTest.java b/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBClientLiveTest.java
deleted file mode 100644
index e9f3e81..0000000
--- a/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBClientLiveTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.aws.simpledb;
-
-import org.jclouds.aws.domain.Region;
-import org.jclouds.simpledb.SimpleDBClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code SimpleDBClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "AWSSimpleDBClientLiveTest")
-public class AWSSimpleDBClientLiveTest extends SimpleDBClientLiveTest {
-   public AWSSimpleDBClientLiveTest(){
-      provider = "aws-simpledb";
-   }
-   @Test
-   void testListDomainsInRegion() throws InterruptedException {
-      for (String region : Region.DEFAULT_REGIONS) {
-         listDomainInRegion(region);
-      }
-   }
-
-   @Test
-   void testCreateDomainInRegions() throws InterruptedException {
-      String domainName = PREFIX + "1";
-      for (String region : Region.DEFAULT_REGIONS) {
-         domainName = createDomainInRegion(region, domainName);
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderTest.java b/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderTest.java
deleted file mode 100644
index 51d6003..0000000
--- a/sandbox-providers/aws-simpledb/src/test/java/org/jclouds/aws/simpledb/AWSSimpleDBProviderTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.aws.simpledb;
-
-import org.jclouds.providers.BaseProviderMetadataTest;
-import org.jclouds.providers.ProviderMetadata;
-import org.testng.annotations.Test;
-
-/**
- * The AWSSimpleDBProviderTest tests the org.jclouds.providers.AWSSimpleDBProvider class.
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "AWSSimpleDBProviderTest")
-public class AWSSimpleDBProviderTest extends BaseProviderMetadataTest {
-
-   public AWSSimpleDBProviderTest() {
-      super(new AWSSimpleDBProviderMetadata(), ProviderMetadata.TABLE_TYPE);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/pom.xml b/sandbox-providers/azurequeue/pom.xml
deleted file mode 100644
index 1975541..0000000
--- a/sandbox-providers/azurequeue/pom.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>azurequeue</artifactId>
-    <name>jcloud azurequeue provider</name>
-    <description>jclouds components to access Azure Queue Service</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.azurequeue.endpoint>https://${jclouds.identity}.queue.core.windows.net</test.azurequeue.endpoint>
-        <test.azurequeue.api-version>2009-09-19</test.azurequeue.api-version>
-        <test.azurequeue.build-version></test.azurequeue.build-version>
-        <test.azurequeue.identity>${test.azure.identity}</test.azurequeue.identity>
-        <test.azurequeue.credential>${test.azure.credential}</test.azurequeue.credential>
-
-        <jclouds.osgi.export>org.jclouds.azurequeue*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.common</groupId>
-            <artifactId>azure-common</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.azurequeue.endpoint>${test.azurequeue.endpoint}</test.azurequeue.endpoint>
-                                        <test.azurequeue.api-version>${test.azurequeue.api-version}</test.azurequeue.api-version>
-                                        <test.azurequeue.build-version>${test.azurequeue.build-version}</test.azurequeue.build-version>
-                                        <test.azurequeue.identity>${test.azurequeue.identity}</test.azurequeue.identity>
-                                        <test.azurequeue.credential>${test.azurequeue.credential}</test.azurequeue.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueAsyncClient.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueAsyncClient.java
deleted file mode 100644
index c3cb995..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueAsyncClient.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue;
-
-import java.util.Set;
-import java.util.concurrent.ExecutionException;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.azure.storage.domain.BoundedSet;
-import org.jclouds.azure.storage.filters.SharedKeyLiteAuthentication;
-import org.jclouds.azure.storage.options.CreateOptions;
-import org.jclouds.azure.storage.options.ListOptions;
-import org.jclouds.azurequeue.binders.BindToXmlStringPayload;
-import org.jclouds.azurequeue.domain.QueueMessage;
-import org.jclouds.azurequeue.domain.QueueMetadata;
-import org.jclouds.azurequeue.options.GetOptions;
-import org.jclouds.azurequeue.options.PutMessageOptions;
-import org.jclouds.azurequeue.xml.AccountNameEnumerationResultsHandler;
-import org.jclouds.azurequeue.xml.QueueMessagesListHandler;
-import org.jclouds.azure.storage.reference.AzureStorageHeaders;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Headers;
-import org.jclouds.rest.annotations.QueryParams;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.rest.annotations.XMLResponseParser;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to Azure Queue via their REST API.
- * <p/>
- * The Queue service stores messages that may be read by any client who has access to the storage
- * identity.
- * <p/>
- * A queue can contain an unlimited number of messages, each of which can be up to 8 KB in size.
- * Messages are generally added to the end of the queue and retrieved from the front of the queue,
- * although first in, first out (FIFO) behavior is not guaranteed.
- * <p/>
- * If you need to store messages larger than 8 KB, you can store message data as a blob or in a
- * table, and then store a reference to the data as a message in a queue.
- * <p/>
- * All commands return a ListenableFuture of the result from Azure Queue. Any exceptions incurred
- * during processing will be wrapped in an {@link ExecutionException} as documented in
- * {@link ListenableFuture#get()}.
- * 
- * @see <a href="http://msdn.microsoft.com/en-us/library/dd179363%28v=MSDN.10%29.aspx" />
- * @author Adrian Cole
- */
-@SkipEncoding('/')
-@RequestFilters(SharedKeyLiteAuthentication.class)
-@Headers(keys = AzureStorageHeaders.VERSION, values = "2009-09-19")
-public interface AzureQueueAsyncClient {
-
-   /**
-    * @see AzureQueueClient#listQueues
-    */
-   @GET
-   @XMLResponseParser(AccountNameEnumerationResultsHandler.class)
-   @Path("/")
-   @QueryParams(keys = "comp", values = "list")
-   ListenableFuture<? extends BoundedSet<QueueMetadata>> listQueues(ListOptions... listOptions);
-
-   /**
-    * @see AzureQueueClient#createQueue
-    */
-   @PUT
-   @Path("/{queue}")
-   ListenableFuture<Boolean> createQueue(@PathParam("queue") String queue, CreateOptions... options);
-
-   /**
-    * @see AzureQueueClient#getMessages
-    */
-   @GET
-   @Path("/{queue}/messages")
-   @XMLResponseParser(QueueMessagesListHandler.class)
-   ListenableFuture<Set<QueueMessage>> getMessages(@PathParam("queue") String queue,
-            GetOptions... options);
-
-   /**
-    * @see AzureQueueClient#deleteQueue
-    */
-   @DELETE
-   @Path("/{queue}")
-   ListenableFuture<Void> deleteQueue(@PathParam("queue") String queue);
-
-   /**
-    * @see AzureQueueClient#putMessage
-    */
-   @POST
-   @Path("/{queue}/messages")
-   ListenableFuture<Void> putMessage(@PathParam("queue") String queue,
-            @BinderParam(BindToXmlStringPayload.class) String message, PutMessageOptions... options);
-
-   /**
-    * @see AzureQueueClient#clearMessages
-    */
-   @DELETE
-   @Path("/{queue}/messages")
-   ListenableFuture<Void> clearMessages(@PathParam("queue") String queue);
-}


[10/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueClient.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueClient.java
deleted file mode 100644
index 7566cde..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueClient.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue;
-
-import java.util.Set;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.azure.storage.domain.BoundedSet;
-import org.jclouds.azure.storage.options.CreateOptions;
-import org.jclouds.azure.storage.options.ListOptions;
-import org.jclouds.azurequeue.domain.QueueMessage;
-import org.jclouds.azurequeue.domain.QueueMetadata;
-import org.jclouds.azurequeue.options.GetOptions;
-import org.jclouds.azurequeue.options.PutMessageOptions;
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.http.HttpResponseException;
-
-import java.util.concurrent.Future;
-
-/**
- * Provides access to Azure Queue via their REST API.
- * <p/>
- * The Queue service stores messages that may be read by any client who has access to the storage
- * identity.
- * <p/>
- * A queue can contain an unlimited number of messages, each of which can be up to 8 KB in size.
- * Messages are generally added to the end of the queue and retrieved from the front of the queue,
- * although first in, first out (FIFO) behavior is not guaranteed.
- * <p/>
- * If you need to store messages larger than 8 KB, you can store message data as a blob or in a
- * table, and then store a reference to the data as a message in a queue.
- * <p/>
- * All commands return a Future of the result from Azure Queue. Any exceptions incurred
- * during processing will be wrapped in an {@link ExecutionException} as documented in
- * {@link Future#get()}.
- * 
- * @see AzureQueueAsyncClient
- * @see <a href="http://msdn.microsoft.com/en-us/library/dd135733.aspx" />
- * @author Adrian Cole
- */
-@Timeout(duration = 30, timeUnit = TimeUnit.SECONDS)
-public interface AzureQueueClient {
-
-   /**
-    * The List Queues operation returns a list of the queues under the specified identity.
-    * <p />
-    * The 2009-07-17 version of the List Queues operation times out after 30 seconds.
-    * 
-    * @param listOptions
-    *           controls the number or type of results requested
-    * @see ListOptions
-    */
-   BoundedSet<QueueMetadata> listQueues(ListOptions... listOptions);
-
-   /**
-    * The Create Queue operation creates a new queue under the specified identity.
-    * <p/>
-    * You can specify user-defined metadata as name-value pairs on the queue at the time that it is
-    * created.
-    * <p/>
-    * When a queue with the specified name already exists, the Queue service checks the metadata
-    * associated with the existing queue. If the existing metadata is identical to the metadata
-    * specified on the Create Queue request, status code 204 (No Content) is returned.
-    * <p/>
-    * If the existing metadata does not match the metadata provided with the Create Queue request,
-    * the operation fails and status code 409 (Conflict) is returned. Clients can take advantage of
-    * this behavior to avoid an additional call to check whether a named queue already exists.
-    * 
-    * @see CreateQueueOptions
-    * 
-    */
-   boolean createQueue(String queue, CreateOptions... options);
-
-   /**
-    * The Delete Queue operation permanently deletes the specified queue.
-    * 
-    * <p/>
-    * When a queue is successfully deleted, the queue is immediately marked for deletion and is no
-    * longer accessible to clients. The queue is later removed from the Queue service during garbage
-    * collection.
-    * 
-    */
-   void deleteQueue(String queue);
-
-   /**
-    * The Put Message operation adds a new message to the back of the message queue. A message may
-    * be up to 8 KB in size and must be in a format that can be included in an XML request with
-    * UTF-8 encoding.
-    * 
-    * <p/>
-    * 
-    * The message time-to-live specifies how long a message will remain in the queue, from the time
-    * it is added to the time it is retrieved and deleted. If a message is not retrieved before the
-    * time-to-live interval expires, the message is removed from the queue.
-    * 
-    * @throws HttpResponseException
-    *            If the message is too large, the service returns status code 400 (Bad Request).
-    * 
-    */
-   void putMessage(String queue, String message, PutMessageOptions... options);
-
-   /**
-    * The Clear Messages operation deletes all messages from the specified queue.
-    * 
-    * <p/>
-    * If a queue contains a large number of messages, Clear Messages may time out before all
-    * messages have been deleted. In this case the Queue service will return status code 500
-    * (Internal Server Error), with the additional error code OperationTimedOut. If the operation
-    * times out, the client should continue to retry Clear Messages until it succeeds, to ensure
-    * that all messages have been deleted.
-    */
-   @Timeout(duration = 10, timeUnit = TimeUnit.MINUTES)
-   void clearMessages(String queue);
-
-   /**
-    * The Get Messages operation retrieves one or more messages from the front of the queue.
-    * 
-    * @param queue
-    *           the name of the queue to retrieve messages from
-    * @param options
-    *           controls the number of messages to receive and the visibility window
-    */
-   Set<QueueMessage> getMessages(String queue, GetOptions... options);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueProviderMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueProviderMetadata.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueProviderMetadata.java
deleted file mode 100644
index 24ba89c..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/AzureQueueProviderMetadata.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue;
-
-import com.google.common.collect.ImmutableSet;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.providers.BaseProviderMetadata;
-import org.jclouds.providers.ProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Microsoft Azure Queue Service.
- * 
- * @author Adrian Cole
- */
-public class AzureQueueProviderMetadata extends BaseProviderMetadata {
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getId() {
-      return "azurequeue";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getType() {
-      return ProviderMetadata.QUEUE_TYPE;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getName() {
-      return "Microsoft Azure Queue Service";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getIdentityName() {
-      return "Account Name";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getCredentialName() {
-      return "Access Key";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getHomepage() {
-      return URI.create("http://www.microsoft.com/windowsazure/storage/");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getConsole() {
-      return URI.create("https://windows.azure.com/default.aspx");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getApiDocumentation() {
-      return URI.create("http://msdn.microsoft.com/en-us/library/dd135733.aspx");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getLinkedServices() {
-      return ImmutableSet.of("azureblob", "azurequeue", "azuretable");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getIso3166Codes() {
-      return ImmutableSet.of("US-TX","US-IL","IE-D","SG","NL-NH","HK");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/binders/BindToXmlStringPayload.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/binders/BindToXmlStringPayload.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/binders/BindToXmlStringPayload.java
deleted file mode 100644
index ef95a62..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/binders/BindToXmlStringPayload.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.binders.BindToStringPayload;
-
-/**
- * Adds an payload to a request.
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BindToXmlStringPayload extends BindToStringPayload {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object payload) {
-      return super.bindToRequest(request, new StringBuilder().append("<QueueMessage><MessageText>").append(payload)
-            .append("</MessageText></QueueMessage>").toString());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMessage.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMessage.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMessage.java
deleted file mode 100644
index fb7960b..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMessage.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.domain;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Date;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class QueueMessage {
-   private final String messageId;
-   private final Date insertionTime;
-   private final Date expirationTime;
-   private final int dequeueCount;
-   private final String popReceipt;
-   private final Date timeNextVisible;
-   private final String messageText;
-
-   public QueueMessage(String messageId, Date insertionTime, Date expirationTime, int dequeueCount,
-            String popReceipt, Date timeNextVisible, String messageText) {
-      this.messageId = checkNotNull(messageId, "messageId");
-      this.insertionTime = checkNotNull(insertionTime, "insertionTime");
-      this.expirationTime = checkNotNull(expirationTime, "expirationTime");
-      this.dequeueCount = dequeueCount;
-      checkArgument(dequeueCount >= 0, "dequeueCount not set");
-      this.popReceipt = checkNotNull(popReceipt, "popReceipt");
-      this.timeNextVisible = checkNotNull(timeNextVisible, "timeNextVisible");
-      this.messageText = checkNotNull(messageText, "messageText");
-   }
-
-   /**
-    * The MessageID element is a GUID value that identifies the message in the queue. This value is
-    * assigned to the message by the Queue service and is opaque to the client. This value may be
-    * used together with the value of the PopReceipt element to delete a message from the queue
-    * after it has been retrieved with the Get Messages operation.
-    * 
-    * 
-    */
-   public String getMessageId() {
-      return messageId;
-   }
-
-   public Date getInsertionTime() {
-      return insertionTime;
-   }
-
-   public Date getExpirationTime() {
-      return expirationTime;
-   }
-
-   /**
-    * DequeueCount element has a value of 1 the first time the message is dequeued. This value is
-    * incremented each time the message is subsequently dequeued.
-    * */
-   public int getDequeueCount() {
-      return dequeueCount;
-   }
-
-   /**
-    * The value of PopReceipt is opaque to the client; its only purpose is to ensure that a message
-    * may be deleted with the Delete Message operation.
-    */
-   public String getPopReceipt() {
-      return popReceipt;
-   }
-
-   public Date getTimeNextVisible() {
-      return timeNextVisible;
-   }
-
-   public String getMessageText() {
-      return messageText;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + dequeueCount;
-      result = prime * result + ((expirationTime == null) ? 0 : expirationTime.hashCode());
-      result = prime * result + ((insertionTime == null) ? 0 : insertionTime.hashCode());
-      result = prime * result + ((messageId == null) ? 0 : messageId.hashCode());
-      result = prime * result + ((messageText == null) ? 0 : messageText.hashCode());
-      result = prime * result + ((popReceipt == null) ? 0 : popReceipt.hashCode());
-      result = prime * result + ((timeNextVisible == null) ? 0 : timeNextVisible.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;
-      QueueMessage other = (QueueMessage) obj;
-      if (dequeueCount != other.dequeueCount)
-         return false;
-      if (expirationTime == null) {
-         if (other.expirationTime != null)
-            return false;
-      } else if (!expirationTime.equals(other.expirationTime))
-         return false;
-      if (insertionTime == null) {
-         if (other.insertionTime != null)
-            return false;
-      } else if (!insertionTime.equals(other.insertionTime))
-         return false;
-      if (messageId == null) {
-         if (other.messageId != null)
-            return false;
-      } else if (!messageId.equals(other.messageId))
-         return false;
-      if (messageText == null) {
-         if (other.messageText != null)
-            return false;
-      } else if (!messageText.equals(other.messageText))
-         return false;
-      if (popReceipt == null) {
-         if (other.popReceipt != null)
-            return false;
-      } else if (!popReceipt.equals(other.popReceipt))
-         return false;
-      if (timeNextVisible == null) {
-         if (other.timeNextVisible != null)
-            return false;
-      } else if (!timeNextVisible.equals(other.timeNextVisible))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "QueueMessage [dequeueCount=" + dequeueCount + ", expirationTime=" + expirationTime
-               + ", insertionTime=" + insertionTime + ", messageId=" + messageId + ", messageText="
-               + messageText + ", popReceipt=" + popReceipt + ", timeNextVisible="
-               + timeNextVisible + "]";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMetadata.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMetadata.java
deleted file mode 100644
index 32ad2f4..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/domain/QueueMetadata.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.domain;
-
-import java.net.URI;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class QueueMetadata implements Comparable<QueueMetadata> {
-   private final String name;
-   private final URI url;
-
-   public QueueMetadata(String name, URI url) {
-      this.name = name;
-      this.url = url;
-   }
-
-   @Override
-   public String toString() {
-      return "QueueMetadata [name=" + name + ", url=" + url + "]";
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((url == null) ? 0 : url.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;
-      QueueMetadata other = (QueueMetadata) obj;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (url == null) {
-         if (other.url != null)
-            return false;
-      } else if (!url.equals(other.url))
-         return false;
-      return true;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public URI getUrl() {
-      return url;
-   }
-
-   public int compareTo(QueueMetadata o) {
-      return (this == o) ? 0 : getName().compareTo(o.getName());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/GetOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/GetOptions.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/GetOptions.java
deleted file mode 100644
index 8dd4435..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/GetOptions.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.options;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-/**
- * Contains common options supported in the REST API for the GET operation. <h2>
- * Usage</h2> The recommended way to instantiate a GetOptions object is to statically import
- * GetOptions.* and invoke a static creation method followed by an instance mutator (if needed):
- * <p/>
- * <code>
- * import static org.jclouds.azurequeue.options.GetOptions.Builder.*
- * import org.jclouds.azurequeue.AzureQueueClient;
- * <p/>
- * AzureQueueClient connection = // get connection
- * messages = connection.getMessages("queueName", maxMessages(3));
- * <code> *
- * 
- * @see <a href="http://msdn.microsoft.com/en-us/library/dd179474%28v=MSDN.10%29.aspx" />
- * @author Adrian Cole
- */
-public class GetOptions extends BaseHttpRequestOptions {
-   public static final GetOptions NONE = new GetOptions();
-
-   /**
-    * A nonzero integer value that specifies the number of messages to retrieve from the queue, up
-    * to a maximum of 32. By default, a single message is retrieved from the queue with this
-    * operation.
-    * 
-    */
-   public GetOptions maxMessages(int count) {
-      checkArgument(count > 0&& count <= 32, "count must be a positive number; max 32");
-      queryParameters.replaceValues("numofmessages", ImmutableList.of(count + ""));
-      return this;
-   }
-
-   /**
-    * An integer value that specifies the message's visibility timeout in seconds. The maximum value
-    * is 2 hours. The default message visibility timeout is 30 seconds.
-    */
-   public GetOptions visibilityTimeout(int timeout) {
-      checkArgument(timeout > 0 && timeout <= 2 * 60 * 60,
-               "timeout is in seconds; must be positive and maximum 2 hours");
-      queryParameters.replaceValues("visibilitytimeout", ImmutableList.of(timeout + ""));
-      return this;
-   }
-
-   public static class Builder {
-
-      /**
-       * @see GetOptions#maxMessages(int)
-       */
-      public static GetOptions maxMessages(int count) {
-         GetOptions options = new GetOptions();
-         return options.maxMessages(count);
-      }
-
-      /**
-       * @see GetOptions#visibilityTimeout(int)
-       */
-      public static GetOptions visibilityTimeout(int visibilityTimeout) {
-         GetOptions options = new GetOptions();
-         return options.visibilityTimeout(visibilityTimeout);
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/PutMessageOptions.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/PutMessageOptions.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/PutMessageOptions.java
deleted file mode 100644
index 09e01cf..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/options/PutMessageOptions.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.options;
-
-import org.jclouds.http.options.BaseHttpRequestOptions;
-
-/**
- * Contains options supported in the REST API for the Create Container operation. <h2>
- * Usage</h2> The recommended way to instantiate a PutMessageOptions object is to statically
- * import PutMessageOptions.* and invoke a static creation method followed by an instance
- * mutator (if needed):
- * <p/>
- * <code>
- * import static org.jclouds.azurequeue.options.PutMessageOptions.Builder.*
- * import org.jclouds.azurequeue.AzureQueueClient;
- * <p/>
- * AzureQueueClient connection = // get connection
- * connection.putMessage("containerName", withTTL());
- * <code> *
- * 
- * @see <a href="http://msdn.microsoft.com/en-us/library/dd179466.aspx" />
- * @author Adrian Cole
- */
-public class PutMessageOptions extends BaseHttpRequestOptions {
-   public static final PutMessageOptions NONE = new PutMessageOptions();
-
-   /**
-    * Specifies the time-to-live interval for the message, in seconds. The maximum time-to-live
-    * allowed is 7 days. If this parameter is omitted, the default time-to-live is 7 days.
-    */
-   public PutMessageOptions withTTL(int seconds) {
-      this.queryParameters.put("messagettl", seconds + "");
-      return this;
-   }
-
-   public static class Builder {
-
-      /**
-       * @see PutMessageOptions#withTTL
-       */
-      public static PutMessageOptions withTTL(int seconds) {
-         PutMessageOptions options = new PutMessageOptions();
-         return options.withTTL(seconds);
-      }
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandler.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandler.java
deleted file mode 100644
index 52a95f9..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.xml;
-
-import java.net.URI;
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.azure.storage.domain.BoundedSet;
-import org.jclouds.azure.storage.domain.internal.BoundedHashSet;
-import org.jclouds.azurequeue.domain.QueueMetadata;
-import org.jclouds.http.functions.ParseSax;
-
-import com.google.common.collect.Sets;
-
-/**
- * Parses the following XML document:
- * <p/>
- * EnumerationResults AccountName="http://myidentity.queue.core.windows.net"
- * 
- * @see <a href="http://msdn.microsoft.com/en-us/library/dd179352.aspx" />
- * @author Adrian Cole
- */
-public class AccountNameEnumerationResultsHandler extends
-         ParseSax.HandlerWithResult<BoundedSet<QueueMetadata>> {
-
-   private Set<QueueMetadata> metadata = Sets.newLinkedHashSet();
-   private URI currentUrl;
-   private String prefix;
-   private String marker;
-   private int maxResults;
-   private String nextMarker;
-   private String currentName;
-
-   private StringBuilder currentText = new StringBuilder();
-
-   @Inject
-   public AccountNameEnumerationResultsHandler() {
-   }
-
-   public BoundedSet<QueueMetadata> getResult() {
-      return new BoundedHashSet<QueueMetadata>(metadata, currentUrl, prefix, marker, maxResults,
-               nextMarker);
-   }
-
-   public void endElement(String uri, String name, String qName) {
-      if (qName.equals("MaxResults")) {
-         maxResults = Integer.parseInt(currentText.toString().trim());
-      } else if (qName.equals("Marker")) {
-         marker = currentText.toString().trim();
-         marker = (marker.equals("")) ? null : marker;
-      } else if (qName.equals("Prefix")) {
-         prefix = currentText.toString().trim();
-         prefix = (prefix.equals("")) ? null : prefix;
-      } else if (qName.equals("NextMarker")) {
-         nextMarker = currentText.toString().trim();
-         nextMarker = (nextMarker.equals("")) ? null : nextMarker;
-      } else if (qName.equals("Queue")) {
-         metadata.add(new QueueMetadata(currentName, currentUrl));
-         currentUrl = null;
-         currentName = null;
-      } else if (qName.equals("Url")) {
-         currentUrl = URI.create(currentText.toString().trim());
-      } else if (qName.equals("QueueName")) {
-         currentName = currentText.toString().trim();
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/QueueMessagesListHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/QueueMessagesListHandler.java b/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/QueueMessagesListHandler.java
deleted file mode 100644
index 2ff73ea..0000000
--- a/sandbox-providers/azurequeue/src/main/java/org/jclouds/azurequeue/xml/QueueMessagesListHandler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.xml;
-
-import java.util.Date;
-import java.util.Set;
-
-import javax.inject.Inject;
-
-import org.jclouds.azurequeue.domain.QueueMessage;
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.ParseSax;
-
-import com.google.common.collect.Sets;
-
-/**
- * Parses the following XML document:
- * <p/>
- * QueueMessagesList
- * 
- * @see <a href="http://msdn.microsoft.com/en-us/library/dd179474%28v=MSDN.10%29.aspx" />
- * @author Adrian Cole
- */
-public class QueueMessagesListHandler extends ParseSax.HandlerWithResult<Set<QueueMessage>> {
-
-   private Set<QueueMessage> messages = Sets.newLinkedHashSet();
-
-   private String messageId;
-   private Date insertionTime;
-   private Date expirationTime;
-   private int dequeueCount;
-   private String popReceipt;
-   private Date timeNextVisible;
-   private String messageText;
-
-   private StringBuilder currentText = new StringBuilder();
-
-   private final DateService dateService;
-
-   @Inject
-   public QueueMessagesListHandler(DateService dateService) {
-      this.dateService = dateService;
-   }
-
-   public Set<QueueMessage> getResult() {
-      return messages;
-   }
-
-   public void endElement(String uri, String name, String qName) {
-      if (qName.equals("MessageId")) {
-         this.messageId = currentText.toString().trim();
-      } else if (qName.equals("InsertionTime")) {
-         this.insertionTime = parseDate();
-      } else if (qName.equals("ExpirationTime")) {
-         this.expirationTime = parseDate();
-      } else if (qName.equals("DequeueCount")) {
-         this.dequeueCount = Integer.parseInt(currentText.toString().trim());
-      } else if (qName.equals("PopReceipt")) {
-         this.popReceipt = currentText.toString().trim();
-      } else if (qName.equals("TimeNextVisible")) {
-         this.timeNextVisible = parseDate();
-      } else if (qName.equals("MessageText")) {
-         // TODO: figure out why we need to do trim. excess leading whitespace seems to be from
-         // outside the element
-         this.messageText = currentText.toString().trim();
-      } else if (qName.equals("QueueMessage")) {
-         messages.add(new QueueMessage(messageId, insertionTime, expirationTime, dequeueCount,
-                  popReceipt, timeNextVisible, messageText));
-         messageId = null;
-         insertionTime = null;
-         expirationTime = null;
-         dequeueCount = -1;
-         popReceipt = null;
-         timeNextVisible = null;
-         messageText = null;
-      }
-      currentText = new StringBuilder();
-   }
-
-   private Date parseDate() {
-      return dateService.rfc822DateParse(currentText.toString().trim());
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/sandbox-providers/azurequeue/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index add5b00..0000000
--- a/sandbox-providers/azurequeue/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.azurequeue.AzureQueueProviderMetadata

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueAsyncClientTest.java b/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueAsyncClientTest.java
deleted file mode 100644
index 7b240eb..0000000
--- a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueAsyncClientTest.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue;
-
-import static org.jclouds.azure.storage.options.CreateOptions.Builder.withMetadata;
-import static org.jclouds.azure.storage.options.ListOptions.Builder.maxResults;
-import static org.jclouds.azurequeue.options.GetOptions.Builder.maxMessages;
-import static org.jclouds.azurequeue.options.PutMessageOptions.Builder.withTTL;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Properties;
-
-import org.jclouds.azure.storage.filters.SharedKeyLiteAuthentication;
-import org.jclouds.azure.storage.options.CreateOptions;
-import org.jclouds.azure.storage.options.ListOptions;
-import org.jclouds.azurequeue.options.GetOptions;
-import org.jclouds.azurequeue.options.PutMessageOptions;
-import org.jclouds.azurequeue.xml.AccountNameEnumerationResultsHandler;
-import org.jclouds.azurequeue.xml.QueueMessagesListHandler;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.http.functions.ReturnTrueIf2xx;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code AzureQueueAsyncClient}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "AzureQueueAsyncClientTest")
-public class AzureQueueAsyncClientTest extends RestClientTest<AzureQueueAsyncClient> {
-
-   public void testGetMessages() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = AzureQueueAsyncClient.class.getMethod("getMessages", String.class, GetOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, "myqueue");
-
-      assertRequestLineEquals(request, "GET https://identity.queue.core.windows.net/myqueue/messages HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, QueueMessagesListHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetMessagesOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = AzureQueueAsyncClient.class.getMethod("getMessages", String.class, GetOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, "myqueue", maxMessages(1).visibilityTimeout(30));
-
-      assertRequestLineEquals(request,
-            "GET https://identity.queue.core.windows.net/myqueue/messages?numofmessages=1&visibilitytimeout=30 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, QueueMessagesListHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListQueues() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = AzureQueueAsyncClient.class.getMethod("listQueues", ListOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method);
-
-      assertRequestLineEquals(request, "GET https://identity.queue.core.windows.net/?comp=list HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, AccountNameEnumerationResultsHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListQueuesOptions() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = AzureQueueAsyncClient.class.getMethod("listQueues", ListOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, maxResults(1).marker("marker").prefix("prefix"));
-
-      assertRequestLineEquals(request,
-            "GET https://identity.queue.core.windows.net/?comp=list&maxresults=1&marker=marker&prefix=prefix HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, AccountNameEnumerationResultsHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testCreateQueue() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = AzureQueueAsyncClient.class.getMethod("createQueue", String.class, CreateOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, "queue");
-
-      assertRequestLineEquals(request, "PUT https://identity.queue.core.windows.net/queue HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReturnTrueIf2xx.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testCreateQueueOptions() throws SecurityException, NoSuchMethodException, IOException {
-
-      Method method = AzureQueueAsyncClient.class.getMethod("createQueue", String.class, CreateOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, "queue", withMetadata(ImmutableMultimap.of("foo", "bar")));
-
-      assertRequestLineEquals(request, "PUT https://identity.queue.core.windows.net/queue HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-meta-foo: bar\nx-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReturnTrueIf2xx.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteQueue() throws SecurityException, NoSuchMethodException, IOException {
-
-      Method method = AzureQueueAsyncClient.class.getMethod("deleteQueue", String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "queue");
-
-      assertRequestLineEquals(request, "DELETE https://identity.queue.core.windows.net/queue HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-
-   }
-
-   public void testPutMessage() throws SecurityException, NoSuchMethodException, IOException {
-
-      Method method = AzureQueueAsyncClient.class.getMethod("putMessage", String.class, String.class,
-            PutMessageOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, "queue", "message");
-
-      assertRequestLineEquals(request, "POST https://identity.queue.core.windows.net/queue/messages HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, "<QueueMessage><MessageText>message</MessageText></QueueMessage>",
-            "application/unknown", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testPutMessageOptions() throws SecurityException, NoSuchMethodException, IOException {
-
-      Method method = AzureQueueAsyncClient.class.getMethod("putMessage", String.class, String.class,
-            PutMessageOptions[].class);
-      GeneratedHttpRequest request = processor.createRequest(method, "queue", "message", withTTL(3));
-
-      assertRequestLineEquals(request,
-            "POST https://identity.queue.core.windows.net/queue/messages?messagettl=3 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, "<QueueMessage><MessageText>message</MessageText></QueueMessage>",
-            "application/unknown", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testClearMessages() throws SecurityException, NoSuchMethodException, IOException {
-
-      Method method = AzureQueueAsyncClient.class.getMethod("clearMessages", String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "queue");
-
-      assertRequestLineEquals(request, "DELETE https://identity.queue.core.windows.net/queue/messages HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "x-ms-version: 2009-09-19\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), SharedKeyLiteAuthentication.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<AzureQueueAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<AzureQueueAsyncClient>>() {
-      };
-   }
-
-   @Override
-   public RestContextSpec<?, ?> createContextSpec() {
-      return new RestContextFactory().createContextSpec("azurequeue", "identity", "credential", new Properties());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueClientLiveTest.java b/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueClientLiveTest.java
deleted file mode 100644
index 054dc02..0000000
--- a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueClientLiveTest.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.azure.storage.options.ListOptions.Builder.prefix;
-import static org.jclouds.azurequeue.options.GetOptions.Builder.maxMessages;
-import static org.jclouds.azurequeue.options.PutMessageOptions.Builder.withTTL;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.security.SecureRandom;
-import java.util.Properties;
-import java.util.Set;
-
-import org.jclouds.Constants;
-import org.jclouds.azure.storage.domain.BoundedSet;
-import org.jclouds.azure.storage.options.CreateOptions;
-import org.jclouds.azurequeue.domain.QueueMessage;
-import org.jclouds.azurequeue.domain.QueueMetadata;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContextFactory;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code AzureQueueClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true)
-public class AzureQueueClientLiveTest {
-
-   protected AzureQueueClient connection;
-
-   private String queuePrefix = System.getProperty("user.name") + "-azurequeue";
-   protected String provider = "azurequeue";
-   protected String identity;
-   protected String credential;
-   protected String endpoint;
-   protected String apiVersion;
-
-   protected void setupCredentials() {
-      identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider + ".identity");
-      credential = checkNotNull(System.getProperty("test." + provider + ".credential"), "test." + provider
-               + ".credential");
-      endpoint = checkNotNull(System.getProperty("test." + provider + ".endpoint"), "test." + provider + ".endpoint");
-     apiVersion = checkNotNull(System.getProperty("test." + provider + ".api-version"), "test." + provider
-               + ".api-version");
-   }
-
-   protected Properties setupProperties() {
-      Properties overrides = new Properties();
-      overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
-      overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true");
-      overrides.setProperty(provider + ".identity", identity);
-      overrides.setProperty(provider + ".credential", credential);
-      overrides.setProperty(provider + ".endpoint", endpoint);
-      overrides.setProperty(provider + ".api-version", apiVersion);
-      return overrides;
-   }
-
-   @BeforeGroups(groups = { "live" })
-   public void setupClient() {
-      setupCredentials();
-      Properties overrides = setupProperties();
-
-      connection = (AzureQueueClient) new RestContextFactory().createContext(provider,
-               ImmutableSet.<Module> of(new Log4JLoggingModule()), overrides).getApi();
-   }
-
-   @Test
-   public void testListQueues() throws Exception {
-
-      BoundedSet<QueueMetadata> response = connection.listQueues();
-      assert null != response;
-      long initialQueueCount = response.size();
-      assertTrue(initialQueueCount >= 0);
-
-   }
-
-   String privateQueue;
-
-   @Test(timeOut = 5 * 60 * 1000)
-   public void testCreateQueue() throws Exception {
-      boolean created = false;
-      while (!created) {
-         privateQueue = queuePrefix + new SecureRandom().nextInt();
-         try {
-            created = connection.createQueue(privateQueue, CreateOptions.Builder.withMetadata(ImmutableMultimap.of(
-                     "foo", "bar")));
-         } catch (HttpResponseException htpe) {
-            if (htpe.getResponse().getStatusCode() == 409) {
-               continue;
-            } else {
-               throw htpe;
-            }
-         }
-      }
-      BoundedSet<QueueMetadata> response = connection.listQueues();
-      assert null != response;
-      long queueCount = response.size();
-      assertTrue(queueCount >= 1);
-      // TODO ... check to see the queue actually exists
-   }
-
-   @Test(timeOut = 5 * 60 * 1000, dependsOnMethods = { "testCreateQueue" })
-   public void testListQueuesWithOptions() throws Exception {
-      BoundedSet<QueueMetadata> response = connection.listQueues(prefix(privateQueue).maxResults(1));
-      assert null != response;
-      long initialQueueCount = response.size();
-      assertTrue(initialQueueCount >= 0);
-      assertEquals(privateQueue, response.getPrefix());
-      assertEquals(1, response.getMaxResults());
-   }
-
-   @Test(timeOut = 5 * 60 * 1000, dependsOnMethods = { "testCreateQueue" })
-   public void testPutMessage() throws Exception {
-      connection.putMessage(privateQueue, "holycow", withTTL(4));
-      connection.putMessage(privateQueue, "holymoo", withTTL(4));
-   }
-
-   @Test(timeOut = 5 * 60 * 1000, dependsOnMethods = { "testPutMessage" })
-   public void testGetMessages() throws Exception {
-      Set<QueueMessage> messages = connection.getMessages(privateQueue, maxMessages(2));
-      QueueMessage m1 = Iterables.get(messages, 0);
-      assertEquals(m1.getMessageText(), "holycow");
-      QueueMessage m2 = Iterables.get(messages, 1);
-      assertEquals(m2.getMessageText(), "holymoo");
-      assertEquals(connection.getMessages(privateQueue).size(), 0);
-   }
-
-   @Test(timeOut = 5 * 60 * 1000, dependsOnMethods = { "testGetMessages" })
-   public void testDeleteQueue() throws Exception {
-      connection.clearMessages(privateQueue);
-      connection.deleteQueue(privateQueue);
-      // TODO loop for up to 30 seconds checking if they are really gone
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueProviderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueProviderTest.java b/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueProviderTest.java
deleted file mode 100644
index 2eac5b3..0000000
--- a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/AzureQueueProviderTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue;
-
-import org.jclouds.providers.BaseProviderMetadataTest;
-import org.jclouds.providers.ProviderMetadata;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "AzureQueueProviderTest")
-public class AzureQueueProviderTest extends BaseProviderMetadataTest {
-
-   public AzureQueueProviderTest() {
-      super(new AzureQueueProviderMetadata(), ProviderMetadata.QUEUE_TYPE);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/options/GetOptionsTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/options/GetOptionsTest.java b/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/options/GetOptionsTest.java
deleted file mode 100644
index 0e0ef10..0000000
--- a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/options/GetOptionsTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.options;
-
-import static org.testng.Assert.assertEquals;
-
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Tests behavior of {@code GetOptions}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class GetOptionsTest {
-
-   public void testMaxMessages() {
-      GetOptions options = new GetOptions().maxMessages(1);
-      assertEquals(ImmutableList.of("1"), options.buildQueryParameters().get("numofmessages"));
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testMaxMessagesTooSmall() {
-      new GetOptions().maxMessages(0);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testMaxMessagesTooBig() {
-      new GetOptions().maxMessages(33);
-   }
-
-   public void testMaxMessagesStatic() {
-      GetOptions options = GetOptions.Builder.maxMessages(1);
-      assertEquals(ImmutableList.of("1"), options.buildQueryParameters().get("numofmessages"));
-   }
-
-   public void testVisibilityTimeout() {
-      GetOptions options = new GetOptions().visibilityTimeout(1);
-      assertEquals(ImmutableList.of("1"), options.buildQueryParameters().get("visibilitytimeout"));
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testVisibilityTimeoutTooSmall() {
-      new GetOptions().visibilityTimeout(0);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testVisibilityTimeoutTooBig() {
-      new GetOptions().visibilityTimeout((2 * 60 * 60) + 1);
-   }
-
-   public void testVisibilityTimeoutStatic() {
-      GetOptions options = GetOptions.Builder.visibilityTimeout(1);
-      assertEquals(ImmutableList.of("1"), options.buildQueryParameters().get("visibilitytimeout"));
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandlerTest.java b/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandlerTest.java
deleted file mode 100644
index e094dbb..0000000
--- a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/AccountNameEnumerationResultsHandlerTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.azure.storage.domain.BoundedSet;
-import org.jclouds.azure.storage.domain.internal.BoundedHashSet;
-import org.jclouds.azurequeue.domain.QueueMetadata;
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSortedSet;
-
-/**
- * Tests behavior of {@code AccountNameEnumerationResultsHandler}
- * 
- * @author Adrian Cole
- */
-//NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "queue.AccountNameEnumerationResultsHandlerTest")
-public class AccountNameEnumerationResultsHandlerTest extends BaseHandlerTest {
-
-   public void testApplyInputStream() {
-      InputStream is = getClass().getResourceAsStream("/test_list_queues.xml");
-      BoundedSet<QueueMetadata> list = new BoundedHashSet<QueueMetadata>(ImmutableSortedSet.of(
-               new QueueMetadata("q1", URI.create("http://myaccount.queue.core.windows.net/q1")),
-               new QueueMetadata("q2", URI.create("http://myaccount.queue.core.windows.net/q2")),
-               new QueueMetadata("q3", URI.create("http://myaccount.queue.core.windows.net/q3"))),
-               URI.create("http://myaccount.queue.core.windows.net"), "q", null, 3, "q4");
-      BoundedSet<QueueMetadata> result = (BoundedSet<QueueMetadata>) factory.create(
-               injector.getInstance(AccountNameEnumerationResultsHandler.class)).parse(is);
-      assertEquals(result, list);
-   }
-
-   public void testApplyInputStreamWithOptions() {
-      InputStream is = getClass().getResourceAsStream("/test_list_queues_options.xml");
-      BoundedSet<QueueMetadata> list = new BoundedHashSet<QueueMetadata>(ImmutableSortedSet.of(
-               new QueueMetadata("q4", URI.create("http://myaccount.queue.core.windows.net/q4")),
-               new QueueMetadata("q5", URI.create("http://myaccount.queue.core.windows.net/q5"))),
-               URI.create("http://myaccount.queue.core.windows.net"), "q", "q4", 3, null);
-
-      BoundedSet<QueueMetadata> result = (BoundedSet<QueueMetadata>) factory.create(
-               injector.getInstance(AccountNameEnumerationResultsHandler.class)).parse(is);
-
-      assertEquals(result, list);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/QueueMessagesListHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/QueueMessagesListHandlerTest.java b/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/QueueMessagesListHandlerTest.java
deleted file mode 100644
index add1a16..0000000
--- a/sandbox-providers/azurequeue/src/test/java/org/jclouds/azurequeue/xml/QueueMessagesListHandlerTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.azurequeue.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.util.Set;
-
-import org.jclouds.azurequeue.domain.QueueMessage;
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Tests behavior of {@code QueueMessagesListHandler}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "QueueMessagesListHandlerTest")
-public class QueueMessagesListHandlerTest extends BaseHandlerTest {
-   private DateService dateService;
-
-   @BeforeTest
-   protected void setUpInjector() {
-      super.setUpInjector();
-      dateService = injector.getInstance(DateService.class);
-   }
-
-   public void testApplyInputStream() {
-      InputStream is = getClass().getResourceAsStream("/test_get_messages.xml");
-      Set<QueueMessage> expected = ImmutableSet.<QueueMessage> of(
-
-      new QueueMessage("43190737-06f4-4ccf-b600-28f410707df3", dateService
-               .rfc822DateParse("Fri, 11 Jun 2010 18:35:08 GMT"), dateService
-               .rfc822DateParse("Fri, 11 Jun 2010 18:35:13 GMT"), 1,
-               "AgAAAAEAAADZcwAADlwO5JQJywE=", dateService
-                        .rfc822DateParse("Fri, 11 Jun 2010 18:35:39 GMT"), "holycow"),
-               new QueueMessage("7b75a124-7efe-45a2-97e4-388664319718", dateService
-                        .rfc822DateParse("Fri, 11 Jun 2010 18:35:09 GMT"), dateService
-                        .rfc822DateParse("Fri, 11 Jun 2010 18:35:13 GMT"), 1,
-                        "AgAAAAEAAADZcwAADlwO5JQJywE=", dateService
-                                 .rfc822DateParse("Fri, 11 Jun 2010 18:35:39 GMT"), "holymoo"));
-
-      Set<QueueMessage> result = factory.create(
-               injector.getInstance(QueueMessagesListHandler.class)).parse(is);
-      assertEquals(result, expected);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/resources/log4j.xml b/sandbox-providers/azurequeue/src/test/resources/log4j.xml
deleted file mode 100644
index 22cc40c..0000000
--- a/sandbox-providers/azurequeue/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,88 +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>
-
-    <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.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    <!-- ======================= -->
-    <!-- Setup the Root category -->
-    <!-- ======================= -->
-
-    <root>
-        <priority value="WARN" />
-    </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/resources/test_get_messages.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/resources/test_get_messages.xml b/sandbox-providers/azurequeue/src/test/resources/test_get_messages.xml
deleted file mode 100644
index d888d60..0000000
--- a/sandbox-providers/azurequeue/src/test/resources/test_get_messages.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<QueueMessagesList>
-    <QueueMessage>
-        <MessageId>43190737-06f4-4ccf-b600-28f410707df3</MessageId>
-        <InsertionTime>Fri, 11 Jun 2010 18:35:08 GMT</InsertionTime>
-        <ExpirationTime>Fri, 11 Jun 2010 18:35:13 GMT</ExpirationTime>
-        <DequeueCount>1</DequeueCount>
-        <PopReceipt>AgAAAAEAAADZcwAADlwO5JQJywE=</PopReceipt>
-        <TimeNextVisible>Fri, 11 Jun 2010 18:35:39 GMT</TimeNextVisible>
-        <MessageText>holycow</MessageText>
-    </QueueMessage>
-    <QueueMessage>
-        <MessageId>7b75a124-7efe-45a2-97e4-388664319718</MessageId>
-        <InsertionTime>Fri, 11 Jun 2010 18:35:09 GMT</InsertionTime>
-        <ExpirationTime>Fri, 11 Jun 2010 18:35:13 GMT</ExpirationTime>
-        <DequeueCount>1</DequeueCount>
-        <PopReceipt>AgAAAAEAAADZcwAADlwO5JQJywE=</PopReceipt>
-        <TimeNextVisible>Fri, 11 Jun 2010 18:35:39 GMT</TimeNextVisible>
-        <MessageText>holymoo</MessageText>
-    </QueueMessage>
-</QueueMessagesList>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/resources/test_list_queues.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/resources/test_list_queues.xml b/sandbox-providers/azurequeue/src/test/resources/test_list_queues.xml
deleted file mode 100644
index 139c30d..0000000
--- a/sandbox-providers/azurequeue/src/test/resources/test_list_queues.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<EnumerationResults AccountName="http://myaccount.queue.core.windows.net">
-  <Prefix>q</Prefix>
-  <MaxResults>3</MaxResults>
-  <Queues>
-    <Queue>
-      <QueueName>q1</QueueName>
-      <Url>http://myaccount.queue.core.windows.net/q1</Url>
-    </Queue>
-    <Queue>
-      <QueueName>q2</QueueName>
-      <Url>http://myaccount.queue.core.windows.net/q2</Url>
-    </Queue>
-    <Queue>
-      <QueueName>q3</QueueName>
-      <Url>http://myaccount.queue.core.windows.net/q3</Url>
-    </Queue>
-  </Queues>
-  <NextMarker>q4</NextMarker>
-</EnumerationResults>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/azurequeue/src/test/resources/test_list_queues_options.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/azurequeue/src/test/resources/test_list_queues_options.xml b/sandbox-providers/azurequeue/src/test/resources/test_list_queues_options.xml
deleted file mode 100644
index 1d2f9b0..0000000
--- a/sandbox-providers/azurequeue/src/test/resources/test_list_queues_options.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<EnumerationResults AccountName="http://myaccount.queue.core.windows.net">
-  <Prefix>q</Prefix>
-  <Marker>q4</Marker>
-  <MaxResults>3</MaxResults>
-  <Queues>
-    <Queue>
-      <QueueName>q4</QueueName>
-      <Url>http://myaccount.queue.core.windows.net/q4</Url>
-    </Queue>
-    <Queue>
-      <QueueName>q5</QueueName>
-      <Url>http://myaccount.queue.core.windows.net/q5</Url>
-    </Queue>
-  </Queues>
-  <NextMarker />
-</EnumerationResults>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/pom.xml b/sandbox-providers/boxdotnet/pom.xml
deleted file mode 100644
index d99824f..0000000
--- a/sandbox-providers/boxdotnet/pom.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>boxdotnet</artifactId>
-    <name>jclouds BoxDotNet core</name>
-    <description>jclouds components to access BoxDotNet</description>
-    <packaging>bundle</packaging>
-
-    <!-- bootstrapping: need to fetch the project POM -->
-    <repositories>
-        <repository>
-            <id>jclouds-sona-snapshots-nexus</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <properties>
-        <test.boxdotnet.endpoint>https://www.box.net/api/1.0/rest</test.boxdotnet.endpoint>
-        <test.boxdotnet.api-version>1.0</test.boxdotnet.api-version>
-        <test.boxdotnet.build-version></test.boxdotnet.build-version>
-        <test.boxdotnet.identity>FIXME</test.boxdotnet.identity>
-        <test.boxdotnet.credential>FIXME</test.boxdotnet.credential>
-
-        <jclouds.osgi.export>org.jclouds.boxdotnet*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.boxdotnet.endpoint>${test.boxdotnet.endpoint}</test.boxdotnet.endpoint>
-                                        <test.boxdotnet.api-version>${test.boxdotnet.api-version}</test.boxdotnet.api-version>
-                                        <test.boxdotnet.build-version>${test.boxdotnet.build-version}</test.boxdotnet.build-version>
-                                        <test.boxdotnet.identity>${test.boxdotnet.identity}</test.boxdotnet.identity>
-                                        <test.boxdotnet.credential>${test.boxdotnet.credential}</test.boxdotnet.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetAsyncClient.java b/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetAsyncClient.java
deleted file mode 100644
index 9341702..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetAsyncClient.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.rest.annotations.ExceptionParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.functions.ReturnNullOnNotFoundOr404;
-import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to BoxDotNet via their REST API.
- * <p/>
- * 
- * @see BoxDotNetClient
- * @see <a href="TODO: insert URL of provider documentation" />
- * @author Adrian Cole
- */
-@RequestFilters(BasicAuthentication.class)
-public interface BoxDotNetAsyncClient {
-   /*
-    * TODO: define interface methods for BoxDotNet
-    */
-
-   /**
-    * @see BoxDotNetClient#list()
-    */
-   @GET
-   @Path("/items")
-   ListenableFuture<String> list();
-
-   /**
-    * @see BoxDotNetClient#get(long)
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path("/items/{itemId}")
-   ListenableFuture<String> get(@PathParam("itemId") long id);
-
-   /**
-    * @see BoxDotNetClient#delete
-    */
-   @DELETE
-   @Path("/items/{itemId}")
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> delete(@PathParam("itemId") long id);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetClient.java b/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetClient.java
deleted file mode 100644
index b2fb5ea..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetClient.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet;
-
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.concurrent.Timeout;
-
-/**
- * Provides synchronous access to BoxDotNet.
- * <p/>
- * 
- * @see BoxDotNetAsyncClient
- * @see <a href="TODO: insert URL of BoxDotNet documentation" />
- * @author Adrian Cole
- */
-@Timeout(duration = 4, timeUnit = TimeUnit.SECONDS)
-public interface BoxDotNetClient {
-   /*
-    * Note all these delegate to methods in BoxDotNetAsyncClient with a specified or inherited timeout.
-    *   The signatures should match those of BoxDotNetAsyncClient, except the returnvals should not be
-    *   wrapped in a Future 
-    */
-   
-   String list();
-   
-   /**
-    * @return null, if not found
-    */
-   String get(long id);
-   
-   void delete(long id);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetContextBuilder.java b/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetContextBuilder.java
deleted file mode 100644
index 073ccae..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/BoxDotNetContextBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.boxdotnet;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.boxdotnet.config.BoxDotNetRestClientModule;
-import org.jclouds.rest.RestContextBuilder;
-
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class BoxDotNetContextBuilder extends
-         RestContextBuilder<BoxDotNetClient, BoxDotNetAsyncClient> {
-
-   public BoxDotNetContextBuilder(Properties props) {
-      super(BoxDotNetClient.class, BoxDotNetAsyncClient.class, props);
-   }
-
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new BoxDotNetRestClientModule());
-   }
-
-}


[04/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClientLiveTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClientLiveTest.java
deleted file mode 100644
index ef7c4ec..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/IBMSmartCloudClientLiveTest.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import static com.google.common.collect.Iterables.filter;
-import static org.jclouds.ibm.smartcloud.options.CreateInstanceOptions.Builder.authorizePublicKey;
-import static org.jclouds.ibm.smartcloud.options.CreateInstanceOptions.Builder.secondaryIP;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.io.IOException;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.compute.domain.ExecResponse;
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.http.handlers.BackoffLimitedRetryHandler;
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Instance.Software;
-import org.jclouds.ibm.smartcloud.domain.InstanceType;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.domain.Offering;
-import org.jclouds.ibm.smartcloud.domain.StorageOffering;
-import org.jclouds.ibm.smartcloud.domain.StorageOffering.Format;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.jclouds.ibm.smartcloud.predicates.AddressFree;
-import org.jclouds.ibm.smartcloud.predicates.InstanceActive;
-import org.jclouds.ibm.smartcloud.predicates.InstanceActiveOrFailed;
-import org.jclouds.ibm.smartcloud.predicates.InstanceRemovedOrNotFound;
-import org.jclouds.ibm.smartcloud.predicates.VolumeUnmounted;
-import org.jclouds.net.IPSocket;
-import org.jclouds.predicates.InetSocketAddressConnect;
-import org.jclouds.predicates.RetryablePredicate;
-import org.jclouds.ssh.SshClient;
-import org.jclouds.ssh.SshException;
-import org.jclouds.sshj.SshjSshClient;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ComparisonChain;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Ordering;
-import com.google.common.collect.Sets;
-
-/**
- * Tests behavior of {@code IBMSmartCloudClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true, testName = "IBMSmartCloudClientLiveTest")
-public class IBMSmartCloudClientLiveTest extends BaseIBMSmartCloudClientLiveTest {
-   private static final String OS = "SUSE Linux Enterprise Server";
-   private static final String VERSION = "11 SP1";
-
-   private static final String PLATFORM = OS + "/" + VERSION;
-
-   private static final ImmutableSet<Software> SOFTWARE = ImmutableSet.<Software> of(new Software(OS, "OS", VERSION));
-
-   private static String FORMAT = "EXT3";
-
-   private Location location;
-   private Address ip;
-   private Key key;
-   private Volume volume;
-
-   private Instance instance2;
-   private Instance instance;
-   private InstanceType instanceType;
-   private Image image;
-
-   private StorageOffering cheapestStorage;
-
-   private static final String GROUP = System.getProperty("user.name");
-
-   @Test
-   public void testGetLocation() throws Exception {
-      Set<? extends Location> response = connection.listLocations();
-      assertNotNull(response);
-      if (response.size() > 0) {
-         location = Iterables.find(response, new Predicate<Location>() {
-
-            @Override
-            public boolean apply(Location arg0) {
-               // ontario is the least used
-               return "101".equals(arg0.getId());
-            }
-
-         });
-         assertEquals(connection.getLocation(location.getId()).getId(), location.getId());
-      }
-   }
-
-   @Test(dependsOnMethods = "testGetLocation")
-   public void testAddPublicKey() throws Exception {
-      try {
-         connection.addPublicKey(GROUP, keyPair.get("public"));
-         key = connection.getKey(GROUP);
-         try {
-            assert key.getInstanceIds().equals(ImmutableSet.<String> of()) : key;
-         } catch (AssertionError e) {
-            // inconsistency in the key api when recreating a key
-            // http://www-180.ibm.com/cloud/enterprise/beta/ram/community/discussionTopic.faces?guid={DA689AEE-783C-6FE7-6F9F-DFEE9763F806}&v=1&fid=1068&tid=1528
-         }
-      } catch (IllegalStateException e) {
-         // must have been found
-         connection.updatePublicKey(GROUP, keyPair.get("public"));
-         key = connection.getKey(GROUP);
-         for (String instanceId : key.getInstanceIds()) {
-            Instance instance = connection.getInstance(instanceId);
-            if (instance.getStatus() == Instance.Status.FAILED || instance.getStatus() == Instance.Status.ACTIVE) {
-               killInstance(instance.getId());
-            }
-         }
-      }
-      assertEquals(key.getName(), GROUP);
-      assert keyPair.get("public").indexOf(key.getKeyMaterial()) > 0;
-      assertNotNull(key.getLastModifiedTime());
-   }
-
-   @Test(dependsOnMethods = "resolveImageAndInstanceType")
-   public void testAllocateIpAddress() throws Exception {
-
-      Offering offering = Iterables.find(connection.listAddressOfferings(), new Predicate<Offering>() {
-
-         @Override
-         public boolean apply(Offering arg0) {
-            return arg0.getLocation().equals(location.getId());
-         }
-      });
-
-      try {
-         ip = connection.allocateAddressInLocation(location.getId(), offering.getId());
-         System.out.println(ip);
-         assertEquals(ip.getIP(), null);
-         // wait up to 30 seconds for this to become "free"
-         new RetryablePredicate<Address>(new AddressFree(connection), 30, 2, TimeUnit.SECONDS).apply(ip);
-         refreshIpAndReturnAllAddresses();
-         assertEquals(ip.getInstanceId(), null);
-      } catch (IllegalStateException e) {
-         if (HttpResponseException.class.cast(e.getCause()).getResponse().getStatusCode() == 409) {
-            ip = Iterables.find(connection.listAddresses(), new Predicate<Address>() {
-
-               @Override
-               public boolean apply(Address input) {
-                  return input.getState() == Address.State.FREE;
-               }
-
-            });
-         } else {
-            throw e;
-         }
-      }
-      assertEquals(ip.getInstanceId(), null);
-      assertEquals(ip.getLocation(), location.getId());
-
-      Set<? extends Address> allAddresses = refreshIpAndReturnAllAddresses();
-
-      assert (allAddresses.contains(ip)) : String.format("ip %s not in %s", ip, allAddresses);
-   }
-
-   @Test(dependsOnMethods = "testGetLocation")
-   public void testResolveVolumeOffering() throws Exception {
-
-      Ordering<StorageOffering> cheapestOrdering = new Ordering<StorageOffering>() {
-         public int compare(StorageOffering left, StorageOffering right) {
-            return ComparisonChain.start().compare(left.getPrice().getRate(), right.getPrice().getRate()).result();
-         }
-      }.reverse();
-
-      Iterable<? extends StorageOffering> storageOfferingsThatAreInOurLocationAndCorrectFormat = filter(connection
-               .listStorageOfferings(), new Predicate<StorageOffering>() {
-         @Override
-         public boolean apply(StorageOffering arg0) {
-
-            return arg0.getLocation().equals(location.getId())
-                     && Iterables.any(arg0.getFormats(), new Predicate<StorageOffering.Format>() {
-
-                        @Override
-                        public boolean apply(Format arg0) {
-                           return arg0.getId().equals(FORMAT);
-                        }
-
-                     });
-         }
-      });
-      cheapestStorage = cheapestOrdering.max(storageOfferingsThatAreInOurLocationAndCorrectFormat);
-      System.out.println(cheapestStorage);
-   }
-
-   @Test(dependsOnMethods = "testResolveVolumeOffering")
-   public void testCreateVolume() throws Exception {
-      try {
-         volume = connection.createVolumeInLocation(location.getId(), GROUP, FORMAT, cheapestStorage.getName(),
-                  cheapestStorage.getId());
-         // wait up to 5 minutes for this to become "unmounted"
-         assert new RetryablePredicate<Volume>(new VolumeUnmounted(connection), 300, 5, TimeUnit.SECONDS).apply(volume);
-      } catch (IllegalStateException e) {
-         int code = HttpResponseException.class.cast(e.getCause()).getResponse().getStatusCode();
-         if (code == 409 || code == 500) {
-            Set<? extends Volume> volumes = connection.listVolumes();
-            try {
-               volume = Iterables.find(volumes, new Predicate<Volume>() {
-
-                  @Override
-                  public boolean apply(Volume input) {
-                     return input.getState() == Volume.State.UNMOUNTED;
-                  }
-
-               });
-            } catch (NoSuchElementException ex) {
-               killInstance(GROUP + 1);
-            }
-         } else {
-            throw e;
-         }
-      }
-      assertEquals(volume.getInstanceId(), null);
-      assertEquals(volume.getLocation(), location.getId());
-
-      final String id = volume.getId();
-      Set<? extends Volume> allVolumes = connection.listVolumes();
-
-      // refresh volume as it may have been just created
-      volume = Iterables.find(allVolumes, new Predicate<Volume>() {
-
-         @Override
-         public boolean apply(Volume input) {
-            return input.getId().equals(id);
-         }
-
-      });
-
-      assert (allVolumes.contains(volume)) : String.format("volume %s not in %s", volume, volume);
-   }
-
-   @Test(dependsOnMethods = "testGetLocation")
-   public void resolveImageAndInstanceType() throws Exception {
-      Iterable<? extends Image> imagesThatAreInOurLocationAndNotBYOL = filter(connection.listImages(),
-               new Predicate<Image>() {
-                  @Override
-                  public boolean apply(Image arg0) {
-                     return arg0.getLocation().equals(location.getId()) && arg0.getPlatform().equals(PLATFORM)
-                              && arg0.getName().startsWith(OS);
-                  }
-               });
-
-      Ordering<InstanceType> cheapestOrdering = new Ordering<InstanceType>() {
-         public int compare(InstanceType left, InstanceType right) {
-            return ComparisonChain.start().compare(left.getPrice().getRate(), right.getPrice().getRate()).result();
-         }
-      }.reverse();
-
-      Set<InstanceType> instanceTypes = Sets.newLinkedHashSet();
-
-      for (Image image : imagesThatAreInOurLocationAndNotBYOL)
-         Iterables.addAll(instanceTypes, image.getSupportedInstanceTypes());
-
-      instanceType = cheapestOrdering.max(instanceTypes);
-
-      final InstanceType cheapestInstanceType = instanceType;
-      System.err.println(cheapestInstanceType);
-
-      image = Iterables.find(imagesThatAreInOurLocationAndNotBYOL, new Predicate<Image>() {
-
-         @Override
-         public boolean apply(Image arg0) {
-            return arg0.getSupportedInstanceTypes().contains(cheapestInstanceType);
-         }
-
-      });
-      System.err.println(image);
-      System.err.println(connection.getManifestOfImage(image.getId()));
-   }
-
-   @Test(dependsOnMethods = { "testAddPublicKey", "resolveImageAndInstanceType" })
-   public void testCreateInstance() throws Exception {
-      killInstance(GROUP);
-
-      instance = connection.createInstanceInLocation(location.getId(), GROUP, image.getId(), instanceType.getId(),
-               authorizePublicKey(key.getName()).isMiniEphemeral(true));
-
-      assertBeginState(instance, GROUP);
-      assertIpHostNullAndStatusNEW(instance);
-      blockUntilRunning(instance);
-      instance = assertRunning(instance, GROUP);
-      sshAndDf(new IPSocket(instance.getPrimaryIP().getIP(), 22), new Credentials("idcuser", key.getKeyMaterial()));
-   }
-
-   private void killInstance(final String nameToKill) {
-      Set<? extends Instance> instances = connection.listInstances();
-      try {
-         Instance instance = Iterables.find(instances, new Predicate<Instance>() {
-
-            @Override
-            public boolean apply(Instance input) {
-               return input.getName().equals(nameToKill);
-            }
-
-         });
-         if (instance.getStatus() != Instance.Status.DEPROVISIONING
-                  && instance.getStatus() != Instance.Status.DEPROVISION_PENDING) {
-            System.out.println("deleting instance: " + instance);
-            int timeout = (instance.getStatus() == Instance.Status.NEW || instance.getStatus() == Instance.Status.PROVISIONING) ? 300
-                     : 30;
-            assert new RetryablePredicate<Instance>(new InstanceActiveOrFailed(connection), timeout, 2,
-                     TimeUnit.SECONDS).apply(instance) : instance;
-            connection.deleteInstance(instance.getId());
-         }
-         assert new RetryablePredicate<Instance>(new InstanceRemovedOrNotFound(connection), 120, 2, TimeUnit.SECONDS)
-                  .apply(instance) : instance;
-      } catch (NoSuchElementException ex) {
-      }
-   }
-
-   private Instance assertRunning(Instance instance, String name) throws AssertionError {
-      instance = connection.getInstance(instance.getId());
-
-      try {
-         assertIpHostAndStatusACTIVE(instance);
-         assertConsistent(instance, name);
-      } catch (NullPointerException e) {
-         System.err.println(instance);
-         throw e;
-      } catch (AssertionError e) {
-         System.err.println(instance);
-         throw e;
-      }
-      System.err.println("RUNNING: " + instance);
-      return instance;
-   }
-
-   private void blockUntilRunning(Instance instance) {
-      long start = System.currentTimeMillis();
-      assert new RetryablePredicate<Instance>(new InstanceActive(connection), 15 * 60 * 1000).apply(instance) : connection
-               .getInstance(instance.getId());
-
-      System.out.println(((System.currentTimeMillis() - start) / 1000) + " seconds");
-   }
-
-   private void assertBeginState(Instance instance, String name) throws AssertionError {
-      try {
-         assertConsistent(instance, name);
-      } catch (NullPointerException e) {
-         System.err.println(instance);
-         throw e;
-      } catch (AssertionError e) {
-         killInstance(instance.getId());
-         throw e;
-      }
-   }
-
-   private void assertConsistent(Instance instance, String name) {
-      assert (instance.getId() != null) : instance;
-      assertEquals(instance.getName(), name);
-      assertEquals(instance.getInstanceType(), instanceType.getId());
-      assertEquals(instance.getLocation(), location.getId());
-      assertEquals(instance.getImageId(), image.getId());
-      assertEquals(instance.getSoftware(), SOFTWARE);
-      assertEquals(instance.getKeyName(), key.getName());
-      assertNotNull(instance.getLaunchTime());
-      assertNotNull(instance.getExpirationTime());
-      assertEquals(instance.getOwner(), identity);
-      assertEquals(instance.getProductCodes(), ImmutableSet.<String> of());
-      assertEquals(instance.getRequestName(), name);
-      assertNotNull(instance.getRequestId());
-   }
-
-   private void assertIpHostNullAndStatusNEW(Instance instance) {
-      assertEquals(instance.getPrimaryIP(), null);
-      assertEquals(instance.getStatus(), Instance.Status.NEW);
-   }
-
-   private void assertIpHostAndStatusNEW(Instance instance) {
-      assertNotNull(instance.getPrimaryIP());
-      assertEquals(instance.getStatus(), Instance.Status.NEW);
-   }
-
-   private void assertIpHostAndStatusACTIVE(Instance instance) {
-      assertNotNull(instance.getPrimaryIP());
-      assertEquals(instance.getStatus(), Instance.Status.ACTIVE);
-   }
-
-   @Test(dependsOnMethods = { "testAddPublicKey", "testAllocateIpAddress", "testCreateVolume",
-            "resolveImageAndInstanceType" })
-   public void testCreateInstanceWithIpAndVolume() throws Exception {
-      String name = GROUP + "1";
-      killInstance(name);
-
-      instance2 = connection.createInstanceInLocation(location.getId(), name, image.getId(), instanceType.getId(),
-               secondaryIP(ip.getId()).isMiniEphemeral(true).authorizePublicKey(key.getName()).mountVolume(
-                        volume.getId(), "/mnt"));
-
-      assertBeginState(instance2, name);
-      assertIpHostAndStatusNEW(instance2);
-      blockUntilRunning(instance2);
-      instance2 = assertRunning(instance2, name);
-
-      volume = connection.getVolume(volume.getId());
-      assertEquals(volume.getInstanceId(), instance2.getId());
-
-      refreshIpAndReturnAllAddresses();
-      assertEquals(ip.getInstanceId(), instance2.getId());
-      assertEquals(ip.getIP(), instance2.getPrimaryIP().getIP());
-      sshAndDf(new IPSocket(instance2.getPrimaryIP().getIP(), 22), new Credentials("idcuser", keyPair.get("private")));
-   }
-
-   private Set<? extends Address> refreshIpAndReturnAllAddresses() {
-      Set<? extends Address> allAddresses = connection.listAddresses();
-      final String id = ip.getId();
-      // refresh address as it may have been just created
-      ip = Iterables.find(allAddresses, new Predicate<Address>() {
-
-         @Override
-         public boolean apply(Address input) {
-            return input.getId().equals(id);
-         }
-
-      });
-      return allAddresses;
-   }
-
-   @AfterTest(groups = { "live" })
-   void tearDown() {
-      if (volume != null)
-         try {
-            connection.deleteVolume(volume.getId());
-         } catch (Exception e) {
-
-         }
-      if (ip != null)
-         try {
-            connection.releaseAddress(ip.getId());
-         } catch (Exception e) {
-
-         }
-      if (key != null)
-         try {
-            connection.deleteKey(key.getName());
-         } catch (Exception e) {
-
-         }
-      if (instance != null)
-         try {
-            connection.deleteInstance(instance.getId());
-         } catch (Exception e) {
-
-         }
-      if (instance2 != null)
-         try {
-            connection.deleteInstance(instance2.getId());
-         } catch (Exception e) {
-
-         }
-   }
-
-   private void sshAndDf(IPSocket socket, Credentials credentials) throws IOException {
-      for (int i = 0; i < 5; i++) {// retry loop TODO replace with predicate.
-         try {
-            _sshAndDf(socket, credentials);
-            return;
-         } catch (SshException e) {
-            try {
-               Thread.sleep(10 * 1000);
-            } catch (InterruptedException e1) {
-            }
-            continue;
-         }
-      }
-   }
-
-   private void _sshAndDf(IPSocket socket, Credentials credentials) {
-      RetryablePredicate<IPSocket> socketOpen = new RetryablePredicate<IPSocket>(new InetSocketAddressConnect(), 180,
-               5, TimeUnit.SECONDS);
-
-      socketOpen.apply(socket);
-
-      SshClient ssh = new SshjSshClient(new BackoffLimitedRetryHandler(), socket, 60000, credentials.identity, null,
-               credentials.credential.getBytes());
-      try {
-         ssh.connect();
-         ExecResponse hello = ssh.exec("echo hello");
-         assertEquals(hello.getOutput().trim(), "hello");
-         ExecResponse exec = ssh.exec("df");
-         assertTrue(exec.getOutput().contains("Filesystem"),
-                  "The output should've contained filesystem information, but it didn't. Output: " + exec);
-      } finally {
-         if (ssh != null)
-            ssh.disconnect();
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/ReadOnlyIBMSmartCloudClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/ReadOnlyIBMSmartCloudClientLiveTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/ReadOnlyIBMSmartCloudClientLiveTest.java
deleted file mode 100644
index 44bab06..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/ReadOnlyIBMSmartCloudClientLiveTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Iterables;
-
-/**
- * Tests behavior of {@code IBMSmartCloudClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "ReadOnlyIBMSmartCloudClientLiveTest")
-public class ReadOnlyIBMSmartCloudClientLiveTest extends BaseIBMSmartCloudClientLiveTest {
-
-   @Test
-   public void testListImages() throws Exception {
-      Set<? extends Image> response = connection.listImages();
-      assertNotNull(response);
-   }
-
-   @Test
-   public void testGetImage() throws Exception {
-      Set<? extends Image> response = connection.listImages();
-      assertNotNull(response);
-      if (response.size() > 0) {
-         Image image = Iterables.get(response, 0);
-         assertEquals(connection.getImage(image.getId()).getId(), image.getId());
-      }
-   }
-
-   @Test
-   public void testListInstances() throws Exception {
-      Set<? extends Instance> response = connection.listInstances();
-      assertNotNull(response);
-   }
-
-   @Test
-   public void testListInstancesFromRequestReturnsEmptySet() throws Exception {
-      Set<? extends Instance> response = connection.listInstancesFromRequest(Long.MAX_VALUE + "");
-      assertEquals(response.size(), 0);
-   }
-
-   @Test
-   public void testGetInstance() throws Exception {
-      Set<? extends Instance> response = connection.listInstances();
-      assertNotNull(response);
-      if (response.size() > 0) {
-         Instance instance = Iterables.get(response, 0);
-         assertEquals(connection.getInstance(instance.getId()).getId(), instance.getId());
-      }
-   }
-
-   @Test
-   public void testListKeys() throws Exception {
-      Set<? extends Key> response = connection.listKeys();
-      assertNotNull(response);
-   }
-
-   @Test
-   public void testGetKey() throws Exception {
-      Set<? extends Key> response = connection.listKeys();
-      assertNotNull(response);
-      if (response.size() > 0) {
-         Key key = Iterables.get(response, 0);
-         assertEquals(connection.getKey(key.getName()).getName(), key.getName());
-      }
-   }
-
-   @Test
-   public void testListVolumes() throws Exception {
-      Set<? extends Volume> response = connection.listVolumes();
-      assertNotNull(response);
-   }
-
-   @Test
-   public void testGetVolume() throws Exception {
-      Set<? extends Volume> response = connection.listVolumes();
-      assertNotNull(response);
-      if (response.size() > 0) {
-         Volume image = Iterables.get(response, 0);
-         assertEquals(connection.getVolume(image.getId()).getId(), image.getId());
-      }
-   }
-
-   @Test
-   public void testListLocations() throws Exception {
-      Set<? extends Location> response = connection.listLocations();
-      assertNotNull(response);
-   }
-
-   @Test
-   public void testListAddresss() throws Exception {
-      Set<? extends Address> response = connection.listAddresses();
-      assertNotNull(response);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudComputeServiceLiveTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudComputeServiceLiveTest.java
deleted file mode 100644
index d6e4713..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudComputeServiceLiveTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute;
-
-import org.jclouds.compute.BaseComputeServiceLiveTest;
-import org.jclouds.sshj.config.SshjSshClientModule;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.inject.Module;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true, testName = "IBMSmartCloudComputeServiceLiveTest")
-public class IBMSmartCloudComputeServiceLiveTest extends BaseComputeServiceLiveTest {
-
-   @BeforeClass
-   @Override
-   public void setServiceDefaults() {
-      provider = "ibm-smartcloud";
-   }
-
-   @Override
-   protected Module getSshModule() {
-      return new SshjSshClientModule();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudTemplateBuilderLiveTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudTemplateBuilderLiveTest.java
deleted file mode 100644
index 3da56a2..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/compute/IBMSmartCloudTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.compute;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.util.Set;
-
-import org.jclouds.compute.BaseTemplateBuilderLiveTest;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "IBMSmartCloudTemplateBuilderLiveTest")
-public class IBMSmartCloudTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public IBMSmartCloudTemplateBuilderLiveTest() {
-      provider = "ibm-smartcloud";
-   }
-
-   @Override
-   protected Predicate<OsFamilyVersion64Bit> defineUnsupportedOperatingSystems() {
-      return new Predicate<OsFamilyVersion64Bit>() {
-
-         @Override
-         public boolean apply(OsFamilyVersion64Bit input) {
-            switch (input.family) {
-               case SUSE:
-                  return !input.version.equals("") && !input.version.equals("11") && !input.version.equals("11 SP1");
-               case RHEL:
-                  return !input.version.equals("") && !input.version.equals("5.4") && !input.version.equals("5.5");
-               case WINDOWS:
-                  return !input.version.equals("") && !(input.version.equals("2008 R2") && input.is64Bit)
-                           && !input.version.equals("2008 R1") && !input.version.equals("2003 R2");
-               default:
-                  return true;
-            }
-         }
-
-      };
-   }
-
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = context.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getLocation().getIso3166Codes(), ImmutableSet.of("CA-ON"));
-      assertEquals(defaultTemplate.getImage().getId(), "20015393");
-      assertEquals(defaultTemplate.getHardware().getId(), "20015393/COP32.1/2048/60");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "11 SP1");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), false);
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.SUSE);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.of("US-NC", "DE-BW", "US-CO", "CA-ON", "JP-12", "SG");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ExtendReservationForInstanceTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ExtendReservationForInstanceTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ExtendReservationForInstanceTest.java
deleted file mode 100644
index a01ba25..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ExtendReservationForInstanceTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.io.Payload;
-import org.jclouds.io.Payloads;
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ExtendReservationForInstanceTest")
-public class ExtendReservationForInstanceTest extends BaseItemParserTest<Date> {
-   
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   protected Payload payload() {
-      return Payloads.newStringPayload("{ \"expirationTime\":1249876800000 }");
-   }
-
-   @Override
-   @Unwrap
-   public Date expected() {
-      return new Date(1249876800000l);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetAddressTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetAddressTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetAddressTest.java
deleted file mode 100644
index 988ca23..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetAddressTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.json.BaseItemParserTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "GetAddressTest")
-public class GetAddressTest extends BaseItemParserTest<Address> {
-
-   @Override
-   public String resource() {
-      return "/address.json";
-   }
-
-   @Override
-   public Address expected() {
-      return new Address(2, "1", "129.33.196.243", "1217", "1");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetImageTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetImageTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetImageTest.java
deleted file mode 100644
index c4189ea..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetImageTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-
-import org.jclouds.http.HttpUtils;
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.domain.InstanceType;
-import org.jclouds.ibm.smartcloud.domain.Price;
-import org.jclouds.ibm.smartcloud.domain.Image.Visibility;
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "GetImageTest")
-public class GetImageTest extends BaseItemParserTest<Image> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/image.json";
-   }
-
-   @Override
-   public Image expected() {
-      return new Image(
-               "SUSE Linux Enterprise Server 11 for x86",
-               HttpUtils
-                        .createUri("https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/parameters.xml"),
-               Image.State.AVAILABLE,
-               Visibility.PUBLIC,
-               "SYSTEM",
-               "SUSE Linux Enterprise Server/11",
-               Image.Architecture.I386,
-               new Date(1216944000000l),
-               "41",
-               ImmutableSet.<InstanceType> of(new InstanceType("Bronze 32 bit", new Price(0.17, "UHR  ", "897", null,
-                        "USD", 1), "BRZ32.1/2048/175"), new InstanceType("Gold 32 bit", new Price(0.41, "UHR  ", "897",
-                        null, "USD", 1), "GLD32.4/4096/350"), new InstanceType("Silver 32 bit", new Price(0.265,
-                        "UHR  ", "897", null, "USD", 1), "SLV32.2/4096/350")),
-               ImmutableSet.<String> of("ifeE7VOzRG6SGvoDlRPTQw"),
-               HttpUtils
-                        .createUri("https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/GettingStarted.html"),
-               "20001150", "SUSE Linux Enterprise Server 11 for x86 Base OS 32-bit with pay for use licensing");
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetInstanceTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetInstanceTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetInstanceTest.java
deleted file mode 100644
index 4f574fb..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetInstanceTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.IP;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Instance.Software;
-import org.jclouds.ibm.smartcloud.domain.Instance.Status;
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "GetInstanceTest")
-public class GetInstanceTest extends BaseItemParserTest<Instance> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/instance.json";
-   }
-
-   @Override
-   public Instance expected() {
-      return Instance.builder().launchTime(new Date(1305351683883l)).software(
-               ImmutableSet.of(new Software("SUSE Linux Enterprise Server", "OS", "11 SP1"))).primaryIP(
-               new IP("                ", "                ", 0)).requestId("80890").keyName("adriancole").name(
-               "adriancole").instanceType("COP32.1/2048/60").status(Status.NEW).owner("adrian@cloudconscious.com")
-               .location("101").imageId("20015393").rootOnly(true).requestName("adriancole").id("80590")
-               .expirationTime(new Date(1368423692824l)).diskSize(60).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetKeyTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetKeyTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetKeyTest.java
deleted file mode 100644
index 62ee143..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetKeyTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "GetKeyTest")
-public class GetKeyTest extends BaseItemParserTest<Key> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/key.json";
-   }
-
-   @Override
-   public Key expected() {
-      return new Key(true, ImmutableSet.<String> of("1"), "AAAB3NzaC1yc2EAAAADAQABAAABAQCqBw7a+...", "DEFAULT",
-               new Date(1260428507510l));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetVolumeTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetVolumeTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetVolumeTest.java
deleted file mode 100644
index cf916c3..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/GetVolumeTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-@Test(groups = "unit", testName = "GetVolumeTest")
-public class GetVolumeTest extends BaseItemParserTest<Volume> {
-   
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-   
-   @Override
-   public String resource() {
-      return "/volume.json";
-   }
-
-   @Override
-   public Volume expected() {
-      return new Volume("2", 5, 50, "aadelucc@us.ibm.com", new Date(1260469075119l), "1", ImmutableSet.<String> of(),
-               "ext3", "New Storage", "67");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListAddressesTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListAddressesTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListAddressesTest.java
deleted file mode 100644
index fa691f7..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListAddressesTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.json.BaseSetParserTest;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ListAddressesTest")
-public class ListAddressesTest extends BaseSetParserTest<Address> {
-
-   @Override
-   public String resource() {
-      return "/addresses.json";
-   }
-   
-   @Override
-   @Unwrap
-   public Set<Address> expected() {
-      return ImmutableSet.of(new Address(2, "1", "129.33.196.243", "1217", "1"), new Address(3, "2", "129.33.196.244",
-               "1218", null));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListImagesTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListImagesTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListImagesTest.java
deleted file mode 100644
index 3a55b00..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListImagesTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.jclouds.http.HttpUtils;
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.domain.InstanceType;
-import org.jclouds.ibm.smartcloud.domain.Price;
-import org.jclouds.ibm.smartcloud.domain.Image.Visibility;
-import org.jclouds.json.BaseSetParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", singleThreaded = true, testName = "ListImagesTest")
-public class ListImagesTest extends BaseSetParserTest<Image> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/images.json";
-   }
-
-   @Override
-   @Unwrap
-   public Set<Image> expected() {
-      return ImmutableSet
-               .of(new Image(
-                        "SUSE Linux Enterprise Server 11 for x86",
-                        HttpUtils
-                                 .createUri("https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/parameters.xml"),
-                        Image.State.AVAILABLE,
-                        Visibility.PUBLIC,
-                        "SYSTEM",
-                        "SUSE Linux Enterprise Server/11",
-                        Image.Architecture.X86_64,
-                        new Date(1216944000000l),
-                        "41",
-                        ImmutableSet.<InstanceType> of(new InstanceType("Bronze 32 bit", new Price(0.17, "UHR  ",
-                                 "897", null, "USD", 1), "BRZ32.1/2048/175"), new InstanceType("Gold 32 bit",
-                                 new Price(0.41, "UHR  ", "897", null, "USD", 1), "GLD32.4/4096/350"),
-                                 new InstanceType("Silver 32 bit", new Price(0.265, "UHR  ", "897", null, "USD", 1),
-                                          "SLV32.2/4096/350")),
-                        ImmutableSet.<String> of("ifeE7VOzRG6SGvoDlRPTQw"),
-                        HttpUtils
-                                 .createUri("https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/GettingStarted.html"),
-                        "20001150", "SUSE Linux Enterprise Server 11 for x86 Base OS 32-bit with pay for use licensing"));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListInstancesTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListInstancesTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListInstancesTest.java
deleted file mode 100644
index d0c1b12..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListInstancesTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.IP;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Instance.Software;
-import org.jclouds.ibm.smartcloud.domain.Instance.Status;
-import org.jclouds.json.BaseSetParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ListInstancesTest")
-public class ListInstancesTest extends BaseSetParserTest<Instance> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/instances.json";
-   }
-
-   @Override
-   @Unwrap
-   public Set<Instance> expected() {
-
-      return ImmutableSet.of(Instance.builder().launchTime(new Date(1305351683883l)).software(
-               ImmutableSet.of(new Software("SUSE Linux Enterprise Server", "OS", "11 SP1"))).primaryIP(
-               new IP("                ", "                ", 0)).requestId("80890").keyName("adriancole").name("adriancole").instanceType(
-               "COP32.1/2048/60").status(Status.NEW).owner("adrian@cloudconscious.com").location("101").imageId(
-               "20015393").rootOnly(true).requestName("adriancole").id("80590")
-               .expirationTime(new Date(1368423692824l)).diskSize(60).build());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListKeysTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListKeysTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListKeysTest.java
deleted file mode 100644
index f8fa767..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListKeysTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.json.BaseSetParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ListKeyesTest")
-public class ListKeysTest extends BaseSetParserTest<Key> {
-   
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-   
-   @Override
-   public String resource() {
-      return "/keys.json";
-   }
-
-   @Override
-   @Unwrap
-   public Set<Key> expected() {
-      return ImmutableSet.of(new Key(true, ImmutableSet.<String> of("1"), "AAAB3NzaC1yc2EAAAADAQABAAABAQCqBw7a+...",
-               "DEFAULT", new Date(1260428507510l)), new Key(false, ImmutableSet.<String> of(),
-               "AAAB3NzaC1yc2EAAAADAQABAAABAQCqBw7a+", "BEAR", new Date(1260428507511l)));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListStorageOfferingsTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListStorageOfferingsTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListStorageOfferingsTest.java
deleted file mode 100644
index 78bbde9..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListStorageOfferingsTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Price;
-import org.jclouds.ibm.smartcloud.domain.StorageOffering;
-import org.jclouds.ibm.smartcloud.domain.StorageOffering.Format;
-import org.jclouds.json.BaseSetParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ListStorageOfferingsTest")
-public class ListStorageOfferingsTest extends BaseSetParserTest<StorageOffering> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/storage-offerings.json";
-   }
-
-   @Override
-   @Unwrap
-   public Set<StorageOffering> expected() {
-      return ImmutableSet.of(//
-               new StorageOffering("41", new Price(0.039, "UHR", "897", new Date(1279497600000l), "USD", 1), 256,
-                        "Small", "20001208", ImmutableSet.of(new Format("ext3", "EXT3"))),//
-               new StorageOffering("41", new Price(0.312, "UHR", "897", new Date(1279497600000l), "USD", 1), 2048,
-                        "Large", "20001210", ImmutableSet.of(new Format("ext3", "EXT3"))),//
-               new StorageOffering("41", new Price(0.078, "UHR", "897", new Date(1279497600000l), "USD", 1), 512,
-                        "Medium", "20001209", ImmutableSet.of(new Format("ext3", "EXT3")))//
-               );
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListVolumesTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListVolumesTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListVolumesTest.java
deleted file mode 100644
index dae398c..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/ListVolumesTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.jclouds.json.BaseSetParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ListVolumesTest")
-public class ListVolumesTest extends BaseSetParserTest<Volume> {
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/volumes.json";
-   }
-
-   @Override
-   @Unwrap
-   public Set<Volume> expected() {
-      return ImmutableSet.of(new Volume("2", 5, 50, "aadelucc@us.ibm.com", new Date(1260469075119l), "1", ImmutableSet
-               .<String> of(), "ext3", "New Storage", "67"), new Volume(null, 6, 51, "aadelucc@us.ibm.com", new Date(
-               1260469075120l), "2", ImmutableSet.<String> of("abrad"), "ext3", "New Storage1", "68"));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/NewInstanceTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/NewInstanceTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/NewInstanceTest.java
deleted file mode 100644
index 6788f0b..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/parse/NewInstanceTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.parse;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.jclouds.ibm.smartcloud.config.IBMSmartCloudParserModule;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Instance.Software;
-import org.jclouds.ibm.smartcloud.domain.Instance.Status;
-import org.jclouds.json.BaseItemParserTest;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.rest.annotations.Unwrap;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "GetInstanceTest")
-public class NewInstanceTest extends BaseItemParserTest<Instance> {
-
-   protected Injector injector() {
-      return Guice.createInjector(new GsonModule(), new IBMSmartCloudParserModule());
-   }
-
-   @Override
-   public String resource() {
-      return "/new_instance.json";
-   }
-
-   @Override
-   @Unwrap(depth = 2, edgeCollection = Set.class)
-   public Instance expected() {
-      return Instance.builder().launchTime(new Date(1305359078796l)).software(
-               ImmutableSet.of(new Software("SUSE Linux Enterprise Server", "OS", "11 SP1"))).requestId("80904")
-               .keyName("adriancole").name("adriancole").instanceType("COP32.1/2048/60").status(Status.NEW).owner(
-                        "adrian@cloudconscious.com").location("101").imageId("20015393").requestName("adriancole").id(
-                        "80604").expirationTime(new Date(1368431087355l)).build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationHandlerTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationHandlerTest.java
deleted file mode 100644
index 9cb56d9..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationHandlerTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.reference.Capabilities;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Tests behavior of {@code LocationHandler}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "LocationHandlerTest")
-public class LocationHandlerTest extends BaseHandlerTest {
-
-   public void testApplyInputStream() {
-      InputStream is = getClass().getResourceAsStream("/location.xml");
-
-      Location result = factory.create(injector.getInstance(LocationHandler.class)).parse(is);
-
-      Location expects = Location.builder().id("41").name("RTP").description("RTP usrdtsa0a1ccxra").location("RTP")
-               .state(Location.State.ONLINE).capability(Capabilities.CAPABILITY_FORMAT,
-                        ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw")).capability(
-                        Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64)
-               .capability(Capabilities.CAPABILITY_AVAILABILITYAREA).build();
-
-      assertEquals(result.toString(), expects.toString());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationsHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationsHandlerTest.java b/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationsHandlerTest.java
deleted file mode 100644
index 061748c..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/java/org/jclouds/ibm/smartcloud/xml/LocationsHandlerTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.util.Set;
-
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.reference.Capabilities;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-/**
- * Tests behavior of {@code LocationsHandler}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "ibm.smartcloud.LocationsHandlerTest")
-public class LocationsHandlerTest extends BaseHandlerTest {
-
-   @Test
-   public void testAllLocations() {
-      InputStream is = getClass().getResourceAsStream("/locations.xml");
-
-      Set<? extends Location> result = factory.create(injector.getInstance(LocationsHandler.class)).parse(is);
-
-      Set<? extends Location> expects = ImmutableSet.of(Location.builder().id("41").name("RTP").description(
-               "RTP usrdtsa0a1ccxra").location("RTP").state(Location.State.ONLINE).capability(
-               Capabilities.CAPABILITY_FORMAT, ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw"))
-               .capability(Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64).capability(
-                        Capabilities.CAPABILITY_AVAILABILITYAREA).build(),
-
-      Location.builder().id("61").name("EHN").location("EHN").state(Location.State.ONLINE)
-               .capability(Capabilities.CAPABILITY_FORMAT,
-                        ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw")).capability(
-                        Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64).capability(
-                        Capabilities.CAPABILITY_AVAILABILITYAREA).build(),
-
-               Location.builder().id("82").name("us-co-dc1").description("BLD main DC").location("us-co-dc1").state(
-                        Location.State.ONLINE).capability(Capabilities.CAPABILITY_FORMAT,
-                        ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw")).capability(
-                        Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64).capability(
-                        Capabilities.CAPABILITY_AVAILABILITYAREA).build(),
-
-               Location.builder().id("101").name("ca-on-dc1").description("Data Center 1 at Ontario, Canada").location(
-                        "ca-on-dc1").state(Location.State.ONLINE).capability(Capabilities.CAPABILITY_FORMAT,
-                        ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw")).capability(
-                        Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64).capability(
-                        Capabilities.CAPABILITY_AVAILABILITYAREA).build(),
-
-               Location.builder().id("121").name("ap-jp-dc1").description("Data Center 1 at Makuhari, Japan").location(
-                        "ap-jp-dc1").state(Location.State.ONLINE).capability(Capabilities.CAPABILITY_FORMAT,
-                        ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw")).capability(
-                        Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64).capability(
-                        Capabilities.CAPABILITY_AVAILABILITYAREA).build(),
-
-               Location.builder().id("141").name("ap-sg-dc1").description("Data Center 1 at Singapore").location(
-                        "ap-sg-dc1").state(Location.State.ONLINE).capability(Capabilities.CAPABILITY_FORMAT,
-                        ImmutableMap.<String, String> of("EXT3", "ext3", "RAW", "raw")).capability(
-                        Capabilities.CAPABILITY_I386).capability(Capabilities.CAPABILITY_x86_64).capability(
-                        Capabilities.CAPABILITY_AVAILABILITYAREA).build()
-
-      );
-
-      assertEquals(result.toString(), expects.toString());
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/address.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/address.json b/sandbox-providers/ibm-smartcloud/src/test/resources/address.json
deleted file mode 100644
index 3cbae65..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/address.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-"state":2,
-"location":"1", 
-"ip": "129.33.196.243", 
-"id":"1217",
-"instanceId":"1"
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/addresses.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/addresses.json b/sandbox-providers/ibm-smartcloud/src/test/resources/addresses.json
deleted file mode 100644
index e23b8ee..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/addresses.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{"addresses": [
-{
-"state":2,
-"location":"1", 
-"ip": "129.33.196.243", 
-"id":"1217",
-"instanceId":"1"
-},
-{
-"state":3,
-"location":"2", 
-"ip": "129.33.196.244", 
-"id":"1218"
-}
-]
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/image.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/image.json b/sandbox-providers/ibm-smartcloud/src/test/resources/image.json
deleted file mode 100644
index 7d68ce5..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/image.json
+++ /dev/null
@@ -1,51 +0,0 @@
-    {
-        "name": "SUSE Linux Enterprise Server 11 for x86",
-        "manifest": "https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/parameters.xml",
-        "state": 1,
-        "visibility": "PUBLIC",
-        "owner": "SYSTEM",
-        "architecture": "i386",
-        "platform": "SUSE Linux Enterprise Server/11",
-        "createdTime": 1216944000000,
-        "location": "41",
-        "supportedInstanceTypes": [{
-            "label": "Bronze 32 bit",
-            "price": {
-                "rate": 0.17,
-                "unitOfMeasure": "UHR  ",
-                "countryCode": "897",
-                "effectiveDate": -1,
-                "currencyCode": "USD",
-                "pricePerQuantity": 1
-            },
-            "id": "BRZ32.1/2048/175"
-        },
-        {
-            "label": "Gold 32 bit",
-            "price": {
-                "rate": 0.41,
-                "unitOfMeasure": "UHR  ",
-                "countryCode": "897",
-                "effectiveDate": -1,
-                "currencyCode": "USD",
-                "pricePerQuantity": 1
-            },
-            "id": "GLD32.4/4096/350"
-        },
-        {
-            "label": "Silver 32 bit",
-            "price": {
-                "rate": 0.265,
-                "unitOfMeasure": "UHR  ",
-                "countryCode": "897",
-                "effectiveDate": -1,
-                "currencyCode": "USD",
-                "pricePerQuantity": 1
-            },
-            "id": "SLV32.2/4096/350"
-        }],
-        "productCodes": ["ifeE7VOzRG6SGvoDlRPTQw"],
-        "documentation": "https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/GettingStarted.html",
-        "id": "20001150",
-        "description": "SUSE Linux Enterprise Server 11 for x86 Base OS 32-bit with pay for use licensing"
-    }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/images.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/images.json b/sandbox-providers/ibm-smartcloud/src/test/resources/images.json
deleted file mode 100644
index f68f1a6..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/images.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{"images":
-  [{
-    
-        "name": "SUSE Linux Enterprise Server 11 for x86",
-        "manifest": "https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/parameters.xml",
-        "state": 1,
-        "visibility": "PUBLIC",
-        "owner": "SYSTEM",
-        "architecture": "x86_64",
-        "platform": "SUSE Linux Enterprise Server/11",
-        "createdTime": 1216944000000,
-        "location": "41",
-        "supportedInstanceTypes": [{
-            "label": "Bronze 32 bit",
-            "price": {
-                "rate": 0.17,
-                "unitOfMeasure": "UHR  ",
-                "countryCode": "897",
-                "effectiveDate": -1,
-                "currencyCode": "USD",
-                "pricePerQuantity": 1
-            },
-            "id": "BRZ32.1/2048/175"
-        },
-        {
-            "label": "Gold 32 bit",
-            "price": {
-                "rate": 0.41,
-                "unitOfMeasure": "UHR  ",
-                "countryCode": "897",
-                "effectiveDate": -1,
-                "currencyCode": "USD",
-                "pricePerQuantity": 1
-            },
-            "id": "GLD32.4/4096/350"
-        },
-        {
-            "label": "Silver 32 bit",
-            "price": {
-                "rate": 0.265,
-                "unitOfMeasure": "UHR  ",
-                "countryCode": "897",
-                "effectiveDate": -1,
-                "currencyCode": "USD",
-                "pricePerQuantity": 1
-            },
-            "id": "SLV32.2/4096/350"
-        }],
-        "productCodes": ["ifeE7VOzRG6SGvoDlRPTQw"],
-        "documentation": "https://www-147.ibm.com/cloud/enterprise/ram.ws/RAMSecure/artifact/{F006D027-02CC-9D08-D389-6C729D939D44}/1.0/GettingStarted.html",
-        "id": "20001150",
-        "description": "SUSE Linux Enterprise Server 11 for x86 Base OS 32-bit with pay for use licensing"
-    }
-  ]
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/instance.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/instance.json b/sandbox-providers/ibm-smartcloud/src/test/resources/instance.json
deleted file mode 100644
index e453a80..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/instance.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-        "launchTime": 1305351683883,
-        "software": [{
-            "version": "11 SP1",
-            "type": "OS",
-            "name": "SUSE Linux Enterprise Server"
-        }],
-        "primaryIP": {
-            "hostname": "                ",
-            "ip": "                ",
-            "type": 0
-        },
-        "requestId": "80890",
-        "keyName": "adriancole",
-        "name": "adriancole",
-        "instanceType": "COP32.1/2048/60",
-        "status": 0,
-        "owner": "adrian@cloudconscious.com",
-        "location": "101",
-        "imageId": "20015393",
-        "root-only": "true",
-        "productCodes": [],
-        "volumes": [],
-        "requestName": "adriancole",
-        "id": "80590",
-        "secondaryIP": [],
-        "expirationTime": 1368423692824,
-        "diskSize": "60"
-    }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/instances.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/instances.json b/sandbox-providers/ibm-smartcloud/src/test/resources/instances.json
deleted file mode 100644
index c842afe..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/instances.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-    "instances": [{
-        "launchTime": 1305351683883,
-        "software": [{
-            "version": "11 SP1",
-            "type": "OS",
-            "name": "SUSE Linux Enterprise Server"
-        }],
-        "primaryIP": {
-            "hostname": "                ",
-            "ip": "                ",
-            "type": 0
-        },
-        "requestId": "80890",
-        "keyName": "adriancole",
-        "name": "adriancole",
-        "instanceType": "COP32.1/2048/60",
-        "status": 0,
-        "owner": "adrian@cloudconscious.com",
-        "location": "101",
-        "imageId": "20015393",
-        "root-only": "true",
-        "productCodes": [],
-        "volumes": [],
-        "requestName": "adriancole",
-        "id": "80590",
-        "secondaryIP": [],
-        "expirationTime": 1368423692824,
-        "diskSize": "60"
-    }]
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/key.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/key.json b/sandbox-providers/ibm-smartcloud/src/test/resources/key.json
deleted file mode 100644
index e6dfefc..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/key.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-"default":true,
-"instanceIds":["1"],
-"keyMaterial":"AAAB3NzaC1yc2EAAAADAQABAAABAQCqBw7a+...",
-"keyName":"DEFAULT",
-"lastModifiedTime":1260428507510
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/test/resources/keys.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/test/resources/keys.json b/sandbox-providers/ibm-smartcloud/src/test/resources/keys.json
deleted file mode 100644
index bd119d6..0000000
--- a/sandbox-providers/ibm-smartcloud/src/test/resources/keys.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-"keys":[ 
-{
-"default":true,
-"instanceIds":["1"],
-"keyMaterial":"AAAB3NzaC1yc2EAAAADAQABAAABAQCqBw7a+...",
-"keyName":"DEFAULT",
-"lastModifiedTime":1260428507510
-},
-{
-"default":false,
-"instanceIds":[],
-"keyMaterial":"AAAB3NzaC1yc2EAAAADAQABAAABAQCqBw7a+",
-"keyName":"BEAR",
-"lastModifiedTime":1260428507511
-}
-]
-}
\ No newline at end of file


[13/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/FileHandler.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/FileHandler.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/FileHandler.java
deleted file mode 100644
index cd765e7..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/xml/FileHandler.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.xml;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import javax.inject.Inject;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-import org.jclouds.mezeo.pcs.domain.internal.FileInfoWithMetadataImpl;
-import org.jclouds.util.Strings2;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-import com.google.common.collect.Maps;
-
-/**
- * @author Adrian Cole
- */
-public class FileHandler extends ParseSax.HandlerWithResult<FileInfoWithMetadata> {
-   private static final Pattern CONTENT_PATTERN = Pattern.compile("/content");
-   private static final Pattern METADATA_PATTERN = Pattern.compile(".*/metadata/");
-
-   protected Map<String, URI> metadataItems = Maps.newHashMap();
-
-   protected URI currentUrl;
-   private String currentName;
-   private Date currentCreated;
-   private boolean currentInproject;
-   private Date currentModified;
-   private String currentOwner;
-   private int currentVersion;
-   private boolean currentShared;
-   private Date currentAccessed;
-   private long currentBytes;
-   private String currentMimeType;
-   private boolean currentPublic;
-
-   protected StringBuilder currentText = new StringBuilder();
-
-   private final DateService dateParser;
-
-   private FileInfoWithMetadata fileMetadataList;
-
-   private URI currentPermissions;
-
-   private URI currentTags;
-
-   private URI currentThumbnail;
-
-   private URI currentMetadata;
-
-   private URI currentContent;
-
-   private URI currentParent;
-
-   @Inject
-   public FileHandler(DateService dateParser) {
-      this.dateParser = dateParser;
-   }
-
-   @Override
-   public void startElement(String uri, String localName, String qName, Attributes attributes)
-            throws SAXException {
-      if (qName.equals("content")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentContent = URI.create(attributes.getValue(index));
-            currentUrl = URI.create(Strings2.replaceAll(attributes.getValue(index), CONTENT_PATTERN,
-                     ""));
-         }
-      } else if (qName.equals("permissions")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentPermissions = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("tags")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentTags = URI.create(attributes.getValue(index));
-
-         }
-      } else if (qName.equals("parent")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentParent = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("thumbnail")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentThumbnail = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("metadata")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            currentMetadata = URI.create(attributes.getValue(index));
-         }
-      } else if (qName.equals("metadata-item")) {
-         int index = attributes.getIndex("xlink:href");
-         if (index != -1) {
-            String key = Strings2.replaceAll(attributes.getValue(index), METADATA_PATTERN, "");
-            metadataItems.put(key.toLowerCase(), URI.create(attributes.getValue(index)));
-         }
-      }
-   }
-
-   @Override
-   public void endElement(String uri, String name, String qName) {
-      if (qName.equals("name")) {
-         currentName = currentText.toString().trim();
-      } else if (qName.equals("created")) {
-         currentCreated = dateParser.fromSeconds(Long.parseLong(currentText.toString().trim()));
-      } else if (qName.equals("inproject")) {
-         currentInproject = Boolean.parseBoolean(currentText.toString().trim());
-      } else if (qName.equals("modified")) {
-         currentModified = dateParser.fromSeconds(Long.parseLong(currentText.toString().trim()));
-      } else if (qName.equals("owner")) {
-         currentOwner = currentText.toString().trim();
-      } else if (qName.equals("version")) {
-         currentVersion = Integer.parseInt(currentText.toString().trim());
-      } else if (qName.equals("shared")) {
-         currentShared = Boolean.parseBoolean(currentText.toString().trim());
-      } else if (qName.equals("accessed")) {
-         currentAccessed = dateParser.fromSeconds(Long.parseLong(currentText.toString().trim()));
-      } else if (qName.equals("bytes")) {
-         currentBytes = Long.parseLong(currentText.toString().trim());
-      } else if (qName.equals("mime_type")) {
-         currentMimeType = currentText.toString().trim();
-      } else if (qName.equals("public")) {
-         currentPublic = Boolean.parseBoolean(currentText.toString().trim());
-      } else if (qName.equals("file")) {
-         fileMetadataList = new FileInfoWithMetadataImpl(currentUrl, currentName, currentCreated,
-                  currentInproject, currentModified, currentOwner, currentVersion, currentShared,
-                  currentAccessed, currentPublic, currentMimeType, currentBytes, currentContent,
-                  currentParent, currentPermissions, currentTags, currentMetadata, metadataItems,
-                  currentThumbnail);
-         currentUrl = null;
-         currentName = null;
-         currentCreated = null;
-         currentInproject = false;
-         currentModified = null;
-         currentOwner = null;
-         currentVersion = 0;
-         currentShared = false;
-         currentAccessed = null;
-         currentBytes = 0;
-         currentMimeType = null;
-         currentPublic = false;
-      }
-      currentText = new StringBuilder();
-   }
-
-   public void characters(char ch[], int start, int length) {
-      currentText.append(ch, start, length);
-   }
-
-   @Override
-   public FileInfoWithMetadata getResult() {
-      return fileMetadataList;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSAsyncClientTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSAsyncClientTest.java
deleted file mode 100644
index 3e4614e..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSAsyncClientTest.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jclouds.blobstore.binders.BindBlobToMultipartFormTest;
-import org.jclouds.blobstore.functions.ReturnNullOnKeyNotFound;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.http.functions.ParseURIFromListOrLocationHeaderIf20x;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.http.functions.ReturnInputStream;
-import org.jclouds.mezeo.pcs.PCSAsyncClient;
-import org.jclouds.mezeo.pcs.PCSClient;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient.Response;
-import org.jclouds.mezeo.pcs.blobstore.functions.BlobToPCSFile;
-import org.jclouds.mezeo.pcs.config.PCSRestClientModule;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.mezeo.pcs.functions.AddMetadataItemIntoMap;
-import org.jclouds.mezeo.pcs.options.PutBlockOptions;
-import org.jclouds.mezeo.pcs.xml.ContainerHandler;
-import org.jclouds.mezeo.pcs.xml.FileHandler;
-import org.jclouds.rest.AsyncClientFactory;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code PCSClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.PCSClientTest")
-public class PCSAsyncClientTest extends RestClientTest<PCSAsyncClient> {
-
-   public void testList() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("list");
-      GeneratedHttpRequest request = processor.createRequest(method);
-
-      assertRequestLineEquals(request, "GET http://root HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "X-Cloud-Depth: 2\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, ContainerHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testCreateContainer() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("createContainer", String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "container");
-
-      assertRequestLineEquals(request, "POST http://root/contents HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, "<container><name>container</name></container>",
-            "application/vnd.csp.container-info+xml", false);
-
-      assertResponseParserClassEquals(method, request, ParseURIFromListOrLocationHeaderIf20x.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-
-   }
-
-   public void testDeleteContainer() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("deleteContainer", URI.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/container/1234"));
-
-      assertRequestLineEquals(request, "DELETE http://localhost/container/1234 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testListURI() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("list", URI.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/mycontainer"));
-
-      assertRequestLineEquals(request, "GET http://localhost/mycontainer HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "X-Cloud-Depth: 2\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, ContainerHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetFileInfo() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("getFileInfo", URI.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/myfile"));
-
-      assertRequestLineEquals(request, "GET http://localhost/myfile HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "X-Cloud-Depth: 2\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, FileHandler.class);
-      assertExceptionParserClassEquals(method, ReturnNullOnKeyNotFound.class);
-
-      checkFilters(request);
-   }
-
-   public void testUploadFile() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("uploadFile", URI.class, PCSFile.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/mycontainer"), blobToPCSFile
-            .apply(BindBlobToMultipartFormTest.TEST_BLOB));
-
-      assertRequestLineEquals(request, "POST http://localhost/mycontainer/contents HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, BindBlobToMultipartFormTest.EXPECTS, "multipart/form-data; boundary=--JCLOUDS--",
-            false);
-
-      assertResponseParserClassEquals(method, request, ParseURIFromListOrLocationHeaderIf20x.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-
-   }
-
-   public void testUploadBlock() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("uploadBlock", URI.class, PCSFile.class, Array.newInstance(
-            PutBlockOptions.class, 0).getClass());
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/mycontainer"), blobToPCSFile
-            .apply(BindBlobToMultipartFormTest.TEST_BLOB));
-
-      assertRequestLineEquals(request, "PUT http://localhost/mycontainer/content HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, "hello", "text/plain", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDownloadFile() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("downloadFile", URI.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/container"));
-
-      assertRequestLineEquals(request, "GET http://localhost/container/content HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReturnInputStream.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnNullOnKeyNotFound.class);
-
-      checkFilters(request);
-
-   }
-
-   public void testDeleteFile() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("deleteFile", URI.class);
-      GeneratedHttpRequest request = processor.createRequest(method,
-            new Object[] { URI.create("http://localhost/contents/file") });
-
-      assertRequestLineEquals(request, "DELETE http://localhost/contents/file HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, ReturnVoidOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testPutMetadata() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("putMetadataItem", URI.class, String.class, String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/contents/file"), "pow", "bar");
-
-      assertRequestLineEquals(request, "PUT http://localhost/contents/file/metadata/pow HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, "bar", "application/unknown", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-
-   }
-
-   public void testAddEntryToMap() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSAsyncClient.class.getMethod("addMetadataItemToMap", URI.class, String.class, Map.class);
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://localhost/pow"), "newkey", ImmutableMap
-            .of("key", "value"));
-
-      assertRequestLineEquals(request, "GET http://localhost/pow/metadata/newkey HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, AddMetadataItemIntoMap.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   private BlobToPCSFile blobToPCSFile;
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), BasicAuthentication.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<PCSAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<PCSAsyncClient>>() {
-      };
-   }
-
-   @BeforeClass
-   @Override
-   protected void setupFactory() throws IOException {
-      super.setupFactory();
-      blobToPCSFile = injector.getInstance(BlobToPCSFile.class);
-   }
-
-   @Override
-   protected Module createModule() {
-      return new TestPCSRestClientModule();
-   }
-
-   @RequiresHttp
-   @ConfiguresRestClient
-   private static final class TestPCSRestClientModule extends PCSRestClientModule {
-      @Override
-      protected void configure() {
-         super.configure();
-      }
-
-      @Override
-      protected Response provideCloudResponse(AsyncClientFactory factory) {
-         return null;
-      }
-
-      @Override
-      protected URI provideRootContainerUrl(Response response) {
-         return URI.create("http://root");
-      }
-   }
-
-   @Override
-   public RestContextSpec<PCSClient, PCSAsyncClient> createContextSpec() {
-      Properties properties = new Properties();
-      properties.setProperty("pcs.endpoint", "http://goo");
-      return new RestContextFactory().createContextSpec("pcs", "identity", "credential", properties);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSClientLiveTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSClientLiveTest.java
deleted file mode 100644
index d6baafb..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSClientLiveTest.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.mezeo.pcs.options.PutBlockOptions.Builder.range;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.fail;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
-
-import javax.inject.Provider;
-import javax.ws.rs.core.UriBuilder;
-
-import org.jclouds.Constants;
-import org.jclouds.blobstore.KeyNotFoundException;
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
-import org.jclouds.http.HttpResponseException;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.mezeo.pcs.PCSAsyncClient;
-import org.jclouds.mezeo.pcs.PCSClient;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.mezeo.pcs.domain.ResourceInfo;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-import com.google.inject.Module;
-import com.sun.jersey.api.uri.UriBuilderImpl;
-
-/**
- * Tests behavior of {@code PCSDiscovery}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "pcs2.PCSClientLiveTest")
-public class PCSClientLiveTest {
-
-   Provider<UriBuilder> uriBuilderProvider = new Provider<UriBuilder>() {
-
-      @Override
-      public UriBuilder get() {
-         return new UriBuilderImpl();
-      }
-
-   };
-
-   private RestContext<PCSClient, PCSAsyncClient> context;
-   private PCSClient connection;
-
-   protected String provider = "pcs";
-   protected String identity;
-   protected String credential;
-   protected String endpoint;
-   protected String apiVersion;
-
-   protected void setupCredentials() {
-      identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider + ".identity");
-      credential = checkNotNull(System.getProperty("test." + provider + ".credential"), "test." + provider
-            + ".credential");
-      endpoint = System.getProperty("test." + provider + ".endpoint");
-     apiVersion = System.getProperty("test." + provider + ".api-version");
-   }
-
-   protected Properties setupProperties() {
-      Properties overrides = new Properties();
-      overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
-      overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true");
-      overrides.setProperty(provider + ".identity", identity);
-      overrides.setProperty(provider + ".credential", credential);
-      if (endpoint != null)
-         overrides.setProperty(provider + ".endpoint", endpoint);
-      if (apiVersion != null)
-         overrides.setProperty(provider + ".api-version", apiVersion);
-      return overrides;
-   }
-
-   @BeforeGroups(groups = { "live" })
-   public void setupClient() {
-      setupCredentials();
-      Properties overrides = setupProperties();
-
-      context = new RestContextFactory().createContext(provider, ImmutableSet.<Module> of(new Log4JLoggingModule()),
-            overrides);
-
-      connection = context.getApi();
-      ContainerList response = connection.list();
-      for (ResourceInfo resource : response) {
-         if (resource.getType() == StorageType.FOLDER && resource.getName().startsWith(containerPrefix)) {
-            System.err.printf("*** deleting container %s...%n", resource.getName());
-            connection.deleteContainer(resource.getUrl());
-         }
-      }
-
-   }
-
-   private String containerPrefix = BaseBlobStoreIntegrationTest.CONTAINER_PREFIX;
-
-   @Test
-   public void testListContainers() throws Exception {
-      ContainerList response = connection.list();
-      URI rootUrl = response.getUrl();
-      String name = "/";
-      validateContainerList(response, rootUrl, name);
-
-      long initialContainerCount = response.size();
-      assertTrue(initialContainerCount >= 0);
-
-      // Create test containers
-      for (String container : new String[] { containerPrefix + ".testListOwnedContainers1",
-            containerPrefix + ".testListOwnedContainers2" }) {
-         URI containerURI = connection.createContainer(container);
-         connection.putMetadataItem(containerURI, "name", container);
-         response = connection.list(containerURI);
-         validateContainerList(response, rootUrl, container);
-
-         assertEquals(response.getMetadataItems().get("name"),
-               URI.create(containerURI.toASCIIString() + "/metadata/name"));
-
-         validateMetadataItemNameEquals(containerURI, container);
-
-         connection.deleteContainer(containerURI);
-      }
-   }
-
-   private void validateMetadataItemNameEquals(URI resource, String name) throws InterruptedException,
-         ExecutionException, TimeoutException {
-      Map<String, String> metadata = Maps.newHashMap();
-      connection.addMetadataItemToMap(resource, "name", metadata);
-      assertEquals(metadata.get("name"), name);
-   }
-
-   private void validateContainerList(ContainerList response, URI parent, String name) {
-      assertNotNull(response.getMetadataItems());
-      validateResource(response, parent, name);
-   }
-
-   private void validateFileInfo(FileInfoWithMetadata response, URI parent, String name, Long size, String mimeType) {
-      assertNotNull(response.getMetadataItems());
-      assertFalse(response.isPublic());
-      assertEquals(response.getBytes(), size);
-      assertEquals(response.getMimeType(), mimeType);
-      assertNotNull(response.getContent());
-      assertNotNull(response.getPermissions());
-      assertNotNull(response.getThumbnail());
-      validateResource(response, parent, name);
-   }
-
-   private void validateResource(ResourceInfo response, URI parent, String name) {
-      assertNotNull(response);
-      assertNotNull(response.getAccessed());
-      assertNotNull(response.getBytes());
-      assertNotNull(response.getCreated());
-      assertNotNull(response.getMetadata());
-      assertNotNull(response.getModified());
-      assertEquals(response.getName(), name);
-      assertEquals(response.getOwner(), identity);
-      assertEquals(response.getParent(), parent);
-      assertNotNull(response.getTags());
-      assertNotNull(response.getType());
-      assertNotNull(response.getUrl());
-      assertNotNull(response.getVersion());
-   }
-
-   @Test
-   public void testObjectOperations() throws Exception {
-      String containerName = containerPrefix + ".testObjectOperations";
-      String data = "Here is my data";
-
-      URI container = connection.createContainer(containerName);
-
-      // Test PUT with string data, ETag hash, and a piece of metadata
-      PCSFile object = connection.newFile();
-      object.getMetadata().setName("object");
-      object.getMetadata().setMimeType("text/plain");
-      object.setPayload(data);
-      URI objectURI = connection.uploadFile(container, object);
-      connection.putMetadataItem(objectURI, "name", "object");
-
-      try {
-         connection.downloadFile(uriBuilderProvider.get().uri(objectURI).path("sad").build());
-         fail("Expected KeyNotFoundException");
-      } catch (KeyNotFoundException e) {
-      }
-      // Test GET of object (including updated metadata)
-      InputStream file = connection.downloadFile(objectURI);
-      assertEquals(Strings2.toStringAndClose(file), data);
-      validateFileInfoAndNameIsInMetadata(container, objectURI, "object", Long.valueOf(data.length()));
-
-      try {
-         connection.uploadFile(container, object);
-      } catch (Throwable e) {
-         assertEquals(e.getCause().getClass(), HttpResponseException.class);
-         assertEquals(((HttpResponseException) e.getCause()).getResponse().getStatusCode(), 422);
-      }
-
-      connection.deleteFile(objectURI);
-      try {
-         connection.getFileInfo(objectURI);
-      } catch (Throwable e) {
-         assertEquals(e.getClass(), KeyNotFoundException.class);
-      }
-
-      String name = "sad";
-      // try sending it in 2 parts
-      object.getMetadata().setName(name);
-      objectURI = connection.createFile(container, object);
-      validateFileInfoAndNameIsInMetadata(container, objectURI, name, Long.valueOf(0));
-
-      object.setPayload(data.substring(0, 2));
-      connection.uploadBlock(objectURI, object, range(0, 2));
-      validateFileInfoAndNameIsInMetadata(container, objectURI, name, Long.valueOf(2));
-
-      object.setPayload(data.substring(2));
-      connection.uploadBlock(objectURI, object, range(2, data.getBytes().length));
-      validateFileInfoAndNameIsInMetadata(container, objectURI, name, Long.valueOf(data.length()));
-
-      file = connection.downloadFile(objectURI);
-      assertEquals(Strings2.toStringAndClose(file), data);
-
-      // change data in an existing file
-      data = "Here is my datum";
-      object.setPayload(data.substring(2));
-      connection.uploadBlock(objectURI, object, range(2, data.getBytes().length));
-      validateFileInfoAndNameIsInMetadata(container, objectURI, name, Long.valueOf(data.length()));
-
-      file = connection.downloadFile(objectURI);
-      assertEquals(Strings2.toStringAndClose(file), data);
-
-      connection.deleteFile(objectURI);
-      connection.deleteContainer(container);
-   }
-
-   private FileInfoWithMetadata validateFileInfoAndNameIsInMetadata(URI container, URI objectURI, String name, Long size)
-         throws InterruptedException, ExecutionException, TimeoutException {
-      FileInfoWithMetadata response;
-      connection.putMetadataItem(objectURI, "name", name);
-
-      response = connection.getFileInfo(objectURI);
-      validateFileInfo(response, container, name, size, "text/plain");
-
-      assertEquals(response.getMetadataItems().get("name"), URI.create(objectURI.toASCIIString() + "/metadata/name"));
-
-      validateMetadataItemNameEquals(objectURI, name);
-      return response;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClientTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClientTest.java
deleted file mode 100644
index d23b581..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClientTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import static org.jclouds.rest.RestContextFactory.contextSpec;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.functions.ParseSax;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient.Response;
-import org.jclouds.mezeo.pcs.xml.CloudXlinkHandler;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.Test;
-
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code PCSCloudAsyncClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.PCSCloudTest")
-public class PCSCloudAsyncClientTest extends RestClientTest<PCSCloudAsyncClient> {
-
-   public void testAuthenticate() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = PCSCloudAsyncClient.class.getMethod("authenticate");
-      GeneratedHttpRequest request = processor.createRequest(method);
-
-      assertRequestLineEquals(request, "GET http://localhost:8080/v3 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseSax.class);
-      assertSaxResponseParserClassEquals(method, CloudXlinkHandler.class);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<PCSCloudAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<PCSCloudAsyncClient>>() {
-      };
-   }
-
-   @Override
-   public RestContextSpec<PCSCloudClient, PCSCloudAsyncClient> createContextSpec() {
-      return contextSpec("test", "http://localhost:8080", "3", "", "identity", "credential", PCSCloudClient.class,
-            PCSCloudAsyncClient.class);
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-
-   }
-
-   @Timeout(duration = 10, timeUnit = TimeUnit.SECONDS)
-   public interface PCSCloudClient {
-
-      Response authenticate();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayloadTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayloadTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayloadTest.java
deleted file mode 100644
index 59583e6..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayloadTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.mezeo.pcs.binders.BindContainerNameToXmlPayload;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code BindContainerNameToXmlPayload}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.BindContainerNameToXmlPayloadTest")
-public class BindContainerNameToXmlPayloadTest {
-
-   public void test() {
-      BindContainerNameToXmlPayload binder = new BindContainerNameToXmlPayload();
-      HttpRequest request = new HttpRequest("GET", URI.create("http://localhost"));
-      binder.bindToRequest(request, "foo");
-
-      assertEquals(request.getPayload().getRawContent(), "<container><name>foo</name></container>");
-      assertEquals(request.getPayload().getContentMetadata().getContentLength(), Long.valueOf(
-               "<container><name>foo</name></container>".getBytes().length));
-      assertEquals(request.getPayload().getContentMetadata().getContentType(), "application/unknown");
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayloadTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayloadTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayloadTest.java
deleted file mode 100644
index 6dfc1bc..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayloadTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import javax.ws.rs.core.HttpHeaders;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.mezeo.pcs.binders.BindFileInfoToXmlPayload;
-import org.jclouds.mezeo.pcs.config.PCSObjectModule;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-/**
- * Tests behavior of {@code BindFileInfoToXmlPayload}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.BindFileInfoToXmlPayloadTest")
-public class BindFileInfoToXmlPayloadTest {
-   PCSFile.Factory factory = Guice.createInjector(new PCSObjectModule()).getInstance(PCSFile.Factory.class);
-
-   public void test() {
-      BindFileInfoToXmlPayload binder = new BindFileInfoToXmlPayload();
-      HttpRequest request = new HttpRequest("GET", URI.create("http://localhost"));
-      PCSFile file = factory.create(null);
-      file.getMetadata().setName("foo");
-      request = binder.bindToRequest(request, file);
-      assertEquals(request.getPayload().getRawContent(),
-            "<file><name>foo</name><mime_type>application/octet-stream</mime_type><public>false</public></file>");
-      assertEquals(
-            request.getFirstHeaderOrNull(HttpHeaders.CONTENT_LENGTH),
-            "<file><name>foo</name><mime_type>application/octet-stream</mime_type><public>false</public></file>"
-                  .getBytes().length + "");
-      assertEquals(request.getFirstHeaderOrNull(HttpHeaders.CONTENT_TYPE), "application/vnd.csp.file-info+xml");
-
-   }
-
-   public void testCompound() {
-      BindFileInfoToXmlPayload binder = new BindFileInfoToXmlPayload();
-      HttpRequest request = new HttpRequest("GET", URI.create("http://localhost"));
-
-      PCSFile file = factory.create(null);
-      file.getMetadata().setName("subdir/foo");
-      request = binder.bindToRequest(request, file);
-      assertEquals(request.getPayload().getRawContent(),
-            "<file><name>foo</name><mime_type>application/octet-stream</mime_type><public>false</public></file>");
-      assertEquals(
-            request.getFirstHeaderOrNull(HttpHeaders.CONTENT_LENGTH),
-            "<file><name>foo</name><mime_type>application/octet-stream</mime_type><public>false</public></file>"
-                  .getBytes().length + "");
-      assertEquals(request.getFirstHeaderOrNull(HttpHeaders.CONTENT_TYPE), "application/vnd.csp.file-info+xml");
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AddMetadataAndReturnIdTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AddMetadataAndReturnIdTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AddMetadataAndReturnIdTest.java
deleted file mode 100644
index 3ef8300..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AddMetadataAndReturnIdTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.functions;
-
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code UseResourceIdAsETag}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.AddMetadataAndReturnIdTest")
-public class AddMetadataAndReturnIdTest {
-//   static {
-//      RuntimeDelegate.setInstance(new RuntimeDelegateImpl());
-//   }
-//   HttpResponse response = new HttpResponse();
-//   ConcurrentMap<Key, String> fileCache;
-//   private RestAnnotationProcessor<TestService> factory;
-//   private Method method;
-//
-//   private static interface TestService {
-//      @POST
-//      public void foo(String container, PCSFile file, @Endpoint URI endpoint);
-//   }
-//
-//   @BeforeClass
-//   void setupMap() {
-//      fileCache = new ConcurrentHashMap<Key, String>();
-//      fileCache.put(new Key("container", "key"), "7F143552-AAF5-11DE-BBB0-0BC388ED913B");
-//   }
-//
-//   @SuppressWarnings("unchecked")
-//   PCSUtil createPCSUtil() {
-//      PCSUtil connection = createMock(PCSUtil.class);
-//      final Future<Void> voidF = createMock(Future.class);
-//      expect(
-//               connection.putMetadata(eq("7F143552-AAF5-11DE-BBB0-0BC388ED913B"), eq("foo"),
-//                        eq("bar"))).andReturn(voidF);
-//      expect(
-//               connection.putMetadata(eq("7F143552-AAF5-11DE-BBB0-0BC388ED913B"), eq("biz"),
-//                        eq("baz"))).andReturn(voidF);
-//      replay(connection);
-//      return connection;
-//   }
-//
-//   @Test(expectedExceptions = IllegalStateException.class)
-//   public void testNoArgs() {
-//      AddMetadataAndReturnId function = new AddMetadataAndReturnId(fileCache, createPCSUtil());
-//
-//      function.apply(response);
-//   }
-//
-//   @Test(expectedExceptions = IllegalStateException.class)
-//   public void testNoRequest() {
-//      AddMetadataAndReturnId function = new AddMetadataAndReturnId(fileCache, createPCSUtil());
-//      function.apply(response);
-//   }
-//
-//   public void testGetEtag() {
-//      PCSUtil connection = createPCSUtil();
-//      AddMetadataAndReturnId function = new AddMetadataAndReturnId(fileCache, connection);
-//      function.setContext(factory.createRequest(method, "container", new PCSFile("key"), URI
-//               .create("http://localhost:8080")));
-//      response.setContent(Utils
-//               .toInputStream("http://localhost/contents/7F143552-AAF5-11DE-BBB0-0BC388ED913B"));
-//      String eTag = function.apply(response);
-//      assertEquals(eTag, "7F143552-AAF5-11DE-BBB0-0BC388ED913B");
-//   }
-//
-//   public void testMetadataGetEtag() {
-//      PCSUtil connection = createPCSUtil();
-//      AddMetadataAndReturnId function = new AddMetadataAndReturnId(fileCache, connection);
-//      PCSFile pcsFile = new PCSFile("key");
-//      pcsFile.getMetadata().getUserMetadata().put("foo", "bar");
-//      pcsFile.getMetadata().getUserMetadata().put("biz", "baz");
-//
-//      function.setContext(factory.createRequest(method, "container", pcsFile, URI
-//               .create("http://localhost:8080")));
-//      response.setContent(Utils
-//               .toInputStream("http://localhost/contents/7F143552-AAF5-11DE-BBB0-0BC388ED913B"));
-//      String eTag = function.apply(response);
-//      assertEquals(eTag, "7F143552-AAF5-11DE-BBB0-0BC388ED913B");
-//      verify(connection);
-//   }
-//
-//   /**
-//    * before class, as we need to ensure that the filter is threadsafe.
-//    * 
-//    * @throws NoSuchMethodException
-//    * @throws SecurityException
-//    * 
-//    */
-//   @BeforeClass
-//   protected void createFilter() throws SecurityException, NoSuchMethodException {
-//      Injector injector = Guice.createInjector(new RestModule(), new ExecutorServiceModule(
-//               Executors.sameThreadExecutor()), new JavaUrlHttpCommandExecutorServiceModule(),
-//               new AbstractModule() {
-//
-//                  protected void configure() {
-//                     RuntimeDelegate.setInstance(new RuntimeDelegateImpl());
-//                     bind(Logger.LoggerFactory.class).toInstance(new LoggerFactory() {
-//                        public Logger getLogger(String category) {
-//                           return Logger.NULL;
-//                        }
-//                     });
-//                  }
-//
-//               });
-//      factory = injector.getInstance(com.google.inject.Key
-//               .get(new TypeLiteral<RestAnnotationProcessor<TestService>>() {
-//               }));
-//
-//      method = TestService.class.getMethod("foo", String.class, PCSFile.class, URI.class);
-//   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AssembleBlobFromBlobMetadataCallTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AssembleBlobFromBlobMetadataCallTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AssembleBlobFromBlobMetadataCallTest.java
deleted file mode 100644
index 412a348..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/functions/AssembleBlobFromBlobMetadataCallTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.functions;
-
-
-/**
- * @author Adrian Cole
- */
-public class AssembleBlobFromBlobMetadataCallTest {
-
-//   @SuppressWarnings("unchecked")
-//   @Test(expectedExceptions = NullPointerException.class)
-//   public void testCall() throws HttpException {
-//      FileMetadata metadata = new FileMetadata("blob");
-//      metadata.setSize(103);
-//      ConcurrentMap<Key, FileMetadata> mdCache = createMock(ConcurrentMap.class);
-//      InputStream data = createMock(InputStream.class);
-//      AssembleBlobFromContentAndMetadataCache callable = new AssembleBlobFromContentAndMetadataCache(
-//               mdCache);
-//      HttpResponse response = createMock(HttpResponse.class);
-//      expect(mdCache.get(new Key("container", "blob"))).andReturn(metadata);
-//      expect(response.getContent()).andReturn(data);
-//      replay(mdCache);
-//      replay(response);
-//      PCSFile file = callable.apply(response);
-//      assertEquals(file.getMetadata(), metadata);
-//      assertEquals(file.getName(), "blob");
-//      assertEquals(file.getData(), data);
-//      assertEquals(file.getContentLength(), metadata.getSize());
-//   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/internal/StubPCSAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/internal/StubPCSAsyncClient.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/internal/StubPCSAsyncClient.java
deleted file mode 100644
index 187441c..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/internal/StubPCSAsyncClient.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.internal;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Map;
-
-import org.jclouds.mezeo.pcs.PCSAsyncClient;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.mezeo.pcs.options.PutBlockOptions;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Implementation of {@link PCSBlobStore} which keeps all data in a local Map object.
- * 
- * @author Adrian Cole
- */
-public class StubPCSAsyncClient implements PCSAsyncClient {
-   public ListenableFuture<? extends ContainerList> list() {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<? extends ContainerList> list(URI container) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<URI> createContainer(String container) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<URI> createContainer(URI parent, String container) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<Void> deleteContainer(URI container) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<Void> deleteFile(URI file) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<InputStream> downloadFile(URI file) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<URI> uploadFile(URI container, PCSFile object) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<URI> createFile(URI container, PCSFile object) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<Void> uploadBlock(URI file, PCSFile object, PutBlockOptions... options) {
-      throw new UnsupportedOperationException();
-   }
-
-   public PCSFile newFile() {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<FileInfoWithMetadata> getFileInfo(URI file) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<Void> addMetadataItemToMap(URI resource, String key,
-            Map<String, String> map) {
-      throw new UnsupportedOperationException();
-   }
-
-   public ListenableFuture<Void> putMetadataItem(URI resource, String key, String value) {
-      throw new UnsupportedOperationException();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/options/PutBlockOptionsTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/options/PutBlockOptionsTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/options/PutBlockOptionsTest.java
deleted file mode 100644
index e8a51d2..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/options/PutBlockOptionsTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.options;
-
-import static org.jclouds.mezeo.pcs.options.PutBlockOptions.Builder.range;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-
-import org.jclouds.mezeo.pcs.options.PutBlockOptions;
-import org.testng.annotations.Test;
-
-/**
- * Tests possible uses of PutBlockOptions and PutBlockOptions.Builder.*
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "mezeo.PutBlockOptionsTest")
-public class PutBlockOptionsTest {
-
-   @Test
-   public void testRange() {
-      PutBlockOptions options = new PutBlockOptions();
-      options.range(0, 1024);
-      bytes1to1024(options);
-   }
-
-   private void bytes1to1024(PutBlockOptions options) {
-      assertEquals(options.getRange(), "bytes 0-1024/*");
-   }
-
-   @Test
-   public void testRangeZeroToFive() {
-      PutBlockOptions options = new PutBlockOptions();
-      options.range(0, 5);
-      assertEquals(options.getRange(), "bytes 0-5/*");
-   }
-
-   @Test
-   public void testRangeOverride() {
-      PutBlockOptions options = new PutBlockOptions();
-      options.range(0, 5).range(10, 100);
-      assertEquals(options.getRange(), "bytes 10-100/*");
-   }
-
-   @Test
-   public void testNullRange() {
-      PutBlockOptions options = new PutBlockOptions();
-      assertNull(options.getRange());
-   }
-
-   @Test
-   public void testRangeStatic() {
-      PutBlockOptions options = range(0, 1024);
-      bytes1to1024(options);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testRangeNegative1() {
-      range(-1, 0);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testRangeNegative2() {
-      range(0, -1);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testRangeNegative() {
-      range(-1, -1);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHanderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHanderTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHanderTest.java
deleted file mode 100644
index 9642f18..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/CloudXlinkHanderTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Map;
-
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient;
-import org.jclouds.mezeo.pcs.xml.CloudXlinkHandler;
-import org.jclouds.mezeo.pcs.xml.CloudXlinkHandler.PCSCloudResponseImpl;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Tests behavior of {@code ParseFlavorListFromJsonResponseTest}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.CloudXlinkHanderTest")
-public class CloudXlinkHanderTest extends BaseHandlerTest {
-   Map<String, URI> map = ImmutableMap
-            .<String, URI> builder()
-            .put(
-                     "rootContainer",
-                     URI
-                              .create("https://pcsbeta.mezeo.net/v2/containers/0B5C8F50-8E72-11DE-A1D4-D73479DA6257"))
-            .put("contacts", URI.create("https://pcsbeta.mezeo.net/v2/contacts")).put("shares",
-                     URI.create("https://pcsbeta.mezeo.net/v2/shares")).put("projects",
-                     URI.create("https://pcsbeta.mezeo.net/v2/projects")).put("metacontainers",
-                     URI.create("https://pcsbeta.mezeo.net/v2/metacontainers")).put("account",
-                     URI.create("https://pcsbeta.mezeo.net/v2/account")).put("tags",
-                     URI.create("https://pcsbeta.mezeo.net/v2/tags")).put("recyclebin",
-                     URI.create("https://pcsbeta.mezeo.net/v2/recyclebin")).build();
-
-   public void testApplyInputStream() {
-      InputStream is = getClass().getResourceAsStream("/discovery.xml");
-      PCSCloudAsyncClient.Response list = new PCSCloudResponseImpl(map);
-
-      PCSCloudAsyncClient.Response result = (PCSCloudAsyncClient.Response) factory.create(
-               injector.getInstance(CloudXlinkHandler.class)).parse(is);
-
-      assertEquals(result, list);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/ContainerHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/ContainerHandlerTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/ContainerHandlerTest.java
deleted file mode 100644
index 0f78330..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/ContainerHandlerTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.ResourceInfo;
-import org.jclouds.mezeo.pcs.domain.internal.ContainerInfoImpl;
-import org.jclouds.mezeo.pcs.domain.internal.ContainerListImpl;
-import org.jclouds.mezeo.pcs.domain.internal.FileInfoImpl;
-import org.jclouds.mezeo.pcs.xml.ContainerHandler;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.common.collect.Maps;
-
-/**
- * Tests behavior of {@code ContainerHandler}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.ContainerHandlerTest")
-public class ContainerHandlerTest extends BaseHandlerTest {
-
-   private DateService dateService;
-
-   @BeforeTest
-   @Override
-   protected void setUpInjector() {
-      super.setUpInjector();
-      dateService = injector.getInstance(DateService.class);
-      assert dateService != null;
-   }
-
-   public void testApplyInputStream() {
-      InputStream is = getClass().getResourceAsStream("/test_root_container.xml");
-      ImmutableSortedSet<? extends ResourceInfo> list = ImmutableSortedSet
-               .of(
-                        new ContainerInfoImpl(
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B"),
-                                 "test1",
-                                 dateService.fromSeconds(1254008225),
-                                 false,
-                                 dateService.fromSeconds(1254008226),
-                                 "adrian@jclouds.org",
-                                 1,
-                                 true,
-                                 dateService.fromSeconds(1254008227),
-                                 1024,
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B/contents"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B/tags"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B/metadata"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C")),
-                        new FileInfoImpl(
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A"),
-                                 "more",
-                                 dateService.fromSeconds(1254005157),
-                                 false,
-                                 dateService.fromSeconds(1254005158),
-                                 "adrian@jclouds.org",
-                                 1,
-                                 false,
-                                 dateService.fromSeconds(1254005159),
-                                 true,
-                                 "application/octet-stream",
-                                 254288,
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/content"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/permissions"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/tags"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/metadata"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/thumbnail")),
-
-                        new FileInfoImpl(
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3"),
-                                 "testfile.txt",
-                                 dateService.fromSeconds(1254000180),
-                                 true,
-                                 dateService.fromSeconds(1254000181),
-                                 "adrian@jclouds.org",
-                                 3,
-                                 false,
-                                 dateService.fromSeconds(1254000182),
-                                 false,
-                                 "text/plain",
-                                 5,
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/content"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/permissions"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/tags"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/metadata"),
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/thumbnail"))
-
-               );
-
-      ContainerList expects = new ContainerListImpl(
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"),
-               "/",
-               dateService.fromSeconds(1254848007),
-               false,
-               dateService.fromSeconds(1255026455),
-               "adrian@jclouds.org",
-               0,
-               false,
-               dateService.fromSeconds(1255026455),
-               0,
-               list,
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C/tags"),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C/metadata"),
-               Maps.<String, URI> newHashMap(),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"));
-
-      ContainerList result = (ContainerList) factory.create(
-               injector.getInstance(ContainerHandler.class)).parse(is);
-
-      assertEquals(result, expects);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/FileMetadataHandlerTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/FileMetadataHandlerTest.java b/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/FileMetadataHandlerTest.java
deleted file mode 100644
index 5cb2b0b..0000000
--- a/sandbox-apis/pcs/src/test/java/org/jclouds/mezeo/pcs/xml/FileMetadataHandlerTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.xml;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.jclouds.date.DateService;
-import org.jclouds.http.functions.BaseHandlerTest;
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-import org.jclouds.mezeo.pcs.domain.internal.FileInfoWithMetadataImpl;
-import org.jclouds.mezeo.pcs.xml.FileHandler;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-
-/**
- * Tests behavior of {@code FileListToFileMetadataListHandler}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "pcs2.FileMetadataHandlerTest")
-public class FileMetadataHandlerTest extends BaseHandlerTest {
-
-   private DateService dateService;
-
-   @BeforeTest
-   @Override
-   protected void setUpInjector() {
-      super.setUpInjector();
-      dateService = injector.getInstance(DateService.class);
-      assert dateService != null;
-   }
-
-   public void testFileMetadata() {
-      InputStream is = getClass().getResourceAsStream("/test_file_metadata.xml");
-
-      FileInfoWithMetadata expects = new FileInfoWithMetadataImpl(
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3"),
-               "testfile.txt",
-               dateService.fromSeconds(1254000180),
-               true,
-               dateService.fromSeconds(1254000181),
-               "adrian@jclouds.org",
-               3,
-               false,
-               dateService.fromSeconds(1254000182),
-               false,
-               "text/plain",
-               5,
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/content"),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/permissions"),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/tags"),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/metadata"),
-               // Note that we should convert uppercase to lowercase, since most clouds do anyway
-
-               ImmutableMap
-                        .<String, URI> of(
-                                 "foo",
-                                 URI
-                                          .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/metadata/Foo")),
-               URI
-                        .create("https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/thumbnail"));
-
-      FileInfoWithMetadata result = (FileInfoWithMetadata) factory.create(
-               injector.getInstance(FileHandler.class)).parse(is);
-
-      assertEquals(result, expects);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/resources/discovery.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/resources/discovery.xml b/sandbox-apis/pcs/src/test/resources/discovery.xml
deleted file mode 100644
index b772a48..0000000
--- a/sandbox-apis/pcs/src/test/resources/discovery.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cloud xmlns:xlink="http://www.w3.org/1999/xlink">
-  <rootContainer xlink:href="https://pcsbeta.mezeo.net/v2/containers/0B5C8F50-8E72-11DE-A1D4-D73479DA6257" xlink:type="simple"/>
-  <contacts xlink:href="https://pcsbeta.mezeo.net/v2/contacts" xlink:type="simple"/>
-  <shares xlink:href="https://pcsbeta.mezeo.net/v2/shares" xlink:type="simple"/>
-  <projects xlink:href="https://pcsbeta.mezeo.net/v2/projects" xlink:type="simple"/>
-  <metacontainers xlink:href="https://pcsbeta.mezeo.net/v2/metacontainers" xlink:type="simple"/>
-  <account xlink:href="https://pcsbeta.mezeo.net/v2/account" xlink:type="simple"/>
-  <tags xlink:href="https://pcsbeta.mezeo.net/v2/tags" xlink:type="simple"/>
-  <recyclebin xlink:href="https://pcsbeta.mezeo.net/v2/recyclebin" xlink:type="simple"/>
-</cloud>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/resources/log4j.xml b/sandbox-apis/pcs/src/test/resources/log4j.xml
deleted file mode 100644
index 0e2c1b2..0000000
--- a/sandbox-apis/pcs/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,90 +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>
-	
-	<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.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    <!-- ======================= -->
-	<!-- Setup the Root category -->
-	<!-- ======================= -->
-
-	<root>
-		<priority value="WARN" />
-	</root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/resources/test_file_metadata.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/resources/test_file_metadata.xml b/sandbox-apis/pcs/src/test/resources/test_file_metadata.xml
deleted file mode 100644
index 44b0870..0000000
--- a/sandbox-apis/pcs/src/test/resources/test_file_metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<file xmlns:xlink="http://www.w3.org/1999/xlink">
-  <name>testfile.txt</name>
-  <created>1254000180</created>
-  <inproject>true</inproject>
-  <modified>1254000181</modified>
-  <owner>adrian@jclouds.org</owner>
-  <version>3</version>
-  <shared>False</shared>
-  <accessed>1254000182</accessed>
-  <public>false</public>
-  <mime_type>text/plain</mime_type>
-  <bytes>5</bytes>
-  <content xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/content" xlink:type="simple"/>
-  <parent xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C" xlink:type="simple"/>
-  <permissions xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/permissions" xlink:type="simple"/>
-  <tags xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/tags" xlink:type="simple"/>
-  <metadata xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/metadata" xlink:type="simple">
-    <metadata-item xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/metadata/Foo" xlink:type="simple"/>
-  </metadata>
-  <thumbnail xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/thumbnail" xlink:type="simple"/>
-</file>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/test/resources/test_root_container.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/test/resources/test_root_container.xml b/sandbox-apis/pcs/src/test/resources/test_root_container.xml
deleted file mode 100644
index 660364a..0000000
--- a/sandbox-apis/pcs/src/test/resources/test_root_container.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<container xmlns:xlink="http://www.w3.org/1999/xlink">
-    <name>/</name>
-    <created>1254848007</created>
-    <inproject>False</inproject>
-    <modified>1255026455</modified>
-    <owner>adrian@jclouds.org</owner>
-    <version>0</version>
-    <shared>False</shared>
-    <accessed>1255026455</accessed>
-    <bytes>0</bytes>
-    <contents
-        xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C/contents"
-        xlink:type="simple" count="3" start="0" total="3">
-
-        <container
-            xlink:href="https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B"
-            xlink:type="simple">
-            <name>test1</name>
-            <created>1254008225</created>
-            <inproject>false</inproject>
-            <modified>1254008226</modified>
-            <owner>adrian@jclouds.org</owner>
-            <version>1</version>
-            <shared>true</shared>
-            <accessed>1254008227</accessed>
-            <bytes>1024</bytes>
-            <contents
-                xlink:href="https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B/contents"
-                xlink:type="simple" />
-            <tags
-                xlink:href="https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B/tags"
-                xlink:type="simple" />
-            <metadata
-                xlink:href="https://pcsbeta.mezeo.net/v2/containers/7F143552-AAF5-11DE-BBB0-0BC388ED913B/metadata"
-                xlink:type="simple" />
-            <parent
-                xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"
-                xlink:type="simple" />
-        </container>
-        <file
-            xlink:href="https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A"
-            xlink:type="simple">
-            <name>more</name>
-            <created>1254005157</created>
-            <inproject>false</inproject>
-            <modified>1254005158</modified>
-            <owner>adrian@jclouds.org</owner>
-            <version>1</version>
-            <shared>false</shared>
-            <accessed>1254005159</accessed>
-            <public>true</public>
-            <mime_type>application/octet-stream</mime_type>
-            <bytes>254288</bytes>
-            <content
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/content"
-                xlink:type="simple" />
-            <parent
-                xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"
-                xlink:type="simple" />
-            <permissions
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/permissions"
-                xlink:type="simple" />
-            <tags
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/tags"
-                xlink:type="simple" />
-            <metadata
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/metadata"
-                xlink:type="simple" />
-            <thumbnail
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/5C81DADC-AAEE-11DE-9D55-B39340AEFF3A/thumbnail"
-                xlink:type="simple" />
-        </file>
-        <file
-            xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3"
-            xlink:type="simple">
-            <name>testfile.txt</name>
-            <created>1254000180</created>
-            <inproject>true</inproject>
-            <modified>1254000181</modified>
-            <owner>adrian@jclouds.org</owner>
-            <version>3</version>
-            <shared>false</shared>
-            <accessed>1254000182</accessed>
-            <public>false</public>
-            <mime_type>text/plain</mime_type>
-            <bytes>5</bytes>
-            <content
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/content"
-                xlink:type="simple" />
-            <parent
-                xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"
-                xlink:type="simple" />
-            <permissions
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/permissions"
-                xlink:type="simple" />
-            <tags
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/tags"
-                xlink:type="simple" />
-            <metadata
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/metadata"
-                xlink:type="simple" />
-            <thumbnail
-                xlink:href="https://pcsbeta.mezeo.net/v2/files/9E4C5AFA-A98B-11DE-8B4C-C3884B4A2DA3/thumbnail"
-                xlink:type="simple" />
-        </file>
-    </contents>
-    <tags
-        xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C/tags"
-        xlink:type="simple" />
-    <metadata
-        xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C/metadata"
-        xlink:type="simple" />
-    <parent
-        xlink:href="https://pcsbeta.mezeo.net/v2/containers/C4DA95C2-B298-11DE-8D7C-2B1FE4F2B99C"
-        xlink:type="simple" />
-</container>


[15/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNClientLiveTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNClientLiveTest.java
deleted file mode 100644
index 3daa9fb..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNClientLiveTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Map;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
-import org.jclouds.encryption.internal.Base64;
-import org.jclouds.io.Payloads;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.nirvanix.sdn.domain.UploadInfo;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code SDNClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "sdn.SDNClientLiveTest")
-public class SDNClientLiveTest {
-
-   protected SDNClient connection;
-   private String containerPrefix = BaseBlobStoreIntegrationTest.CONTAINER_PREFIX;
-
-   URI container1;
-   URI container2;
-   private RestContext<SDNClient, SDNAsyncClient> context;
-
-   @BeforeGroups(groups = { "live" })
-   public void setupClient() {
-
-      String identity = checkNotNull(System.getProperty("jclouds.test.identity"), "jclouds.test.identity");
-      String credential = checkNotNull(System.getProperty("jclouds.test.credential"), "jclouds.test.credential");
-
-      this.context = new RestContextFactory().createContext("sdn", identity, credential, ImmutableSet
-               .<Module> of(new Log4JLoggingModule()));
-      this.connection = context.getApi();
-   }
-
-   public void testUploadToken() throws InterruptedException, ExecutionException, TimeoutException, IOException {
-      String containerName = containerPrefix + ".testObjectOperations";
-      long size = 1024;
-
-      UploadInfo uploadInfo = connection.getStorageNode(containerName, size);
-      assertNotNull(uploadInfo.getHost());
-      assertNotNull(uploadInfo.getToken());
-
-      Blob blob = connection.newBlob();
-      blob.getMetadata().setName("test.txt");
-      blob.setPayload("value");
-      Payloads.calculateMD5(blob);
-
-      byte[] md5 = blob.getMetadata().getContentMetadata().getContentMD5();
-      connection.upload(uploadInfo.getHost(), uploadInfo.getToken(), containerName, blob);
-
-      Map<String, String> metadata = connection.getMetadata(containerName + "/test.txt");
-      assertEquals(metadata.get("MD5"), Base64.encodeBytes(md5));
-
-      String content = connection.getFile(containerName + "/test.txt");
-      assertEquals(content, "value");
-
-      metadata = ImmutableMap.of("chef", "sushi", "foo", "bar");
-      connection.setMetadata(containerName + "/test.txt", metadata);
-
-      metadata = connection.getMetadata(containerName + "/test.txt");
-      assertEquals(metadata.get("MD5"), Base64.encodeBytes(md5));
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParamsTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParamsTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParamsTest.java
deleted file mode 100644
index 6fa5ff4..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParamsTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.binders;
-
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.testng.Assert.assertEquals;
-
-import java.io.File;
-import java.net.URI;
-
-import javax.inject.Provider;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.UriBuilder;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.sun.jersey.api.uri.UriBuilderImpl;
-
-/**
- * Tests behavior of {@code BindMetadataToQueryParams}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "sdn.BindMetadataToQueryParamsTest")
-public class BindMetadataToQueryParamsTest {
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testMustBeMap() {
-      BindMetadataToQueryParams binder = new BindMetadataToQueryParams(null);
-      HttpRequest request = new HttpRequest(HttpMethod.POST, URI.create("http://localhost"), new char[] { '/', ':' });
-      binder.bindToRequest(request, new File("foo"));
-   }
-
-   @Test
-   public void testCorrect() throws SecurityException, NoSuchMethodException {
-
-      HttpRequest request = new HttpRequest("GET", URI.create("http://momma/"), new char[] { '/', ':' });
-
-      BindMetadataToQueryParams binder = new BindMetadataToQueryParams(new Provider<UriBuilder>() {
-
-         @Override
-         public UriBuilder get() {
-            return new UriBuilderImpl();
-         }
-
-      });
-
-      request = binder.bindToRequest(request, ImmutableMap.of("imageName", "foo", "serverId", "2"));
-
-      assertEquals(request.getRequestLine(), "GET http://momma/?metadata=imagename:foo&metadata=serverid:2 HTTP/1.1");
-
-   }
-
-   @Test(expectedExceptions = { NullPointerException.class, IllegalStateException.class })
-   public void testNullIsBad() {
-      BindMetadataToQueryParams binder = new BindMetadataToQueryParams(null);
-      GeneratedHttpRequest<?> request = createMock(GeneratedHttpRequest.class);
-      binder.bindToRequest(request, null);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequestTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequestTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequestTest.java
deleted file mode 100644
index fc02dec..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequestTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.filters;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.util.Properties;
-
-import javax.ws.rs.POST;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.nirvanix.sdn.SDNAsyncClient;
-import org.jclouds.nirvanix.sdn.SDNClient;
-import org.jclouds.nirvanix.sdn.SessionToken;
-import org.jclouds.nirvanix.sdn.config.SDNRestClientModule;
-import org.jclouds.nirvanix.sdn.reference.SDNConstants;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-import com.google.inject.Key;
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-
-@Test(groups = "unit", testName = "AddSessionTokenToRequestTest")
-public class AddSessionTokenToRequestTest extends RestClientTest<SDNAsyncClient> {
-
-   private static interface TestService {
-      @POST
-      public void foo(@EndpointParam URI endpoint);
-   }
-
-   @DataProvider
-   public Object[][] dataProvider() throws SecurityException, NoSuchMethodException {
-
-      RestAnnotationProcessor<TestService> factory = injector.getInstance(Key
-               .get(new TypeLiteral<RestAnnotationProcessor<TestService>>() {
-               }));
-
-      Method method = TestService.class.getMethod("foo", URI.class);
-      return new Object[][] { { factory.createRequest(method, new Object[] { URI.create("https://host:443") }) },
-               { factory.createRequest(method, new Object[] { URI.create("https://host/path") }) },
-               { factory.createRequest(method, new Object[] { URI.create("https://host/?query") })
-
-               } };
-   }
-
-   @Test(dataProvider = "dataProvider")
-   public void testRequests(HttpRequest request) {
-      String token = filter.getSessionToken();
-      String query = request.getEndpoint().getQuery();
-      request = filter.filter(request);
-      assertEquals(request.getEndpoint().getQuery(), query == null ? "sessionToken=" + token : query + "&sessionToken="
-               + token);
-   }
-
-   @Test
-   void testUpdatesOnlyOncePerSecond() throws NoSuchMethodException, InterruptedException {
-      String token = filter.getSessionToken();
-      for (int i = 0; i < 10; i++)
-         filter.updateIfTimeOut();
-      assert token.equals(filter.getSessionToken());
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-   }
-
-   private AddSessionTokenToRequest filter;
-
-   @BeforeClass
-   @Override
-   protected void setupFactory() throws IOException {
-      super.setupFactory();
-      filter = injector.getInstance(AddSessionTokenToRequest.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<SDNAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<SDNAsyncClient>>() {
-      };
-   }
-
-   protected Module createModule() {
-      return new TestSDNRestClientModule();
-   }
-
-   @RequiresHttp
-   @ConfiguresRestClient
-   static class TestSDNRestClientModule extends SDNRestClientModule {
-      @Override
-      public void configure() {
-         bind(String.class).annotatedWith(SessionToken.class).toInstance("sessiontoken");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_APPKEY)).toInstance("appKey");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_APPNAME)).toInstance("appname");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_USERNAME)).toInstance("username");
-      }
-
-   }
-
-   @Override
-   public RestContextSpec<SDNClient, SDNAsyncClient> createContextSpec() {
-      return new RestContextFactory().createContextSpec("sdn", "user", "password", new Properties());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPathTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPathTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPathTest.java
deleted file mode 100644
index 3d278d6..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPathTest.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.filters;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.util.Properties;
-
-import javax.ws.rs.POST;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.nirvanix.sdn.SDNAsyncClient;
-import org.jclouds.nirvanix.sdn.SDNClient;
-import org.jclouds.nirvanix.sdn.SessionToken;
-import org.jclouds.nirvanix.sdn.config.SDNRestClientModule;
-import org.jclouds.nirvanix.sdn.reference.SDNConstants;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Throwables;
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-
-@Test(groups = "unit", singleThreaded = true, testName = "sdn.InsertUserContextIntoPathTest")
-// sequential as easymock isn't threadsafe
-public class InsertUserContextIntoPathTest extends RestClientTest<TestService> {
-
-   private Method method;
-
-   public void testRequestInvalid() {
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("https://host/path"));
-      request = filter.filter(request);
-      request = filter.filter(request);
-      assertEquals(request.getEndpoint().getPath(), "/sessiontoken/appname/username/path");
-      assertEquals(request.getEndpoint().getHost(), "host");
-   }
-
-   public void testRequestNoSession() {
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("https://host/path"));
-      request = filter.filter(request);
-      assertEquals(request.getEndpoint().getPath(), "/sessiontoken/appname/username/path");
-      assertEquals(request.getEndpoint().getHost(), "host");
-   }
-
-   public void testRequestAlreadyHasSession() {
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("https://host/sessiontoken/appname/username/path"));
-      request = filter.filter(request);
-      assertEquals(request.getEndpoint().getPath(), "/sessiontoken/appname/username/path");
-      assertEquals(request.getEndpoint().getHost(), "host");
-   }
-
-   private InsertUserContextIntoPath filter;
-
-   @BeforeClass
-   @Override
-   protected void setupFactory() throws IOException {
-      super.setupFactory();
-      filter = injector.getInstance(InsertUserContextIntoPath.class);
-      try {
-         method = TestService.class.getMethod("foo", URI.class);
-      } catch (Exception e) {
-        Throwables.propagate(e);
-      }
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<TestService>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<TestService>>() {
-      };
-   }
-
-   protected Module createModule() {
-      return new TestSDNRestClientModule();
-   }
-
-   @RequiresHttp
-   @ConfiguresRestClient
-   static class TestSDNRestClientModule extends SDNRestClientModule {
-      @Override
-      public void configure() {
-         bind(String.class).annotatedWith(SessionToken.class).toInstance("sessiontoken");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_APPKEY)).toInstance("appKey");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_APPNAME)).toInstance("appname");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_USERNAME)).toInstance("username");
-      }
-
-   }
-
-   @Override
-   public RestContextSpec<SDNClient, SDNAsyncClient> createContextSpec() {
-      return new RestContextFactory().createContextSpec("sdn", "user", "password", new Properties());
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      
-   }
-}
-
-interface TestService {
-   @POST
-   public void foo(@EndpointParam URI endpoint);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponseTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponseTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponseTest.java
deleted file mode 100644
index 844c050..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponseTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.UnknownHostException;
-import java.util.Map;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.io.Payloads;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code ParseMetadataFromJsonResponse}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "sdn.ParseMetadataFromJsonResponseTest")
-public class ParseMetadataFromJsonResponseTest {
-
-   Injector i = Guice.createInjector(new GsonModule());
-
-   public void testApplyInputStreamDetails() throws UnknownHostException {
-      InputStream is = getClass().getResourceAsStream("/metadata.json");
-
-      ParseMetadataFromJsonResponse parser = i.getInstance(ParseMetadataFromJsonResponse.class);
-      Map<String, String> response = parser.apply(new HttpResponse(200, "ok", Payloads.newInputStreamPayload(is)));
-      assertEquals(response, ImmutableMap.of("MD5", "IGPBYI1uC6+AJJxC4r5YBA==", "test", "1"));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponseTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponseTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponseTest.java
deleted file mode 100644
index 0126459..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponseTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.UnknownHostException;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.io.Payloads;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code ParseSessionTokenFromJsonResponse}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "sdn.ParseSessionTokenFromJsonResponseTest")
-public class ParseSessionTokenFromJsonResponseTest {
-
-   Injector i = Guice.createInjector(new GsonModule());
-
-   public void testApplyInputStreamDetails() throws UnknownHostException {
-      InputStream is = getClass().getResourceAsStream("/login.json");
-
-      ParseSessionTokenFromJsonResponse parser = i.getInstance(ParseSessionTokenFromJsonResponse.class);
-      String response = parser.apply(new HttpResponse(200, "ok", Payloads.newInputStreamPayload(is)));
-      assertEquals(response, "e4b08449-4501-4b7a-af6a-d4e1e1bd7919");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponseTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponseTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponseTest.java
deleted file mode 100644
index 3205bbb..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponseTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.functions;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.net.UnknownHostException;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.io.Payloads;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.nirvanix.sdn.domain.UploadInfo;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * Tests behavior of {@code ParseUploadInfoFromJsonResponse}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "sdn.ParseUploadInfoFromJsonResponse")
-public class ParseUploadInfoFromJsonResponseTest {
-
-   Injector i = Guice.createInjector(new GsonModule());
-
-   public void testApplyInputStreamDetails() throws UnknownHostException {
-      InputStream is = getClass().getResourceAsStream("/authtoken.json");
-
-      ParseUploadInfoFromJsonResponse parser = i.getInstance(ParseUploadInfoFromJsonResponse.class);
-      UploadInfo response = parser.apply(new HttpResponse(200, "ok", Payloads.newInputStreamPayload(is)));
-      assertEquals(response.getHost(), URI.create("https://node1.nirvanix.com"));
-      assertEquals(response.getToken(), "siR-ALYd~BEcJ8GR2tE~oX3SEHO8~2WXKT5xjFk~YLS5OvJyHI21TN34rQ");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/resources/authtoken.json
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/resources/authtoken.json b/sandbox-apis/nirvanix/src/test/resources/authtoken.json
deleted file mode 100644
index 7e25889..0000000
--- a/sandbox-apis/nirvanix/src/test/resources/authtoken.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ResponseCode":0,"GetStorageNode":{"UploadHost":"node1.nirvanix.com","UploadToken":"siR-ALYd~BEcJ8GR2tE~oX3SEHO8~2WXKT5xjFk~YLS5OvJyHI21TN34rQ"}}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/resources/log4j.xml b/sandbox-apis/nirvanix/src/test/resources/log4j.xml
deleted file mode 100644
index 0e2c1b2..0000000
--- a/sandbox-apis/nirvanix/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,90 +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>
-	
-	<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.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    <!-- ======================= -->
-	<!-- Setup the Root category -->
-	<!-- ======================= -->
-
-	<root>
-		<priority value="WARN" />
-	</root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/resources/login.json
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/resources/login.json b/sandbox-apis/nirvanix/src/test/resources/login.json
deleted file mode 100644
index 33f4833..0000000
--- a/sandbox-apis/nirvanix/src/test/resources/login.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ResponseCode":0,"SessionToken":"e4b08449-4501-4b7a-af6a-d4e1e1bd7919"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/resources/metadata.json
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/resources/metadata.json b/sandbox-apis/nirvanix/src/test/resources/metadata.json
deleted file mode 100644
index c3a66ae..0000000
--- a/sandbox-apis/nirvanix/src/test/resources/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ResponseCode":0,"Metadata":[{"Type":"MD5","Value":"IGPBYI1uC6+AJJxC4r5YBA=="},{"Type":"test","Value":"1"}]}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/README.txt b/sandbox-apis/pcs/README.txt
deleted file mode 100644
index 4bc91fa..0000000
--- a/sandbox-apis/pcs/README.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-#
-# The jclouds provider for Mezeo Cloud Storage (http://www.mezeo.com/the-platform).
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/pom.xml b/sandbox-apis/pcs/pom.xml
deleted file mode 100644
index a12bfb6..0000000
--- a/sandbox-apis/pcs/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.api</groupId>
-    <artifactId>pcs</artifactId>
-    <name>jclouds mezeo cloud storage platform core</name>
-    <description>jclouds Core components to access mezeo pcs2</description>
-    <packaging>bundle</packaging>
-
-    <!-- bootstrapping: need to fetch the project POM -->
-    <repositories>
-        <repository>
-            <id>jclouds-sona-snapshots-nexus</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <properties>
-        <test.pcs.endpoint>FIXME</test.pcs.endpoint>
-        <test.pcs.api-version>2</test.pcs.api-version>
-        <test.pcs.build-version></test.pcs.build-version>
-        <test.pcs.identity>FIXME</test.pcs.identity>
-        <test.pcs.credential>FIXME</test.pcs.credential>
-
-        <jclouds.osgi.export>org.jclouds.mezeo.pcs*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.pcs.endpoint>${test.pcs.endpoint}</test.pcs.endpoint>
-                                        <test.pcs.api-version>${test.pcs.api-version}</test.pcs.api-version>
-                                        <test.pcs.build-version>${test.pcs.build-version}</test.pcs.build-version>
-                                        <test.pcs.identity>${test.pcs.identity}</test.pcs.identity>
-                                        <test.pcs.credential>${test.pcs.credential}</test.pcs.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-    
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSAsyncClient.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSAsyncClient.java
deleted file mode 100644
index 85931d0..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSAsyncClient.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Map;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-
-import org.jclouds.blobstore.functions.ReturnNullOnKeyNotFound;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.mezeo.pcs.binders.BindContainerNameToXmlPayload;
-import org.jclouds.mezeo.pcs.binders.BindFileInfoToXmlPayload;
-import org.jclouds.mezeo.pcs.binders.BindPCSFileToMultipartForm;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.mezeo.pcs.endpoints.RootContainer;
-import org.jclouds.mezeo.pcs.functions.AddMetadataItemIntoMap;
-import org.jclouds.mezeo.pcs.options.PutBlockOptions;
-import org.jclouds.mezeo.pcs.xml.ContainerHandler;
-import org.jclouds.mezeo.pcs.xml.FileHandler;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.Endpoint;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.ExceptionParser;
-import org.jclouds.rest.annotations.Headers;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.rest.binders.BindToStringPayload;
-import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to Mezeo PCS via their REST API.
- * <p/>
- * 
- * @see PCSClient
- * @see <a href=
- *      "http://developer.mezeo.com/mezeo-developer-center/documentation/howto-using-curl-to-access-api"
- *      />
- * @author Adrian Cole
- */
-@SkipEncoding('/')
-@RequestFilters(BasicAuthentication.class)
-public interface PCSAsyncClient {
-   PCSFile newFile();
-
-   /**
-    * @see PCSAsyncClient#list()
-    */
-   @GET
-   @XMLResponseParser(ContainerHandler.class)
-   @Headers(keys = "X-Cloud-Depth", values = "2")
-   @Endpoint(RootContainer.class)
-   ListenableFuture<? extends ContainerList> list();
-
-   /**
-    * @see PCSAsyncClient#list(URI)
-    */
-   @GET
-   @XMLResponseParser(ContainerHandler.class)
-   @Headers(keys = "X-Cloud-Depth", values = "2")
-   ListenableFuture<? extends ContainerList> list(@EndpointParam URI container);
-
-   /**
-    * @see PCSAsyncClient#createContainer
-    */
-   @POST
-   @Path("/contents")
-   @Endpoint(RootContainer.class)
-   @Produces("application/vnd.csp.container-info+xml")
-   ListenableFuture<URI> createContainer(@BinderParam(BindContainerNameToXmlPayload.class) String container);
-
-   /**
-    * @see PCSAsyncClient#createContainer
-    */
-   @POST
-   @Path("/contents")
-   ListenableFuture<URI> createContainer(@EndpointParam URI parent,
-         @BinderParam(BindContainerNameToXmlPayload.class) String container);
-
-   /**
-    * @see PCSAsyncClient#deleteContainer
-    */
-   @DELETE
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> deleteContainer(@EndpointParam URI container);
-
-   /**
-    * @see PCSAsyncClient#uploadFile
-    */
-   @POST
-   @Path("/contents")
-   ListenableFuture<URI> uploadFile(@EndpointParam URI container,
-         @BinderParam(BindPCSFileToMultipartForm.class) PCSFile object);
-
-   /**
-    * @see PCSAsyncClient#createFile
-    */
-   @POST
-   @Path("/contents")
-   ListenableFuture<URI> createFile(@EndpointParam URI container,
-         @BinderParam(BindFileInfoToXmlPayload.class) PCSFile object);
-
-   /**
-    * @see PCSAsyncClient#uploadBlock
-    */
-   @PUT
-   @Path("/content")
-   ListenableFuture<Void> uploadBlock(@EndpointParam URI file, PCSFile object, PutBlockOptions... options);
-
-   /**
-    * @see PCSAsyncClient#deleteFile
-    */
-   @DELETE
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> deleteFile(@EndpointParam URI file);
-
-   /**
-    * @see PCSAsyncClient#downloadFile
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnKeyNotFound.class)
-   @Path("/content")
-   ListenableFuture<InputStream> downloadFile(@EndpointParam URI file);
-
-   /**
-    * @see PCSAsyncClient#getFileInfo
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnKeyNotFound.class)
-   @XMLResponseParser(FileHandler.class)
-   @Headers(keys = "X-Cloud-Depth", values = "2")
-   ListenableFuture<FileInfoWithMetadata> getFileInfo(@EndpointParam URI file);
-
-   /**
-    * @see PCSAsyncClient#putMetadataItem
-    */
-   @PUT
-   @Path("/metadata/{key}")
-   ListenableFuture<Void> putMetadataItem(@EndpointParam URI resource, @PathParam("key") String key,
-         @BinderParam(BindToStringPayload.class) String value);
-
-   /**
-    * @see PCSAsyncClient#addMetadataItemToMap
-    */
-   @GET
-   @ResponseParser(AddMetadataItemIntoMap.class)
-   @Path("/metadata/{key}")
-   ListenableFuture<Void> addMetadataItemToMap(@EndpointParam URI resource, @PathParam("key") String key,
-         Map<String, String> map);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSClient.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSClient.java
deleted file mode 100644
index 5087d81..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSClient.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.mezeo.pcs.domain.ContainerList;
-import org.jclouds.mezeo.pcs.domain.FileInfoWithMetadata;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.mezeo.pcs.options.PutBlockOptions;
-
-/**
- * Provides access to Mezeo PCS via their REST API.
- * <p/>
- * 
- * @see <a href=
- *      "http://developer.mezeo.com/mezeo-developer-center/documentation/howto-using-curl-to-access-api"
- *      />
- * @author Adrian Cole
- */
-@Timeout(duration = 30, timeUnit = TimeUnit.SECONDS)
-public interface PCSClient {
-   PCSFile newFile();
-
-   ContainerList list();
-
-   ContainerList list(URI container);
-
-   URI createContainer(String container);
-
-   URI createContainer(URI parent, String container);
-
-   void deleteContainer(URI container);
-
-   URI uploadFile(URI container, PCSFile object);
-
-   URI createFile(URI container, PCSFile object);
-
-   void uploadBlock(URI file, PCSFile object, PutBlockOptions... options);
-
-   void deleteFile(URI file);
-
-   InputStream downloadFile(URI file);
-
-   FileInfoWithMetadata getFileInfo(URI file);
-
-   void putMetadataItem(URI resource, String key, String value);
-
-   void addMetadataItemToMap(URI resource, String key, Map<String, String> map);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClient.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClient.java
deleted file mode 100644
index 1da8fda..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSCloudAsyncClient.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import java.net.URI;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.mezeo.pcs.endpoints.Contacts;
-import org.jclouds.mezeo.pcs.endpoints.Metacontainers;
-import org.jclouds.mezeo.pcs.endpoints.Projects;
-import org.jclouds.mezeo.pcs.endpoints.Recyclebin;
-import org.jclouds.mezeo.pcs.endpoints.RootContainer;
-import org.jclouds.mezeo.pcs.endpoints.Shares;
-import org.jclouds.mezeo.pcs.endpoints.Tags;
-import org.jclouds.mezeo.pcs.xml.CloudXlinkHandler;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.XMLResponseParser;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides URIs to PCS services via their REST API.
- * <p/>
- * 
- * @author Adrian Cole
- */
-@RequestFilters(BasicAuthentication.class)
-public interface PCSCloudAsyncClient {
-
-   public interface Response {
-      @RootContainer
-      URI getRootContainerUrl();
-
-      @Contacts
-      URI getContactsUrl();
-
-      @Shares
-      URI getSharesUrl();
-
-      @Projects
-      URI getProjectsUrl();
-
-      @Metacontainers
-      URI getMetacontainersUrl();
-
-      @Recyclebin
-      URI getRecyclebinUrl();
-
-      @Tags
-      URI getTagsUrl();
-   }
-
-   @GET
-   @XMLResponseParser(CloudXlinkHandler.class)
-   @Path("/v{jclouds.api-version}")
-   ListenableFuture<Response> authenticate();
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSContextBuilder.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSContextBuilder.java
deleted file mode 100644
index 878104e..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSContextBuilder.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.mezeo.pcs.config.PCSRestClientModule;
-import org.jclouds.rest.RestContextBuilder;
-
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class PCSContextBuilder extends RestContextBuilder<PCSClient, PCSAsyncClient> {
-
-   public PCSContextBuilder(Properties props) {
-      super(PCSClient.class, PCSAsyncClient.class, props);
-   }
-
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new PCSRestClientModule());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSPropertiesBuilder.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSPropertiesBuilder.java
deleted file mode 100644
index c90698a..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/PCSPropertiesBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs;
-
-import static org.jclouds.Constants.PROPERTY_API_VERSION;
-
-import java.util.Properties;
-
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in PCS Connections
- * 
- * @author Adrian Cole
- */
-public class PCSPropertiesBuilder extends PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_API_VERSION, "2");
-      return properties;
-   }
-
-   public PCSPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayload.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayload.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayload.java
deleted file mode 100644
index fe00cf4..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindContainerNameToXmlPayload.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.binders;
-
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.rest.Binder;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class BindContainerNameToXmlPayload implements Binder {
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      String container = String.format("<container><name>%s</name></container>", input);
-      request.setPayload(container);
-      return request;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayload.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayload.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayload.java
deleted file mode 100644
index 9373b04..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindFileInfoToXmlPayload.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.binders;
-
-import java.io.File;
-
-import javax.inject.Singleton;
-import javax.ws.rs.core.HttpHeaders;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.utils.ModifyRequest;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.ImmutableMultimap;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class BindFileInfoToXmlPayload implements Binder {
-
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      PCSFile blob = (PCSFile) input;
-      String file = String.format("<file><name>%s</name><mime_type>%s</mime_type><public>false</public></file>",
-            new File(blob.getMetadata().getName()).getName(), blob.getMetadata().getMimeType());
-      request.setPayload(file);
-      return ModifyRequest.replaceHeaders(request, ImmutableMultimap.<String, String> of(HttpHeaders.CONTENT_LENGTH,
-            file.getBytes().length + "", HttpHeaders.CONTENT_TYPE, "application/vnd.csp.file-info+xml"));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindPCSFileToMultipartForm.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindPCSFileToMultipartForm.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindPCSFileToMultipartForm.java
deleted file mode 100644
index 4b379db..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/binders/BindPCSFileToMultipartForm.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.binders.BindBlobToMultipartForm;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.mezeo.pcs.blobstore.functions.PCSFileToBlob;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.rest.Binder;
-
-@Singleton
-public class BindPCSFileToMultipartForm implements Binder {
-   private final BindBlobToMultipartForm blobBinder;
-   private final PCSFileToBlob file2Blob;
-
-   @Inject
-   public BindPCSFileToMultipartForm(PCSFileToBlob file2Blob, BindBlobToMultipartForm blobBinder) {
-      this.blobBinder = blobBinder;
-      this.file2Blob = file2Blob;
-   }
-
-   @Override
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      PCSFile file = (PCSFile) input;
-      checkNotNull(file.getPayload().getContentMetadata().getContentLength(), "contentLength");
-      checkArgument(file.getPayload().getContentMetadata().getContentLength() <= 2l * 1024 * 1024 * 1024,
-            "maximum size for POST request is 2GB");
-      return blobBinder.bindToRequest(request, file2Blob.apply(file));
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToFileInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToFileInfo.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToFileInfo.java
deleted file mode 100644
index bf91521..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToFileInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.blobstore.functions;
-
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.domain.BlobMetadata;
-import org.jclouds.mezeo.pcs.domain.MutableFileInfo;
-import org.jclouds.mezeo.pcs.domain.internal.MutableFileInfoImpl;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class BlobToFileInfo implements Function<BlobMetadata, MutableFileInfo> {
-   @Override
-   public MutableFileInfo apply(BlobMetadata base) {
-      MutableFileInfo to = new MutableFileInfoImpl();
-      to.setUrl(base.getUri());
-      to.setMimeType(base.getContentMetadata().getContentType());
-      to.setName(base.getName());
-      to.setModified(base.getLastModified());
-      if (base.getContentMetadata().getContentLength() != null)
-         to.setBytes(base.getContentMetadata().getContentLength());
-      return to;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToPCSFile.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToPCSFile.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToPCSFile.java
deleted file mode 100644
index 556ce49..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/BlobToPCSFile.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.blobstore.functions;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class BlobToPCSFile implements Function<Blob, PCSFile> {
-   private final BlobToFileInfo blob2ObjectMd;
-   private final PCSFile.Factory objectProvider;
-
-   @Inject
-   BlobToPCSFile(BlobToFileInfo blob2ObjectMd, PCSFile.Factory objectProvider) {
-      this.blob2ObjectMd = blob2ObjectMd;
-      this.objectProvider = objectProvider;
-   }
-
-   public PCSFile apply(Blob from) {
-      PCSFile object = objectProvider.create(blob2ObjectMd.apply(from.getMetadata()));
-      object.setPayload(from.getPayload());
-      object.setAllHeaders(from.getAllHeaders());
-      return object;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/FileInfoToBlobMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/FileInfoToBlobMetadata.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/FileInfoToBlobMetadata.java
deleted file mode 100644
index 800bf1b..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/FileInfoToBlobMetadata.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.blobstore.functions;
-
-import java.util.regex.Pattern;
-
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.domain.MutableBlobMetadata;
-import org.jclouds.blobstore.domain.StorageType;
-import org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl;
-import org.jclouds.mezeo.pcs.domain.FileInfo;
-import org.jclouds.util.Strings2;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class FileInfoToBlobMetadata implements Function<FileInfo, MutableBlobMetadata> {
-   public static final Pattern OBJECTS_PATTERN = Pattern.compile(".*objects/");
-
-   @Override
-   public MutableBlobMetadata apply(FileInfo from) {
-      MutableBlobMetadata to = new MutableBlobMetadataImpl();
-      if (from.getUrl() != null) {
-         to.setId(Strings2.replaceAll(from.getUrl().getPath(), OBJECTS_PATTERN, ""));
-      }
-      to.setUri(from.getUrl());
-      to.setName(from.getName());
-      if (from.getMimeType() != null)
-         to.getContentMetadata().setContentType(from.getMimeType());
-      if (from.getModified() != null)
-         to.setLastModified(from.getModified());
-      if (from.getBytes() != null)
-         to.getContentMetadata().setContentLength(from.getBytes());
-      to.setType(StorageType.BLOB);
-      return to;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/PCSFileToBlob.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/PCSFileToBlob.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/PCSFileToBlob.java
deleted file mode 100644
index 48779c6..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/blobstore/functions/PCSFileToBlob.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.blobstore.functions;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.domain.Blob.Factory;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-
-import com.google.common.base.Function;
-
-/**
- * @author Adrian Cole
- */
-@Singleton
-public class PCSFileToBlob implements Function<PCSFile, Blob> {
-   private final Blob.Factory blobFactory;
-   private final FileInfoToBlobMetadata info2BlobMd;
-
-   @Inject
-   PCSFileToBlob(Factory blobFactory, FileInfoToBlobMetadata info2BlobMd) {
-      this.blobFactory = blobFactory;
-      this.info2BlobMd = info2BlobMd;
-   }
-
-   public Blob apply(PCSFile from) {
-      Blob blob = blobFactory.create(info2BlobMd.apply(from.getMetadata()));
-      blob.setPayload(from.getPayload());
-      blob.setAllHeaders(from.getAllHeaders());
-      return blob;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSObjectModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSObjectModule.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSObjectModule.java
deleted file mode 100644
index 6a5c3d0..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSObjectModule.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.config;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
-import org.jclouds.blobstore.config.BlobStoreObjectModule;
-import org.jclouds.mezeo.pcs.domain.MutableFileInfo;
-import org.jclouds.mezeo.pcs.domain.PCSFile;
-import org.jclouds.mezeo.pcs.domain.internal.PCSFileImpl;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import com.google.inject.Scopes;
-
-/**
- * Configures the domain object mappings needed for all PCS implementations
- * 
- * @author Adrian Cole
- */
-public class PCSObjectModule extends AbstractModule {
-
-   /**
-    * explicit factories are created here as it has been shown that Assisted Inject is extremely
-    * inefficient. http://code.google.com/p/google-guice/issues/detail?id=435
-    */
-   @Override
-   protected void configure() {
-      // for adapters
-      install(new BlobStoreObjectModule());
-      bind(PCSFile.Factory.class).to(PCSFileFactory.class).in(Scopes.SINGLETON);
-   }
-
-   private static class PCSFileFactory implements PCSFile.Factory {
-      @Inject
-      Provider<MutableFileInfo> metadataProvider;
-
-      public PCSFile create(MutableFileInfo metadata) {
-         return new PCSFileImpl(metadata != null ? metadata : metadataProvider.get());
-      }
-   }
-
-   @Provides
-   PCSFile providePCSFile(PCSFile.Factory factory) {
-      return factory.create(null);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSRestClientModule.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSRestClientModule.java
deleted file mode 100644
index 63cb875..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/config/PCSRestClientModule.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.config;
-
-import java.net.URI;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.Constants;
-import org.jclouds.http.HttpRetryHandler;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.annotation.ClientError;
-import org.jclouds.mezeo.pcs.PCSAsyncClient;
-import org.jclouds.mezeo.pcs.PCSClient;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient;
-import org.jclouds.mezeo.pcs.PCSCloudAsyncClient.Response;
-import org.jclouds.mezeo.pcs.endpoints.Contacts;
-import org.jclouds.mezeo.pcs.endpoints.Metacontainers;
-import org.jclouds.mezeo.pcs.endpoints.Projects;
-import org.jclouds.mezeo.pcs.endpoints.Recyclebin;
-import org.jclouds.mezeo.pcs.endpoints.RootContainer;
-import org.jclouds.mezeo.pcs.endpoints.Shares;
-import org.jclouds.mezeo.pcs.endpoints.Tags;
-import org.jclouds.mezeo.pcs.endpoints.WebDAV;
-import org.jclouds.mezeo.pcs.handlers.PCSClientErrorRetryHandler;
-import org.jclouds.rest.AsyncClientFactory;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.RestClientModule;
-
-import com.google.inject.Provides;
-
-/**
- * Configures the PCSCloudModule authentication service connection.
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-@ConfiguresRestClient
-public class PCSRestClientModule extends RestClientModule<PCSClient, PCSAsyncClient> {
-
-   @Override
-   protected void configure() {
-      install(new PCSObjectModule());
-      super.configure();
-   }
-
-   public PCSRestClientModule() {
-      super(PCSClient.class, PCSAsyncClient.class);
-   }
-
-   @Provides
-   @Singleton
-   protected Response provideCloudResponse(AsyncClientFactory factory) throws InterruptedException, ExecutionException,
-         TimeoutException {
-      return factory.create(PCSCloudAsyncClient.class).authenticate().get(10, TimeUnit.SECONDS);
-   }
-
-   @Provides
-   @Singleton
-   @WebDAV
-   protected URI provideWebDAVURI(@Named(Constants.PROPERTY_ENDPOINT) String endpoint) {
-      return URI.create(endpoint + "/dav");
-   }
-
-   @Provides
-   @Singleton
-   @Contacts
-   protected URI provideContactsUrl(Response response) {
-      return response.getContactsUrl();
-   }
-
-   @Provides
-   @Singleton
-   @Metacontainers
-   protected URI provideMetacontainersUrl(Response response) {
-      return response.getMetacontainersUrl();
-   }
-
-   @Provides
-   @Singleton
-   @Projects
-   protected URI provideProjectsUrl(Response response) {
-      return response.getProjectsUrl();
-   }
-
-   @Provides
-   @Singleton
-   @Recyclebin
-   protected URI provideRecyclebinUrl(Response response) {
-      return response.getRecyclebinUrl();
-   }
-
-   @Provides
-   @Singleton
-   @RootContainer
-   protected URI provideRootContainerUrl(Response response) {
-      return response.getRootContainerUrl();
-   }
-
-   @Provides
-   @Singleton
-   @Shares
-   protected URI provideSharesUrl(Response response) {
-      return response.getSharesUrl();
-   }
-
-   @Provides
-   @Singleton
-   @Tags
-   protected URI provideTagsUrl(Response response) {
-      return response.getTagsUrl();
-   }
-
-   @Override
-   protected void bindRetryHandlers() {
-      bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(PCSClientErrorRetryHandler.class);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerInfo.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerInfo.java
deleted file mode 100644
index 2feac3f..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerInfo.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-
-import org.jclouds.mezeo.pcs.domain.internal.ContainerInfoImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(ContainerInfoImpl.class)
-public interface ContainerInfo extends ResourceInfo {
-
-   URI getContents();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerList.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerList.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerList.java
deleted file mode 100644
index 759db0b..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/ContainerList.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.SortedSet;
-
-import org.jclouds.mezeo.pcs.domain.internal.ContainerListImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(ContainerListImpl.class)
-public interface ContainerList extends ResourceInfo, SortedSet<ResourceInfo> {
-   Map<String, URI> getMetadataItems();
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfo.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfo.java
deleted file mode 100644
index c77d656..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-
-import org.jclouds.mezeo.pcs.domain.internal.FileInfoImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(FileInfoImpl.class)
-public interface FileInfo extends ResourceInfo {
-
-   Boolean isPublic();
-
-   String getMimeType();
-
-   URI getContent();
-
-   URI getPermissions();
-
-   URI getThumbnail();
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfoWithMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfoWithMetadata.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfoWithMetadata.java
deleted file mode 100644
index 8015fa4..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/FileInfoWithMetadata.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-import java.util.Map;
-
-import org.jclouds.mezeo.pcs.domain.internal.FileInfoWithMetadataImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(FileInfoWithMetadataImpl.class)
-public interface FileInfoWithMetadata extends FileInfo {
-   Map<String, URI> getMetadataItems();
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableFileInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableFileInfo.java b/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableFileInfo.java
deleted file mode 100644
index c71cf4b..0000000
--- a/sandbox-apis/pcs/src/main/java/org/jclouds/mezeo/pcs/domain/MutableFileInfo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.mezeo.pcs.domain;
-
-import java.net.URI;
-
-import org.jclouds.mezeo.pcs.domain.internal.MutableFileInfoImpl;
-
-import com.google.inject.ImplementedBy;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@ImplementedBy(MutableFileInfoImpl.class)
-public interface MutableFileInfo extends FileInfo, MutableResourceInfo {
-
-   void setPublic(Boolean isPublic);
-
-   void setMimeType(String value);
-
-   void setContent(URI value);
-
-   void setPermissions(URI value);
-
-   void setThumbnail(URI value);
-}


[08/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequestTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequestTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequestTest.java
deleted file mode 100644
index fa24076..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/binders/BindGoogleStorageObjectMetadataToRequestTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.binders;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.File;
-import java.net.URI;
-
-import javax.ws.rs.HttpMethod;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.io.Payload;
-import org.jclouds.io.Payloads;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.jclouds.s3.BaseS3AsyncClientTest;
-import org.jclouds.s3.S3AsyncClient;
-import org.jclouds.s3.domain.S3Object;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code BindGoogleStorageObjectMetadataToRequest}
- * 
- * @author Adrian Cole
- */
-// NOTE:without testName, this will not call @Before* and fail w/NPE during surefire
-@Test(groups = "unit", testName = "BindGoogleStorageObjectMetadataToRequestTest")
-public class BindGoogleStorageObjectMetadataToRequestTest extends BaseS3AsyncClientTest<S3AsyncClient> {
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<S3AsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<S3AsyncClient>>() {
-      };
-   }
-
-   @Test
-   public void testPassWithMinimumDetailsAndPayload5GB() {
-      S3Object object = injector.getInstance(S3Object.Factory.class).create(null);
-      Payload payload = Payloads.newStringPayload("");
-      payload.getContentMetadata().setContentLength(5 * 1024 * 1024 * 1024l);
-      object.setPayload(payload);
-      object.getMetadata().setKey("foo");
-
-      HttpRequest request = HttpRequest.builder().method("PUT").endpoint(URI.create("http://localhost")).build();
-      BindGoogleStorageObjectMetadataToRequest binder = injector
-               .getInstance(BindGoogleStorageObjectMetadataToRequest.class);
-
-      assertEquals(binder.bindToRequest(request, object), HttpRequest.builder().method("PUT").endpoint(
-               URI.create("http://localhost")).build());
-   }
-
-   @Test
-   public void testExtendedPropertiesBind() {
-      S3Object object = injector.getInstance(S3Object.Factory.class).create(null);
-      Payload payload = Payloads.newStringPayload("");
-      payload.getContentMetadata().setContentLength(5 * 1024 * 1024 * 1024l);
-      object.setPayload(payload);
-      object.getMetadata().setKey("foo");
-      object.getMetadata().getUserMetadata().putAll(ImmutableMap.of("foo", "bar"));
-
-      HttpRequest request = HttpRequest.builder().method("PUT").endpoint(URI.create("http://localhost")).build();
-      BindGoogleStorageObjectMetadataToRequest binder = injector
-               .getInstance(BindGoogleStorageObjectMetadataToRequest.class);
-
-      assertEquals(binder.bindToRequest(request, object), HttpRequest.builder().method("PUT").endpoint(
-               URI.create("http://localhost")).headers(ImmutableMultimap.of("x-amz-meta-foo", "bar")).build());
-   }
-
-   public void testNoContentLengthIsChunked() {
-      S3Object object = injector.getInstance(S3Object.Factory.class).create(null);
-      Payload payload = Payloads.newStringPayload("");
-      payload.getContentMetadata().setContentLength(null);
-      object.setPayload(payload);
-      object.getMetadata().setKey("foo");
-
-      HttpRequest request = HttpRequest.builder().method("PUT").endpoint(URI.create("http://localhost")).build();
-      BindGoogleStorageObjectMetadataToRequest binder = injector
-               .getInstance(BindGoogleStorageObjectMetadataToRequest.class);
-
-      assertEquals(binder.bindToRequest(request, object), HttpRequest.builder().method("PUT").endpoint(
-               URI.create("http://localhost")).headers(ImmutableMultimap.of("Transfer-Encoding", "chunked")).build());
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testNoNameIsBad() {
-      S3Object object = injector.getInstance(S3Object.Factory.class).create(null);
-      Payload payload = Payloads.newStringPayload("");
-      payload.getContentMetadata().setContentLength(5368709120000l);
-      object.setPayload(payload);
-
-      HttpRequest request = HttpRequest.builder().method("PUT").endpoint(URI.create("http://localhost")).build();
-      BindGoogleStorageObjectMetadataToRequest binder = injector
-               .getInstance(BindGoogleStorageObjectMetadataToRequest.class);
-      binder.bindToRequest(request, object);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testOver5GBIsBad() {
-      S3Object object = injector.getInstance(S3Object.Factory.class).create(null);
-      Payload payload = Payloads.newStringPayload("");
-      payload.getContentMetadata().setContentLength(5 * 1024 * 1024 * 1024l + 1);
-      object.setPayload(payload);
-      object.getMetadata().setKey("foo");
-
-      HttpRequest request = HttpRequest.builder().method("PUT").endpoint(URI.create("http://localhost")).build();
-      BindGoogleStorageObjectMetadataToRequest binder = injector
-               .getInstance(BindGoogleStorageObjectMetadataToRequest.class);
-      binder.bindToRequest(request, object);
-   }
-
-   @Test(expectedExceptions = IllegalArgumentException.class)
-   public void testMustBeS3Object() {
-      HttpRequest request = new HttpRequest(HttpMethod.POST, URI.create("http://localhost"));
-      injector.getInstance(BindGoogleStorageObjectMetadataToRequest.class).bindToRequest(request, new File("foo"));
-   }
-
-   @Test(expectedExceptions = { NullPointerException.class, IllegalStateException.class })
-   public void testNullIsBad() {
-      BindGoogleStorageObjectMetadataToRequest binder = injector
-               .getInstance(BindGoogleStorageObjectMetadataToRequest.class);
-      HttpRequest request = HttpRequest.builder().method("GET").endpoint(URI.create("http://momma")).build();
-      binder.bindToRequest(request, null);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobIntegrationLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobIntegrationLiveTest.java
deleted file mode 100644
index eae1b3a..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import java.io.IOException;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.blobstore.integration.internal.BaseBlobIntegrationTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "GoogleStorageBlobIntegrationLiveTest")
-public class GoogleStorageBlobIntegrationLiveTest extends BaseBlobIntegrationTest {
-   // NOTE google supports streaming
-   // no support for content language
-   @Override
-   protected void checkContentLanguage(Blob blob, String contentLanguage) {
-      assert blob.getPayload().getContentMetadata().getContentLanguage() == null;
-      assert blob.getMetadata().getContentMetadata().getContentLanguage() == null;
-   }
-
-   // double range not supported
-   @Test(groups = { "integration", "live" })
-   public void testGetTwoRanges() throws InterruptedException, IOException {
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobLiveTest.java
deleted file mode 100644
index a23301c..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3BlobLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "GoogleStorageBlobLiveTest")
-public class GoogleStorageBlobLiveTest extends S3BlobLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobMapIntegrationLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobMapIntegrationLiveTest.java
deleted file mode 100644
index 5bbe6fb..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3BlobMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "GoogleStorageBlobMapIntegrationLiveTest")
-public class GoogleStorageBlobMapIntegrationLiveTest extends S3BlobMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobSignerLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobSignerLiveTest.java
deleted file mode 100644
index 5ab8963..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageBlobSignerLiveTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3BlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "GoogleStorageBlobSignerLiveTest")
-public class GoogleStorageBlobSignerLiveTest extends S3BlobSignerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerIntegrationLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerIntegrationLiveTest.java
deleted file mode 100644
index d4d16ab..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3ContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "GoogleStorageContainerIntegrationLiveTest")
-public class GoogleStorageContainerIntegrationLiveTest extends S3ContainerIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerLiveTest.java
deleted file mode 100644
index e10eddc..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageContainerLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3ContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "GoogleStorageContainerLiveTest")
-public class GoogleStorageContainerLiveTest extends S3ContainerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageInputStreamMapIntegrationLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 1c57d1c..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3InputStreamMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "GoogleStorageInputStreamMapIntegrationLiveTest")
-public class GoogleStorageInputStreamMapIntegrationLiveTest extends S3InputStreamMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageServiceIntegrationLiveTest.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageServiceIntegrationLiveTest.java
deleted file mode 100644
index be89854..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import java.util.Set;
-
-import org.jclouds.s3.blobstore.integration.S3ServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "GoogleStorageServiceIntegrationLiveTest")
-public class GoogleStorageServiceIntegrationLiveTest extends S3ServiceIntegrationLiveTest {
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageTestInitializer.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageTestInitializer.java b/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageTestInitializer.java
deleted file mode 100644
index 10961a9..0000000
--- a/sandbox-providers/googlestorage/src/test/java/org/jclouds/googlestorage/blobstore/GoogleStorageTestInitializer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.googlestorage.blobstore;
-
-import org.jclouds.s3.blobstore.integration.S3TestInitializer;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class GoogleStorageTestInitializer extends S3TestInitializer {
-
-   public GoogleStorageTestInitializer() {
-      provider = "googlestorage";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/pom.xml b/sandbox-providers/hosteurope-storage/pom.xml
deleted file mode 100644
index 1432318..0000000
--- a/sandbox-providers/hosteurope-storage/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>hosteurope-storage</artifactId>
-    <name>jclouds Host Europe Cloud Storage provider</name>
-    <description>Scality RING (ScalityRS2) implementation targeted to Host Europe Cloud Storage</description>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <test.initializer>org.jclouds.hosteurope.storage.blobstore.HostEuropeStorageTestInitializer</test.initializer>
-        <test.hosteurope-storage.endpoint>https://cs.hosteurope.de</test.hosteurope-storage.endpoint>
-        <test.hosteurope-storage.api-version>2006-03-01</test.hosteurope-storage.api-version>
-        <test.hosteurope-storage.build-version></test.hosteurope-storage.build-version>
-        <test.hosteurope-storage.identity>FIX_ME</test.hosteurope-storage.identity>
-        <test.hosteurope-storage.credential>FIX_ME</test.hosteurope-storage.credential>
-
-        <jclouds.osgi.export>org.jclouds.hosteurope.storage*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>scality-rs2</artifactId>
-            <version>${project.version}</version>
-            <type>jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>scality-rs2</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>s3</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.hosteurope-storage.endpoint>${test.hosteurope-storage.endpoint}</test.hosteurope-storage.endpoint>
-                                        <test.hosteurope-storage.api-version>${test.hosteurope-storage.api-version}</test.hosteurope-storage.api-version>
-                                        <test.hosteurope-storage.build-version>${test.hosteurope-storage.build-version}</test.hosteurope-storage.build-version>
-                                        <test.hosteurope-storage.identity>${test.hosteurope-storage.identity}</test.hosteurope-storage.identity>
-                                        <test.hosteurope-storage.credential>${test.hosteurope-storage.credential}</test.hosteurope-storage.credential>
-                                        <test.initializer>${test.initializer}</test.initializer>
-                                        <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/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/main/java/org/jclouds/hosteurope/storage/HostEuropeStoragePropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/main/java/org/jclouds/hosteurope/storage/HostEuropeStoragePropertiesBuilder.java b/sandbox-providers/hosteurope-storage/src/main/java/org/jclouds/hosteurope/storage/HostEuropeStoragePropertiesBuilder.java
deleted file mode 100644
index 8786024..0000000
--- a/sandbox-providers/hosteurope-storage/src/main/java/org/jclouds/hosteurope/storage/HostEuropeStoragePropertiesBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage;
-
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
-
-import java.util.Properties;
-
-import org.jclouds.scality.rs2.ScalityRS2PropertiesBuilder;
-
-/**
- * Builds properties used in HostEurope Storage
- * 
- * @author Adrian Cole
- */
-public class HostEuropeStoragePropertiesBuilder extends ScalityRS2PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ISO3166_CODES, "DE");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://cs.hosteurope.de<");
-      return properties;
-   }
-
-   public HostEuropeStoragePropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/HostEuropeStorageClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/HostEuropeStorageClientLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/HostEuropeStorageClientLiveTest.java
deleted file mode 100644
index 6157dc8..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/HostEuropeStorageClientLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage;
-
-import org.jclouds.scality.rs2.ScalityRS2ClientLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * Tests behavior of {@code ScalityRS2Client}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true, testName = "HostEuropeStorageClientLiveTest")
-public class HostEuropeStorageClientLiveTest extends ScalityRS2ClientLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobIntegrationLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobIntegrationLiveTest.java
deleted file mode 100644
index cbbd731..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobIntegrationLiveTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "HostEuropeStorageBlobIntegrationLiveTest")
-public class HostEuropeStorageBlobIntegrationLiveTest extends ScalityRS2BlobIntegrationLiveTest {
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobLiveTest.java
deleted file mode 100644
index 12ba820..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "HostEuropeStorageBlobLiveTest")
-public class HostEuropeStorageBlobLiveTest extends ScalityRS2BlobLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobMapIntegrationLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobMapIntegrationLiveTest.java
deleted file mode 100644
index 41a124d..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "HostEuropeStorageBlobMapIntegrationLiveTest")
-public class HostEuropeStorageBlobMapIntegrationLiveTest extends ScalityRS2BlobMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobSignerLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobSignerLiveTest.java
deleted file mode 100644
index 6f683ae..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageBlobSignerLiveTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2BlobSignerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "HostEuropeStorageBlobSignerLiveTest")
-public class HostEuropeStorageBlobSignerLiveTest extends ScalityRS2BlobSignerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerIntegrationLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerIntegrationLiveTest.java
deleted file mode 100644
index e0ccf33..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "HostEuropeStorageContainerIntegrationLiveTest")
-public class HostEuropeStorageContainerIntegrationLiveTest extends ScalityRS2ContainerIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerLiveTest.java
deleted file mode 100644
index 1fb3513..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageContainerLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ContainerLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "HostEuropeStorageContainerLiveTest")
-public class HostEuropeStorageContainerLiveTest extends ScalityRS2ContainerLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageInputStreamMapIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageInputStreamMapIntegrationLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageInputStreamMapIntegrationLiveTest.java
deleted file mode 100644
index 3df1e2e..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageInputStreamMapIntegrationLiveTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2InputStreamMapIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups =  "live", testName = "HostEuropeStorageInputStreamMapIntegrationLiveTest")
-public class HostEuropeStorageInputStreamMapIntegrationLiveTest extends ScalityRS2InputStreamMapIntegrationLiveTest {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageServiceIntegrationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageServiceIntegrationLiveTest.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageServiceIntegrationLiveTest.java
deleted file mode 100644
index 9dec937..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageServiceIntegrationLiveTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import java.util.Set;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2ServiceIntegrationLiveTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "HostEuropeStorageServiceIntegrationLiveTest")
-public class HostEuropeStorageServiceIntegrationLiveTest extends ScalityRS2ServiceIntegrationLiveTest {
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("DE");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageTestInitializer.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageTestInitializer.java b/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageTestInitializer.java
deleted file mode 100644
index 4475db4..0000000
--- a/sandbox-providers/hosteurope-storage/src/test/java/org/jclouds/hosteurope/storage/blobstore/HostEuropeStorageTestInitializer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.hosteurope.storage.blobstore;
-
-import org.jclouds.scality.rs2.blobstore.ScalityRS2TestInitializer;
-
-
-/**
- * 
- * @author Adrian Cole
- */
-public class HostEuropeStorageTestInitializer extends ScalityRS2TestInitializer {
-
-   public HostEuropeStorageTestInitializer() {
-      provider = "hosteurope-storage";
-   }
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/pom.xml b/sandbox-providers/ibm-smartcloud/pom.xml
deleted file mode 100644
index 3136ab2..0000000
--- a/sandbox-providers/ibm-smartcloud/pom.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>ibm-smartcloud</artifactId>
-    <name>jclouds IBM SmartCloud core</name>
-    <description>jclouds components to access IBM SmartCloud</description>
-    <packaging>bundle</packaging>
-
-    <!-- bootstrapping: need to fetch the project POM -->
-    <repositories>
-        <repository>
-            <id>jclouds-sona-snapshots-nexus</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <properties>
-        <test.ibm-smartcloud.endpoint>https://www-147.ibm.com/computecloud/enterprise/api/rest</test.ibm-smartcloud.endpoint>
-        <test.ibm-smartcloud.api-version>20100331</test.ibm-smartcloud.api-version>
-        <test.ibm-smartcloud.build-version></test.ibm-smartcloud.build-version>
-        <test.ibm-smartcloud.identity>FIXME</test.ibm-smartcloud.identity>
-        <test.ibm-smartcloud.credential>FIXME</test.ibm-smartcloud.credential>
-        <test.ibm-smartcloud.image-id></test.ibm-smartcloud.image-id>
-
-        <jclouds.osgi.export>org.jclouds.ibm.smartcloud*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-compute</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-compute </artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>        
-        <dependency>
-            <groupId>org.jclouds.driver</groupId>
-            <artifactId>jclouds-log4j</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.ibm-smartcloud.endpoint>${test.ibm-smartcloud.endpoint}</test.ibm-smartcloud.endpoint>
-                                        <test.ibm-smartcloud.api-version>${test.ibm-smartcloud.api-version}</test.ibm-smartcloud.api-version>
-                                        <test.ibm-smartcloud.build-version>${test.ibm-smartcloud.build-version}</test.ibm-smartcloud.build-version>
-                                        <test.ibm-smartcloud.identity>${test.ibm-smartcloud.identity}</test.ibm-smartcloud.identity>
-                                        <test.ibm-smartcloud.credential>${test.ibm-smartcloud.credential}</test.ibm-smartcloud.credential>
-                                        <test.ibm-smartcloud.image-id>${test.ibm-smartcloud.image-id}</test.ibm-smartcloud.image-id>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClient.java b/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClient.java
deleted file mode 100644
index 78ce8e3..0000000
--- a/sandbox-providers/ibm-smartcloud/src/main/java/org/jclouds/ibm/smartcloud/IBMSmartCloudAsyncClient.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.ibm.smartcloud;
-
-import java.util.Date;
-import java.util.Set;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.ibm.smartcloud.domain.Address;
-import org.jclouds.ibm.smartcloud.domain.Image;
-import org.jclouds.ibm.smartcloud.domain.Instance;
-import org.jclouds.ibm.smartcloud.domain.Key;
-import org.jclouds.ibm.smartcloud.domain.Location;
-import org.jclouds.ibm.smartcloud.domain.Offering;
-import org.jclouds.ibm.smartcloud.domain.StorageOffering;
-import org.jclouds.ibm.smartcloud.domain.Volume;
-import org.jclouds.ibm.smartcloud.functions.ParseLongFromDate;
-import org.jclouds.ibm.smartcloud.options.CreateInstanceOptions;
-import org.jclouds.ibm.smartcloud.options.RestartInstanceOptions;
-import org.jclouds.ibm.smartcloud.xml.LocationHandler;
-import org.jclouds.ibm.smartcloud.xml.LocationsHandler;
-import org.jclouds.rest.annotations.ExceptionParser;
-import org.jclouds.rest.annotations.FormParams;
-import org.jclouds.rest.annotations.ParamParser;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SkipEncoding;
-import org.jclouds.rest.annotations.Unwrap;
-import org.jclouds.rest.annotations.XMLResponseParser;
-import org.jclouds.rest.functions.ReturnEmptySetOnNotFoundOr404;
-import org.jclouds.rest.functions.ReturnNullOnNotFoundOr404;
-import org.jclouds.rest.functions.ReturnVoidOnNotFoundOr404;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to IBMSmartCloud via their REST API.
- * <p/>
- * 
- * @see IBMSmartCloudClient
- * @see <a href="http://www-180.ibm.com/cloud/enterprise/beta/support" />
- * @author Adrian Cole
- */
-@RequestFilters(BasicAuthentication.class)
-@SkipEncoding( { '{', '}' })
-public interface IBMSmartCloudAsyncClient {
-   public static final String VERSION = "20100331";
-
-   /**
-    * @see IBMSmartCloudClient#listImages()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/image")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Unwrap
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Image>> listImages();
-
-   /**
-    * @see IBMSmartCloudClient#getImage(long)
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/image/{imageId}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Image> getImage(@PathParam("imageId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#getManifestOfImage
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/image/{imageId}/manifest")
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Consumes(MediaType.TEXT_XML)
-   ListenableFuture<String> getManifestOfImage(@PathParam("imageId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#deleteImage
-    */
-   @DELETE
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/image/{imageId}")
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> deleteImage(@PathParam("imageId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#setImageVisibility(long, Image.Visibility)
-    */
-   @PUT
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/image/{imageId}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Image> setImageVisibility(@PathParam("imageId") String id,
-            @FormParam("visibility") Image.Visibility visibility);
-
-   /**
-    * @see IBMSmartCloudClient#listInstancesFromRequest(long)
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/requests/{requestId}")
-   @Unwrap
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Set<? extends Instance>> listInstancesFromRequest(@PathParam("requestId") String requestId);
-
-   /**
-    * @see IBMSmartCloudClient#listInstances()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Unwrap
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Instance>> listInstances();
-
-   /**
-    * @see IBMSmartCloudClient#getInstance(long)
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances/{instanceId}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Instance> getInstance(@PathParam("instanceId") String id);
-
-   /**
-    * 
-    * @see IBMSmartCloudClient#extendReservationForInstance(long,Date)
-    */
-   @PUT
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances/{instanceId}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Unwrap
-   ListenableFuture<Date> extendReservationForInstance(@PathParam("instanceId") String id,
-            @FormParam("expirationTime") @ParamParser(ParseLongFromDate.class) Date expirationTime);
-
-   /**
-    * @see IBMSmartCloudClient#restartInstance
-    */
-   @PUT
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances/{instanceId}")
-   @FormParams(keys = "state", values = "restart")
-   ListenableFuture<Void> restartInstance(@PathParam("instanceId") String id, RestartInstanceOptions... options);
-
-   /**
-    * @see IBMSmartCloudClient#saveInstanceToImage
-    */
-   @PUT
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances/{instanceId}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @FormParams(keys = "state", values = "save")
-   ListenableFuture<Image> saveInstanceToImage(@PathParam("instanceId") String id,
-            @FormParam("name") String toImageName, @FormParam("description") String toImageDescription);
-
-   /**
-    * @see IBMSmartCloudClient#createInstanceInLocation
-    */
-   @POST
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Unwrap(depth = 2, edgeCollection = Set.class)
-   ListenableFuture<Instance> createInstanceInLocation(@FormParam("location") String location,
-            @FormParam("name") String name, @FormParam("imageID") String imageID,
-            @FormParam("instanceType") String instanceType, CreateInstanceOptions... options);
-
-   /**
-    * @see IBMSmartCloudClient#deleteInstance
-    */
-   @DELETE
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/instances/{instanceId}")
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> deleteInstance(@PathParam("instanceId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#listKeys()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Unwrap
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Key>> listKeys();
-
-   /**
-    * @see IBMSmartCloudClient#generateKeyPair(String)
-    */
-   @POST
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Key> generateKeyPair(@FormParam("name") String name);
-
-   /**
-    * @see IBMSmartCloudClient#addPublicKey(String, String)
-    */
-   @POST
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys")
-   ListenableFuture<Void> addPublicKey(@FormParam("name") String name, @FormParam("publicKey") String publicKey);
-
-   /**
-    * @see IBMSmartCloudClient#updatePublicKey(String, String)
-    */
-   @PUT
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys/{keyName}")
-   ListenableFuture<Void> updatePublicKey(@PathParam("keyName") String name, @FormParam("publicKey") String publicKey);
-
-   /**
-    * @see IBMSmartCloudClient#setDefaultStatusOfKey(String, boolean)
-    */
-   @PUT
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys/{keyName}")
-   ListenableFuture<Void> setDefaultStatusOfKey(@PathParam("keyName") String name,
-            @FormParam("default") boolean isDefault);
-
-   /**
-    * @see IBMSmartCloudClient#getKey(String)
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys/{keyName}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Key> getKey(@PathParam("keyName") String name);
-
-   /**
-    * @see IBMSmartCloudClient#deleteKey
-    */
-   @DELETE
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/keys/{keyName}")
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> deleteKey(@PathParam("keyName") String name);
-
-   /**
-    * @see IBMSmartCloudClient#listStorageOfferings()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/storage")
-   @Unwrap
-   @Consumes(MediaType.APPLICATION_JSON)
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends StorageOffering>> listStorageOfferings();
-
-   /**
-    * @see IBMSmartCloudClient#listVolumes()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/storage")
-   @Unwrap
-   @Consumes(MediaType.APPLICATION_JSON)
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Volume>> listVolumes();
-
-   /**
-    * @see IBMSmartCloudClient#createVolumeInLocation
-    */
-   @POST
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/storage")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Volume> createVolumeInLocation(@FormParam("location") String location,
-            @FormParam("name") String name, @FormParam("format") String format, @FormParam("size") String size,
-            @FormParam("offeringID") String offeringID);
-
-   /**
-    * @see IBMSmartCloudClient#getVolume(long)
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/storage/{volumeId}")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Volume> getVolume(@PathParam("volumeId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#deleteVolume
-    */
-   @DELETE
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/storage/{volumeId}")
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> deleteVolume(@PathParam("volumeId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#listLocations()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/locations")
-   @Consumes(MediaType.TEXT_XML)
-   @XMLResponseParser(LocationsHandler.class)
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Location>> listLocations();
-
-   /**
-    * @see IBMSmartCloudClient#getLocation
-    */
-   @GET
-   @ExceptionParser(ReturnNullOnNotFoundOr404.class)
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/locations/{locationId}")
-   @Consumes(MediaType.TEXT_XML)
-   @XMLResponseParser(LocationHandler.class)
-   ListenableFuture<Location> getLocation(@PathParam("locationId") String id);
-
-   /**
-    * @see IBMSmartCloudClient#listAddressOfferings()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/offerings/address")
-   @Unwrap
-   @Consumes(MediaType.APPLICATION_JSON)
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Offering>> listAddressOfferings();
-
-   /**
-    * @see IBMSmartCloudClient#listAddresses()
-    */
-   @GET
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/addresses")
-   @Consumes(MediaType.APPLICATION_JSON)
-   @Unwrap
-   @ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
-   ListenableFuture<Set<? extends Address>> listAddresses();
-
-   /**
-    * @see IBMSmartCloudClient#allocateAddressInLocation
-    */
-   @POST
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/addresses")
-   @Consumes(MediaType.APPLICATION_JSON)
-   ListenableFuture<Address> allocateAddressInLocation(@FormParam("location") String locationId,
-            @FormParam("offeringID") String offeringID);
-
-   /**
-    * @see IBMSmartCloudClient#releaseAddress
-    */
-   @DELETE
-   @Path(IBMSmartCloudAsyncClient.VERSION + "/addresses/{addressId}")
-   @ExceptionParser(ReturnVoidOnNotFoundOr404.class)
-   ListenableFuture<Void> releaseAddress(@PathParam("addressId") String id);
-
-}


[16/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilderTest.java b/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilderTest.java
deleted file mode 100644
index f586c2d..0000000
--- a/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceContextBuilderTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import static org.testng.Assert.assertEquals;
-
-import java.util.Properties;
-
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.ComputeServiceContextFactory;
-import org.jclouds.rest.RestContext;
-import org.libvirt.Connect;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-@Test(groups = "unit")
-public class LibvirtComputeServiceContextBuilderTest {
-
-   @Test
-   public void testCanBuildWithComputeService() {
-      ComputeServiceContext context = new ComputeServiceContextFactory()
-            .createContext(new LibvirtComputeServiceContextSpec("test:///default", "identity", "credential"));
-      // System.err.println(context.getComputeService().
-      context.close();
-   }
-
-   @Test
-   public void testCanBuildWithRestProperties() {
-      Properties restProperties = new Properties();
-      restProperties.setProperty("libvirt.contextbuilder", LibvirtComputeServiceContextBuilder.class.getName());
-      restProperties.setProperty("libvirt.propertiesbuilder", LibvirtPropertiesBuilder.class.getName());
-      restProperties.setProperty("libvirt.endpoint", "test:///default");
-
-      ComputeServiceContext context = new ComputeServiceContextFactory(restProperties).createContext("libvirt",
-            "identity", "credential");
-
-      context.close();
-   }
-
-   @Test
-   public void testProviderSpecificContextIsCorrectType() {
-      Properties restProperties = new Properties();
-      restProperties.setProperty("libvirt.contextbuilder", LibvirtComputeServiceContextBuilder.class.getName());
-      restProperties.setProperty("libvirt.propertiesbuilder", LibvirtPropertiesBuilder.class.getName());
-      restProperties.setProperty("libvirt.endpoint", "test:///default");
-
-      ComputeServiceContext context = new ComputeServiceContextFactory(restProperties).createContext("libvirt",
-            "identity", "credential");
-      
-      RestContext<Connect, Connect> providerContext = context.getProviderSpecificContext();
-
-      assertEquals(providerContext.getApi().getClass(), Connect.class);
-
-      context.close();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceLiveTest.java b/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceLiveTest.java
deleted file mode 100644
index 72e7a2b..0000000
--- a/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtComputeServiceLiveTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
-import static org.testng.Assert.assertEquals;
-
-import java.util.Properties;
-
-import org.jclouds.compute.BaseComputeServiceLiveTest;
-import org.jclouds.compute.ComputeServiceContextFactory;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.rest.RestContext;
-import org.jclouds.ssh.jsch.config.JschSshClientModule;
-import org.libvirt.Connect;
-import org.testng.annotations.Test;
-
-/**
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, sequential = true)
-public class LibvirtComputeServiceLiveTest extends BaseComputeServiceLiveTest {
-   public LibvirtComputeServiceLiveTest() {
-      provider = "libvirt";
-   }
-
-   @Override
-   protected Properties setupRestProperties() {
-      Properties restProperties = new Properties();
-      restProperties.setProperty("libvirt.contextbuilder", LibvirtComputeServiceContextBuilder.class.getName());
-      restProperties.setProperty("libvirt.propertiesbuilder", LibvirtPropertiesBuilder.class.getName());
-      restProperties.setProperty("libvirt.endpoint", "test:///default");
-      return restProperties;
-   }
-
-   @Test
-   public void testTemplateBuilder() {
-      Template defaultTemplate = client.templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "5.3");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.CENTOS);
-      assertEquals(defaultTemplate.getLocation().getId(), "1");
-      assertEquals(getCores(defaultTemplate.getHardware()), 0.5d);
-   }
-
-   @Override
-   protected JschSshClientModule getSshModule() {
-      return new JschSshClientModule();
-   }
-
-   public void testAssignability() throws Exception {
-      @SuppressWarnings("unused")
-      RestContext<Connect, Connect> goGridContext = new ComputeServiceContextFactory().createContext(provider,
-            identity, credential).getProviderSpecificContext();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtExperimentLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtExperimentLiveTest.java b/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtExperimentLiveTest.java
deleted file mode 100644
index 3820811..0000000
--- a/sandbox-apis/libvirt/src/test/java/org/jclouds/libvirt/compute/LibvirtExperimentLiveTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.libvirt.compute;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.compute.ComputeServiceContextFactory;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.Template;
-import org.jclouds.libvirt.compute.LibvirtComputeServiceContextSpec;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live")
-public class LibvirtExperimentLiveTest {
-   protected String provider = "libvirt";
-   protected String identity;
-   protected String credential;
-   protected String endpoint;
-   protected String apiVersion;
-
-   @BeforeClass
-   protected void setupCredentials() {
-      identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider + ".identity");
-      credential = System.getProperty("test." + provider + ".credential");
-      endpoint = System.getProperty("test." + provider + ".endpoint");
-     apiVersion = System.getProperty("test." + provider + ".api-version");
-   }
-
-   @Test
-   public void testAndExperiment() {
-      ComputeServiceContext context = null;
-      try {
-         context = new ComputeServiceContextFactory().createContext(new LibvirtComputeServiceContextSpec(
-               "qemu:///system", "identity", "credential"));
-         
-         
-         /*
-          * /* System.out.println("images " + context.getComputeService().listImages());
-          * System.out.println("nodes " + context.getComputeService().listNodes());
-          * System.out.println("hardware profiles " +
-          * context.getComputeService().listHardwareProfiles());
-          */
-
-         
-/*          Template defaultTemplate = context.getComputeService().templateBuilder()
-          .hardwareId("d106ae67-5a1b-8f91-b311-83c93bcb0a1f").imageId("1") //.locationId("")
-          .build();*/
-          
-
-         /*
-          * We will probably make a default template out of properties at some point You can control
-          * the default template via overriding a method in standalonecomputeservicexontextmodule
-          */
-
-         Set<? extends NodeMetadata> nodeMetadataSet = context.getComputeService().createNodesInGroup("tty", 1);
-         for (NodeMetadata nodeMetadata : nodeMetadataSet) {
-            /*
-             * context.getComputeService().suspendNode(nodeMetadata.getId());
-             * context.getComputeService().resumeNode(nodeMetadata.getId());
-             */
-            context.getComputeService().destroyNode(nodeMetadata.getId());
-         }
-      } catch (Exception e) {
-         e.printStackTrace();
-      } finally {
-         if (context != null)
-            context.close();
-      }
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/libvirt/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/libvirt/src/test/resources/log4j.xml b/sandbox-apis/libvirt/src/test/resources/log4j.xml
deleted file mode 100644
index 9620794..0000000
--- a/sandbox-apis/libvirt/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,117 +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>
-
-    <appender name="ASYNCCOMPUTE" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="COMPUTEFILE" />
-    </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.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="DEBUG" />
-    </root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/README.txt
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/README.txt b/sandbox-apis/nirvanix/README.txt
deleted file mode 100644
index a5e68dc..0000000
--- a/sandbox-apis/nirvanix/README.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-====
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.
-====
-
-#
-# The jclouds provider for the Nirvanix Storage Delivery Network (http://www.nirvanix.com/products-services/storage-delivery-network/index.aspx).
-#
-# TODO: Implementation status.
-# TODO: Supported features.
-# TODO: Usage example.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/pom.xml b/sandbox-apis/nirvanix/pom.xml
deleted file mode 100644
index 11b6481..0000000
--- a/sandbox-apis/nirvanix/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>nirvanix</artifactId>
-    <name>jclouds nirvanix storage delivery network core</name>
-    <description>jclouds Core components to access nirvanix nirvanix</description>
-    <packaging>bundle</packaging>
-
-    <!-- bootstrapping: need to fetch the project POM -->
-    <repositories>
-        <repository>
-            <id>jclouds-sona-snapshots-nexus</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <properties>
-        <test.nirvanix.endpoint>http://services.nirvanix.com</test.nirvanix.endpoint>
-        <test.nirvanix.api-version>2.5.6</test.nirvanix.api-version>
-        <test.nirvanix.build-version></test.nirvanix.build-version>
-        <test.nirvanix.identity>FIXME</test.nirvanix.identity>
-        <test.nirvanix.credential> FIXME </test.nirvanix.credential>
-
-        <jclouds.osgi.export>org.jclouds.nirvanix.sdn*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-blobstore</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.nirvanix.endpoint>${test.nirvanix.endpoint}</test.nirvanix.endpoint>
-                                        <test.nirvanix.api-version>${test.nirvanix.api-version}</test.nirvanix.api-version>
-                                        <test.nirvanix.build-version>${test.nirvanix.build-version}</test.nirvanix.build-version>
-                                        <test.nirvanix.identity>${test.nirvanix.identity}</test.nirvanix.identity>
-                                        <test.nirvanix.credential>${test.nirvanix.credential}</test.nirvanix.credential>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-    
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAsyncClient.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAsyncClient.java
deleted file mode 100644
index 985654a..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAsyncClient.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import java.net.URI;
-import java.util.Map;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-
-import org.jclouds.blobstore.binders.BindBlobToMultipartForm;
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.nirvanix.sdn.binders.BindMetadataToQueryParams;
-import org.jclouds.nirvanix.sdn.domain.UploadInfo;
-import org.jclouds.nirvanix.sdn.filters.AddSessionTokenToRequest;
-import org.jclouds.nirvanix.sdn.filters.InsertUserContextIntoPath;
-import org.jclouds.nirvanix.sdn.functions.ParseMetadataFromJsonResponse;
-import org.jclouds.nirvanix.sdn.functions.ParseUploadInfoFromJsonResponse;
-import org.jclouds.nirvanix.sdn.reference.SDNQueryParams;
-import org.jclouds.rest.annotations.BinderParam;
-import org.jclouds.rest.annotations.EndpointParam;
-import org.jclouds.rest.annotations.OverrideRequestFilters;
-import org.jclouds.rest.annotations.QueryParams;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.SkipEncoding;
-
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.inject.Provides;
-
-/**
- * Provides asynchronous access to Nirvanix SDN resources via their REST API.
- * <p/>
- * 
- * @see SDNClient
- * @see <a href="http://developer.nirvanix.com/sitefiles/1000/API.html" />
- * @author Adrian Cole
- */
-@RequestFilters(AddSessionTokenToRequest.class)
-@SkipEncoding( { '/', ':' })
-@QueryParams(keys = SDNQueryParams.OUTPUT, values = "json")
-public interface SDNAsyncClient {
-   @Provides
-   public Blob newBlob();
-
-   /**
-    * @see SDNClient#getStorageNode
-    */
-   @GET
-   @Path("/ws/IMFS/GetStorageNode.ashx")
-   @ResponseParser(ParseUploadInfoFromJsonResponse.class)
-   ListenableFuture<UploadInfo> getStorageNode(
-            @QueryParam(SDNQueryParams.DESTFOLDERPATH) String folderPath,
-            @QueryParam(SDNQueryParams.SIZEBYTES) long size);
-
-   /**
-    * @see SDNClient#upload
-    */
-   @POST
-   @Path("/Upload.ashx")
-   ListenableFuture<Void> upload(@EndpointParam URI endpoint,
-            @QueryParam(SDNQueryParams.UPLOADTOKEN) String uploadToken,
-            @QueryParam(SDNQueryParams.DESTFOLDERPATH) String folderPath,
-            @BinderParam(BindBlobToMultipartForm.class) Blob blob);
-
-   /**
-    * @see SDNClient#setMetadata
-    */
-   @GET
-   @Path("/ws/Metadata/SetMetadata.ashx")
-   @QueryParams(keys = SDNQueryParams.PATH, values = "{path}")
-   ListenableFuture<Void> setMetadata(@PathParam("path") String path,
-            @BinderParam(BindMetadataToQueryParams.class) Map<String, String> metadata);
-
-   /**
-    * @see SDNClient#getMetadata
-    */
-   @GET
-   @Path("/ws/Metadata/GetMetadata.ashx")
-   @ResponseParser(ParseMetadataFromJsonResponse.class)
-   @QueryParams(keys = SDNQueryParams.PATH, values = "{path}")
-   ListenableFuture<Map<String, String>> getMetadata(@PathParam("path") String path);
-
-   /**
-    * @see SDNClient#getFile
-    */
-   @GET
-   @Path("/{path}")
-   @OverrideRequestFilters
-   @RequestFilters(InsertUserContextIntoPath.class)
-   ListenableFuture<String> getFile(@PathParam("path") String path);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClient.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClient.java
deleted file mode 100644
index 33d7710..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClient.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-
-import org.jclouds.nirvanix.sdn.functions.ParseSessionTokenFromJsonResponse;
-import org.jclouds.nirvanix.sdn.reference.SDNQueryParams;
-import org.jclouds.rest.annotations.QueryParams;
-import org.jclouds.rest.annotations.ResponseParser;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * Provides asynchronous access to Nirvanix SDN resources via their REST API.
- * <p/>
- * 
- * @see <a href="http://developer.nirvanix.com/sitefiles/1000/API.html" />
- * @author Adrian Cole
- */
-@QueryParams(keys = SDNQueryParams.OUTPUT, values = "json")
-public interface SDNAuthAsyncClient {
-
-   public interface AuthenticationResponse {
-      @SessionToken
-      String getSessionToken();
-   }
-
-   @GET
-   @ResponseParser(ParseSessionTokenFromJsonResponse.class)
-   @Path("/ws/Authentication/Login.ashx")
-   ListenableFuture<String> authenticate(@QueryParam(SDNQueryParams.APPKEY) String appKey,
-            @QueryParam(SDNQueryParams.USERNAME) String user,
-            @QueryParam(SDNQueryParams.PASSWORD) String password);
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNClient.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNClient.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNClient.java
deleted file mode 100644
index 8315ccd..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNClient.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.nirvanix.sdn.domain.UploadInfo;
-
-import com.google.inject.Provides;
-
-/**
- * Provides access to Nirvanix SDN resources via their REST API.
- * <p/>
- * 
- * @see <a href="http://developer.nirvanix.com/sitefiles/1000/API.html" />
- * @see SDNAsyncClient
- * @author Adrian Cole
- */
-@Timeout(duration = 30, timeUnit = TimeUnit.SECONDS)
-public interface SDNClient {
-   @Provides
-   public Blob newBlob();
-
-   /**
-    * The GetStorageNode method is used to determine which storage node a file should be uploaded
-    * to. It returns the host to upload to and an Upload Token that will be used to authenticate.
-    */
-   UploadInfo getStorageNode(String folderPath, long size);
-
-   void upload(URI endpoint, String uploadToken, String folderPath, Blob blob);
-
-   /**
-    * The SetMetadata method is used to set specified metadata for a file or folder.
-    */
-   void setMetadata(String path, Map<String, String> metadata);
-
-   /**
-    * The GetMetadata method is used to retrieve all metadata from a file or folder.
-    */
-   Map<String, String> getMetadata(String path);
-
-   /**
-    * Get the contents of a file
-    */
-   String getFile(String path);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNContextBuilder.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNContextBuilder.java
deleted file mode 100644
index 726880e..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNContextBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.nirvanix.sdn.config.SDNAuthRestClientModule;
-import org.jclouds.nirvanix.sdn.config.SDNRestClientModule;
-import org.jclouds.rest.RestContextBuilder;
-
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class SDNContextBuilder extends RestContextBuilder<SDNClient, SDNAsyncClient> {
-
-   public SDNContextBuilder(Properties props) {
-      super(SDNClient.class, SDNAsyncClient.class, props);
-   }
-
-   @Override
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new SDNAuthRestClientModule());
-      modules.add(new SDNRestClientModule());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNPropertiesBuilder.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNPropertiesBuilder.java
deleted file mode 100644
index 8825e7b..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SDNPropertiesBuilder.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import java.util.Properties;
-
-import org.jclouds.Constants;
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in SDN Clients
- * 
- * @author Adrian Cole
- */
-public class SDNPropertiesBuilder extends PropertiesBuilder {
-
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(Constants.PROPERTY_API_VERSION, "2.5.6");
-      properties.setProperty(Constants.PROPERTY_ENDPOINT, "http://services.nirvanix.com");
-      return properties;
-   }
-
-   public SDNPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SessionToken.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SessionToken.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SessionToken.java
deleted file mode 100644
index e8fc119..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/SessionToken.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.inject.Qualifier;
-
-/**
- * Related to a SDN resource.
- * 
- * @author Adrian Cole
- * 
- */
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
-@Qualifier
-public @interface SessionToken {
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParams.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParams.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParams.java
deleted file mode 100644
index 6de711a..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/binders/BindMetadataToQueryParams.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.binders;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.ws.rs.core.UriBuilder;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.utils.ModifyRequest;
-import org.jclouds.rest.Binder;
-
-import com.google.common.collect.Lists;
-
-@Singleton
-public class BindMetadataToQueryParams implements Binder {
-   private final Provider<UriBuilder> builder;
-
-   @Inject
-   BindMetadataToQueryParams(Provider<UriBuilder> builder) {
-      this.builder = builder;
-   }
-
-   @SuppressWarnings("unchecked")
-   public <R extends HttpRequest> R bindToRequest(R request, Object input) {
-      checkArgument(checkNotNull(input, "input") instanceof Map, "this binder is only valid for Maps!");
-      Map<String, String> userMetadata = (Map<String, String>) input;
-      List<String> metadata = Lists.newArrayList();
-      for (Entry<String, String> entry : userMetadata.entrySet()) {
-         metadata.add(String.format("%s:%s", entry.getKey().toLowerCase(), entry.getValue()));
-      }
-      return ModifyRequest.addQueryParam(request, "metadata", metadata, builder.get());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNAuthRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNAuthRestClientModule.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNAuthRestClientModule.java
deleted file mode 100644
index 38d7499..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNAuthRestClientModule.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.config;
-
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.jclouds.Constants;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.nirvanix.sdn.SDNAuthAsyncClient;
-import org.jclouds.nirvanix.sdn.SessionToken;
-import org.jclouds.nirvanix.sdn.reference.SDNConstants;
-import org.jclouds.rest.AsyncClientFactory;
-
-import com.google.common.base.Splitter;
-import com.google.common.collect.Lists;
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-
-/**
- * Configures the SDN authentication service connection, including logging and http transport.
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-public class SDNAuthRestClientModule extends AbstractModule {
-
-   @Override
-   protected void configure() {
-   }
-
-   @Provides
-   @Singleton
-   @Named(SDNConstants.PROPERTY_SDN_APPKEY)
-   public String credentials1(@Named(Constants.PROPERTY_IDENTITY) String identity) {
-      List<String> parts = Lists.newArrayList(Splitter.on('/').split(identity));
-      if (parts.size() != 3) {
-         throw new IllegalArgumentException("identity syntax is appkey/appname/username");
-      }
-      return parts.get(0);
-   }
-
-   @Provides
-   @Singleton
-   @Named(SDNConstants.PROPERTY_SDN_APPNAME)
-   public String credentials2(@Named(Constants.PROPERTY_IDENTITY) String identity) {
-      List<String> parts = Lists.newArrayList(Splitter.on('/').split(identity));
-      if (parts.size() != 3) {
-         throw new IllegalArgumentException("identity syntax is appkey/appname/username");
-      }
-      return parts.get(1);
-   }
-
-   @Provides
-   @Singleton
-   @Named(SDNConstants.PROPERTY_SDN_USERNAME)
-   public String credentials3(@Named(Constants.PROPERTY_IDENTITY) String identity) {
-      List<String> parts = Lists.newArrayList(Splitter.on('/').split(identity));
-      if (parts.size() != 3) {
-         throw new IllegalArgumentException("identity syntax is appkey/appname/username");
-      }
-      return parts.get(2);
-   }
-
-   @Provides
-   @SessionToken
-   protected String provideSessionToken(AsyncClientFactory factory,
-            @Named(SDNConstants.PROPERTY_SDN_APPKEY) String appKey,
-            @Named(SDNConstants.PROPERTY_SDN_USERNAME) String username,
-            @Named(Constants.PROPERTY_CREDENTIAL) String password) throws InterruptedException,
-            ExecutionException, TimeoutException {
-      return factory.create(SDNAuthAsyncClient.class).authenticate(appKey, username, password).get(
-               20, TimeUnit.SECONDS);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNRestClientModule.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNRestClientModule.java
deleted file mode 100644
index 8582ae8..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/config/SDNRestClientModule.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.config;
-
-import org.jclouds.blobstore.config.BlobStoreObjectModule;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.nirvanix.sdn.SDNAsyncClient;
-import org.jclouds.nirvanix.sdn.SDNClient;
-import org.jclouds.rest.config.RestClientModule;
-
-/**
- * Configures the SDN authentication service connection, including logging and http transport.
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-public class SDNRestClientModule extends RestClientModule<SDNClient, SDNAsyncClient> {
-
-   public SDNRestClientModule() {
-      super(SDNClient.class, SDNAsyncClient.class);
-   }
-
-   @Override
-   protected void configure() {
-      install(new BlobStoreObjectModule());
-      super.configure();
-   }
-
-   @Override
-   protected void bindRetryHandlers() {
-      // TODO retry on 401 by AuthenticateRequest.update()
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/domain/UploadInfo.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/domain/UploadInfo.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/domain/UploadInfo.java
deleted file mode 100644
index 8b6a1f0..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/domain/UploadInfo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.domain;
-
-import java.net.URI;
-
-public class UploadInfo {
-   private final String token;
-   private final URI host;
-
-   public UploadInfo(String token, URI host) {
-      this.token = token;
-      this.host = host;
-   }
-
-   public String getToken() {
-      return token;
-   }
-
-   public URI getHost() {
-      return host;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequest.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequest.java
deleted file mode 100644
index b0d7cde..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/AddSessionTokenToRequest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.filters;
-
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.atomic.AtomicReference;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.ws.rs.core.UriBuilder;
-
-import com.google.commons.util.concurrent.Atomitcs;
-
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.http.utils.ModifyRequest;
-import org.jclouds.nirvanix.sdn.SessionToken;
-import org.jclouds.nirvanix.sdn.reference.SDNQueryParams;
-
-/**
- * Adds the Session Token to the request. This will update the Session Token before 20 minutes is
- * up.
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class AddSessionTokenToRequest implements HttpRequestFilter {
-
-   private final Provider<String> authTokenProvider;
-   private final Provider<UriBuilder> builder;
-
-   public final long BILLION = 1000000000;
-   public final long MINUTES = 60 * BILLION;
-
-   private final AtomicReference<String> authToken;
-   private final AtomicLong trigger = new AtomicLong(0);
-
-   /**
-    * Start the time update service. Nirvanix clocks need to be 20 minutes of the session token.
-    * This is not performed per-request, as creation of the token is a slow, synchronized command.
-    */
-   synchronized void updateIfTimeOut() {
-
-      if (trigger.get() - System.nanoTime() <= 0) {
-         createNewToken();
-      }
-
-   }
-
-   // this is a hotspot when submitted concurrently, so be lazy.
-   // session tokens expire in 20 minutes of no use, but let's be a little paranoid and go 19
-   public String createNewToken() {
-      authToken.set(authTokenProvider.get());
-      trigger.set(System.nanoTime() + System.nanoTime() + 19 * MINUTES);
-      return authToken.get();
-
-   }
-
-   public String getSessionToken() {
-      updateIfTimeOut();
-      return authToken.get();
-   }
-
-   @Inject
-   public AddSessionTokenToRequest(@SessionToken Provider<String> authTokenProvider, Provider<UriBuilder> builder) {
-      this.builder = builder;
-      this.authTokenProvider = authTokenProvider;
-      authToken = Atomics.newReference();
-   }
-
-   @Override
-   public HttpRequest filter(HttpRequest request) throws HttpException {
-      return ModifyRequest.addQueryParam(request, SDNQueryParams.SESSIONTOKEN, getSessionToken(), builder.get());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPath.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPath.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPath.java
deleted file mode 100644
index ae08354..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/filters/InsertUserContextIntoPath.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.filters;
-
-import java.net.URI;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.ws.rs.core.UriBuilder;
-
-import org.jclouds.http.HttpException;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpRequestFilter;
-import org.jclouds.nirvanix.sdn.reference.SDNConstants;
-
-/**
- * Adds the Session Token to the request. This will update the Session Token before 20 minutes is
- * up.
- * 
- * @author Adrian Cole
- * 
- */
-@Singleton
-public class InsertUserContextIntoPath implements HttpRequestFilter {
-
-   private final AddSessionTokenToRequest sessionManager;
-   private final String pathPrefix;
-   private final Provider<UriBuilder> builder;
-
-   @Inject
-   public InsertUserContextIntoPath(AddSessionTokenToRequest sessionManager,
-         @Named(SDNConstants.PROPERTY_SDN_APPNAME) String appname,
-         @Named(SDNConstants.PROPERTY_SDN_USERNAME) String username, Provider<UriBuilder> builder) {
-      this.builder = builder;
-      this.sessionManager = sessionManager;
-      this.pathPrefix = String.format("/%s/%s/", appname, username);
-   }
-
-   @Override
-   public HttpRequest filter(HttpRequest request) throws HttpException {
-      String sessionToken = sessionManager.getSessionToken();
-      int prefixIndex = request.getEndpoint().getPath().indexOf(pathPrefix);
-      String path;
-      if (prefixIndex == -1) { // addToken
-         path = "/" + sessionToken + pathPrefix + request.getEndpoint().getPath().substring(1);
-      } else { // replace token
-         path = "/" + sessionToken + request.getEndpoint().getPath().substring(prefixIndex);
-      }
-      URI newEndpoint = builder.get().uri(request.getEndpoint()).replacePath(path).build();
-      return request.toBuilder().endpoint(newEndpoint).build();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponse.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponse.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponse.java
deleted file mode 100644
index 5186fff..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseMetadataFromJsonResponse.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.functions;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ParseJson;
-
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
-
-/**
- * This parses a Map of Metadata from a Nirvanix response
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ParseMetadataFromJsonResponse implements
-      Function<HttpResponse, Map<String, String>> {
-
-   private final ParseJson<Response> json;
-
-   @Inject
-   ParseMetadataFromJsonResponse(ParseJson<Response> json) {
-      this.json = json;
-   }
-
-   @Override
-   public Map<String, String> apply(HttpResponse arg0) {
-      Response response = json.apply(arg0);
-      if (response.ResponseCode == null || response.ResponseCode != 0)
-         throw new RuntimeException("bad response code: "
-               + response.ResponseCode);
-      Map<String, String> metadata = Maps.newHashMap();
-      for (Map<String, String> keyValue : response.Metadata) {
-         metadata.put(keyValue.get("Type"), keyValue.get("Value"));
-      }
-      return metadata;
-   }
-
-   private static class Response {
-      Integer ResponseCode;
-      List<Map<String, String>> Metadata;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponse.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponse.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponse.java
deleted file mode 100644
index 09316bb..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseSessionTokenFromJsonResponse.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.functions;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ParseJson;
-
-import com.google.common.base.Function;
-
-/**
- * This parses the Nirvanix SessionToken from a gson string.
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ParseSessionTokenFromJsonResponse implements
-      Function<HttpResponse, String> {
-
-   private final ParseJson<Response> json;
-
-   @Inject
-   ParseSessionTokenFromJsonResponse(ParseJson<Response> json) {
-      this.json = json;
-   }
-
-   @Override
-   public String apply(HttpResponse arg0) {
-      Response response = json.apply(arg0);
-      if (response.ResponseCode == null || response.ResponseCode != 0)
-         throw new RuntimeException("bad response code: "
-               + response.ResponseCode);
-      return response.SessionToken;
-   }
-
-   private static class Response {
-      Integer ResponseCode;
-      String SessionToken;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponse.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponse.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponse.java
deleted file mode 100644
index adf1b70..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/functions/ParseUploadInfoFromJsonResponse.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.functions;
-
-import java.net.URI;
-import java.util.Map;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.http.HttpResponse;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.nirvanix.sdn.domain.UploadInfo;
-
-import com.google.common.base.Function;
-
-/**
- * This parses the Nirvanix Upload host and token from a gson string.
- * 
- * @see UploadInfo
- * @author Adrian Cole
- */
-@Singleton
-public class ParseUploadInfoFromJsonResponse implements
-      Function<HttpResponse, UploadInfo> {
-
-   private final ParseJson<Response> json;
-
-   @Inject
-   ParseUploadInfoFromJsonResponse(ParseJson<Response> json) {
-      this.json = json;
-   }
-
-   @Override
-   public UploadInfo apply(HttpResponse arg0) {
-      Response response = json.apply(arg0);
-      if (response.ResponseCode == null || response.ResponseCode != 0)
-         throw new RuntimeException("bad response code: "
-               + response.ResponseCode);
-      return new UploadInfo(response.GetStorageNode.get("UploadToken"), URI
-            .create("https://" + response.GetStorageNode.get("UploadHost")));
-   }
-
-   private static class Response {
-      Integer ResponseCode;
-      Map<String, String> GetStorageNode;
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNConstants.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNConstants.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNConstants.java
deleted file mode 100644
index 4830f0c..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNConstants.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.reference;
-
-/**
- * Configuration properties and constants used in SDN connections.
- * 
- * @author Adrian Cole
- */
-public interface SDNConstants {
-   public static final String PROPERTY_SDN_USERNAME = "jclouds.nirvanix.sdn.username";
-   public static final String PROPERTY_SDN_APPKEY = "jclouds.nirvanix.sdn.appkey";
-   public static final String PROPERTY_SDN_APPNAME = "jclouds.nirvanix.sdn.appname";
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNQueryParams.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNQueryParams.java b/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNQueryParams.java
deleted file mode 100644
index c348a68..0000000
--- a/sandbox-apis/nirvanix/src/main/java/org/jclouds/nirvanix/sdn/reference/SDNQueryParams.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn.reference;
-
-/**
- * Query parameters common to SDN apis.
- * 
- * @see <a href="http://developer.nirvanix.com/sitefiles/1000/API.html" />
- * @author Adrian Cole
- * 
- */
-public interface SDNQueryParams {
-   public static final String USERNAME = "username";
-   public static final String PASSWORD = "password";
-   public static final String APPKEY = "appKey";
-   public static final String OUTPUT = "output";
-   public static final String SESSIONTOKEN = "sessionToken";
-   public static final String DESTFOLDERPATH = "destFolderPath";
-   public static final String PATH = "path";
-   public static final String SIZEBYTES = "sizeBytes";
-   public static final String UPLOADTOKEN = "uploadToken";
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAsyncClientTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAsyncClientTest.java
deleted file mode 100644
index b4620ae..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAsyncClientTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.net.URI;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jclouds.blobstore.binders.BindBlobToMultipartFormTest;
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.http.functions.ReturnStringIf2xx;
-import org.jclouds.nirvanix.sdn.config.SDNRestClientModule;
-import org.jclouds.nirvanix.sdn.filters.AddSessionTokenToRequest;
-import org.jclouds.nirvanix.sdn.filters.InsertUserContextIntoPath;
-import org.jclouds.nirvanix.sdn.functions.ParseMetadataFromJsonResponse;
-import org.jclouds.nirvanix.sdn.functions.ParseUploadInfoFromJsonResponse;
-import org.jclouds.nirvanix.sdn.reference.SDNConstants;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-
-/**
- * Tests behavior of {@code JaxrsAnnotationProcessor}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "sdn.SDNClient")
-public class SDNAsyncClientTest extends RestClientTest<SDNAsyncClient> {
-
-   public void testGetStorageNode() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SDNAsyncClient.class.getMethod("getStorageNode", String.class, long.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "adriansmovies", 734859264);
-
-      assertRequestLineEquals(
-            request,
-            "GET http://services.nirvanix.com/ws/IMFS/GetStorageNode.ashx?output=json&destFolderPath=adriansmovies&sizeBytes=734859264 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseUploadInfoFromJsonResponse.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-
-   }
-
-   public void testUpload() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SDNAsyncClient.class.getMethod("upload", URI.class, String.class, String.class, Blob.class);
-      Blob blob = BindBlobToMultipartFormTest.TEST_BLOB;
-      GeneratedHttpRequest request = processor.createRequest(method, URI.create("http://uploader"), "token", "adriansmovies",
-            blob);
-
-      assertRequestLineEquals(request,
-            "POST http://uploader/Upload.ashx?output=json&destFolderPath=adriansmovies&uploadToken=token HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      StringBuilder expects = new StringBuilder();
-      expects.append("----JCLOUDS--\r\n");
-      expects.append("Content-Disposition: form-data; name=\"hello\"\r\n");
-      expects.append("Content-Type: text/plain\r\n\r\n");
-      expects.append("hello\r\n");
-      expects.append("----JCLOUDS----\r\n");
-
-      assertPayloadEquals(request, expects.toString(), "multipart/form-data; boundary=--JCLOUDS--", false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testSetMetadata() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SDNAsyncClient.class.getMethod("setMetadata", String.class, Map.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "adriansmovies/sushi.avi", ImmutableMap.of("Chef",
-            "Kawasaki"));
-
-      assertRequestLineEquals(
-            request,
-            "GET http://services.nirvanix.com/ws/Metadata/SetMetadata.ashx?output=json&path=adriansmovies/sushi.avi&metadata=chef:Kawasaki HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetMetadata() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SDNAsyncClient.class.getMethod("getMetadata", String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "adriansmovies/sushi.avi");
-
-      assertRequestLineEquals(request,
-            "GET http://services.nirvanix.com/ws/Metadata/GetMetadata.ashx?output=json&path=adriansmovies/sushi.avi HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseMetadataFromJsonResponse.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetFile() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SDNAsyncClient.class.getMethod("getFile", String.class);
-      GeneratedHttpRequest request = processor.createRequest(method, "adriansmovies/sushi.avi");
-
-      assertRequestLineEquals(request, "GET http://services.nirvanix.com/adriansmovies/sushi.avi?output=json HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ReturnStringIf2xx.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), InsertUserContextIntoPath.class);
-
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), AddSessionTokenToRequest.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<SDNAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<SDNAsyncClient>>() {
-      };
-   }
-
-   protected Module createModule() {
-      return new TestSDNRestClientModule();
-   }
-
-   @RequiresHttp
-   @ConfiguresRestClient
-   static class TestSDNRestClientModule extends SDNRestClientModule {
-      @Override
-      public void configure() {
-         bind(String.class).annotatedWith(SessionToken.class).toInstance("sessiontoken");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_APPKEY)).toInstance("appKey");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_APPNAME)).toInstance("appname");
-         bind(String.class).annotatedWith(Names.named(SDNConstants.PROPERTY_SDN_USERNAME)).toInstance("username");
-      }
-
-   }
-
-   @Override
-   public RestContextSpec<SDNClient, SDNAsyncClient> createContextSpec() {
-      return new RestContextFactory().createContextSpec("sdn", "user", "password", new Properties());
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClientTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClientTest.java
deleted file mode 100644
index 3243ffd..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthAsyncClientTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import static org.jclouds.rest.RestContextFactory.contextSpec;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.nirvanix.sdn.SDNAuthenticationLiveTest.SDNAuthClient;
-import org.jclouds.nirvanix.sdn.functions.ParseSessionTokenFromJsonResponse;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.functions.MapHttp4xxCodesToExceptions;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.testng.annotations.Test;
-
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code JaxrsAnnotationProcessor}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "sdn.SDNAuthentication")
-public class SDNAuthAsyncClientTest extends RestClientTest<SDNAuthAsyncClient> {
-
-   public void testAuthenticate() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = SDNAuthAsyncClient.class.getMethod("authenticate", String.class, String.class, String.class);
-      GeneratedHttpRequest httpRequest = processor.createRequest(method, "apple", "foo", "bar");
-      assertRequestLineEquals(httpRequest,
-               "GET http://localhost:8080/ws/Authentication/Login.ashx?output=json&appKey=apple&password=bar&username=foo HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseSessionTokenFromJsonResponse.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, MapHttp4xxCodesToExceptions.class);
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<SDNAuthAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<SDNAuthAsyncClient>>() {
-      };
-   }
-
-   @Override
-   public RestContextSpec<SDNAuthClient, SDNAuthAsyncClient> createContextSpec() {
-      return contextSpec("test", "http://localhost:8080", "1", "", "identity", "credential", SDNAuthClient.class,
-               SDNAuthAsyncClient.class);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthenticationLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthenticationLiveTest.java b/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthenticationLiveTest.java
deleted file mode 100644
index 849e8b4..0000000
--- a/sandbox-apis/nirvanix/src/test/java/org/jclouds/nirvanix/sdn/SDNAuthenticationLiveTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.nirvanix.sdn;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.jclouds.rest.RestContextFactory.contextSpec;
-import static org.jclouds.rest.RestContextFactory.createContextBuilder;
-import static org.testng.Assert.assertNotNull;
-
-import java.util.ArrayList;
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.concurrent.MoreExecutors;
-import org.jclouds.concurrent.Timeout;
-import org.jclouds.concurrent.config.ExecutorServiceModule;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextSpec;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Splitter;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code SDNAuthentication}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", testName = "sdn.SDNAuthenticationLiveTest")
-public class SDNAuthenticationLiveTest {
-
-   private RestContext<SDNAuthClient, SDNAuthAsyncClient> context;
-
-   @Timeout(duration = 10, timeUnit = TimeUnit.SECONDS)
-   public interface SDNAuthClient {
-
-      String authenticate(String appKey, String user, String password);
-   }
-
-   private String credential;
-   private String identity;
-
-   @Test
-   public void testAuthentication() throws Exception {
-      ArrayList<String> list = Lists.newArrayList(Splitter.on('/').split(credential));
-      String response = context.getApi().authenticate(list.get(0), list.get(1), identity);
-      assertNotNull(response);
-   }
-
-   @BeforeClass
-   void setupFactory() {
-
-      String endpoint = "http://services.nirvanix.com";
-      identity = checkNotNull(System.getProperty("jclouds.test.identity"), "jclouds.test.identity");
-      credential = checkNotNull(System.getProperty("jclouds.test.credential"), "jclouds.test.credential");
-
-      RestContextSpec<SDNAuthClient, SDNAuthAsyncClient> contextSpec = contextSpec("test", endpoint, "1", "", identity,
-               credential, SDNAuthClient.class, SDNAuthAsyncClient.class);
-
-      context = createContextBuilder(
-               contextSpec,
-               ImmutableSet.<Module> of(new Log4JLoggingModule(), new ExecutorServiceModule(MoreExecutors
-                        .sameThreadExecutor(), MoreExecutors.sameThreadExecutor()))).buildContext();
-   }
-}


[02/18] JCLOUDS-25. Remove oprhaned sandbox-* from repo

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterContextBuilder.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterContextBuilder.java
deleted file mode 100644
index a2fed55..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterContextBuilder.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.rest.RestContextBuilder;
-import org.jclouds.twitter.config.TwitterRestClientModule;
-
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class TwitterContextBuilder extends
-         RestContextBuilder<TwitterClient, TwitterAsyncClient> {
-
-   public TwitterContextBuilder(Properties props) {
-      super(TwitterClient.class, TwitterAsyncClient.class, props);
-   }
-
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new TwitterRestClientModule());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterPropertiesBuilder.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterPropertiesBuilder.java
deleted file mode 100644
index 0a13556..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/TwitterPropertiesBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import static org.jclouds.Constants.PROPERTY_API_VERSION;
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-
-import java.util.Properties;
-
-import org.jclouds.PropertiesBuilder;
-
-/**
- * Builds properties used in twitter Clients
- * 
- * @author Adrian Cole
- */
-public class TwitterPropertiesBuilder extends PropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ENDPOINT, "https://api.twitter.com");
-      properties.setProperty(PROPERTY_API_VERSION, "1.0");
-      return properties;
-   }
-
-   public TwitterPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/config/TwitterRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/config/TwitterRestClientModule.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/config/TwitterRestClientModule.java
deleted file mode 100644
index 81df896..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/config/TwitterRestClientModule.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter.config;
-
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.json.config.GsonModule.CDateAdapter;
-import org.jclouds.json.config.GsonModule.DateAdapter;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.config.RestClientModule;
-import org.jclouds.twitter.TwitterAsyncClient;
-import org.jclouds.twitter.TwitterClient;
-
-/**
- * Configures the twitter connection.
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-@ConfiguresRestClient
-public class TwitterRestClientModule extends RestClientModule<TwitterClient, TwitterAsyncClient> {
-
-   public TwitterRestClientModule() {
-      super(TwitterClient.class, TwitterAsyncClient.class);
-   }
-
-   @Override
-   protected void configure() {
-      super.configure();
-      bind(DateAdapter.class).to(CDateAdapter.class);
-   }
-
-   @Override
-   protected void bindErrorHandlers() {
-//      bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(TwitterErrorHandler.class);
-//      bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(TwitterErrorHandler.class);
-//      bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(TwitterErrorHandler.class);
-   }
-
-   @Override
-   protected void bindRetryHandlers() {
-      // TODO
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/Status.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/Status.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/Status.java
deleted file mode 100644
index 44a51fa..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/Status.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter.domain;
-
-import java.util.Date;
-
-import com.google.gson.annotations.SerializedName;
-
-/**
- * 
- * @author Adrian Cole
- * 
- */
-public class Status implements Comparable<Status> {
-   @SerializedName("created_at")
-   private Date createdAt;
-   private boolean favorited;
-   private String geo;
-   private long id;
-   @SerializedName("in_reply_to_screen_name")
-   private String inReplyToScreenName;
-   @SerializedName("in_reply_to_status_id")
-   private Integer inReplyToStatusId;
-   @SerializedName("in_reply_to_user_id")
-   private Integer inReplyToUserId;
-   private String source;
-   private String text;
-   private boolean truncated;
-   private User user;
-
-   public Status() {
-   }
-
-   public Status(Date createdAt, boolean favorited, String geo, long id,
-            String inReplyToScreenName, Integer inReplyToStatusId, Integer inReplyToUserId,
-            String source, String text, boolean truncated, User user) {
-      this.createdAt = createdAt;
-      this.favorited = favorited;
-      this.geo = geo;
-      this.id = id;
-      this.inReplyToScreenName = inReplyToScreenName;
-      this.inReplyToStatusId = inReplyToStatusId;
-      this.inReplyToUserId = inReplyToUserId;
-      this.source = source;
-      this.text = text;
-      this.truncated = truncated;
-      this.user = user;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((createdAt == null) ? 0 : createdAt.hashCode());
-      result = prime * result + (int) (id ^ (id >>> 32));
-      result = prime * result + ((text == null) ? 0 : text.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;
-      Status other = (Status) obj;
-      if (createdAt == null) {
-         if (other.createdAt != null)
-            return false;
-      } else if (!createdAt.equals(other.createdAt))
-         return false;
-      if (id != other.id)
-         return false;
-      if (text == null) {
-         if (other.text != null)
-            return false;
-      } else if (!text.equals(other.text))
-         return false;
-      if (user == null) {
-         if (other.user != null)
-            return false;
-      } else if (!user.equals(other.user))
-         return false;
-      return true;
-   }
-
-   public Date getCreatedAt() {
-      return createdAt;
-   }
-
-   public void setCreatedAt(Date createdAt) {
-      this.createdAt = createdAt;
-   }
-
-   public long getId() {
-      return id;
-   }
-
-   public void setId(long id) {
-      this.id = id;
-   }
-
-   public String getText() {
-      return text;
-   }
-
-   public void setText(String text) {
-      this.text = text;
-   }
-
-   public String getSource() {
-      return source;
-   }
-
-   public void setSource(String source) {
-      this.source = source;
-   }
-
-   public boolean isTruncated() {
-      return truncated;
-   }
-
-   public void setTruncated(boolean truncated) {
-      this.truncated = truncated;
-   }
-
-   public Integer getInReplyToStatusId() {
-      return inReplyToStatusId;
-   }
-
-   public void setInReplyToStatusId(Integer inReplyToStatusId) {
-      this.inReplyToStatusId = inReplyToStatusId;
-   }
-
-   public Integer getInReplyToUserId() {
-      return inReplyToUserId;
-   }
-
-   public void setInReplyToUserId(Integer inReplyToUserId) {
-      this.inReplyToUserId = inReplyToUserId;
-   }
-
-   public boolean isFavorited() {
-      return favorited;
-   }
-
-   public void setFavorited(boolean favorited) {
-      this.favorited = favorited;
-   }
-
-   public String getInReplyToScreenName() {
-      return inReplyToScreenName;
-   }
-
-   public void setInReplyToScreenName(String inReplyToScreenName) {
-      this.inReplyToScreenName = inReplyToScreenName;
-   }
-
-   public User getUser() {
-      return user;
-   }
-
-   public void setUser(User user) {
-      this.user = user;
-   }
-
-   public int compareTo(Status o) {
-      return (int) ((this == o) ? 0 : id + "".compareTo(o.id + ""));
-   }
-
-   public void setGeo(String geo) {
-      this.geo = geo;
-   }
-
-   public String getGeo() {
-      return geo;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/User.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/User.java b/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/User.java
deleted file mode 100644
index a920a4f..0000000
--- a/sandbox-providers/twitter/src/main/java/org/jclouds/twitter/domain/User.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter.domain;
-
-import java.net.URI;
-import java.util.Date;
-
-import com.google.gson.annotations.SerializedName;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class User implements Comparable<User> {
-   @SerializedName("created_at")
-   private Date createdAt;
-   private String description;
-   @SerializedName("favourites_count")
-   private int favouritesCount;
-   @SerializedName("followers_count")
-   private int followersCount;
-   private boolean following;
-   @SerializedName("friends_count")
-   private int friendsCount;
-   @SerializedName("geo_enabled")
-   private boolean geoEnabled;
-   private long id;
-   private String location;
-   private String name;
-   private boolean notifications;
-   @SerializedName("profile_background_color")
-   private String profileBackgroundColor;
-   @SerializedName("profile_background_image_url")
-   private URI profileBackgroundImageUrl;
-   @SerializedName("profile_background_tile")
-   private boolean profileBackgroundTile;
-   @SerializedName("profile_image_url")
-   private URI profileImageUrl;
-   @SerializedName("profile_link_color")
-   private String profileLinkColor;
-   @SerializedName("profile_sidebar_border_color")
-   private String profileSidebarBorderColor;
-   @SerializedName("profile_sidebar_fill_color")
-   private String profileSidebarFillColor;
-   @SerializedName("profile_text_color")
-   private String profileTextColor;
-   @SerializedName("protected")
-   private boolean isProtected;
-   @SerializedName("screen_name")
-   private String screenName;
-   @SerializedName("statuses_count")
-   private int statusesCount;
-   @SerializedName("time_zone")
-   private String timeZone;
-   private URI url;
-   @SerializedName("utc_offset")
-   private int utcOffset;
-   private boolean verified;
-
-   public User() {
-
-   }
-
-   public User(Date createdAt, String description, int favouritesCount, int followersCount,
-            boolean following, int friendsCount, boolean geoEnabled, long id, String location,
-            String name, boolean notifications, String profileBackgroundColor,
-            URI profileBackgroundImageUrl, boolean profileBackgroundTile, URI profileImageUrl,
-            String profileLinkColor, String profileSidebarBorderColor,
-            String profileSidebarFillColor, String profileTextColor, boolean isProtected,
-            String screenName, int statusesCount, String timeZone, URI url, int utcOffset,
-            boolean verified) {
-      this.createdAt = createdAt;
-      this.description = description;
-      this.favouritesCount = favouritesCount;
-      this.followersCount = followersCount;
-      this.following = following;
-      this.friendsCount = friendsCount;
-      this.setGeoEnabled(geoEnabled);
-      this.id = id;
-      this.location = location;
-      this.name = name;
-      this.notifications = notifications;
-      this.profileBackgroundColor = profileBackgroundColor;
-      this.profileBackgroundImageUrl = profileBackgroundImageUrl;
-      this.profileBackgroundTile = profileBackgroundTile;
-      this.profileImageUrl = profileImageUrl;
-      this.profileLinkColor = profileLinkColor;
-      this.profileSidebarBorderColor = profileSidebarBorderColor;
-      this.profileSidebarFillColor = profileSidebarFillColor;
-      this.profileTextColor = profileTextColor;
-      this.isProtected = isProtected;
-      this.screenName = screenName;
-      this.statusesCount = statusesCount;
-      this.timeZone = timeZone;
-      this.url = url;
-      this.utcOffset = utcOffset;
-      this.verified = verified;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + (int) (id ^ (id >>> 32));
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((screenName == null) ? 0 : screenName.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;
-      User other = (User) obj;
-      if (id != other.id)
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (screenName == null) {
-         if (other.screenName != null)
-            return false;
-      } else if (!screenName.equals(other.screenName))
-         return false;
-      return true;
-   }
-
-   public long getId() {
-      return id;
-   }
-
-   public void setId(long id) {
-      this.id = id;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public void setName(String name) {
-      this.name = name;
-   }
-
-   public String getScreenName() {
-      return screenName;
-   }
-
-   public void setScreenName(String screenName) {
-      this.screenName = screenName;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public void setLocation(String location) {
-      this.location = location;
-   }
-
-   public String getDescription() {
-      return description;
-   }
-
-   public void setDescription(String description) {
-      this.description = description;
-   }
-
-   public URI getProfileImageUrl() {
-      return profileImageUrl;
-   }
-
-   public void setProfileImageUrl(URI profileImageUrl) {
-      this.profileImageUrl = profileImageUrl;
-   }
-
-   public URI getUrl() {
-      return url;
-   }
-
-   public void setUrl(URI url) {
-      this.url = url;
-   }
-
-   public boolean isProtected() {
-      return isProtected;
-   }
-
-   public void setProtected(boolean isProtected) {
-      this.isProtected = isProtected;
-   }
-
-   public int getFollowersCount() {
-      return followersCount;
-   }
-
-   public void setFollowersCount(int followersCount) {
-      this.followersCount = followersCount;
-   }
-
-   public String getProfileBackgroundColor() {
-      return profileBackgroundColor;
-   }
-
-   public void setProfileBackgroundColor(String profileBackgroundColor) {
-      this.profileBackgroundColor = profileBackgroundColor;
-   }
-
-   public String getProfileTextColor() {
-      return profileTextColor;
-   }
-
-   public void setProfileTextColor(String profileTextColor) {
-      this.profileTextColor = profileTextColor;
-   }
-
-   public String getProfileLinkColor() {
-      return profileLinkColor;
-   }
-
-   public void setProfileLinkColor(String profileLinkColor) {
-      this.profileLinkColor = profileLinkColor;
-   }
-
-   public String getProfileSidebarFillColor() {
-      return profileSidebarFillColor;
-   }
-
-   public void setProfileSidebarFillColor(String profileSidebarFillColor) {
-      this.profileSidebarFillColor = profileSidebarFillColor;
-   }
-
-   public String getProfileSidebarBorderColor() {
-      return profileSidebarBorderColor;
-   }
-
-   public void setProfileSidebarBorderColor(String profileSidebarBorderColor) {
-      this.profileSidebarBorderColor = profileSidebarBorderColor;
-   }
-
-   public int getFriendsCount() {
-      return friendsCount;
-   }
-
-   public void setFriendsCount(int friendsCount) {
-      this.friendsCount = friendsCount;
-   }
-
-   public Date getCreatedAt() {
-      return createdAt;
-   }
-
-   public void setCreatedAt(Date createdAt) {
-      this.createdAt = createdAt;
-   }
-
-   public int getFavouritesCount() {
-      return favouritesCount;
-   }
-
-   public void setFavouritesCount(int favouritesCount) {
-      this.favouritesCount = favouritesCount;
-   }
-
-   public int getUtcOffset() {
-      return utcOffset;
-   }
-
-   public void setUtcOffset(int utcOffset) {
-      this.utcOffset = utcOffset;
-   }
-
-   public String getTimeZone() {
-      return timeZone;
-   }
-
-   public void setTimeZone(String timeZone) {
-      this.timeZone = timeZone;
-   }
-
-   public URI getProfileBackgroundImageUrl() {
-      return profileBackgroundImageUrl;
-   }
-
-   public void setProfileBackgroundImageUrl(URI profileBackgroundImageUrl) {
-      this.profileBackgroundImageUrl = profileBackgroundImageUrl;
-   }
-
-   public boolean isProfileBackgroundTile() {
-      return profileBackgroundTile;
-   }
-
-   public void setProfileBackgroundTile(boolean profileBackgroundTile) {
-      this.profileBackgroundTile = profileBackgroundTile;
-   }
-
-   public int getStatusesCount() {
-      return statusesCount;
-   }
-
-   public void setStatusesCount(int statusesCount) {
-      this.statusesCount = statusesCount;
-   }
-
-   public boolean isNotifications() {
-      return notifications;
-   }
-
-   public void setNotifications(boolean notifications) {
-      this.notifications = notifications;
-   }
-
-   public boolean isFollowing() {
-      return following;
-   }
-
-   public void setFollowing(boolean following) {
-      this.following = following;
-   }
-
-   public boolean isVerified() {
-      return verified;
-   }
-
-   public void setVerified(boolean verified) {
-      this.verified = verified;
-   }
-
-   public int compareTo(User o) {
-      if (screenName == null)
-         return -1;
-      return (this == o) ? 0 : screenName.compareTo(o.screenName);
-   }
-
-   public void setGeoEnabled(boolean geoEnabled) {
-      this.geoEnabled = geoEnabled;
-   }
-
-   public boolean isGeoEnabled() {
-      return geoEnabled;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterAsyncClientTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterAsyncClientTest.java b/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterAsyncClientTest.java
deleted file mode 100644
index f0dfbaa..0000000
--- a/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterAsyncClientTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Properties;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.http.filters.BasicAuthentication;
-import org.jclouds.http.functions.ParseJson;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.rest.RestClientTest;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.rest.RestContextSpec;
-import org.jclouds.rest.internal.RestAnnotationProcessor;
-import org.jclouds.twitter.config.TwitterRestClientModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Iterables;
-import com.google.inject.Module;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests annotation parsing of {@code TwitterAsyncClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit")
-public class TwitterAsyncClientTest extends RestClientTest<TwitterAsyncClient> {
-   public void testGetMyMentions() throws SecurityException, NoSuchMethodException, IOException {
-      Method method = TwitterAsyncClient.class.getMethod("getMyMentions");
-      GeneratedHttpRequest httpRequest = processor.createRequest(method);
-
-      assertRequestLineEquals(httpRequest, "GET http://api.twitter.com/statuses/mentions.json HTTP/1.1");
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\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 http://api.twitter.com/statuses/mentions.json HTTP/1.1");
-      // for example, using basic authentication, we should get "only one"
-      // header
-      assertNonPayloadHeadersEqual(httpRequest, "Accept: application/json\nAuthorization: Basic Zm9vOmJhcg==\n");
-      assertPayloadEquals(httpRequest, null, null, false);
-
-      assertResponseParserClassEquals(method, httpRequest, ParseJson.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertExceptionParserClassEquals(method, null);
-
-      checkFilters(httpRequest);
-
-   }
-
-   @Override
-   protected void checkFilters(HttpRequest request) {
-      assertEquals(request.getFilters().size(), 1);
-      assertEquals(request.getFilters().get(0).getClass(), BasicAuthentication.class);
-   }
-
-   @Override
-   protected TypeLiteral<RestAnnotationProcessor<TwitterAsyncClient>> createTypeLiteral() {
-      return new TypeLiteral<RestAnnotationProcessor<TwitterAsyncClient>>() {
-      };
-   }
-
-   @Override
-   protected Module createModule() {
-      return new TwitterRestClientModuleExtension();
-   }
-
-   @RequiresHttp
-   @ConfiguresRestClient
-   public static class TwitterRestClientModuleExtension extends TwitterRestClientModule {
-
-      // Override here
-   }
-
-   @Override
-   public RestContextSpec<TwitterClient, TwitterAsyncClient> createContextSpec() {
-      // TODO take this out, when the service is registered in jclouds-core/rest.properties
-      Properties restProperties = new Properties();
-      restProperties.setProperty("twitter.contextbuilder", "org.jclouds.twitter.TwitterContextBuilder");
-      restProperties.setProperty("twitter.propertiesbuilder", "org.jclouds.twitter.TwitterPropertiesBuilder");
-
-      Properties props = new Properties();
-      props.setProperty("twitter.endpoint", "http://api.twitter.com");
-      return new RestContextFactory(restProperties).createContextSpec("twitter", "foo", "bar", props);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterClientLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterClientLiveTest.java b/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterClientLiveTest.java
deleted file mode 100644
index 0ac3cf8..0000000
--- a/sandbox-providers/twitter/src/test/java/org/jclouds/twitter/TwitterClientLiveTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.twitter;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.util.Properties;
-import java.util.SortedSet;
-
-import org.jclouds.Constants;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.twitter.domain.Status;
-import org.testng.annotations.AfterGroups;
-import org.testng.annotations.BeforeGroups;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
-/**
- * Tests behavior of {@code TwitterClient}
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", sequential = true)
-public class TwitterClientLiveTest {
-
-   protected TwitterClient client;
-   protected RestContext<TwitterClient, TwitterAsyncClient> context;
-
-   protected String provider = "twitter";
-   protected String identity;
-   protected String credential;
-   protected String endpoint;
-   protected String apiVersion;
-
-   protected void setupCredentials() {
-      identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider + ".identity");
-      credential = System.getProperty("test." + provider + ".credential");
-      endpoint = System.getProperty("test." + provider + ".endpoint");
-     apiVersion = System.getProperty("test." + provider + ".api-version");
-   }
-
-   protected Properties setupProperties() {
-      Properties overrides = new Properties();
-      overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true");
-      overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true");
-      overrides.setProperty(provider + ".identity", identity);
-      if (credential != null)
-         overrides.setProperty(provider + ".credential", credential);
-      if (endpoint != null)
-         overrides.setProperty(provider + ".endpoint", endpoint);
-      if (apiVersion != null)
-         overrides.setProperty(provider + ".api-version", apiVersion);
-      return overrides;
-   }
-
-   @BeforeGroups(groups = "live")
-   public void setupClient() {
-      setupCredentials();
-      Properties overrides = setupProperties();
-      
-      //TODO take this out, when the service is registered in jclouds-core/rest.properties
-      Properties restProperties = new Properties();
-      restProperties.setProperty("twitter.contextbuilder", "org.jclouds.twitter.TwitterContextBuilder");
-      restProperties.setProperty("twitter.propertiesbuilder", "org.jclouds.twitter.TwitterPropertiesBuilder");
-
-      context = new RestContextFactory(restProperties).createContext(provider, ImmutableSet.<Module> of(new Log4JLoggingModule()),
-            overrides);
-
-      client = context.getApi();
-   }
-
-   @AfterGroups(groups = "live")
-   void tearDown() {
-      if (context != null)
-         context.close();
-   }
-
-   public void testGetMyMentions() throws Exception {
-      SortedSet<Status> response = client.getMyMentions();
-      assert null != response;
-      long mentions = response.size();
-      assertTrue(mentions >= 0);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/test/resources/log4j.xml b/sandbox-providers/twitter/src/test/resources/log4j.xml
deleted file mode 100644
index 34f9bf6..0000000
--- a/sandbox-providers/twitter/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,90 +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>
-	
-	<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.wire">
-        <priority value="DEBUG" />
-        <appender-ref ref="ASYNCWIRE" />
-    </category>
-    
-    --><!-- ======================= -->
-	<!-- Setup the Root category -->
-	<!-- ======================= -->
-
-	<root>
-		<priority value="WARN" />
-	</root>
-
-</log4j:configuration>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/twitter/src/test/resources/test_mentions.json
----------------------------------------------------------------------
diff --git a/sandbox-providers/twitter/src/test/resources/test_mentions.json b/sandbox-providers/twitter/src/test/resources/test_mentions.json
deleted file mode 100644
index 19e6deb..0000000
--- a/sandbox-providers/twitter/src/test/resources/test_mentions.json
+++ /dev/null
@@ -1,77 +0,0 @@
-[ { "created_at" : "Sat Oct 31 09:35:27 +0000 2009",
-    "favorited" : false,
-    "geo" : null,
-    "id" : 5310690603,
-    "in_reply_to_screen_name" : null,
-    "in_reply_to_status_id" : null,
-    "in_reply_to_user_id" : null,
-    "source" : "<a href=\"http://www.tweetdeck.com/\" rel=\"nofollow\">TweetDeck</a>",
-    "text" : "RT @jclouds: live multi #cloud demo of jclouds connecting to 3 storage clouds from google appengine http://is.gd/4IXMh",
-    "truncated" : false,
-    "user" : { "created_at" : "Tue Apr 28 15:29:42 +0000 2009",
-        "description" : "Some random guy who seems to care about cloud collisions at siliconANGLE.com",
-        "favourites_count" : 245,
-        "followers_count" : 572,
-        "following" : false,
-        "friends_count" : 325,
-        "geo_enabled" : false,
-        "id" : 36093693,
-        "location" : "San Francisco ",
-        "name" : "James Watters",
-        "notifications" : false,
-        "profile_background_color" : "C6E2EE",
-        "profile_background_image_url" : "http://a1.twimg.com/profile_background_images/24067016/17361976.jpg",
-        "profile_background_tile" : true,
-        "profile_image_url" : "http://a3.twimg.com/profile_images/445071063/tiktaalik-transitional-fossil_normal.png",
-        "profile_link_color" : "1F98C7",
-        "profile_sidebar_border_color" : "C6E2EE",
-        "profile_sidebar_fill_color" : "DAECF4",
-        "profile_text_color" : "663B12",
-        "protected" : false,
-        "screen_name" : "wattersjames",
-        "statuses_count" : 1964,
-        "time_zone" : "Pacific Time (US & Canada)",
-        "url" : "http://siliconangle.net/ver2/author/jwatters/",
-        "utc_offset" : -28800,
-        "verified" : false
-      }
-  },
-  { "created_at" : "Sat Oct 31 01:45:14 +0000 2009",
-    "favorited" : false,
-    "geo" : null,
-    "id" : 5303839785,
-    "in_reply_to_screen_name" : null,
-    "in_reply_to_status_id" : null,
-    "in_reply_to_user_id" : null,
-    "source" : "<a href=\"http://www.tweetdeck.com/\" rel=\"nofollow\">TweetDeck</a>",
-    "text" : "RT @jclouds: come find out about #cloud storage and how to access it from #java in palo alto this Tuesday: http://is.gd/4IFA9",
-    "truncated" : false,
-    "user" : { "created_at" : "Sat Apr 26 06:13:08 +0000 2008",
-        "description" : "Jack of All Trades: Dad to anZel and Arden, VMware, vCloud, Security, Compliance, Former Developer",
-        "favourites_count" : 0,
-        "followers_count" : 474,
-        "following" : false,
-        "friends_count" : 199,
-        "geo_enabled" : false,
-        "id" : 14540593,
-        "location" : "Bay Area, CA",
-        "name" : "Jian Zhen",
-        "notifications" : false,
-        "profile_background_color" : "C6E2EE",
-        "profile_background_image_url" : "http://s.twimg.com/a/1256778767/images/themes/theme2/bg.gif",
-        "profile_background_tile" : false,
-        "profile_image_url" : "http://a3.twimg.com/profile_images/64445411/30b8b19_bigger_normal.jpg",
-        "profile_link_color" : "1F98C7",
-        "profile_sidebar_border_color" : "C6E2EE",
-        "profile_sidebar_fill_color" : "DAECF4",
-        "profile_text_color" : "663B12",
-        "protected" : false,
-        "screen_name" : "zhenjl",
-        "statuses_count" : 1981,
-        "time_zone" : "Pacific Time (US & Canada)",
-        "url" : "http://zhen.org",
-        "utc_offset" : -28800,
-        "verified" : false
-      }
-  }
-]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/pom.xml b/sandbox-providers/virtacore-publiccloud-lax/pom.xml
deleted file mode 100644
index 2c9a3a6..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/pom.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds 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.jclouds</groupId>
-        <artifactId>jclouds-project</artifactId>
-        <version>1.7.0-SNAPSHOT</version>
-        <relativePath>../../project/pom.xml</relativePath>
-    </parent>
-    <groupId>org.jclouds.provider</groupId>
-    <artifactId>virtacore-publiccloud-lax</artifactId>
-    <name>jclouds Virtacore Public Cloud LAX provider</name>
-    <description>vCloud implementation targeted to Virtacore's LAX datacenter</description>
-
-    <properties>
-        <test.virtacore-publiccloud-lax.endpoint>https://cloud.lax.virtacore.com/api/</test.virtacore-publiccloud-lax.endpoint>
-        <test.virtacore-publiccloud-lax.api-version>1.0</test.virtacore-publiccloud-lax.api-version>
-        <test.virtacore-publiccloud-lax.build-version>1.5.0.464915</test.virtacore-publiccloud-lax.build-version>
-        <test.virtacore-publiccloud-lax.identity>FIXME_IDENTITY</test.virtacore-publiccloud-lax.identity>
-        <test.virtacore-publiccloud-lax.credential>FIXME_CREDENTIAL</test.virtacore-publiccloud-lax.credential>
-        <test.virtacore-publiccloud-lax.image-id></test.virtacore-publiccloud-lax.image-id>
-
-        <jclouds.osgi.export>org.jclouds.virtacore.publiccloud*;version="${project.version}"</jclouds.osgi.export>
-        <jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>vcloud</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.api</groupId>
-            <artifactId>vcloud</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-core</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds</groupId>
-            <artifactId>jclouds-compute</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jclouds.driver</groupId>
-            <artifactId>jclouds-log4j</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.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.virtacore-publiccloud-lax.endpoint>${test.virtacore-publiccloud-lax.endpoint}</test.virtacore-publiccloud-lax.endpoint>
-                                        <test.virtacore-publiccloud-lax.api-version>${test.virtacore-publiccloud-lax.api-version}</test.virtacore-publiccloud-lax.api-version>
-                                        <test.virtacore-publiccloud-lax.build-version>${test.virtacore-publiccloud-lax.build-version}</test.virtacore-publiccloud-lax.build-version>
-                                        <test.virtacore-publiccloud-lax.identity>${test.virtacore-publiccloud-lax.identity}</test.virtacore-publiccloud-lax.identity>
-                                        <test.virtacore-publiccloud-lax.credential>${test.virtacore-publiccloud-lax.credential}</test.virtacore-publiccloud-lax.credential>
-                                        <test.virtacore-publiccloud-lax.image-id>${test.virtacore-publiccloud-lax.image-id}</test.virtacore-publiccloud-lax.image-id>
-                                        <test.virtacore-publiccloud-lax.image-id>${test.virtacore-publiccloud-lax.image-id}</test.virtacore-publiccloud-lax.image-id>
-                                        <test.virtacore-publiccloud-lax.image.login-user>${test.virtacore-publiccloud-lax.image.login-user}</test.virtacore-publiccloud-lax.image.login-user>
-                                        <test.virtacore-publiccloud-lax.image.authenticate-sudo>${test.virtacore-publiccloud-lax.image.authenticate-sudo}</test.virtacore-publiccloud-lax.image.authenticate-sudo>
-                                    </systemPropertyVariables>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXContextBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXContextBuilder.java b/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXContextBuilder.java
deleted file mode 100644
index 15ce9ef..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXContextBuilder.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud;
-
-import java.util.List;
-import java.util.Properties;
-
-import org.jclouds.vcloud.VCloudContextBuilder;
-import org.jclouds.virtacore.publiccloud.config.VirtacorePublicCloudLAXComputeServiceContextModule;
-import org.jclouds.virtacore.publiccloud.config.VirtacorePublicCloudLAXRestClientModule;
-
-import com.google.inject.Module;
-
-/**
- * 
- * @author Adrian Cole
- *
- */
-public class VirtacorePublicCloudLAXContextBuilder extends VCloudContextBuilder {
-
-   public VirtacorePublicCloudLAXContextBuilder(Properties props) {
-      super(props);
-   }
-
-   @Override
-   protected void addContextModule(List<Module> modules) {
-      modules.add(new VirtacorePublicCloudLAXComputeServiceContextModule());
-   }
-
-   @Override
-   protected void addClientModule(List<Module> modules) {
-      modules.add(new VirtacorePublicCloudLAXRestClientModule());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXPropertiesBuilder.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXPropertiesBuilder.java b/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXPropertiesBuilder.java
deleted file mode 100644
index 804de5c..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXPropertiesBuilder.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud;
-
-import static org.jclouds.Constants.PROPERTY_BUILD_VERSION;
-import static org.jclouds.Constants.PROPERTY_ENDPOINT;
-import static org.jclouds.Constants.PROPERTY_ISO3166_CODES;
-import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_CATALOG;
-import static org.jclouds.vcloud.reference.VCloudConstants.PROPERTY_VCLOUD_DEFAULT_NETWORK;
-
-import java.util.Properties;
-
-import org.jclouds.vcloud.VCloudPropertiesBuilder;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class VirtacorePublicCloudLAXPropertiesBuilder extends VCloudPropertiesBuilder {
-   @Override
-   protected Properties defaultProperties() {
-      Properties properties = super.defaultProperties();
-      properties.setProperty(PROPERTY_ISO3166_CODES, "US-CA");
-      properties.setProperty(PROPERTY_ENDPOINT, "https://cloud.lax.virtacore.com/api");
-      properties.setProperty(PROPERTY_BUILD_VERSION, "1.5.0.464915");
-      properties.setProperty(PROPERTY_VCLOUD_DEFAULT_NETWORK, ".*-Public");
-      properties.setProperty(PROPERTY_VCLOUD_DEFAULT_CATALOG, "Virtacore Templates - .*"); 
-      return properties;
-   }
-
-   public VirtacorePublicCloudLAXPropertiesBuilder(Properties properties) {
-      super(properties);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderMetadata.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderMetadata.java b/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderMetadata.java
deleted file mode 100644
index 1f06295..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderMetadata.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud;
-
-import com.google.common.collect.ImmutableSet;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.jclouds.providers.BaseProviderMetadata;
-import org.jclouds.providers.ProviderMetadata;
-
-/**
- * Implementation of {@link org.jclouds.types.ProviderMetadata} for Virtacore Public Cloud LAX
- * 
- * @author Adrian Cole
- */
-public class VirtacorePublicCloudLAXProviderMetadata extends BaseProviderMetadata {
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getId() {
-      return "virtacore-publiccloud-lax";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getType() {
-      return ProviderMetadata.COMPUTE_TYPE;
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getName() {
-      return "Virtacore Public Cloud LAX";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getIdentityName() {
-      return "User at Organization (user@org)";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public String getCredentialName() {
-      return "Password";
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getHomepage() {
-      return URI.create("http://www.virtacore.com/vcloud_express.cfm");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getConsole() {
-      return URI.create("https://www.virtacore.com/vcloudlogin.cfm");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public URI getApiDocumentation() {
-      return URI.create("http://kb.virtacore.com/questions/100/Does+the+Virtacore+Public+Cloud+have+an+API%3F");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getLinkedServices() {
-      return ImmutableSet.of("virtacore-publiccloud-lax", "virtacore-publiccloud-iad");
-   }
-
-   /**
-    * {@inheritDoc}
-    */
-   @Override
-   public Set<String> getIso3166Codes() {
-      return ImmutableSet.of("US-CA");
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXComputeServiceContextModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXComputeServiceContextModule.java b/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXComputeServiceContextModule.java
deleted file mode 100644
index d139aaf..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXComputeServiceContextModule.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud.config;
-
-import static org.jclouds.compute.domain.OsFamily.RHEL;
-
-import org.jclouds.compute.domain.TemplateBuilder;
-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;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class VirtacorePublicCloudLAXComputeServiceContextModule extends VCloudComputeServiceContextModule {
-   
-   // CIM ostype does not include version info
-   @Override
-   protected TemplateBuilder provideTemplate(Injector injector, TemplateBuilder template) {
-      return template.osFamily(RHEL).os64Bit(true);
-   }
-   
-   @Override
-   protected TemplateOptions provideTemplateOptions(Injector injector, TemplateOptions options) {
-      return options.as(VCloudTemplateOptions.class).ipAddressAllocationMode(IpAddressAllocationMode.POOL);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXRestClientModule.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXRestClientModule.java b/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXRestClientModule.java
deleted file mode 100644
index e089e92..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/main/java/org/jclouds/virtacore/publiccloud/config/VirtacorePublicCloudLAXRestClientModule.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud.config;
-
-import org.jclouds.http.RequiresHttp;
-import org.jclouds.rest.ConfiguresRestClient;
-import org.jclouds.vcloud.config.VCloudRestClientModule;
-
-/**
- * 
- * @author Adrian Cole
- */
-@RequiresHttp
-@ConfiguresRestClient
-public class VirtacorePublicCloudLAXRestClientModule extends VCloudRestClientModule {
-
-   @Override
-   protected void configure() {
-      super.configure();
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata b/sandbox-providers/virtacore-publiccloud-lax/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
deleted file mode 100644
index 5290e8f..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/main/resources/META-INF/services/org.jclouds.providers.ProviderMetadata
+++ /dev/null
@@ -1 +0,0 @@
-org.jclouds.virtacore.publiccloud.VirtacorePublicCloudLAXProviderMetadata

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderTest.java b/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderTest.java
deleted file mode 100644
index 687b7d9..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/VirtacorePublicCloudLAXProviderTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud;
-
-import org.jclouds.providers.BaseProviderMetadataTest;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.virtacore.publiccloud.VirtacorePublicCloudLAXProviderMetadata;
-import org.testng.annotations.Test;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Test(groups = "unit", testName = "VirtacorePublicCloudLAXProviderTest")
-public class VirtacorePublicCloudLAXProviderTest extends BaseProviderMetadataTest {
-
-   public VirtacorePublicCloudLAXProviderTest() {
-      super(new VirtacorePublicCloudLAXProviderMetadata(), ProviderMetadata.COMPUTE_TYPE);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXComputeServiceLiveTest.java b/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXComputeServiceLiveTest.java
deleted file mode 100644
index ae8c153..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXComputeServiceLiveTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud.compute;
-
-import org.jclouds.vcloud.compute.VCloudComputeServiceLiveTest;
-import org.testng.annotations.Test;
-
-/**
- * 
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", enabled = true, singleThreaded = true)
-public class VirtacorePublicCloudLAXComputeServiceLiveTest extends VCloudComputeServiceLiveTest {
-   public VirtacorePublicCloudLAXComputeServiceLiveTest() {
-      provider = "virtacore-publiccloud-lax";
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXTemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXTemplateBuilderLiveTest.java b/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXTemplateBuilderLiveTest.java
deleted file mode 100644
index 4f8b410..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/src/test/java/org/jclouds/virtacore/publiccloud/compute/VirtacorePublicCloudLAXTemplateBuilderLiveTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds 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.virtacore.publiccloud.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.BaseTemplateBuilderLiveTest;
-import org.jclouds.compute.domain.OsFamily;
-import org.jclouds.compute.domain.OsFamilyVersion64Bit;
-import org.jclouds.compute.domain.Template;
-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 VirtacorePublicCloudLAXTemplateBuilderLiveTest extends BaseTemplateBuilderLiveTest {
-
-   public VirtacorePublicCloudLAXTemplateBuilderLiveTest() {
-      provider = "virtacore-publiccloud-lax";
-   }
-
-   @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("");
-               case SUSE:
-                  // vCloud Connector
-                  return input.version.equals("") && input.is64Bit;
-               default:
-                  return false;
-            }
-         }
-
-      });
-   }
-
-   // NOTE: almost all virtacore templates are dual-network
-   @Override
-   public void testDefaultTemplateBuilder() throws IOException {
-      Template defaultTemplate = context.getComputeService().templateBuilder().build();
-      assertEquals(defaultTemplate.getImage().getName(), "RHEL 5.6 64bit");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "");
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true);
-      assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.RHEL);
-      assertEquals(getCores(defaultTemplate.getHardware()), 2.0d);
-   }
-
-   @Override
-   protected Set<String> getIso3166Codes() {
-      return ImmutableSet.<String> of("US-CA");
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/23d9d901/sandbox-providers/virtacore-publiccloud-lax/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/virtacore-publiccloud-lax/src/test/resources/log4j.xml b/sandbox-providers/virtacore-publiccloud-lax/src/test/resources/log4j.xml
deleted file mode 100644
index 63810d3..0000000
--- a/sandbox-providers/virtacore-publiccloud-lax/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>