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/12 16:42:54 UTC

[09/18] JCLOUDS-25. Removing sandbox-*.

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/46e2f006/sandbox-providers/boxdotnet/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/boxdotnet/pom.xml b/sandbox-providers/boxdotnet/pom.xml
deleted file mode 100644
index e6deb79..0000000
--- a/sandbox-providers/boxdotnet/pom.xml
+++ /dev/null
@@ -1,118 +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.5.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>
-            <version>1.2.16</version>
-            <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/46e2f006/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/46e2f006/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 0b48884..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 singatures 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/46e2f006/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());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/46e2f006/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/46e2f006/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 2377141..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);
-   }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/46e2f006/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 e6e90a0..0000000
--- a/sandbox-providers/boxdotnet/src/main/java/org/jclouds/boxdotnet/handlers/BoxDotNetErrorHandler.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.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 {
-         if (response.getPayload() != null)
-            Closeables.closeQuietly(response.getPayload().getInput());
-         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);
-         }
-      }
-   }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/46e2f006/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 e9f9e0b..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");
-      HttpRequest 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 = Iterables.getOnlyElement(httpRequest.getFilters()).filter(httpRequest);
-      httpRequest = 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/46e2f006/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/46e2f006/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/46e2f006/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 8c234c1..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.5.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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/sandbox-providers/googlestorage/pom.xml
----------------------------------------------------------------------
diff --git a/sandbox-providers/googlestorage/pom.xml b/sandbox-providers/googlestorage/pom.xml
deleted file mode 100644
index aa97217..0000000
--- a/sandbox-providers/googlestorage/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.5.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>
-            <version>1.2.16</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.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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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/46e2f006/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;
-   }
-}