You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2013/05/17 00:12:19 UTC

[2/5] JCLOUDS-54. remove historical demos, archetypes and assemblies modules

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/README.md
----------------------------------------------------------------------
diff --git a/demos/googleappengine/README.md b/demos/googleappengine/README.md
deleted file mode 100644
index bed7264..0000000
--- a/demos/googleappengine/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# googleappengine
-This example will list the current instances and buckets in your Amazon account, using portable apis.  This example runs inside Google AppEngine as a war file.
-
-## Prepare
-
-Please unzip http://googleappengine.googlecode.com/files/appengine-java-sdk-1.4.0.zip and export the system variable APPENGINE_HOME accordingly.
-
-## Build
-
-To install your test on your remote appengine application, first prepare locally via the below instructions:
-mvn -Dappengine.applicationid=YOUR_APPLICATION -Dtest.aws.identity=YOUR_ACCESS_KEY_ID -Dtest.aws.credential=YOUR_SECRET_KEY -Plive install
-
-## Deploy
-
-then, you can upload this to google appengine like below:
-appcfg.sh -e YOUR_EMAIL update target//jclouds-googleappengine-example
-
-## Test
-
-finally, you can verify with a web url:
-http://YOUR_APPLICATION_ID.appspot.com/guice/status.check
-
-## License
-
-Copyright (C) 2009-2011 jclouds, Inc.
-
-Licensed under the Apache License, Version 2.0 
-

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/pom.xml
----------------------------------------------------------------------
diff --git a/demos/googleappengine/pom.xml b/demos/googleappengine/pom.xml
deleted file mode 100644
index e0b8116..0000000
--- a/demos/googleappengine/pom.xml
+++ /dev/null
@@ -1,396 +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.apache.jclouds</groupId>
-    <artifactId>jclouds-demos-project</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>jclouds-demo-googleappengine</artifactId>
-  <packaging>war</packaging>
-  <name>JClouds Sample for Google App Engine</name>
-  <description>JClouds Sample for Google App Engine</description>
-
-  <properties>
-    <!--
-        note you must set the property ${appengine.sdk.root} to a valid
-        extraction of appengine-java-sdk
-    -->
-    <appengine.applicationid>jclouds-hpcloud-demo</appengine.applicationid>
-    <appengine.sdk.version>1.6.5</appengine.sdk.version>
-    <devappserver.address>localhost</devappserver.address>
-    <devappserver.port>8088</devappserver.port>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-blobstore</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-compute</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>hpcloud-objectstorage</artifactId>
-      <version>${project.version}</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-gae</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.inject.extensions</groupId>
-      <artifactId>guice-servlet</artifactId>
-      <version>3.0</version>
-    </dependency>
-
-    <!-- Google App Engine API -->
-    <dependency>
-      <groupId>com.google.appengine</groupId>
-      <artifactId>appengine-api-1.0-sdk</artifactId>
-      <version>${appengine.sdk.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.appengine</groupId>
-      <artifactId>appengine-tools-sdk</artifactId>
-      <version>${appengine.sdk.version}</version>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- WAR Dependencies: need to be validated -->
-    <dependency>
-      <groupId>displaytag</groupId>
-      <artifactId>displaytag</artifactId>
-      <version>1.2</version>
-      <scope>runtime</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.slf4j</groupId>
-          <artifactId>slf4j-log4j12</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-jdk14</artifactId>
-      <version>1.5.6</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <artifactId>jstl</artifactId>
-      <groupId>javax.servlet</groupId>
-      <version>1.1.2</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <artifactId>standard</artifactId>
-      <groupId>taglibs</groupId>
-      <version>1.1.2</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <version>2.5</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <finalName>${project.artifactId}</finalName>
-    <plugins>
-      <plugin>      
-        <artifactId>maven-remote-resources-plugin</artifactId>
-        <configuration>
-          <!-- prevents the maven-war-plugin from including the resources in WEB-INF/classes -->
-          <attached>false</attached>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-war-plugin</artifactId>
-        <version>2.1.1</version>
-        <configuration>
-          <!-- see http://jira.codehaus.org/browse/MWAR-248 -->
-          <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
-          <webResources>
-            <resource>
-              <directory>src/main/appengine</directory>
-              <targetPath>WEB-INF</targetPath>
-              <filtering>true</filtering>
-              <excludes>
-                <exclude>.gitignore</exclude>
-              </excludes>
-            </resource>
-          </webResources>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>com.ning.maven.plugins</groupId>
-        <artifactId>maven-duplicate-finder-plugin</artifactId>
-        <version>1.0.3</version>
-        <configuration>
-          <exceptions>
-            <exception>
-              <!-- Google App Engine Deps, some google classes are duplicated between packages -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>com.google.appengine</groupId>
-                  <artifactId>appengine-api-1.0-sdk</artifactId>
-                  <version>1.6.5</version>
-                </dependency>
-                <dependency>
-                  <groupId>com.google.appengine</groupId>
-                  <artifactId>appengine-tools-sdk</artifactId>
-                  <version>1.6.5</version>
-                  <scope>test</scope>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>com.google</package>
-              </packages>
-            </exception>
-            <exception>
-              <!-- Tomcat bundles the JSR250 annotations too -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>javax.annotation</groupId>
-                  <artifactId>jsr250-api</artifactId>
-                  <version>1.0</version>
-                  <scope>runtime</scope>
-                </dependency>
-                <dependency>
-                  <groupId>org.apache.tomcat</groupId>
-                  <artifactId>annotations-api</artifactId>
-                  <version>6.0.32</version>
-                  <scope>test</scope>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>javax.annotation</package>
-              </packages>
-            </exception>
-            <exception>
-              <!-- commons-beanutils and commons-collections duplicate classes -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>commons-beanutils</groupId>
-                  <artifactId>commons-beanutils</artifactId>
-                  <version>1.7.0</version>
-                  <scope>runtime</scope>
-                </dependency>
-                <dependency>
-                  <groupId>commons-collections</groupId>
-                  <artifactId>commons-collections</artifactId>
-                  <version>3.1</version>
-                  <scope>runtime</scope>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>org.apache.commons.collections</package>
-              </packages>
-            </exception>
-            <exception>
-              <!-- javax.servlet is included in the appengine-tools-sdk, with Tomcat and Jetty -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>javax.servlet</groupId>
-                  <artifactId>servlet-api</artifactId>
-                  <version>2.5</version>
-                  <scope>provided</scope>
-                </dependency>
-                <dependency>
-                  <groupId>com.google.appengine</groupId>
-                  <artifactId>appengine-tools-sdk</artifactId>
-                  <version>1.6.5</version>
-                  <scope>test</scope>
-                </dependency>
-                <dependency>
-                  <groupId>org.apache.tomcat</groupId>
-                  <artifactId>servlet-api</artifactId>
-                  <version>6.0.32</version>
-                  <scope>test</scope>
-                </dependency>
-                <dependency>
-                  <groupId>org.mortbay.jetty</groupId>
-                  <artifactId>jetty-runner</artifactId>
-                  <version>7.5.4.v20111024</version>
-                  <scope>test</scope>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>javax.servlet</package>
-              </packages>
-              <resources>
-                <!-- javax.servlet is included in the appengine-tools-sdk and Tomcat -->
-                <resource>javax/servlet/resources/XMLSchema.dtd</resource>
-                <resource>javax/servlet/resources/datatypes.dtd</resource>
-                <resource>javax/servlet/resources/j2ee_1_4.xsd</resource>
-                <resource>javax/servlet/resources/j2ee_web_services_client_1_1.xsd</resource>
-                <resource>javax/servlet/resources/javaee_5.xsd</resource>
-                <resource>javax/servlet/resources/javaee_web_services_client_1_2.xsd</resource>
-                <resource>javax/servlet/resources/jsp_2_0.xsd</resource>
-                <resource>javax/servlet/resources/jsp_2_1.xsd</resource>
-                <resource>javax/servlet/resources/web-app_2_2.dtd</resource>
-                <resource>javax/servlet/resources/web-app_2_3.dtd</resource>
-                <resource>javax/servlet/resources/web-app_2_4.xsd</resource>
-                <resource>javax/servlet/resources/web-app_2_5.xsd</resource>
-                <resource>javax/servlet/resources/xml.xsd</resource>
-                <resource>javax/servlet/LocalStrings.properties</resource>
-                <resource>javax/servlet/LocalStrings_fr.properties</resource>
-                <resource>javax/servlet/LocalStrings_ja.properties</resource>
-                <resource>javax/servlet/http/LocalStrings.properties</resource>
-                <resource>javax/servlet/http/LocalStrings_es.properties</resource>
-                <resource>javax/servlet/http/LocalStrings_fr.properties</resource>
-                <resource>javax/servlet/http/LocalStrings_ja.properties</resource>
-              </resources>
-            </exception>
-            <exception>
-              <!-- Jasper and Catalina duplicate some classes -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>org.apache.tomcat</groupId>
-                  <artifactId>catalina</artifactId>
-                  <version>6.0.32</version>
-                  <scope>test</scope>
-                </dependency>
-                <dependency>
-                  <groupId>org.apache.tomcat</groupId>
-                  <artifactId>jasper</artifactId>
-                  <version>6.0.32</version>
-                  <scope>test</scope>
-                </dependency>
-              </conflictingDependencies>
-              <classes>
-                <class>org.apache.AnnotationProcessor</class>
-                <class>org.apache.PeriodicEventListener</class>
-              </classes>
-            </exception>
-            <exception>
-              <!-- Jetty Runner includes taglibs and jstl -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>javax.servlet</groupId>
-                  <artifactId>jstl</artifactId>
-                  <version>1.1.2</version>
-                  <scope>runtime</scope>
-                </dependency>
-                <dependency>
-                  <groupId>taglibs</groupId>
-                  <artifactId>standard</artifactId>
-                  <version>1.1.2</version>
-                  <scope>runtime</scope>
-                </dependency>
-                <dependency>
-                  <groupId>org.mortbay.jetty</groupId>
-                  <artifactId>jetty-runner</artifactId>
-                  <version>7.5.4.v20111024</version>
-                  <scope>test</scope>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>javax.servlet.jsp.jstl</package>
-                <package>org.apache.taglibs</package>
-              </packages>
-              <resources>
-                <resource>META-INF/c-1_0-rt.tld</resource>
-                <resource>META-INF/c-1_0.tld</resource>
-                <resource>META-INF/c.tld</resource>
-                <resource>META-INF/fmt-1_0-rt.tld</resource>
-                <resource>META-INF/fmt-1_0.tld</resource>
-                <resource>META-INF/fmt.tld</resource>
-                <resource>META-INF/fn.tld</resource>
-                <resource>META-INF/permittedTaglibs.tld</resource>
-                <resource>META-INF/scriptfree.tld</resource>
-                <resource>META-INF/sql-1_0-rt.tld</resource>
-                <resource>META-INF/sql-1_0.tld</resource>
-                <resource>META-INF/sql.tld</resource>
-                <resource>META-INF/x-1_0-rt.tld</resource>
-                <resource>META-INF/x-1_0.tld</resource>
-                <resource>META-INF/x.tld</resource>
-                <resource>org/apache/taglibs/standard/lang/jstl/Resources.properties</resource>
-                <resource>org/apache/taglibs/standard/lang/jstl/Resources_ja.properties</resource>
-                <resource>org/apache/taglibs/standard/resources/Resources.properties</resource>
-                <resource>org/apache/taglibs/standard/resources/Resources_ja.properties</resource>
-              </resources>
-            </exception>
-          </exceptions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>live</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>integration</id>
-                <phase>integration-test</phase>
-                <goals>
-                  <goal>test</goal>
-                </goals>
-                <configuration>
-                  <systemPropertyVariables>
-                    <!-- note you can add support for new clouds by adding more entries here
-                         after adding maven dependency  -->
-                    <test.hpcloud-objectstorage.identity>${test.hpcloud-objectstorage.identity}</test.hpcloud-objectstorage.identity>
-                    <test.hpcloud-objectstorage.credential>${test.hpcloud-objectstorage.credential}</test.hpcloud-objectstorage.credential>
-                    <appengine.sdk.root>${appengine.sdk.root}</appengine.sdk.root>
-                    <devappserver.address>${devappserver.address}</devappserver.address>
-                    <devappserver.port>${devappserver.port}</devappserver.port>
-                    <warfile>${project.build.directory}/${project.artifactId}</warfile>
-                  </systemPropertyVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>deploy</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>net.kindleit</groupId>
-            <artifactId>maven-gae-plugin</artifactId>
-            <version>0.9.2</version>
-            <configuration>
-              <serverId>google-appengine</serverId>
-              <sdkDir>${appengine.sdk.root}</sdkDir>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/appengine/appengine-web.xml
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/appengine/appengine-web.xml b/demos/googleappengine/src/main/appengine/appengine-web.xml
deleted file mode 100644
index e2440d8..0000000
--- a/demos/googleappengine/src/main/appengine/appengine-web.xml
+++ /dev/null
@@ -1,30 +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.
-
--->
-<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
-	<application>${appengine.applicationid}</application>
-	<version>1</version>
-	<system-properties>
-		<property name="java.util.logging.config.file" value="WEB-INF/logging.properties" />
-	</system-properties>
-	<!-- potential race condition in GuiceServletConfig -->
-    <threadsafe>false</threadsafe>
-</appengine-web-app>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/appengine/logging.properties
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/appengine/logging.properties b/demos/googleappengine/src/main/appengine/logging.properties
deleted file mode 100644
index 61936d0..0000000
--- a/demos/googleappengine/src/main/appengine/logging.properties
+++ /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.
-#
-
-# Set the default logging level for all loggers to WARNING
-.level = INFO
-
-# Set the default logging level for ORM, specifically, to WARNING
-org.jclouds.level=INFO
-DataNucleus.JDO.level=WARNING
-DataNucleus.Persistence.level=WARNING
-DataNucleus.Cache.level=WARNING
-DataNucleus.MetaData.level=WARNING
-DataNucleus.General.level=WARNING
-DataNucleus.Utility.level=WARNING
-DataNucleus.Transaction.level=WARNING
-DataNucleus.Datastore.level=WARNING
-DataNucleus.ClassLoading.level=WARNING
-DataNucleus.Plugin.level=WARNING
-DataNucleus.ValueGeneration.level=WARNING
-DataNucleus.Enhancer.level=WARNING
-DataNucleus.SchemaTool.level=WARNING
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/GetAllResourcesController.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/GetAllResourcesController.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/GetAllResourcesController.java
deleted file mode 100644
index 4b238ce..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/GetAllResourcesController.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.samples.googleappengine;
-
-import static com.google.common.collect.Iterables.concat;
-import static com.google.common.collect.Iterables.size;
-import static com.google.common.collect.Iterables.transform;
-
-import java.io.IOException;
-import java.util.Set;
-import java.util.concurrent.CancellationException;
-import java.util.concurrent.TimeUnit;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Provider;
-import javax.inject.Singleton;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jclouds.View;
-import org.jclouds.domain.ResourceMetadata;
-import org.jclouds.logging.Logger;
-import org.jclouds.samples.googleappengine.domain.ResourceResult;
-import org.jclouds.samples.googleappengine.functions.ResourceMetadataToResourceResult;
-import org.jclouds.samples.googleappengine.functions.ViewToAsyncResources;
-import org.jclouds.samples.googleappengine.functions.ViewToId;
-
-import com.google.common.base.Stopwatch;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-
-/**
- * Shows an example of how to list all resources from all views!
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class GetAllResourcesController extends HttpServlet {
-
-   private final ListeningExecutorService currentRequestExecutorService;
-   private final Iterable<View> views;
-   private final ViewToAsyncResources viewToAsyncResources;
-   private final ResourceMetadataToResourceResult resourceMetadataToStatusResult;
-   private final Provider<Long> remainingMillis;
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   GetAllResourcesController(ListeningExecutorService currentRequestExecutorService, Iterable<View> views,
-         ViewToAsyncResources viewToAsyncResources, ResourceMetadataToResourceResult resourceMetadataToStatusResult,
-         Provider<Long> remainingMillis) {
-      this.currentRequestExecutorService = currentRequestExecutorService;
-      this.views = views;
-      this.viewToAsyncResources = viewToAsyncResources;
-      this.resourceMetadataToStatusResult = resourceMetadataToStatusResult;
-      this.remainingMillis = remainingMillis;
-   }
-
-   @Override
-   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-      try {
-         addResourcesToRequest(request);
-         RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/jsp/resources.jsp");
-         dispatcher.forward(request, response);
-      } catch (Exception e) {
-         logger.error(e, "Error listing resources");
-         throw new ServletException(e);
-      }
-   }
-
-   private void addResourcesToRequest(HttpServletRequest request) {
-      Stopwatch watch = new Stopwatch().start();
-      logger.info("ready to list views: %s", transform(views, ViewToId.INSTANCE));
-      Iterable<ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>>> asyncResources = transform(views,
-            viewToAsyncResources);
-      logger.info("launched %s tasks with %sms remaining", size(asyncResources), remainingMillis.get());
-
-      Set<Iterable<? extends ResourceMetadata<?>>> done = allResourcesWithinDeadline(asyncResources);
-      logger.info("%s tasks completed in %sms with %sms remaining", size(done), watch.stop().elapsedMillis(),
-            remainingMillis.get());
-
-      Iterable<ResourceMetadata<?>> flattened = concat(done);
-
-      Set<ResourceResult> results = FluentIterable.from(flattened).transform(resourceMetadataToStatusResult)
-            .toImmutableSet();
-
-      request.setAttribute("resources", results);
-   }
-
-   private <T> Set<T> allResourcesWithinDeadline(Iterable<ListenableFuture<? extends T>> asyncResources) {
-      Builder<T> resourcesWeCanList = addToBuilderOnComplete(asyncResources);
-
-      // only serve resources that made it by the timeout
-      blockUntilAllDoneOrCancelOnTimeout(asyncResources);
-
-      return resourcesWeCanList.build();
-   }
-
-   private <T> Builder<T> addToBuilderOnComplete(Iterable<ListenableFuture<? extends T>> asyncResources) {
-
-      final Builder<T> resourcesWeCanList = ImmutableSet.<T> builder();
-
-      for (final ListenableFuture<? extends T> asyncResource : asyncResources) {
-         Futures.addCallback(asyncResource, new FutureCallback<T>() {
-            public void onSuccess(T result) {
-               if (result != null)
-                  resourcesWeCanList.add(result);
-            }
-
-            public void onFailure(Throwable t) {
-               if (!(t instanceof CancellationException))
-                  logger.error(t, "exception getting resource %s: %s", asyncResource, t.getMessage());
-            }
-         }, currentRequestExecutorService);
-
-      }
-      return resourcesWeCanList;
-   }
-
-   // ensure we don't violate our request timeouts.
-   private void blockUntilAllDoneOrCancelOnTimeout(Iterable<? extends ListenableFuture<?>> asyncResources) {
-      try {
-         for (ListenableFuture<?> asyncResource : asyncResources) {
-            if (remainingMillis.get() > 0) {
-               try {
-                  asyncResource.get(remainingMillis.get(), TimeUnit.MILLISECONDS);
-               } catch (Exception e) {
-                  logger.info("exception getting resource %s: %s", asyncResource, e.getMessage());
-               }
-            }
-         }
-      } finally {
-         if (remainingMillis.get() < 0) {
-            for (ListenableFuture<?> asyncResource : asyncResources) {
-               if (!asyncResource.isDone())
-                  asyncResource.cancel(true);
-            }
-         }
-      }
-
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/config/GuiceServletConfig.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/config/GuiceServletConfig.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/config/GuiceServletConfig.java
deleted file mode 100644
index 7cd421b..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/config/GuiceServletConfig.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.samples.googleappengine.config;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.get;
-import static com.google.common.collect.Iterables.transform;
-import static com.google.common.io.Closeables.closeQuietly;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_RUNNING;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_PORT_OPEN;
-import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_SCRIPT_COMPLETE;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
-
-import javax.inject.Singleton;
-import javax.servlet.ServletContextEvent;
-
-import org.jclouds.ContextBuilder;
-import org.jclouds.View;
-import org.jclouds.gae.config.AsyncGoogleAppEngineConfigurationModule;
-import org.jclouds.logging.jdk.config.JDKLoggingModule;
-import org.jclouds.providers.ProviderMetadata;
-import org.jclouds.providers.Providers;
-import org.jclouds.samples.googleappengine.GetAllResourcesController;
-
-import com.google.appengine.api.ThreadManager;
-import com.google.apphosting.api.ApiProxy;
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.reflect.TypeToken;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.MoreExecutors;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-import com.google.inject.servlet.GuiceServletContextListener;
-import com.google.inject.servlet.ServletModule;
-
-/**
- * Setup Logging and create {@link Injector} for use in testing Views
- * 
- * @author Adrian Cole
- */
-public class GuiceServletConfig extends GuiceServletContextListener {
-
-   private Iterable<View> views;
-
-   @Override
-   public void contextInitialized(ServletContextEvent servletContextEvent) {
-      final Properties overrides = loadJCloudsProperties(servletContextEvent);
-      // until there's a global skip image parse option
-      overrides.setProperty("jclouds.ec2.ami-query", "");
-      overrides.setProperty("jclouds.ec2.cc-ami-query", "");
-
-      // ensure requests don't take longer than GAE timeout
-      overrides.setProperty(TIMEOUT_NODE_TERMINATED, "25000");
-      overrides.setProperty(TIMEOUT_NODE_RUNNING, "25000");
-      overrides.setProperty(TIMEOUT_SCRIPT_COMPLETE, "25000");
-      overrides.setProperty(TIMEOUT_PORT_OPEN, "25000");
-
-      // correct the classloader so that extensions can be found
-      Thread.currentThread().setContextClassLoader(Providers.class.getClassLoader());
-
-      Iterable<ProviderMetadata> identityInProperties = providersWeHaveIdentitiesFor(overrides);
-
-      final ImmutableSet<Module> modules = ImmutableSet.<Module> of(new AsyncGoogleAppEngineConfigurationModule());
-      views = transform(identityInProperties, new Function<ProviderMetadata, View>() {
-
-         @Override
-         public View apply(ProviderMetadata input) {
-            TypeToken<? extends View> defaultView = get(input.getApiMetadata().getViews(), 0);
-            return ContextBuilder.newBuilder(input).modules(modules).overrides(overrides).buildView(defaultView);
-         }
-
-      });
-
-      super.contextInitialized(servletContextEvent);
-   }
-
-   protected Iterable<ProviderMetadata> providersWeHaveIdentitiesFor(final Properties overrides) {
-      // there's a chance serviceloader is being lazy, and we don't want
-      // ConcurrentModificationException, so copy into a set.
-      return ImmutableSet.copyOf(filter(Providers.all(), new Predicate<ProviderMetadata>() {
-
-         @Override
-         public boolean apply(ProviderMetadata input) {
-            return overrides.containsKey(input.getId() + ".identity");
-         }
-
-      }));
-   }
-
-   private Properties loadJCloudsProperties(ServletContextEvent servletContextEvent) {
-      InputStream input = servletContextEvent.getServletContext().getResourceAsStream("/WEB-INF/jclouds.properties");
-      Properties props = new Properties();
-      try {
-         props.load(input);
-      } catch (IOException e) {
-         throw new RuntimeException(e);
-      } finally {
-         closeQuietly(input);
-      }
-      return props;
-   }
-
-   @Override
-   protected Injector getInjector() {
-      return Guice.createInjector(new JDKLoggingModule(), new ServletModule() {
-         @Override
-         protected void configureServlets() {
-            bind(new TypeLiteral<Iterable<View>>() {
-            }).toInstance(GuiceServletConfig.this.views);
-            serve("*.check").with(GetAllResourcesController.class);
-            requestInjection(this);
-         }
-
-         @SuppressWarnings("unused")
-         @Provides
-         long remainingMillis() {
-            // leave 100ms for any post processing
-            return ApiProxy.getCurrentEnvironment().getRemainingMillis() - 100;
-         }
-
-         @SuppressWarnings("unused")
-         @Provides
-         @Singleton
-         ListeningExecutorService currentRequestExecutorService() {
-            ThreadFactory factory = checkNotNull(ThreadManager.currentRequestThreadFactory(),
-                  "ThreadManager.currentRequestThreadFactory()");
-            return MoreExecutors.listeningDecorator(Executors.newCachedThreadPool(factory));
-         }
-      });
-   }
-
-   @Override
-   public void contextDestroyed(ServletContextEvent servletContextEvent) {
-      for (View view : views) {
-         view.unwrap().close();
-      }
-      super.contextDestroyed(servletContextEvent);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/domain/ResourceResult.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/domain/ResourceResult.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/domain/ResourceResult.java
deleted file mode 100644
index 4e62ec7..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/domain/ResourceResult.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.samples.googleappengine.domain;
-
-import static com.google.common.base.Objects.equal;
-
-import com.google.common.base.Objects;
-
-/**
- * 
- * @author Adrian Cole
- */
-public class ResourceResult {
-
-   public static Builder builder() {
-      return new Builder();
-   }
-
-   public static class Builder {
-      protected String provider;
-      protected String location;
-      protected String type;
-      protected String id;
-      protected String name;
-
-      public Builder provider(String provider) {
-         this.provider = provider;
-         return this;
-      }
-
-      public Builder location(String location) {
-         this.location = location;
-         return this;
-      }
-
-      public Builder type(String type) {
-         this.type = type;
-         return this;
-      }
-
-      public Builder id(String id) {
-         this.id = id;
-         return this;
-      }
-
-      public Builder name(String name) {
-         this.name = name;
-         return this;
-      }
-
-      public ResourceResult build() {
-         return new ResourceResult(provider, location, type, id, name);
-      }
-
-   }
-
-   private final String provider;
-   private final String location;
-   private final String type;
-   private final String id;
-   private final String name;
-
-   protected ResourceResult(String provider, String location, String type, String id, String name) {
-      this.provider = provider;
-      this.type = type;
-      this.location = location;
-      this.id = id;
-      this.name = name;
-   }
-
-   public String getProvider() {
-      return provider;
-   }
-
-   public String getLocation() {
-      return location;
-   }
-
-   public String getType() {
-      return type;
-   }
-
-   public String getId() {
-      return id;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   @Override
-   public boolean equals(Object o) {
-      if (this == o)
-         return true;
-      if (o == null || getClass() != o.getClass())
-         return false;
-      ResourceResult that = ResourceResult.class.cast(o);
-      return equal(this.provider, that.provider) && equal(this.location, that.location) && equal(this.type, that.type)
-            && equal(this.id, that.id) && equal(this.name, that.name);
-   }
-
-   @Override
-   public int hashCode() {
-      return Objects.hashCode(provider, location, type, id, name);
-   }
-
-   @Override
-   public String toString() {
-      return Objects.toStringHelper("").add("provider", provider).add("location", location).add("type", type)
-            .add("id", id).add("name", name).toString();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/BlobStoreContextToAsyncResources.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/BlobStoreContextToAsyncResources.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/BlobStoreContextToAsyncResources.java
deleted file mode 100644
index 2e7343e..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/BlobStoreContextToAsyncResources.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.samples.googleappengine.functions;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.blobstore.BlobStoreContext;
-import org.jclouds.domain.ResourceMetadata;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class BlobStoreContextToAsyncResources implements
-      Function<BlobStoreContext, ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>>> {
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   public ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>> apply(BlobStoreContext in) {
-      logger.info("listing containers on %s: ", in.unwrap().getId());
-      return in.getAsyncBlobStore().list();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ComputeServiceContextToAsyncResources.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ComputeServiceContextToAsyncResources.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ComputeServiceContextToAsyncResources.java
deleted file mode 100644
index 152149b..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ComputeServiceContextToAsyncResources.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.samples.googleappengine.functions;
-
-import java.util.concurrent.Callable;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.domain.ResourceMetadata;
-import org.jclouds.logging.Logger;
-
-import com.google.common.base.Function;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.inject.Inject;
-
-/**
- * ComputeService doesn't currently have an Async counterpart
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ComputeServiceContextToAsyncResources implements
-      Function<ComputeServiceContext, ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>>> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   private final ListeningExecutorService currentRequestExecutorService;
-
-   @Inject
-   public ComputeServiceContextToAsyncResources(ListeningExecutorService currentRequestExecutorService) {
-      this.currentRequestExecutorService = currentRequestExecutorService;
-   }
-
-   public ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>> apply(final ComputeServiceContext in) {
-      return currentRequestExecutorService.submit(new Callable<Iterable<? extends ResourceMetadata<?>>>() {
-
-         @Override
-         public Iterable<? extends ResourceMetadata<?>> call() throws Exception {
-            logger.info("listing nodes on %s: ", in.unwrap().getId());
-            return in.getComputeService().listNodes();
-         }
-
-         @Override
-         public String toString() {
-            return in.toString();
-         }
-      });
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ResourceMetadataToResourceResult.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ResourceMetadataToResourceResult.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ResourceMetadataToResourceResult.java
deleted file mode 100644
index 08601a5..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ResourceMetadataToResourceResult.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.samples.googleappengine.functions;
-
-import javax.annotation.Resource;
-import javax.inject.Singleton;
-
-import org.jclouds.domain.Location;
-import org.jclouds.domain.ResourceMetadata;
-import org.jclouds.logging.Logger;
-import org.jclouds.samples.googleappengine.domain.ResourceResult;
-import org.jclouds.samples.googleappengine.domain.ResourceResult.Builder;
-
-import com.google.common.base.Function;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ResourceMetadataToResourceResult implements Function<ResourceMetadata<?>, ResourceResult> {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   public ResourceResult apply(ResourceMetadata<?> in) {
-      Builder builder = ResourceResult.builder();
-      Location provider = in.getLocation();
-      while (provider.getParent() != null)
-         provider = provider.getParent();
-      builder.provider(provider.getId());
-      builder.location(in.getLocation().getId());
-      builder.type(in.getType().toString().toLowerCase());
-      builder.id(in.getProviderId());
-      builder.name(in.getName());
-      return builder.build();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToAsyncResources.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToAsyncResources.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToAsyncResources.java
deleted file mode 100644
index 42a8d0b..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToAsyncResources.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.samples.googleappengine.functions;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import org.jclouds.View;
-import org.jclouds.blobstore.BlobStoreContext;
-import org.jclouds.compute.ComputeServiceContext;
-import org.jclouds.domain.ResourceMetadata;
-
-import com.google.common.base.Function;
-import com.google.common.util.concurrent.ListenableFuture;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class ViewToAsyncResources implements Function<View, ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>>> {
-   private final BlobStoreContextToAsyncResources blobStoreContextToAsyncResources;
-   private final ComputeServiceContextToAsyncResources computeServiceContextToAsyncResources;
-
-   @Inject
-   public ViewToAsyncResources(BlobStoreContextToAsyncResources blobStoreContextToAsyncResources,
-         ComputeServiceContextToAsyncResources computeServiceContextToAsyncResources) {
-      this.blobStoreContextToAsyncResources = blobStoreContextToAsyncResources;
-      this.computeServiceContextToAsyncResources = computeServiceContextToAsyncResources;
-   }
-
-
-   @Override
-   public ListenableFuture<? extends Iterable<? extends ResourceMetadata<?>>> apply(View input) {
-      if (input instanceof BlobStoreContext) {
-         return blobStoreContextToAsyncResources.apply(BlobStoreContext.class.cast(input));
-      } else if (input instanceof ComputeServiceContext) {
-         return computeServiceContextToAsyncResources.apply(ComputeServiceContext.class.cast(input));
-      }
-      throw new UnsupportedOperationException("unknown view type: " + input);
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToId.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToId.java b/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToId.java
deleted file mode 100644
index 6e2f440..0000000
--- a/demos/googleappengine/src/main/java/org/jclouds/samples/googleappengine/functions/ViewToId.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.samples.googleappengine.functions;
-
-import org.jclouds.View;
-
-import com.google.common.base.Function;
-
-public enum ViewToId implements Function<View, String> {
-   INSTANCE;
-   @Override
-   public String apply(View input) {
-      return input.unwrap().getId();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/webapp/WEB-INF/jsp/resources.jsp
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/webapp/WEB-INF/jsp/resources.jsp b/demos/googleappengine/src/main/webapp/WEB-INF/jsp/resources.jsp
deleted file mode 100644
index 1a8a21b..0000000
--- a/demos/googleappengine/src/main/webapp/WEB-INF/jsp/resources.jsp
+++ /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.
-
---%>
-<%@ page buffer="100kb"%>
-<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
-<html>
-<head>
-<title>jclouds: multi-cloud library</title>
-<style type="text/css">
-<!--
-table.staticheader {
-text-decoration: none;
-border: 1px solid #CCC;
-width: 98%;
-}
-
-table.staticheader th {
-padding: 3px 3px 3px 3px !important;
-text-align:center;
-}
-
-table.staticheader td {
-padding: 3px 3px 3px 3px !important;
-}
-
-table.staticheader thead tr {
-position: relative;
-height: 10px;
-background-color: #D7E5F3;
-}
-
-table.staticheader tbody {
-height:800px;
-overflow-x:hidden;
-overflow-y: auto; 
-overflow:scroll;
-}
-
-table.staticheader tbody tr {
-height: auto;
-white-space: nowrap;
-}
-
-table.staticheader tbody tr.odd {
-        background-color: #eee
-}
-
-table.staticheader tbody tr.tableRowEven,tr.even {
-        background-color: #ddd
-}
-
-table.staticheader tbody tr td:last-child {
-padding-right: 20px;
-}
-
-table.staticheader tbody td {
-padding: 2px 4px 2px 4px !important;
-                
-}
-
-div.TableContainer {
-height: 800px; 
-overflow-x:hidden; 
-overflow-y:auto;
-}
--->
-</style>
-</head>
-<body>
-<h2>Resource List</h2>
-<table width="100%" border="0">
-<tr>
-  <td>
-  <div class="TableContainer">
-  <display:table name="resources" defaultsort="1" cellpadding="5" cellspacing="1" class="staticheader">
-	<display:column property="provider"  title="Provider" />
-	<display:column property="location"  title="Location" />
-	<display:column property="type"  title="Type" />
-	<display:column property="id"  title="Id" />
-	<display:column property="name"  title="Name" />
-  </display:table>
-  </div>
-  </td>
-</tr>
-</table>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/webapp/WEB-INF/web.xml b/demos/googleappengine/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index 05b164d..0000000
--- a/demos/googleappengine/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,47 +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.
-
--->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
-    version="2.5">
-	<display-name>jclouds-aws-demo-googleappengine</display-name>
-
-	<!-- Servlets -->
-	<filter>
-		<filter-name>guiceFilter</filter-name>
-		<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
-	</filter>
-
-	<filter-mapping>
-		<filter-name>guiceFilter</filter-name>
-		<url-pattern>/guice/*</url-pattern>
-	</filter-mapping>
-
-
-	<listener>
-		<listener-class>org.jclouds.samples.googleappengine.config.GuiceServletConfig</listener-class>
-	</listener>
-
-	<welcome-file-list>
-		<welcome-file>index.jsp</welcome-file>
-	</welcome-file-list>
-
-</web-app>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/main/webapp/index.jsp b/demos/googleappengine/src/main/webapp/index.jsp
deleted file mode 100644
index 38308a0..0000000
--- a/demos/googleappengine/src/main/webapp/index.jsp
+++ /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.
-
---%>
-<html>
-<head>
-<title>jclouds: multi-cloud framework</title>
-</head>
-<body>
-<h2>Welcome!</h2>
-Click
-<a href="/guice/resources.check">here</a> to list all your cloud resources!
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleAppEngineLiveTest.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleAppEngineLiveTest.java b/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleAppEngineLiveTest.java
deleted file mode 100644
index c23e14d..0000000
--- a/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleAppEngineLiveTest.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.samples.googleappengine.functest;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jclouds.blobstore.BlobStore;
-import org.jclouds.compute.ComputeService;
-import org.jclouds.util.Maps2;
-import org.jclouds.util.Strings2;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Parameters;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Maps;
-
-/**
- * Starts up the Google App Engine for Java Development environment and deploys an application which
- * tests {@link ComputeService} and {@link BlobStore}.
- * 
- * @author Adrian Cole
- */
-@Test(groups = "live", singleThreaded = true)
-public class GoogleAppEngineLiveTest {
-
-   GoogleDevServer server;
-   private URL url;
-
-   @BeforeTest
-   @Parameters( { "warfile", "devappserver.address", "devappserver.port" })
-   public void startDevAppServer(final String warfile, final String address, final String port)
-            throws Exception {
-      url = new URL(String.format("http://%s:%s", address, port));
-      
-      Properties props = new Properties();
-      props.putAll(stripTestPrefix(selectPropertiesForIdentityAndCredential()));
-      server = new GoogleDevServer();
-      server.writePropertiesAndStartServer(address, port, warfile, props);
-   }
-
-   Map<String, String> stripTestPrefix(Map<String, String> identityCrendential) {
-      return Maps2.transformKeys(identityCrendential, new Function<String, String>() {
-
-         @Override
-         public String apply(String arg0) {
-            return arg0.replace("test.", "");
-         }
-
-      });
-   }
-
-   @SuppressWarnings({ "unchecked", "rawtypes" })
-   Map<String, String> selectPropertiesForIdentityAndCredential() {
-      return Maps.filterKeys((Map) System.getProperties(), new Predicate<String>() {
-
-         @Override
-         public boolean apply(String input) {
-            // TODO Auto-generated method stub
-            return input.matches("^test\\.[a-z0-9-]+\\.(identity|credential)$");
-         }
-
-      });
-   }
-
-   @Test
-   public void shouldPass() throws InterruptedException, IOException {
-      InputStream i = url.openStream();
-      String string = Strings2.toStringAndClose(i);
-      assert string.indexOf("Welcome") >= 0 : string;
-   }
-
-   @Test(invocationCount = 5, enabled = true)
-   public void testGuiceJCloudsSerial() throws InterruptedException, IOException {
-      URL gurl = new URL(url, "/guice/resources.check");
-      InputStream i = gurl.openStream();
-      String string = Strings2.toStringAndClose(i);
-      assert string.indexOf("List") >= 0 : string;
-   }
-
-   @Test(invocationCount = 10, enabled = false, threadPoolSize = 3)
-   public void testGuiceJCloudsParallel() throws InterruptedException, IOException {
-      URL gurl = new URL(url, "/guice/resources.check");
-      InputStream i = gurl.openStream();
-      String string = Strings2.toStringAndClose(i);
-      assert string.indexOf("List") >= 0 : string;
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleDevServer.java
----------------------------------------------------------------------
diff --git a/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleDevServer.java b/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleDevServer.java
deleted file mode 100644
index b8fb7d6..0000000
--- a/demos/googleappengine/src/test/java/org/jclouds/samples/googleappengine/functest/GoogleDevServer.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.samples.googleappengine.functest;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.lang.String.format;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Properties;
-import java.util.concurrent.TimeUnit;
-
-import com.google.appengine.tools.KickStart;
-import com.google.appengine.tools.info.SdkInfo;
-
-/**
- * Basic functionality to start a local google app engine instance.
- * 
- * @author Adrian Cole
- */
-public class GoogleDevServer {
-
-    Thread server;
-
-    public void writePropertiesAndStartServer(final String address,
-            final String port, final String warfile, Properties props)
-            throws IOException, InterruptedException {
-        String filename = String.format("%1$s/WEB-INF/jclouds.properties", warfile);
-        System.err.println("file: " + filename);
-        props.store(new FileOutputStream(filename), "test");
-        assert new File(filename).exists();
-        this.server = new Thread(new Runnable() {
-            public void run() {
-                String sdkRoot = checkNotNull(System.getProperty(SdkInfo.SDK_ROOT_PROPERTY), SdkInfo.SDK_ROOT_PROPERTY);
-                KickStart.main(new String[] {
-                        KickStarter.systemProperty("java.util.logging.config.file",
-                                format("%s/WEB-INF/logging.properties", warfile)),
-                        KickStarter.systemProperty(SdkInfo.SDK_ROOT_PROPERTY, sdkRoot),
-                        "com.google.appengine.tools.development.DevAppServerMain",
-                        "--disable_update_check",
-                        format("--sdk_root=%s", sdkRoot), 
-                        "-a", address, "-p", port, warfile });
-            }
-        });
-        server.start();
-        TimeUnit.SECONDS.sleep(30);
-    }
-
-    public void stop() throws Exception {
-        // KickStart.main opens a process and calls process.waitFor(), which is interruptable
-        server.interrupt();
-    }
-
-    private static class KickStarter {
-        private static String systemProperty(String key, String value) {
-            return format("--jvm_flag=-D%s=%s", key, value);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/pom.xml
----------------------------------------------------------------------
diff --git a/demos/pom.xml b/demos/pom.xml
deleted file mode 100644
index 80049f6..0000000
--- a/demos/pom.xml
+++ /dev/null
@@ -1,60 +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">
-  <parent>
-    <artifactId>jclouds-project</artifactId>
-    <groupId>org.apache.jclouds</groupId>
-    <version>1.7.0-SNAPSHOT</version>
-    <relativePath>../project/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jclouds-demos-project</artifactId>
-  <packaging>pom</packaging>
-  <name>jclouds demos project</name>
-  <modules>
-    <module>getpath</module>
-    <module>googleappengine</module>
-    <module>speedtest-azurequeue</module>
-    <module>speedtest-sqs</module>
-    <module>simpledb</module>
-  </modules>
-  <dependencies>
-    <dependency>
-      <groupId>${project.groupId}</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.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/simpledb/README.txt
----------------------------------------------------------------------
diff --git a/demos/simpledb/README.txt b/demos/simpledb/README.txt
deleted file mode 100644
index 4574175..0000000
--- a/demos/simpledb/README.txt
+++ /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.
-====
-
-#
-# this is a simple example command line client to test usage of simpledb
-# functions like putAttribute is tested and then it select and retrieve results.
-# 1. execute 'mvn install' to build the sample
-# 2. invoke the jar, passing your aws credentials and the bucket you wish to create
-# ex.
-#  java -jar target/jclouds-aws-demo-simpledb-jar-with-dependencies.jar  $AWS_USER $AWS_PWD simpledbtest
-
-
-# Further information: Luís A. astião Silva bastiao@ua.pt>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/simpledb/pom.xml
----------------------------------------------------------------------
diff --git a/demos/simpledb/pom.xml b/demos/simpledb/pom.xml
deleted file mode 100644
index 3617793..0000000
--- a/demos/simpledb/pom.xml
+++ /dev/null
@@ -1,79 +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.apache.jclouds</groupId>
-    <artifactId>jclouds-demos-project</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>jclouds-demo-simpledb</artifactId>
-  <name>jclouds simpledb sample that putAttributes and select it</name>
-  <description>jclouds simpledb sample that putAttributes and select it</description>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>aws-simpledb</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <finalName>${project.artifactId}</finalName>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>
-            <manifest>
-              <mainClass>org.jclouds.simpledb.samples.MainApp</mainClass>
-            </manifest>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptorRefs>
-            <descriptorRef>jar-with-dependencies</descriptorRef>
-          </descriptorRefs>
-          <archive>
-            <manifest>
-              <mainClass>org.jclouds.simpledb.samples.MainApp</mainClass>
-            </manifest>
-          </archive>
-        </configuration>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/simpledb/src/main/java/org/jclouds/simpledb/samples/MainApp.java
----------------------------------------------------------------------
diff --git a/demos/simpledb/src/main/java/org/jclouds/simpledb/samples/MainApp.java b/demos/simpledb/src/main/java/org/jclouds/simpledb/samples/MainApp.java
deleted file mode 100644
index c1aeeee..0000000
--- a/demos/simpledb/src/main/java/org/jclouds/simpledb/samples/MainApp.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.simpledb.samples;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Properties;
-
-import org.jclouds.aws.domain.Region;
-import org.jclouds.rest.RestContext;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.simpledb.SimpleDBAsyncClient;
-import org.jclouds.simpledb.SimpleDBClient;
-import org.jclouds.simpledb.domain.AttributePair;
-import org.jclouds.simpledb.domain.Item;
-import org.jclouds.simpledb.options.ListDomainsOptions;
-
-import com.google.common.collect.LinkedHashMultimap;
-import com.google.common.collect.Multimap;
-
-
-/**
- * This the Main class of an Application that demonstrates the use of the simpledb.
- * 
- * Usage is: java MainApp \"accesskeyid\" \"secretkey\" 
- * 
- * @author Luís A. Bastião Silva <ba...@ua.pt>
- * 
- */
-public class MainApp 
-{
-
-   public static int PARAMETERS = 3;
-   public static String INVALID_SYNTAX = "Invalid number of parameters. Syntax is: \"accesskeyid\" \"secretkey\" \"bucketName\" ";
-
-   public static void main(String[] args) throws IOException {
-
-
-      // Args
-      String accesskeyid = args[0];
-      String secretkey = args[1];
-      Properties properties = new Properties();
-      properties.setProperty("simpledb.identity", accesskeyid);
-      properties.setProperty("simpledb.credential", secretkey);
-
-      
-      RestContext<SimpleDBClient, SimpleDBAsyncClient> context = new RestContextFactory().createContext("simpledb", "AKIAJODKICBEKG7MM4XA", "FfqiNSiC88B6tJPDIOKUWUJGY68BQaQpkNz6Fsgq", new Properties());
-      AttributePair p = new AttributePair("AccessNumber", "1213123", true);
-      Multimap<String,AttributePair> m =LinkedHashMultimap.create();
-      m.put("AccessNumber", p);
-      Item attributes = new Item(m);
-      
-      // Use Provider API
-      context.getApi().putAttributes(Region.EU_WEST_1, "tse", "AccessNumber", attributes );   
-      //context.getApi().createDomainInRegion(Region.EU_WEST_1, "tse");
-      Map<String, Item> results = context.getApi().select(Region.EU_WEST_1, "select * from tse");
-      System.out.println(results);
-      ListDomainsOptions [] list = new  ListDomainsOptions[100]; 
-      //context.getApi().listDomainsInRegion(Region.EU_WEST_1, list);
-      System.out.println(list[0]);
-      context.close();
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/speedtest-azurequeue/README.txt
----------------------------------------------------------------------
diff --git a/demos/speedtest-azurequeue/README.txt b/demos/speedtest-azurequeue/README.txt
deleted file mode 100644
index 7eea7f1..0000000
--- a/demos/speedtest-azurequeue/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.
-====
-
-#
-# this is a simple example command line client that creates a queue, then tracks performance of it
-# 1. execute 'mvn install' to build the sample
-# 2. invoke the jar, passing your azure credentials and the bucket you wish to create
-# ex.
-#  java -jar target/jclouds-demo-speedtest-azurequeue-jar-with-dependencies.jar $AZURE_USER $AZURE_PWD testqueue 1000

http://git-wip-us.apache.org/repos/asf/incubator-jclouds/blob/f22731d9/demos/speedtest-azurequeue/pom.xml
----------------------------------------------------------------------
diff --git a/demos/speedtest-azurequeue/pom.xml b/demos/speedtest-azurequeue/pom.xml
deleted file mode 100644
index 12c1267..0000000
--- a/demos/speedtest-azurequeue/pom.xml
+++ /dev/null
@@ -1,83 +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.apache.jclouds</groupId>
-    <artifactId>jclouds-demos-project</artifactId>
-    <version>1.7.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>jclouds-demo-speedtest-azurequeue</artifactId>
-  <name>Speed tests of Azure's queue offering</name>
-  <description>Creates a queue and then tests performance against it</description>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-enterprise</artifactId>
-      <version>${project.version}</version>
-    </dependency> 
-    <dependency>
-      <groupId>org.apache.jclouds.provider</groupId>
-      <artifactId>azurequeue</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <finalName>${project.artifactId}</finalName>
-    <plugins>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>
-            <manifest>
-              <mainClass>org.jclouds.azure.azurequeue.SpeedTest</mainClass>
-            </manifest>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptorRefs>
-            <descriptorRef>jar-with-dependencies</descriptorRef>
-          </descriptorRefs>
-          <archive>
-            <manifest>
-              <mainClass>org.jclouds.azure.azurequeue.SpeedTest</mainClass>
-            </manifest>
-          </archive>
-        </configuration>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>