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:37:03 UTC

git commit: JCLOUDS-54. remove historical demos

Updated Branches:
  refs/heads/master 1ef77bf52 -> 1f0b808e2


JCLOUDS-54. remove historical demos


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

Branch: refs/heads/master
Commit: 1f0b808e2d2af7d39e10219c87dcc094cef18f1b
Parents: 1ef77bf
Author: adriancole <ad...@gmail.com>
Authored: Thu May 16 15:28:34 2013 -0700
Committer: adriancole <ad...@gmail.com>
Committed: Thu May 16 15:36:01 2013 -0700

----------------------------------------------------------------------
 demos/gae/README.txt                               |   26 --
 demos/gae/pom.xml                                  |  275 ---------------
 demos/gae/src/main/appengine/appengine-web.xml     |   28 --
 demos/gae/src/main/appengine/logging.properties    |   49 ---
 demos/gae/src/main/appengine/web.xml               |   84 -----
 .../chef/demo/config/GuiceServletConfig.java       |   96 -----
 .../chef/demo/config/MessageFormatFormatter.java   |   61 ----
 .../demo/controllers/GetNodeStatusController.java  |   90 -----
 .../demo/domain/GoogleAppEngineNodeStatus.java     |  151 --------
 .../org/jclouds/chef/demo/ohai/WebXmlSupplier.java |   58 ---
 .../chef/demo/ohai/config/WebXmlOhaiModule.java    |   44 ---
 demos/gae/src/main/webapp/WEB-INF/cron.xml         |   22 --
 demos/gae/src/main/webapp/WEB-INF/jsp/status.jsp   |  131 -------
 demos/gae/src/main/webapp/index.jsp                |   30 --
 .../demo/integration/GoogleAppEngineLiveTest.java  |  139 --------
 .../chef/demo/integration/GoogleDevServer.java     |   53 ---
 .../jclouds/chef/demo/ohai/WebXmlSupplierTest.java |   84 -----
 .../chef/demo/ohai/config/OhaiModuleTest.java      |  118 ------
 demos/gae/src/test/resources/log4j.xml             |  142 --------
 19 files changed, 0 insertions(+), 1681 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/README.txt
----------------------------------------------------------------------
diff --git a/demos/gae/README.txt b/demos/gae/README.txt
deleted file mode 100755
index e1be1a5..0000000
--- a/demos/gae/README.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-This demo registers the servlet context Google App Engine creates in the Opscode (Chef) Platform upon startup.  It then displays the data stored in the platform regarding the current servlet container.
-
-On this screen, you can see when the node was last updated.  The chef nodes corresponding to appengine instances have the following naming convention: applicationId-[0-9]+  
-
-For example, here is the status page from the jclouds org in the Opscode Platform:
-  http://jclouds-chef-demo.appspot.com/nodes/do
-
-This demo uses the Google App Engine for Java SDK located at http://googleappengine.googlecode.com/files/appengine-java-sdk-1.3.5.zip
-
-Please unzip the above file and export its location to your environment variable APPENGINE_HOME
-
-Next, login to your opscode platform org and create a client named the same as your applicationid. Save the private key to ~/.chef/<id>.pem
-
-Then, you can run the demo on you local machine by executing the following:
-   mvn -Plive -Dappengine.applicationid=YOUR_APPLICATIONID -Djclouds.opscodeplatform.org=YOUR_ORG_IN_OPSCODE_PLATFORM clean install
-
-When the above runs successfully on your machine, you can deploy to google appengine via the following:
-
-    $APPENGINE_HOME/bin/appcfg.sh -e YOUR_EMAIL update target/jclouds-chef-demo-googleappengine
-
-Once this completes, you can view your status via:
-  http://YOUR_GOOGLE_APPENGINE_ID.appspot.com/nodes/do
-
-Note that if you are using the Opscode Platform, 5 nodes are free, so be sure to watch out and delete excess nodes in the console as needed:
-   https://manage.opscode.com/nodes
-   

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/pom.xml
----------------------------------------------------------------------
diff --git a/demos/gae/pom.xml b/demos/gae/pom.xml
deleted file mode 100644
index 9031fab..0000000
--- a/demos/gae/pom.xml
+++ /dev/null
@@ -1,275 +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>
-  <artifactId>jclouds-chef-demo-googleappengine</artifactId>
-  <groupId>jclouds</groupId>
-  <version>1.7.0-SNAPSHOT</version>
-  <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.home} to a valid
-        extraction of appengine-java-sdk
-    -->
-    <maven.compile.source>1.6</maven.compile.source>
-    <maven.compile.target>1.6</maven.compile.target>
-    <appengine.home>${env.APPENGINE_HOME}</appengine.home>
-    <appengine.applicationid>YOUR_APPLICATION_ID</appengine.applicationid>
-    <devappserver.address>localhost</devappserver.address>
-    <devappserver.port>8088</devappserver.port>
-    <jclouds.chef.identity>${appengine.applicationid}</jclouds.chef.identity>
-    <jclouds.chef.identity.pem>${user.home}/.chef/${jclouds.chef.identity}.pem</jclouds.chef.identity.pem>
-    <jclouds.opscodeplatform.org>YOUR_ORG</jclouds.opscodeplatform.org>
-    <jclouds.chef.endpoint>https://api.opscode.com/organizations/${jclouds.opscodeplatform.org}</jclouds.chef.endpoint>
-  </properties>
-
-  <repositories>
-    <repository>
-      <id>jclouds-gae-depedencies</id>
-      <url>http://jclouds.googlecode.com/svn/repo</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-chef-servlet</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymockclassextension</artifactId>
-      <version>2.4</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-log4j</artifactId>
-      <version>${jclouds.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.14</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.testng</groupId>
-      <artifactId>testng</artifactId>
-      <version>5.10</version>
-      <scope>test</scope>
-      <classifier>jdk15</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jclouds</groupId>
-      <artifactId>jclouds-gae</artifactId>
-      <version>${jclouds.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.code.guice</groupId>
-      <artifactId>guice-servlet</artifactId>
-      <version>2.1-r1201</version>
-    </dependency>
-    <dependency>
-      <groupId>displaytag</groupId>
-      <artifactId>displaytag</artifactId>
-      <version>1.2</version>
-      <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>
-    </dependency>
-    <dependency>
-      <artifactId>standard</artifactId>
-      <groupId>taglibs</groupId>
-      <version>1.1.2</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <artifactId>jstl</artifactId>
-      <groupId>javax.servlet</groupId>
-      <version>1.1.2</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-el_1.0_spec</artifactId>
-      <version>1.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jsp_2.1_spec</artifactId>
-      <version>1.0.1</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-servlet_2.5_spec</artifactId>
-      <version>1.2</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.appengine</groupId>
-      <artifactId>appengine-api-labs</artifactId>
-      <version>1.3.5</version>
-    </dependency>
-    <dependency>
-      <groupId>com.google.appengine</groupId>
-      <artifactId>appengine-tools-api</artifactId>
-      <version>1.3.5</version>
-      <scope>system</scope>
-      <systemPath>${appengine.home}/lib/appengine-tools-api.jar</systemPath>
-    </dependency>
-  </dependencies>
-  <build>
-    <finalName>${project.artifactId}</finalName>
-    <plugins>
-      <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <encoding>${sourceEncoding}</encoding>
-          <source>${maven.compile.source}</source>
-          <target>${maven.compile.target}</target>
-        </configuration>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-war-plugin</artifactId>
-        <configuration>
-          <webResources>
-            <resource>
-              <directory>src/main/appengine</directory>
-              <targetPath>WEB-INF/</targetPath>
-              <filtering>true</filtering>
-            </resource>
-          </webResources>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>**/*LiveTest.java</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <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>
-                  <excludes>
-                    <exclude>none</exclude>
-                  </excludes>
-                  <includes>
-                    <include>**/*LiveTest.java</include>
-                  </includes>
-                  <systemProperties>
-                    <property>
-                      <name>jclouds.chef.identity</name>
-                      <value>${jclouds.chef.identity}</value>
-                    </property>
-                    <property>
-                      <name>jclouds.chef.identity.pem</name>
-                      <value>${jclouds.chef.identity.pem}</value>
-                    </property>
-                    <property>
-                      <name>jclouds.chef.endpoint</name>
-                      <value>${jclouds.chef.endpoint}</value>
-                    </property>
-                    <property>
-                      <name>jclouds.chef.validator</name>
-                      <value>${jclouds.chef.validator}</value>
-                    </property>
-                    <property>
-                      <name>jclouds.chef.validator.pem</name>
-                      <value>${jclouds.chef.validator.pem}</value>
-                    </property>
-                    <property>
-                      <name>appengine.applicationid</name>
-                      <value>${appengine.applicationid}</value>
-                    </property>
-                    <property>
-                      <name>appengine.home</name>
-                      <value>${appengine.home}</value>
-                    </property>
-                    <property>
-                      <name>devappserver.address</name>
-                      <value>${devappserver.address}</value>
-                    </property>
-                    <property>
-                      <name>devappserver.port</name>
-                      <value>${devappserver.port}</value>
-                    </property>
-                    <property>
-                      <name>warfile</name>
-                      <value>${project.build.directory}/${project.artifactId}</value>
-                    </property>
-                  </systemProperties>
-                  <additionalClasspathElements>
-                    <additionalClasspathElement>${appengine.home}/lib/appengine-tools-api.jar</additionalClasspathElement>
-                  </additionalClasspathElements>
-                  <environmentVariables>
-                    <DEBUG>true</DEBUG>
-                    <SDK_BIN>${appengine.home}/bin</SDK_BIN>
-                    <SDK_LIB>${appengine.home}/lib</SDK_LIB>
-                    <SDK_CONFIG>${appengine.home}/config/sdk</SDK_CONFIG>
-                  </environmentVariables>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/appengine/appengine-web.xml
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/appengine/appengine-web.xml b/demos/gae/src/main/appengine/appengine-web.xml
deleted file mode 100755
index 32d6d68..0000000
--- a/demos/gae/src/main/appengine/appengine-web.xml
+++ /dev/null
@@ -1,28 +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>
-</appengine-web-app>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/appengine/logging.properties
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/appengine/logging.properties b/demos/gae/src/main/appengine/logging.properties
deleted file mode 100644
index 6d751aa..0000000
--- a/demos/gae/src/main/appengine/logging.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Licensed to jclouds, Inc. (jclouds) under one or more
-# contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  jclouds licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-# Set the default logging level for all loggers to WARNING
-.level = INFO
-java.util.logging.ConsoleHandler.formatter=org.jclouds.chef.demo.config.MessageFormatFormatter
-org.jclouds.rest.internal.AsyncRestClientProxy.level=FINE
-org.jclouds.gae.GaeHttpCommandExecutorService.level=FINE
-org.jclouds.http.internal.BaseHttpCommandExecutorService.level=FINE
-org.jclouds.chef.demo.config.GuiceServletConfig.level=FINE
-org.jclouds.chef.servlet.ChefRegistrationListener.level=FINE
-
-org.jclouds.chef.demo.controllers.GetNodeStatusController.level=FINE
-
-jclouds.chef.level=FINE
-
-# too much noise
-org.apache.commons.httpclient.HttpMethodBase.level=OFF
-org.displaytag=OFF
-# Set the default logging level for ORM, specifically, to WARNING
-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-chef/blob/1f0b808e/demos/gae/src/main/appengine/web.xml
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/appengine/web.xml b/demos/gae/src/main/appengine/web.xml
deleted file mode 100755
index 8bf9bbf..0000000
--- a/demos/gae/src/main/appengine/web.xml
+++ /dev/null
@@ -1,84 +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">
-
-	<context-param>
-		<param-name>jclouds.modules</param-name>
-		<param-value>org.jclouds.logging.jdk.config.JDKLoggingModule,org.jclouds.gae.config.AsyncGoogleAppEngineConfigurationModule,org.jclouds.ohai.config.OhaiModule,org.jclouds.chef.demo.ohai.config.WebXmlOhaiModule,org.jclouds.ohai.servlet.config.ServletOhaiModule
-		</param-value>
-	</context-param>
-
-	<context-param>
-		<param-name>chef.node-pattern</param-name>
-		<param-value>${appengine.applicationid}-%02x</param-value>
-	</context-param>
-
-	<context-param>
-		<param-name>chef.run-list</param-name>
-		<param-value>role[${appengine.applicationid}]</param-value>
-	</context-param>
-	
-	<context-param>
-		<param-name>chef.endpoint</param-name>
-		<param-value>${jclouds.chef.endpoint}</param-value>
-	</context-param>
-
-	<context-param>
-		<param-name>chef.identity</param-name>
-		<param-value>${jclouds.chef.identity}</param-value>
-	</context-param>
-
-	<context-param>
-		<param-name>chef.credential.resource</param-name>
-		<param-value>/chef.credential</param-value>
-	</context-param>
-
-	<display-name>${project.artifactId}</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>/*</url-pattern>
-	</filter-mapping>
-
-	<listener>
-		<listener-class>org.jclouds.chef.servlet.ChefRegistrationListener
-		</listener-class>
-	</listener>
-
-	<listener>
-		<listener-class>org.jclouds.chef.demo.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-chef/blob/1f0b808e/demos/gae/src/main/java/org/jclouds/chef/demo/config/GuiceServletConfig.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/java/org/jclouds/chef/demo/config/GuiceServletConfig.java b/demos/gae/src/main/java/org/jclouds/chef/demo/config/GuiceServletConfig.java
deleted file mode 100755
index 9488c81..0000000
--- a/demos/gae/src/main/java/org/jclouds/chef/demo/config/GuiceServletConfig.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.config;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.collect.Iterables.concat;
-import static com.google.inject.name.Names.bindProperties;
-import static org.jclouds.chef.reference.ChefConstants.CHEF_NODE;
-import static org.jclouds.chef.reference.ChefConstants.CHEF_SERVICE_CLIENT;
-import static org.jclouds.util.Utils.modulesForProviderInProperties;
-
-import java.util.Properties;
-
-import javax.servlet.ServletContextEvent;
-
-import org.jclouds.PropertiesBuilder;
-import org.jclouds.chef.ChefService;
-import org.jclouds.chef.demo.controllers.GetNodeStatusController;
-import org.jclouds.chef.domain.Node;
-import org.jclouds.chef.servlet.functions.InitParamsToProperties;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.logging.Logger;
-import org.jclouds.logging.jdk.JDKLogger;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.servlet.GuiceServletContextListener;
-import com.google.inject.servlet.ServletModule;
-
-/**
- * Finds the nodename and client connection in the servlet context and binds
- * them to guice.
- * 
- * Guice then registers the servlets associated with this demo.
- * 
- * @author Adrian Cole
- */
-public class GuiceServletConfig extends GuiceServletContextListener {
-
-   private Logger logger = new JDKLogger.JDKLoggerFactory().getLogger(GuiceServletConfig.class.getName());
-   private Properties properties;
-
-   private Node node;
-   private ChefService clientConnection;
-
-   @Override
-   public void contextInitialized(ServletContextEvent servletContextEvent) {
-      try {
-         logger.debug("starting initialization");
-         properties = InitParamsToProperties.INSTANCE.apply(servletContextEvent.getServletContext());
-         node = getContextAttribute(servletContextEvent, CHEF_NODE);
-         clientConnection = getContextAttribute(servletContextEvent, CHEF_SERVICE_CLIENT);
-         super.contextInitialized(servletContextEvent);
-         logger.debug("initialized");
-      } catch (RuntimeException e) {
-         logger.error(e, "error initializing");
-         throw e;
-      }
-   }
-
-   @Override
-   protected Injector getInjector() {
-      return Guice.createInjector(concat(modulesForProviderInProperties("chef", properties), ImmutableSet.of(
-            new GsonModule(), new ServletModule() {
-               @Override
-               protected void configureServlets() {
-                  bindProperties(binder(), new PropertiesBuilder().build());
-                  bind(Node.class).toInstance(node);
-                  bind(ChefService.class).toInstance(clientConnection);
-                  serve("/nodes/do").with(GetNodeStatusController.class);
-               }
-            })));
-   }
-
-   @SuppressWarnings("unchecked")
-   private static <T> T getContextAttribute(ServletContextEvent servletContextEvent, String name) {
-      return (T) checkNotNull(servletContextEvent.getServletContext().getAttribute(name), name);
-   }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/java/org/jclouds/chef/demo/config/MessageFormatFormatter.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/java/org/jclouds/chef/demo/config/MessageFormatFormatter.java b/demos/gae/src/main/java/org/jclouds/chef/demo/config/MessageFormatFormatter.java
deleted file mode 100644
index e186bcd..0000000
--- a/demos/gae/src/main/java/org/jclouds/chef/demo/config/MessageFormatFormatter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.config;
-
-import java.text.MessageFormat;
-import java.util.Date;
-import java.util.logging.Formatter;
-import java.util.logging.LogRecord;
-
-import com.google.appengine.repackaged.com.google.common.base.Throwables;
-
-public class MessageFormatFormatter extends Formatter {
-
-   private static final String FORMAT = "{0,date,hh:mm:ss.SSS} {3}[{1}|{2}]: {4} \n";
-   private static final MessageFormat messageFormat = new MessageFormat(FORMAT);
-   private static final MessageFormat thrownFormat = new MessageFormat(FORMAT + "{5}\n");
-
-   public MessageFormatFormatter() {
-
-      super();
-
-   }
-
-   @Override
-   public String format(LogRecord record) {
-
-      Object[] arguments = new Object[6];
-
-      arguments[0] = new Date(record.getMillis());
-
-      arguments[1] = record.getLevel();
-
-      arguments[3] = record.getLoggerName();
-
-      arguments[2] = Thread.currentThread().getName();
-
-      arguments[4] = record.getMessage();
-
-      arguments[5] = record.getThrown() != null ? Throwables.getStackTraceAsString(record.getThrown()) : null;
-
-      return arguments[5] == null ? messageFormat.format(arguments) : thrownFormat.format(arguments);
-
-   }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/java/org/jclouds/chef/demo/controllers/GetNodeStatusController.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/java/org/jclouds/chef/demo/controllers/GetNodeStatusController.java b/demos/gae/src/main/java/org/jclouds/chef/demo/controllers/GetNodeStatusController.java
deleted file mode 100755
index 2092bb6..0000000
--- a/demos/gae/src/main/java/org/jclouds/chef/demo/controllers/GetNodeStatusController.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.chef.demo.controllers;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.IOException;
-import java.util.Set;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeoutException;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-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.chef.ChefService;
-import org.jclouds.chef.domain.Node;
-import org.jclouds.chef.domain.Role;
-import org.jclouds.chef.util.ChefUtils;
-import org.jclouds.logging.Logger;
-
-/**
- * Shows an example of how to use @{link ChefClient}
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class GetNodeStatusController extends HttpServlet {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   private static final long serialVersionUID = 1L;
-
-   private final ChefService chef;
-   private final Node node;
-
-   @Inject
-   GetNodeStatusController(ChefService chef, Node node) {
-      this.chef = checkNotNull(chef, "chef");
-      this.node = checkNotNull(node, "node");
-   }
-
-   @Override
-   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-      try {
-         addStatusResultsToRequest(request);
-         RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/jsp/status.jsp");
-         dispatcher.forward(request, response);
-      } catch (Exception e) {
-         logger.error(e, "Error listing status");
-         throw new ServletException(e);
-      }
-   }
-
-   private void addStatusResultsToRequest(HttpServletRequest request) throws InterruptedException, ExecutionException,
-         TimeoutException {
-      String roleName = ChefUtils.findRoleInRunList(node.getRunList());
-
-      Future<Role> roleF = chef.getContext().getAsyncApi().getRole(roleName);
-      Future<Set<String>> items = chef.getContext().getAsyncApi().listDatabagItems(roleName);
-
-      request.setAttribute("node", node);
-      request.setAttribute("role", roleF.get());
-      request.setAttribute("items", items.get());
-   }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/java/org/jclouds/chef/demo/domain/GoogleAppEngineNodeStatus.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/java/org/jclouds/chef/demo/domain/GoogleAppEngineNodeStatus.java b/demos/gae/src/main/java/org/jclouds/chef/demo/domain/GoogleAppEngineNodeStatus.java
deleted file mode 100644
index f05cb98..0000000
--- a/demos/gae/src/main/java/org/jclouds/chef/demo/domain/GoogleAppEngineNodeStatus.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.domain;
-
-/**
- * Metadata about a google appengine instance which is registered in chef.
- * 
- * @author Adrian Cole
- */
-public class GoogleAppEngineNodeStatus {
-   private final boolean isMe;
-   private final String name;
-   private final String runList;
-   private final String applicationId;
-   private final String environment;
-   private final String runtimeVersion;
-   private final String applicationVersion;
-   private final String checkIn;
-
-   public GoogleAppEngineNodeStatus(boolean isMe, String name, String runList, String applicationId,
-            String environment, String runtimeVersion, String applicationVersion, String checkIn) {
-      this.isMe = isMe;
-      this.name = name;
-      this.runList = runList;
-      this.applicationId = applicationId;
-      this.environment = environment;
-      this.runtimeVersion = runtimeVersion;
-      this.applicationVersion = applicationVersion;
-      this.checkIn = checkIn;
-   }
-
-   public boolean isMe() {
-      return isMe;
-   }
-
-   public String getCheckIn() {
-      return checkIn;
-   }
-
-   public String getName() {
-      return name;
-   }
-
-   public String getRunList() {
-      return runList;
-   }
-
-   public String getApplicationId() {
-      return applicationId;
-   }
-
-   public String getEnvironment() {
-      return environment;
-   }
-
-   public String getRuntimeVersion() {
-      return runtimeVersion;
-   }
-
-   public String getApplicationVersion() {
-      return applicationVersion;
-   }
-
-   @Override
-   public int hashCode() {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((applicationId == null) ? 0 : applicationId.hashCode());
-      result = prime * result + ((applicationVersion == null) ? 0 : applicationVersion.hashCode());
-      result = prime * result + ((checkIn == null) ? 0 : checkIn.hashCode());
-      result = prime * result + ((environment == null) ? 0 : environment.hashCode());
-      result = prime * result + (isMe ? 1231 : 1237);
-      result = prime * result + ((name == null) ? 0 : name.hashCode());
-      result = prime * result + ((runList == null) ? 0 : runList.hashCode());
-      result = prime * result + ((runtimeVersion == null) ? 0 : runtimeVersion.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj) {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      GoogleAppEngineNodeStatus other = (GoogleAppEngineNodeStatus) obj;
-      if (applicationId == null) {
-         if (other.applicationId != null)
-            return false;
-      } else if (!applicationId.equals(other.applicationId))
-         return false;
-      if (applicationVersion == null) {
-         if (other.applicationVersion != null)
-            return false;
-      } else if (!applicationVersion.equals(other.applicationVersion))
-         return false;
-      if (checkIn == null) {
-         if (other.checkIn != null)
-            return false;
-      } else if (!checkIn.equals(other.checkIn))
-         return false;
-      if (environment == null) {
-         if (other.environment != null)
-            return false;
-      } else if (!environment.equals(other.environment))
-         return false;
-      if (isMe != other.isMe)
-         return false;
-      if (name == null) {
-         if (other.name != null)
-            return false;
-      } else if (!name.equals(other.name))
-         return false;
-      if (runList == null) {
-         if (other.runList != null)
-            return false;
-      } else if (!runList.equals(other.runList))
-         return false;
-      if (runtimeVersion == null) {
-         if (other.runtimeVersion != null)
-            return false;
-      } else if (!runtimeVersion.equals(other.runtimeVersion))
-         return false;
-      return true;
-   }
-
-   @Override
-   public String toString() {
-      return "[applicationId=" + applicationId + ", applicationVersion=" + applicationVersion + ", checkIn=" + checkIn
-               + ", environment=" + environment + ", isMe=" + isMe + ", name=" + name + ", runList=" + runList
-               + ", runtimeVersion=" + runtimeVersion + "]";
-   }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/WebXmlSupplier.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/WebXmlSupplier.java b/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/WebXmlSupplier.java
deleted file mode 100644
index d636506..0000000
--- a/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/WebXmlSupplier.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.ohai;
-
-import static org.jclouds.util.Utils.escapeJsonString;
-import static org.jclouds.util.Utils.toStringAndClose;
-
-import javax.annotation.Resource;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import javax.servlet.ServletContext;
-
-import org.jclouds.logging.Logger;
-import org.jclouds.ohai.servlet.suppliers.ServletContextSupplier;
-
-/**
- * 
- * @author Adrian Cole
- */
-@Singleton
-public class WebXmlSupplier extends ServletContextSupplier {
-
-   @Resource
-   protected Logger logger = Logger.NULL;
-
-   @Inject
-   public WebXmlSupplier(ServletContext servletContext) {
-      super(servletContext);
-   }
-
-   @Override
-   protected String provideJson(ServletContext servletContext) {
-      try {
-         logger.debug("loading web.xml");
-         return String.format("{\"web_xml\":\"%s\"}", escapeJsonString(toStringAndClose(servletContext
-               .getResourceAsStream("/WEB-INF/web.xml"))));
-      } catch (Exception e) {
-         logger.warn(e, "could not load web.xml");
-         return "{}";
-      }
-   }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/config/WebXmlOhaiModule.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/config/WebXmlOhaiModule.java b/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/config/WebXmlOhaiModule.java
deleted file mode 100644
index 75aee02..0000000
--- a/demos/gae/src/main/java/org/jclouds/chef/demo/ohai/config/WebXmlOhaiModule.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.chef.demo.ohai.config;
-
-
-import static org.jclouds.chef.util.ChefUtils.ohaiAutomaticAttributeBinder;
-
-import org.jclouds.chef.demo.ohai.WebXmlSupplier;
-import org.jclouds.domain.JsonBall;
-import org.jclouds.ohai.config.multibindings.MapBinder;
-
-import com.google.common.base.Supplier;
-import com.google.inject.AbstractModule;
-
-/**
- * Wires the components needed to parse ohai data
- * 
- * @author Adrian Cole
- */
-public class WebXmlOhaiModule extends AbstractModule {
-
-   @Override
-   protected void configure() {
-      MapBinder<String, Supplier<JsonBall>> mapbinder = ohaiAutomaticAttributeBinder(binder());
-      mapbinder.addBinding("webapp").to(WebXmlSupplier.class);
-   }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/webapp/WEB-INF/cron.xml
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/webapp/WEB-INF/cron.xml b/demos/gae/src/main/webapp/WEB-INF/cron.xml
deleted file mode 100755
index 26b585d..0000000
--- a/demos/gae/src/main/webapp/WEB-INF/cron.xml
+++ /dev/null
@@ -1,22 +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.
-
--->
-<cronentries/>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/webapp/WEB-INF/jsp/status.jsp
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/webapp/WEB-INF/jsp/status.jsp b/demos/gae/src/main/webapp/WEB-INF/jsp/status.jsp
deleted file mode 100755
index 3c175a5..0000000
--- a/demos/gae/src/main/webapp/WEB-INF/jsp/status.jsp
+++ /dev/null
@@ -1,131 +0,0 @@
-<%--
-
-    Licensed to jclouds, Inc. (jclouds) under one or more
-    contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  jclouds licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT 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="20kb"%>
-<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
-<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> 
-<html>
-<head>
-<title>jclouds: multi-cloud framework</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:100px;
-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: 100px; 
-overflow-x:hidden; 
-overflow-y:auto;
-}
--->
-</style>
-</head>
-<body>
-<h2>This servlet context is registered as node <a href='https://manage.opscode.com/nodes/<c:out value="${node.name}"/>'><c:out value="${node.name}"/></a> in the <a href='https://cookbooks.opscode.com/users/new'>Opscode Platform</a></h2>
-    <table width="100%" border="0">
-                <tr>
-                        <td>
-
-<div class="TableContainer">
-
-<display:table name="node" cellpadding="5" cellspacing="1" class="staticheader">
-	<display:column property="name" />
-	<display:column property="runList"/>
-</display:table>
-</div>
-</td>
-</tr>
-</table>
-<h2>Contents of <c:out value="${node.name}"/>'s first role</h2>
-    <table width="100%" border="0">
-             <tr>
-                        <td>
-
-<div class="TableContainer">
-
-<display:table name="role" cellpadding="5" cellspacing="1" class="staticheader">
-</display:table>
-</div>
-</td>
-</tr>
-</table>
-<h2>Contents of databag</h2>
-    <table width="100%" border="0">
-             <tr>
-                        <td>
-
-<div class="TableContainer">
-
-<display:table name="items" cellpadding="5" cellspacing="1" class="staticheader">
-</display:table>
-</div>
-</td>
-</tr>
-</table>
-
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/main/webapp/index.jsp
----------------------------------------------------------------------
diff --git a/demos/gae/src/main/webapp/index.jsp b/demos/gae/src/main/webapp/index.jsp
deleted file mode 100755
index 5e18327..0000000
--- a/demos/gae/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="/nodes/do">here</a> to check the status of your nodes.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleAppEngineLiveTest.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleAppEngineLiveTest.java b/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleAppEngineLiveTest.java
deleted file mode 100755
index 4079cbe..0000000
--- a/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleAppEngineLiveTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.integration;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Properties;
-
-import org.jclouds.chef.ChefAsyncClient;
-import org.jclouds.chef.ChefClient;
-import org.jclouds.chef.ChefContext;
-import org.jclouds.chef.ChefService;
-import org.jclouds.chef.domain.Node;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.rest.RestContextFactory;
-import org.jclouds.util.Utils;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Parameters;
-import org.testng.annotations.Test;
-
-import com.google.appengine.repackaged.com.google.common.base.Charsets;
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.io.Files;
-import com.google.inject.Module;
-
-/**
- * Starts up the Google App Engine for Java Development environment and deploys
- * an application which tests Chef.
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "live" }, sequential = true)
-public class GoogleAppEngineLiveTest {
-
-   GoogleDevServer server;
-   private URL url;
-
-   @BeforeTest
-   @Parameters( { "jclouds.chef.identity.pem", "warfile", "devappserver.address", "devappserver.port" })
-   public void startDevAppServer(final String pemFile, final String warfile, final String address, final String port)
-         throws Exception {
-      url = new URL(String.format("http://%s:%s", address, port));
-
-      server = new GoogleDevServer();
-      // TODO move this out of band
-      Files.write(Files.toString(new File(pemFile), Charsets.UTF_8), new File(String.format(
-            "%s/WEB-INF/classes/chef.credential", warfile)), Charsets.UTF_8);
-      server.startServer(address, port, warfile);
-   }
-
-   @Test
-   public void shouldPass() throws InterruptedException, IOException {
-      InputStream i = url.openStream();
-      String string = Utils.toStringAndClose(i);
-      assert string.indexOf("Welcome") >= 0 : string;
-   }
-
-   @Test(invocationCount = 5, enabled = true)
-   public void testGuiceJCloudsSerial() throws InterruptedException, IOException {
-      URL gurl = new URL(url, "/nodes/do");
-      InputStream i = gurl.openStream();
-      String string = Utils.toStringAndClose(i);
-      assert string.indexOf("Opscode Platform") >= 0 : string;
-   }
-
-   @Test(invocationCount = 10, enabled = true, threadPoolSize = 3)
-   public void testGuiceJCloudsParallel() throws InterruptedException, IOException {
-      URL gurl = new URL(url, "/nodes/do");
-      InputStream i = gurl.openStream();
-      String string = Utils.toStringAndClose(i);
-      assert string.indexOf("Opscode Platform") >= 0 : string;
-   }
-
-   @BeforeTest(groups = { "live" })
-   @AfterTest(groups = { "live" })
-   @Parameters( { "appengine.applicationid", "jclouds.chef.endpoint", "jclouds.chef.identity",
-         "jclouds.chef.identity.pem" })
-   public void cleanupDevelopmentClientsAndNodes(String applicationId, String endpoint, String identity,
-         String identityPemFile) throws IOException {
-
-      Properties props = new Properties();
-      props.setProperty("chef.endpoint", endpoint);
-
-      ChefContext context = buildContext(identity, identityPemFile, props);
-
-      // careful... you may clean up your production nodes!
-      // context.getChefService().cleanupStaleNodesAndClients(applicationId, 30
-      // * 60);
-      cleanupDevelopmentNodes(context.getChefService(), applicationId);
-   }
-
-   private ChefContext buildContext(String identity, String identityPemFile, Properties props) throws IOException {
-      ChefContext context = (ChefContext) new RestContextFactory().<ChefClient, ChefAsyncClient> createContextBuilder(
-            "chef", identity, Files.toString(new File(identityPemFile), Charsets.UTF_8),
-            ImmutableSet.<Module> of(new Log4JLoggingModule()), props).buildContext();
-      return context;
-   }
-
-   private void cleanupDevelopmentNodes(ChefService chef, final String applicationId) {
-      for (Node node : chef.listNodesMatching(new Predicate<String>() {
-
-         @Override
-         public boolean apply(String input) {
-            return input.startsWith(applicationId);
-         }
-
-      })) {
-         if (node.getAutomatic().get("java") != null) {
-            Properties systemProperties = chef.getContext().utils().json().fromJson(
-                  node.getAutomatic().get("java").toString(), Properties.class);
-            String environment = systemProperties.getProperty("com.google.appengine.runtime.environment");
-            if (environment.equalsIgnoreCase("Development")) {
-               chef.deleteAllNodesInList(Collections.singleton(node.getName()));
-            }
-         }
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleDevServer.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleDevServer.java b/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleDevServer.java
deleted file mode 100755
index 19ff1f3..0000000
--- a/demos/gae/src/test/java/org/jclouds/chef/demo/integration/GoogleDevServer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.integration;
-
-import java.io.IOException;
-
-import com.google.appengine.tools.KickStart;
-
-/**
- * Basic functionality to start a local google app engine instance.
- * 
- * @author Adrian Cole
- */
-public class GoogleDevServer {
-
-   Thread server;
-
-   public void startServer(final String address, final String port, final String warfile) throws IOException,
-         InterruptedException {
-      this.server = new Thread(new Runnable() {
-         public void run() {
-            KickStart.main(new String[] { "com.google.appengine.tools.development.DevAppServerMain",
-                  "--jvm_flag=-Dtask_queue.disable_auto_task_execution=true", "--disable_update_check", "-a", address,
-                  "-p", port, warfile });
-         }
-
-      });
-      server.start();
-      Thread.sleep(60 * 1000);
-   }
-
-   @SuppressWarnings("deprecation")
-   public void stop() throws Exception {
-      server.stop();
-   }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/WebXmlSupplierTest.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/WebXmlSupplierTest.java b/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/WebXmlSupplierTest.java
deleted file mode 100644
index 3f45040..0000000
--- a/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/WebXmlSupplierTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.ohai;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.testng.Assert.assertEquals;
-
-import java.util.Map;
-
-import javax.servlet.ServletContext;
-
-import org.jclouds.json.Json;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.util.Utils;
-import org.testng.annotations.Test;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-
-/**
- * 
- * @author Adrian Cole
- */
-
-@Test(groups = { "unit" })
-public class WebXmlSupplierTest {
-
-   @Test
-   public void testApplyEmptyPath() {
-
-      final ServletContext servletContext = createMock(ServletContext.class);
-
-      expect(servletContext.getContextPath()).andReturn("");
-      expect(servletContext.getResourceAsStream("/WEB-INF/web.xml")).andReturn(
-            Utils.toInputStream("<tag name=\"fooy\"></tag>"));
-
-      replay(servletContext);
-
-      Injector injector = Guice.createInjector(new GsonModule(), new AbstractModule() {
-         @SuppressWarnings("unused")
-         @Provides
-         protected ServletContext provideServletContext() {
-            return servletContext;
-         }
-
-         @Override
-         protected void configure() {
-            
-         }
-
-      });
-
-      Json json = injector.getInstance(Json.class);
-      WebXmlSupplier ohai = injector.getInstance(WebXmlSupplier.class);
-      String jsonV = json.toJson(ohai.get());
-      json.fromJson(jsonV, new TypeLiteral<Map<String, Map<String, String>>>() {
-      }.getType());
-      assertEquals(json.<Map<String, Map<String, String>>> fromJson(jsonV,
-            new TypeLiteral<Map<String, Map<String, String>>>() {
-            }.getType()).get("/").get("web_xml"), "<tag name=\"fooy\"></tag>");
-
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/config/OhaiModuleTest.java
----------------------------------------------------------------------
diff --git a/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/config/OhaiModuleTest.java b/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/config/OhaiModuleTest.java
deleted file mode 100644
index b96db1b..0000000
--- a/demos/gae/src/test/java/org/jclouds/chef/demo/ohai/config/OhaiModuleTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * Licensed to jclouds, Inc. (jclouds) under one or more
- * contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  jclouds licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jclouds.chef.demo.ohai.config;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.testng.Assert.assertEquals;
-
-import java.net.SocketException;
-import java.util.Enumeration;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.inject.Inject;
-import javax.servlet.ServletContext;
-
-import org.jclouds.chef.config.ChefParserModule;
-import org.jclouds.domain.JsonBall;
-import org.jclouds.json.Json;
-import org.jclouds.json.config.GsonModule;
-import org.jclouds.ohai.Automatic;
-import org.jclouds.ohai.config.OhaiModule;
-import org.jclouds.ohai.servlet.config.ServletOhaiModule;
-import org.jclouds.util.Utils;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Supplier;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Provides;
-import com.google.inject.TypeLiteral;
-
-/**
- * Tests behavior of {@code OhaiModule}
- * 
- * @author Adrian Cole
- */
-@Test(groups = { "unit" })
-public class OhaiModuleTest {
-
-   @Test
-   public void testAllModulesOutput() throws SocketException {
-      final ServletContext servletContext = createMock(ServletContext.class);
-
-      Enumeration<?> parameters = createMock(Enumeration.class);
-
-      expect(servletContext.getContextPath()).andReturn("").atLeastOnce();
-      expect(servletContext.getServerInfo()).andReturn("server info");
-      expect(servletContext.getInitParameterNames()).andReturn(parameters);
-      expect(parameters.hasMoreElements()).andReturn(false);
-
-      expect(servletContext.getResourceAsStream("/WEB-INF/web.xml")).andReturn(
-            Utils.toInputStream("<tag name=\"fooy\"></tag>"));
-
-      replay(servletContext);
-      replay(parameters);
-
-      final Properties sysProperties = new Properties();
-
-      sysProperties.setProperty("os.name", "Mac OS X");
-      sysProperties.setProperty("os.version", "10.3.0");
-      sysProperties.setProperty("user.name", "user");
-
-      Injector injector = Guice.createInjector(new ChefParserModule(), new GsonModule(), new WebXmlOhaiModule(),
-            new ServletOhaiModule(), new OhaiModule() {
-               @SuppressWarnings("unused")
-               @Provides
-               protected ServletContext provideServletContext() {
-                  return servletContext;
-               }
-
-               @Override
-               protected Long millis() {
-                  return 1279992919l;
-               }
-
-               @Override
-               protected Properties systemProperties() {
-                  return sysProperties;
-               }
-
-            });
-      Ohai ohai = injector.getInstance(Ohai.class);
-      Json json = injector.getInstance(Json.class);
-
-      assertEquals(
-            json.toJson(ohai.ohai.get(), new TypeLiteral<Map<String, JsonBall>>() {
-            }.getType()),
-            "{\"webapp\":{\"/\":{\"web_xml\":\"<tag name=\\\"fooy\\\"></tag>\",\"server_info\":\"server info\",\"init_params\":{}}},\"ohai_time\":1279992919,\"platform\":\"macosx\",\"platform_version\":\"10.3.0\",\"current_user\":\"user\",\"jvm\":{\"system\":{\"user.name\":\"user\",\"os.version\":\"10.3.0\",\"os.name\":\"Mac OS X\"}}}");
-
-   }
-
-   static class Ohai {
-      private Supplier<Map<String, JsonBall>> ohai;
-
-      @Inject
-      public Ohai(@Automatic Supplier<Map<String, JsonBall>> ohai) {
-         this.ohai = ohai;
-      }
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/1f0b808e/demos/gae/src/test/resources/log4j.xml
----------------------------------------------------------------------
diff --git a/demos/gae/src/test/resources/log4j.xml b/demos/gae/src/test/resources/log4j.xml
deleted file mode 100644
index 4cf98d7..0000000
--- a/demos/gae/src/test/resources/log4j.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-
-    Copyright (C) 2010 Cloud Conscious, LLC. <in...@cloudconscious.com>
-
-    ====================================================================
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-    ====================================================================
-
--->
-<!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="CHEFFILE" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="File" value="target/test-data/jclouds-chef.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="ASYNCCHEF" class="org.apache.log4j.AsyncAppender">
-        <appender-ref ref="CHEFFILE" />
-    </appender>
-
-    <!-- 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>
-
-    <category name="jclouds.chef">
-        <priority value="TRACE" />
-        <appender-ref ref="ASYNCCHEF" />
-    </category>
-
-    
-    <!-- ======================= -->
-  	<!-- Setup the Root category -->
-  	<!-- ======================= -->
-
-  	<root>
-    		<priority value="WARN" />
-  	</root>
-
-</log4j:configuration>
\ No newline at end of file