You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2016/02/04 18:57:25 UTC

[01/50] [abbrv] usergrid git commit: Merge commit 'refs/pull/471/head' of github.com:apache/usergrid

Repository: usergrid
Updated Branches:
  refs/heads/asf-site cbe501afa -> 6474c0369


Merge commit 'refs/pull/471/head' of github.com:apache/usergrid


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

Branch: refs/heads/asf-site
Commit: 37d78ab9aafe288440cdb18474a525bc1b2d74e8
Parents: 21ba17e dfac0ca
Author: Michael Russo <mi...@gmail.com>
Authored: Mon Jan 25 16:05:43 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Mon Jan 25 16:05:43 2016 -0800

----------------------------------------------------------------------
 sdks/ios/README.md | 53 ++++++++++++-------------------------------------
 1 file changed, 13 insertions(+), 40 deletions(-)
----------------------------------------------------------------------



[29/50] [abbrv] usergrid git commit: USERGRID-683 - use only the AWS sdks required and re-format the pom files in the process.

Posted by sn...@apache.org.
USERGRID-683 - use only the AWS sdks required and re-format the pom files in the process.


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

Branch: refs/heads/asf-site
Commit: 1fcbcf4e60e148295e6388849d4689e3e95ade43
Parents: 3d7a8f1
Author: Michael Russo <mi...@gmail.com>
Authored: Sun Jan 31 09:55:28 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Sun Jan 31 09:55:28 2016 -0800

----------------------------------------------------------------------
 .../rx/impl/AllApplicationsObservable.java      |   2 -
 stack/corepersistence/common/pom.xml            |   2 +-
 .../astyanax/MultiKeyColumnNameIterator.java    |   4 +-
 stack/corepersistence/pom.xml                   | 112 ++++++------
 stack/corepersistence/queue/pom.xml             | 179 ++++++++++---------
 stack/pom.xml                                   |   7 +-
 .../applications/assets/AwsAssetResourceIT.java |   1 -
 stack/services/pom.xml                          |  13 +-
 .../management/export/S3ExportImpl.java         |   1 -
 .../management/importer/S3ImportImpl.java       |   2 -
 .../assets/data/AwsSdkS3BinaryStore.java        |   7 -
 .../usergrid/management/importer/S3Upload.java  |   1 -
 12 files changed, 158 insertions(+), 173 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservable.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservable.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservable.java
index 76ad8a1..f7c5f45 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservable.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/rx/impl/AllApplicationsObservable.java
@@ -23,8 +23,6 @@ package org.apache.usergrid.corepersistence.rx.impl;
 import org.apache.usergrid.persistence.core.migration.data.MigrationDataProvider;
 import org.apache.usergrid.persistence.core.scope.ApplicationScope;
 
-import com.amazonaws.services.opsworks.model.App;
-
 import rx.Observable;
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/corepersistence/common/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/pom.xml b/stack/corepersistence/common/pom.xml
index ff2ab28..b47706c 100644
--- a/stack/corepersistence/common/pom.xml
+++ b/stack/corepersistence/common/pom.xml
@@ -153,7 +153,7 @@
         <!-- aws sdks -->
         <dependency>
             <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk</artifactId>
+            <artifactId>aws-java-sdk-core</artifactId>
             <version>${aws.version}</version>
         </dependency>
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
index 8c12a25..f7bd02e 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
@@ -33,8 +33,6 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.usergrid.persistence.core.rx.OrderedMerge;
 
-import com.amazonaws.services.redshift.model.UnsupportedOptionException;
-
 import rx.Observable;
 import rx.Subscriber;
 import rx.schedulers.Schedulers;
@@ -197,7 +195,7 @@ public class MultiKeyColumnNameIterator<C, T> implements Iterable<T>, Iterator<T
 
         @Override
         public void remove() {
-            throw new UnsupportedOptionException( "Remove is unsupported" );
+            throw new UnsupportedOperationException( "Remove is unsupported" );
         }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/corepersistence/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/pom.xml b/stack/corepersistence/pom.xml
index 7737eac..0d8609b 100644
--- a/stack/corepersistence/pom.xml
+++ b/stack/corepersistence/pom.xml
@@ -28,40 +28,43 @@ limitations under the License.
     <packaging>pom</packaging>
     <version>2.1.1-SNAPSHOT</version>
 
-  <profiles>
-
-    <!-- better to have keep this sonar profile in your maven settings.xml -->
-    <profile>
-      <id>sonar</id>
-      <activation>
-        <activeByDefault>false</activeByDefault>
-      </activation>
-      <properties>
-        <sonar.host.url>http://localhost:9000</sonar.host.url>
-        <sonar.jdbc.url>jdbc:h2:tcp://localhost:9092/sonar</sonar.jdbc.url>
-        <sonar.jdbc.username>sonar</sonar.jdbc.username>
-        <sonar.jdbc.password>sonar</sonar.jdbc.password>
-      </properties>
-    </profile>
-
-      <profile>
-          <id>jacoco</id>
-          <build>
-              <plugins>
-                  <plugin>
-                      <groupId>org.apache.maven.plugins</groupId>
-                      <artifactId>maven-surefire-plugin</artifactId>
-                      <version>${surefire.plugin.version}</version>
-                      <configuration>
-                          <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
-                          <excludedGroups>org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest</excludedGroups>
-                      </configuration>
-                  </plugin>
-              </plugins>
-          </build>
-      </profile>
-
-  </profiles>
+    <profiles>
+
+        <!-- better to have keep this sonar profile in your maven settings.xml -->
+        <profile>
+            <id>sonar</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <properties>
+                <sonar.host.url>http://localhost:9000</sonar.host.url>
+                <sonar.jdbc.url>jdbc:h2:tcp://localhost:9092/sonar</sonar.jdbc.url>
+                <sonar.jdbc.username>sonar</sonar.jdbc.username>
+                <sonar.jdbc.password>sonar</sonar.jdbc.password>
+            </properties>
+        </profile>
+
+        <profile>
+            <id>jacoco</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <version>${surefire.plugin.version}</version>
+                        <configuration>
+                            <argLine>
+                                -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec
+                            </argLine>
+                            <excludedGroups>org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest
+                            </excludedGroups>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+
+    </profiles>
 
     <properties>
 
@@ -72,7 +75,7 @@ limitations under the License.
         <archaius.version>0.5.12</archaius.version>
         <astyanax.version>3.9.0</astyanax.version>
         <cassandra.version>1.2.18</cassandra.version>
-<!--        <chop.version>1.0</chop.version>-->
+        <!--        <chop.version>1.0</chop.version>-->
         <commons.codec.version>1.6</commons.codec.version>
         <commons.collections.version>3.2.1</commons.collections.version>
         <commons.io.version>2.4</commons.io.version>
@@ -91,10 +94,10 @@ limitations under the License.
         <rx.version>1.0.14</rx.version>
         <slf4j.version>1.7.2</slf4j.version>
         <surefire.version>2.16</surefire.version>
-        <aws.version>1.10.6</aws.version>
         <metrics.version>3.0.0</metrics.version>
         <surefire.plugin.version>2.18.1</surefire.plugin.version>
         <jacoco.version>0.7.5.201505241946</jacoco.version>
+        <aws.version>1.10.20</aws.version>
 
     </properties>
 
@@ -127,7 +130,8 @@ limitations under the License.
                             <archaius.deployment.environment>UNIT</archaius.deployment.environment>
                         </systemPropertyVariables>
                         <argLine>-Xms2G -Xmx4G</argLine>
-                        <excludedGroups>org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest</excludedGroups>
+                        <excludedGroups>org.apache.usergrid.StressTest,org.apache.usergrid.ExperimentalTest
+                        </excludedGroups>
                     </configuration>
                 </plugin>
 
@@ -216,23 +220,23 @@ limitations under the License.
 
         </plugins>
 
-      <resources>
-        <resource>
-          <directory>src/main/resources</directory>
-          <filtering>true</filtering>
-          <includes>
-            <include>**/*.properties</include>
-          </includes>
-        </resource>
-        <!-- include everything else without filtering -->
-        <resource>
-          <directory>src/main/resources</directory>
-          <filtering>false</filtering>
-          <includes>
-            <include>**</include>
-          </includes>
-        </resource>
-      </resources>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>**/*.properties</include>
+                </includes>
+            </resource>
+            <!-- include everything else without filtering -->
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**</include>
+                </includes>
+            </resource>
+        </resources>
 
         <testResources>
             <testResource>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/corepersistence/queue/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/pom.xml b/stack/corepersistence/queue/pom.xml
index 9f8ac97..f026454 100644
--- a/stack/corepersistence/queue/pom.xml
+++ b/stack/corepersistence/queue/pom.xml
@@ -21,94 +21,95 @@
 <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/xsd/maven-4.0.0.xsd">
-  <parent>
-    <artifactId>persistence</artifactId>
-    <groupId>org.apache.usergrid</groupId>
-    <version>2.1.1-SNAPSHOT</version>
-  </parent>
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>queue</artifactId>
-
-  <name>Usergrid Queue</name>
-
-  <dependencies>
-
-
-    <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>common</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-
-
-    <!-- lang utils for setting uuids etc -->
-
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <version>${commons.lang.version}</version>
-    </dependency>
-
-    <!-- tests -->
-
-      <dependency>
-          <groupId>org.apache.usergrid</groupId>
-          <artifactId>common</artifactId>
-          <version>${project.version}</version>
-          <classifier>tests</classifier>
-          <scope>test</scope>
-      </dependency>
-
-      <dependency>
-          <groupId>joda-time</groupId>
-          <artifactId>joda-time</artifactId>
-          <version>2.8.1</version>
-      </dependency>
-
-    <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>collection</artifactId>
-      <version>${project.version}</version>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>com.amazonaws</groupId>
-      <artifactId>aws-java-sdk</artifactId>
-      <version>${aws.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-      <version>4.2</version>
-    </dependency>
-
-
-  </dependencies>
-
-<!--
-    <profiles>
-        <profile>
-            <id>jacoco</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <version>${surefire.plugin.version}</version>
-                        <configuration>
-                            <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
--->
+    <parent>
+        <artifactId>persistence</artifactId>
+        <groupId>org.apache.usergrid</groupId>
+        <version>2.1.1-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>queue</artifactId>
+    <name>Usergrid Queue</name>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+
+        <!-- lang utils for setting uuids etc -->
+
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>${commons.lang.version}</version>
+        </dependency>
+
+        <!-- tests -->
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>common</artifactId>
+            <version>${project.version}</version>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>joda-time</groupId>
+            <artifactId>joda-time</artifactId>
+            <version>2.8.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>collection</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.amazonaws</groupId>
+            <artifactId>aws-java-sdk-sns</artifactId>
+            <version>${aws.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.amazonaws</groupId>
+            <artifactId>aws-java-sdk-sqs</artifactId>
+            <version>${aws.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.2</version>
+        </dependency>
+
+    </dependencies>
+
+    <!--
+        <profiles>
+            <profile>
+                <id>jacoco</id>
+                <build>
+                    <plugins>
+                        <plugin>
+                            <groupId>org.apache.maven.plugins</groupId>
+                            <artifactId>maven-surefire-plugin</artifactId>
+                            <version>${surefire.plugin.version}</version>
+                            <configuration>
+                                <argLine>-javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${project.build.directory}/jacoco.exec</argLine>
+                            </configuration>
+                        </plugin>
+                    </plugins>
+                </build>
+            </profile>
+        </profiles>
+    -->
 
 </project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index e26693a..0a81a05 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -287,11 +287,6 @@
                 </exclusions>
             </dependency>
 
-            <dependency>
-                <groupId>com.amazonaws</groupId>
-                <artifactId>aws-java-sdk-s3</artifactId>
-                <version>${aws.version}</version>
-            </dependency>
 
 
             <dependency>
@@ -1566,7 +1561,7 @@
             </build>
         </profile>
     </profiles>
-    
+
     <scm>
         <url>https://git-wip-us.apache.org/repos/asf/usergrid.git</url>
         <connection>scm:git:http://git-wip-us.apache.org/repos/asf/usergrid.git</connection>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java
index 2a8b00d..ad12975 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java
@@ -18,7 +18,6 @@ package org.apache.usergrid.rest.applications.assets;
 
 
 import com.amazonaws.SDKGlobalConfiguration;
-import com.amazonaws.services.cognitoidentity.model.InternalErrorException;
 
 import net.jcip.annotations.NotThreadSafe;
 import org.apache.commons.io.IOUtils;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/services/pom.xml
----------------------------------------------------------------------
diff --git a/stack/services/pom.xml b/stack/services/pom.xml
index 84a2da1..1127198 100644
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@ -255,13 +255,14 @@
 
         <dependency>
             <groupId>com.amazonaws</groupId>
+            <artifactId>aws-java-sdk-core</artifactId>
+            <version>${aws.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-s3</artifactId>
-            <!--<exclusions>-->
-            <!--<exclusion>-->
-            <!--<artifactId>jackson-databind</artifactId>-->
-            <!--<groupId>com.fasterxml.jackson.core</groupId>-->
-            <!--</exclusion>-->
-            <!--</exclusions>-->
+            <version>${aws.version}</version>
         </dependency>
 
         <dependency>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index f8005d1..81a9730 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -17,7 +17,6 @@
 package org.apache.usergrid.management.export;
 
 
-import com.amazonaws.SDKGlobalConfiguration;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.hash.Hashing;
 import com.google.common.io.Files;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
index f44902f..638f7de 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
@@ -17,12 +17,10 @@
 
 package org.apache.usergrid.management.importer;
 
-import com.amazonaws.SDKGlobalConfiguration;
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.RandomStringUtils;
-import org.apache.lucene.document.StringField;
 import org.jclouds.ContextBuilder;
 import org.jclouds.blobstore.BlobStore;
 import org.jclouds.blobstore.BlobStoreContext;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
index 47a99c0..e29de5c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
@@ -21,7 +21,6 @@ import java.io.BufferedOutputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.Iterator;
@@ -35,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.apache.usergrid.persistence.Entity;
 import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.EntityManagerFactory;
-import org.apache.usergrid.persistence.exceptions.RequiredPropertyNotFoundException;
 import org.apache.usergrid.persistence.queue.impl.UsergridAwsCredentialsProvider;
 import org.apache.usergrid.services.exceptions.AwsPropertiesNotFoundException;
 import org.apache.usergrid.utils.StringUtils;
@@ -44,16 +42,11 @@ import org.apache.commons.codec.binary.Hex;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 
-import com.amazonaws.AmazonClientException;
-import com.amazonaws.AmazonServiceException;
 import com.amazonaws.ClientConfiguration;
 import com.amazonaws.Protocol;
-import com.amazonaws.SDKGlobalConfiguration;
 import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.BasicAWSCredentials;
 import com.amazonaws.regions.Region;
 import com.amazonaws.regions.Regions;
-import com.amazonaws.services.glacier.model.ListMultipartUploadsResult;
 import com.amazonaws.services.s3.AmazonS3;
 import com.amazonaws.services.s3.AmazonS3Client;
 import com.amazonaws.services.s3.model.AbortMultipartUploadRequest;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/1fcbcf4e/stack/services/src/test/java/org/apache/usergrid/management/importer/S3Upload.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/importer/S3Upload.java b/stack/services/src/test/java/org/apache/usergrid/management/importer/S3Upload.java
index e76c90a..ca24407 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/importer/S3Upload.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/importer/S3Upload.java
@@ -40,7 +40,6 @@ import org.jclouds.netty.config.NettyPayloadModule;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.amazonaws.SDKGlobalConfiguration;
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 


[04/50] [abbrv] usergrid git commit: Merge branch 'pr/463' This closes #463

Posted by sn...@apache.org.
Merge branch 'pr/463' This closes #463


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

Branch: refs/heads/asf-site
Commit: 05bf43c527a53690689bc1ea51d4b56aaaf6815b
Parents: 586dad0 bd165fe
Author: Dave Johnson <sn...@apache.org>
Authored: Tue Jan 26 17:14:54 2016 -0500
Committer: Dave Johnson <sn...@apache.org>
Committed: Tue Jan 26 17:14:54 2016 -0500

----------------------------------------------------------------------
 .../java/org/apache/usergrid/android/sdk/UGClient.java  | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------



[30/50] [abbrv] usergrid git commit: Explicitly call out the AWS dependency in tests POM rather than assuming the dependency from usergrid-services.

Posted by sn...@apache.org.
Explicitly call out the AWS dependency in tests POM rather than assuming the dependency from usergrid-services.


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

Branch: refs/heads/asf-site
Commit: 019d49e75c2e5107c0938bac1e46ab6b5fae319f
Parents: 1fcbcf4
Author: Michael Russo <mi...@gmail.com>
Authored: Sun Jan 31 10:58:49 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Sun Jan 31 10:58:49 2016 -0800

----------------------------------------------------------------------
 stack/tools/pom.xml | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/019d49e7/stack/tools/pom.xml
----------------------------------------------------------------------
diff --git a/stack/tools/pom.xml b/stack/tools/pom.xml
index 01766eb..6783643 100644
--- a/stack/tools/pom.xml
+++ b/stack/tools/pom.xml
@@ -256,5 +256,17 @@
       <version>0.4.3</version>
     </dependency>
 
+    <dependency>
+      <groupId>com.amazonaws</groupId>
+      <artifactId>aws-java-sdk-core</artifactId>
+      <version>${aws.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.amazonaws</groupId>
+      <artifactId>aws-java-sdk-s3</artifactId>
+      <version>${aws.version}</version>
+    </dependency>
+
   </dependencies>
 </project>


[35/50] [abbrv] usergrid git commit: USERGRID-1243: logging overhaul, pt. 2

Posted by sn...@apache.org.
USERGRID-1243: logging overhaul, pt. 2


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

Branch: refs/heads/asf-site
Commit: 54e62f95c17158392d65141eb09ba2e94adb46c9
Parents: 71fb610
Author: Mike Dunker <md...@apigee.com>
Authored: Mon Feb 1 14:28:52 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Mon Feb 1 14:28:52 2016 -0800

----------------------------------------------------------------------
 .../management/AppInfoMigrationPlugin.java      |   2 +-
 .../cassandra/ManagementServiceImpl.java        |  71 +++++-----
 .../usergrid/management/export/ExportJob.java   |   7 +-
 .../management/export/ExportServiceImpl.java    |   7 +-
 .../management/export/S3ExportImpl.java         |   2 +-
 .../management/importer/FileImportJob.java      |   6 +-
 .../usergrid/management/importer/ImportJob.java |   8 +-
 .../management/importer/ImportServiceImpl.java  | 135 +++++++++----------
 .../management/importer/S3ImportImpl.java       |   4 +-
 .../usergrid/security/AuthPrincipalType.java    |   4 +-
 .../security/crypto/EncryptionServiceImpl.java  |   8 +-
 .../usergrid/security/oauth/AccessInfo.java     |   2 +-
 .../security/providers/AbstractProvider.java    |   4 +-
 .../security/providers/FacebookProvider.java    |   4 +-
 .../security/providers/FoursquareProvider.java  |   4 +-
 .../apache/usergrid/security/shiro/Realm.java   |   6 +-
 .../usergrid/security/shiro/ShiroCache.java     |  21 +--
 .../security/shiro/ShiroCacheManager.java       |   2 +-
 .../shiro/principals/PrincipalIdentifier.java   |   8 +-
 .../security/shiro/utils/SubjectUtils.java      |   4 +-
 .../usergrid/security/tokens/TokenCategory.java |   4 +-
 .../services/AbstractCollectionService.java     |  39 +++---
 .../services/AbstractConnectionsService.java    |  12 +-
 .../AbstractPathBasedColllectionService.java    |  10 +-
 .../usergrid/services/AbstractService.java      |   4 +-
 .../apache/usergrid/services/ServiceInfo.java   |   2 +-
 .../usergrid/services/ServiceManager.java       |  16 +--
 .../usergrid/services/ServiceParameter.java     |  44 ++----
 .../usergrid/services/ServiceResults.java       |   8 +-
 .../services/activities/ActivitiesService.java  |   4 +-
 .../applications/ApplicationsService.java       |   6 +-
 .../usergrid/services/assets/AssetsService.java |  12 +-
 .../services/assets/data/AssetMimeHandler.java  |   4 +-
 .../services/assets/data/AssetUtils.java        |   4 +-
 .../assets/data/AwsSdkS3BinaryStore.java        |   6 +-
 .../assets/data/LocalFileBinaryStore.java       |   4 +-
 .../services/assets/data/S3BinaryStore.java     |  36 ++---
 .../services/devices/DevicesService.java        |  12 +-
 .../notifications/NotificationsService.java     |   4 +-
 .../usergrid/services/groups/GroupsService.java |   8 +-
 .../groups/activities/ActivitiesService.java    |   4 +-
 .../notifications/NotificationsService.java     |   4 +-
 .../services/groups/roles/RolesService.java     |   4 +-
 .../services/groups/users/UsersService.java     |   4 +-
 .../users/activities/ActivitiesService.java     |   4 +-
 .../groups/users/devices/DevicesService.java    |   4 +-
 .../notifications/NotificationsService.java     |   4 +-
 .../services/messages/MessagesService.java      |   4 +-
 .../notifications/ApplicationQueueMessage.java  |   2 +-
 .../notifications/InactiveDeviceManager.java    |   8 +-
 .../services/notifications/JobScheduler.java    |   8 +-
 .../notifications/NotificationsService.java     |  16 ++-
 .../services/notifications/QueueJob.java        |  16 ++-
 .../services/notifications/QueueListener.java   |  48 +++++--
 .../services/notifications/TaskManager.java     |  36 +++--
 .../notifications/apns/APNsAdapter.java         |   4 +-
 .../apns/RejectedAPNsListener.java              |   4 +-
 .../services/notifications/gcm/GCMAdapter.java  |  16 ++-
 .../impl/ApplicationQueueManagerImpl.java       |  88 ++++++++----
 .../services/notifiers/NotifiersService.java    |   4 +-
 .../services/queues/ImportQueueListener.java    |   4 +-
 .../usergrid/services/queues/QueueListener.java |  50 +++++--
 .../usergrid/services/roles/RolesService.java   |   4 +-
 .../services/roles/groups/GroupsService.java    |   4 +-
 .../services/roles/users/UsersService.java      |   4 +-
 .../usergrid/services/users/UsersService.java   |   6 +-
 .../users/activities/ActivitiesService.java     |   4 +-
 .../services/users/devices/DevicesService.java  |  20 +--
 .../notifications/NotificationsService.java     |   4 +-
 .../users/following/FollowingService.java       |   4 +-
 .../services/users/groups/GroupsService.java    |   4 +-
 .../notifications/NotificationsService.java     |   4 +-
 .../services/users/roles/RolesService.java      |   4 +-
 .../org/apache/usergrid/utils/PythonUtils.java  |   4 +-
 .../usergrid/cassandra/CassandraResource.java   |   2 +-
 75 files changed, 529 insertions(+), 423 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
index d14a855..2412bec 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/AppInfoMigrationPlugin.java
@@ -143,7 +143,7 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
         if ( version == getMaxVersion() ) {
 
             if (logger.isDebugEnabled()) {
-                logger.debug("Skipping Migration Plugin: " + getName());
+                logger.debug("Skipping Migration Plugin: {}", getName());
             }
 
             return;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index a3a6aa9..bf9dbfe 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -448,8 +448,8 @@ public class ManagementServiceImpl implements ManagementService {
     public OrganizationOwnerInfo createOwnerAndOrganization( String organizationName, String username, String name,
                                                              String email, String password ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug("createOwnerAndOrganization1");
+        if(logger.isTraceEnabled()){
+            logger.trace("createOwnerAndOrganization(1)");
         }
         boolean activated = !newAdminUsersNeedSysAdminApproval() && !newOrganizationsNeedSysAdminApproval();
         boolean disabled = newAdminUsersRequireConfirmation();
@@ -464,8 +464,8 @@ public class ManagementServiceImpl implements ManagementService {
     public OrganizationOwnerInfo createOwnerAndOrganization( String organizationName, String username, String name,
                                                              String email, String password, boolean activated,
                                                              boolean disabled ) throws Exception {
-        if(logger.isDebugEnabled()){
-            logger.debug("createOwnerAndOrganization2");
+        if(logger.isTraceEnabled()){
+            logger.trace("createOwnerAndOrganization(2)");
         }
         return createOwnerAndOrganization( organizationName, username, name, email, password,
                 activated, disabled, null, null );
@@ -479,9 +479,7 @@ public class ManagementServiceImpl implements ManagementService {
                                                              Map<String, Object> organizationProperties )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug("createOwnerAndOrganization3");
-        }
+        logger.info("createOwnerAndOrganization: {} {}", organizationName, email);
 
         /**
          * Only lock on the target values. We don't want lock contention if another
@@ -516,8 +514,8 @@ public class ManagementServiceImpl implements ManagementService {
                 user = createAdminUserInternal( null, username, name, email, password, activated, disabled, userProperties );
             }
 
-            if(logger.isDebugEnabled()){
-                logger.debug("User created");
+            if(logger.isTraceEnabled()){
+                logger.debug("createOwnerAndOrganization: User created");
             }
             organization = createOrganizationInternal( null, organizationName, user, true, organizationProperties );
         }
@@ -533,8 +531,8 @@ public class ManagementServiceImpl implements ManagementService {
 
     private OrganizationInfo createOrganizationInternal(
         UUID orgUuid, String organizationName, UserInfo user, boolean activated ) throws Exception {
-        if(logger.isDebugEnabled()){
-            logger.debug("createOrganizationInternal1");
+        if(logger.isTraceEnabled()){
+            logger.trace("createOrganizationInternal(1): {}", organizationName);
         }
         return createOrganizationInternal( orgUuid, organizationName, user, activated, null );
     }
@@ -543,8 +541,8 @@ public class ManagementServiceImpl implements ManagementService {
     private OrganizationInfo createOrganizationInternal( UUID orgUuid, String organizationName, UserInfo user, boolean activated,
                                                          Map<String, Object> properties ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "createOrganizationInternal2: {}", organizationName );
+        if(logger.isTraceEnabled()){
+            logger.trace( "createOrganizationInternal(2): {}", organizationName );
         }
 
         if (  organizationName == null ) {
@@ -555,7 +553,7 @@ public class ManagementServiceImpl implements ManagementService {
         }
         if ( user == null ) {
             if(logger.isDebugEnabled()){
-                logger.debug("user = null");
+                logger.debug("user = null (organizationName = {})", organizationName);
             }
             return null;
         }
@@ -611,11 +609,15 @@ public class ManagementServiceImpl implements ManagementService {
             throws Exception {
 
         if (  organizationName == null ) {
-            logger.debug("organizationName = null");
+            if (logger.isTraceEnabled()) {
+                logger.trace("organizationName = null");
+            }
             return null;
         }
         if ( user == null ) {
-            logger.debug("user = null");
+            if (logger.isTraceEnabled()) {
+                logger.trace("user = null");
+            }
             return null;
         }
 
@@ -1140,11 +1142,15 @@ public class ManagementServiceImpl implements ManagementService {
                         Identifier.fromUUID( UUID.fromString( identifierString ) ) );
                 if ( entity != null ) {
                     user = ( User ) entity.toTypedEntity();
-                    logger.info( "Found user {} as a UUID", identifierString );
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("Found user {} as a UUID", identifierString);
+                    }
                 }
             }
             catch ( Exception e ) {
-                logger.warn( "Unable to get user " + identifierString + " as a UUID, trying username..." );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Unable to get user {} as a UUID, trying username...", identifierString);
+                }
             }
             return user;
         }
@@ -1155,12 +1161,13 @@ public class ManagementServiceImpl implements ManagementService {
             Entity entity = getUserEntityByIdentifier( applicationId, identifier );
             if ( entity != null ) {
                 user = ( User ) entity.toTypedEntity();
-                logger.info( "Found user {} as an {}", identifierString, identifier.getType() );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Found user {} as an {}", identifierString, identifier.getType());
+                }
             }
         }
         catch ( Exception e ) {
-            logger.warn( "Unable to get user {} as a {}", identifierString, identifier.getType());
-            logger.warn( "Exception", e);
+            logger.warn( "Unable to get user {} as a {}", identifierString, identifier.getType(), e);
         }
         if ( user != null ) {
             return user;
@@ -1255,8 +1262,8 @@ public class ManagementServiceImpl implements ManagementService {
 
     public int calculatePasswordHistorySizeForUser( UUID userId ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "calculatePasswordHistorySizeForUser " + userId.toString() );
+        if(logger.isTraceEnabled()){
+            logger.trace( "calculatePasswordHistorySizeForUser {}", userId.toString() );
         }
 
         int size = 0;
@@ -1265,8 +1272,8 @@ public class ManagementServiceImpl implements ManagementService {
         Results orgResults = em.getCollection( new SimpleEntityRef( User.ENTITY_TYPE, userId ),
                 Schema.COLLECTION_GROUPS, null, 10000, Level.REFS, false );
 
-        if(logger.isDebugEnabled()){
-            logger.debug("    orgResults.size() = " + orgResults.size());
+        if(logger.isTraceEnabled()){
+            logger.trace("    orgResults.size() = {}", orgResults.size());
         }
 
         for ( EntityRef orgRef : orgResults.getRefs() ) {
@@ -1275,8 +1282,8 @@ public class ManagementServiceImpl implements ManagementService {
             if ( properties != null ) {
                 OrganizationInfo orgInfo = new OrganizationInfo( null, null, properties );
 
-                if(logger.isDebugEnabled()){
-                    logger.debug( "    orgInfo.getPasswordHistorySize() = " +  orgInfo.getPasswordHistorySize() );
+                if(logger.isTraceEnabled()){
+                    logger.trace( "    orgInfo.getPasswordHistorySize() = {}", orgInfo.getPasswordHistorySize() );
                 }
 
                 size = Math.max( orgInfo.getPasswordHistorySize(), size );
@@ -1301,8 +1308,8 @@ public class ManagementServiceImpl implements ManagementService {
     @Override
     public UserInfo verifyAdminUserPasswordCredentials( String name, String password ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug("verifyAdminUserPasswordCredentials for {}/{}", name, password);
+        if(logger.isTraceEnabled()){
+            logger.trace("verifyAdminUserPasswordCredentials for {}", name);
         }
 
         User user = findUserEntity( smf.getManagementAppId(), name );
@@ -1547,7 +1554,7 @@ public class ManagementServiceImpl implements ManagementService {
                 try {
                     organizations.put( entity.getUuid(), path );
                 } catch (IllegalArgumentException e) {
-                    logger.warn("Error adding " + entity.getUuid() + ":" + path + " to BiMap: " + e.getMessage() );
+                    logger.warn("Error adding {}:{} to BiMap: {}", entity.getUuid(), path, e.getMessage() );
                 }
             }
 
@@ -1653,7 +1660,7 @@ public class ManagementServiceImpl implements ManagementService {
 
         if(em.getCollection(organization.getUuid() ,"users",Query.fromQL( "select * where uuid ="+user.getUuid() ),Level.IDS ).size() >0){
             if(logger.isDebugEnabled()) {
-                logger.debug( "Found value: {} already in collection", user.getName() );
+                logger.debug( "addAdminUserToOrganization - Found value: {} already in collection", user.getName() );
             }
             return;
         }
@@ -2385,7 +2392,7 @@ public class ManagementServiceImpl implements ManagementService {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to send activation emails to " + organization.getName(), e );
+            logger.error( "Unable to send activation emails to {}", organization.getName(), e );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
index 3bdfac9..03c3353 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
@@ -40,7 +40,9 @@ public class ExportJob extends OnlyOnceJob {
     ExportService exportService;
 
     public ExportJob() {
-        logger.info( "ExportJob created " + this );
+        if (logger.isTraceEnabled()) {
+            logger.trace("ExportJob created");
+        }
     }
 
 
@@ -59,8 +61,7 @@ public class ExportJob extends OnlyOnceJob {
             exportService.doExport( jobExecution );
         }
         catch ( Exception e ) {
-            logger.error( "Export Service failed to complete job" );
-            logger.error(e.getMessage());
+            logger.error( "Export Service failed to complete job: {}", e.getMessage() );
             return;
         }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 31e8544..eadc925 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -87,7 +87,7 @@ public class ExportServiceImpl implements ExportService {
             return null;
         }
 
-        EntityManager em = null;
+        EntityManager em;
         try {
             em = emf.getEntityManager( emf.getManagementAppId() );
             Set<String> collections = em.getApplicationCollections();
@@ -188,9 +188,10 @@ public class ExportServiceImpl implements ExportService {
 
     @Override
     public void doExport( final JobExecution jobExecution ) throws Exception {
+        @SuppressWarnings("unchecked")
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
         Object s3PlaceHolder = jobExecution.getJobData().getProperty( "s3Export" );
-        S3Export s3Export = null;
+        S3Export s3Export;
 
         if ( config == null ) {
             logger.error( "Export Information passed through is null" );
@@ -222,7 +223,7 @@ public class ExportServiceImpl implements ExportService {
         }
 
         if ( config.get( "organizationId" ) == null ) {
-            logger.error( "No organization could be found" );
+            logger.error( "doExport: No organization could be found" );
             export.setState( Export.State.FAILED );
             em.update( export );
             return;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index f8005d1..c09e4d2 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -72,7 +72,7 @@ public class S3ExportImpl implements S3Export {
         try {
             BlobStore blobStore = context.getBlobStore();
             if ( blobStore.createContainerInLocation(null, bucketName) ) {
-                logger.info( "Created bucket " + bucketName );
+                logger.info( "Created bucket {}", bucketName );
             }
         }
         catch ( Exception ex ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/importer/FileImportJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importer/FileImportJob.java b/stack/services/src/main/java/org/apache/usergrid/management/importer/FileImportJob.java
index f734b3f..be0b943 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importer/FileImportJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importer/FileImportJob.java
@@ -48,7 +48,9 @@ public class FileImportJob extends OnlyOnceJob {
     ImportService importService;
 
     public FileImportJob() {
-        logger.info( "FileImportJob created " + this );
+        if (logger.isTraceEnabled()) {
+            logger.info("FileImportJob created");
+        }
     }
 
     @Override
@@ -81,7 +83,7 @@ public class FileImportJob extends OnlyOnceJob {
             throw t;
         }
 
-        logger.info("File Import Service completed job: " + jobExecution.getJobName() );
+        logger.info("File Import Service completed job: {}", jobExecution.getJobName() );
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportJob.java b/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportJob.java
index 4640681..935f12c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportJob.java
@@ -47,7 +47,9 @@ public class ImportJob extends OnlyOnceJob {
     ImportService importService;
 
     public ImportJob(){
-        logger.info( "ImportJob created " + this );
+        if (logger.isTraceEnabled()) {
+            logger.info("ImportJob created");
+        }
     }
 
     @Override
@@ -82,7 +84,9 @@ public class ImportJob extends OnlyOnceJob {
             throw t;
         }
 
-        logger.error("Import Service completed job");
+        if (logger.isTraceEnabled()) {
+            logger.trace("Import Service completed job");
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportServiceImpl.java
index 2f1b994..6c1ffc0 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importer/ImportServiceImpl.java
@@ -94,7 +94,7 @@ public class ImportServiceImpl implements ImportService {
         try {
             rootEM = emf.getEntityManager(emf.getManagementAppId());
         } catch (Exception e) {
-            logger.error("application doesn't exist within the current context");
+            logger.error("application doesn't exist within the current context", e);
             return null;
         }
 
@@ -105,7 +105,7 @@ public class ImportServiceImpl implements ImportService {
         try {
             importEntity = rootEM.create(importEntity);
         } catch (Exception e) {
-            logger.error("Import entity creation failed");
+            logger.error("Import entity creation failed", e);
             return null;
         }
 
@@ -313,9 +313,9 @@ public class ImportServiceImpl implements ImportService {
      */
     private JobData createFileTask(Map<String, Object> config, String file, EntityRef importRef) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("scheduleFile() for import {}:{} file {}",
-                new Object[]{importRef.getType(), importRef.getType(), file});
+        if (logger.isTraceEnabled()) {
+            logger.trace("scheduleFile() for import {}:{} file {}",
+                importRef.getType(), importRef.getType(), file);
         }
 
         EntityManager rootEM;
@@ -338,16 +338,15 @@ public class ImportServiceImpl implements ImportService {
             // create a connection between the main import job and the sub FileImport Job
             rootEM.createConnection(importEntity, IMPORT_FILE_INCLUDES_CONNECTION, fileImport);
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Created connection from {}:{} to {}:{}",
-                    new Object[]{
+            if (logger.isTraceEnabled()) {
+                logger.trace("Created connection from {}:{} to {}:{}",
                         importEntity.getType(), importEntity.getUuid(),
                         fileImport.getType(), fileImport.getUuid()
-                    });
+                    );
             }
 
         } catch (Exception e) {
-            logger.error(e.getMessage());
+            logger.error("Exception creating file task connection", e.getMessage());
             return null;
         }
 
@@ -523,21 +522,21 @@ public class ImportServiceImpl implements ImportService {
     @Override
     public void doImport(JobExecution jobExecution) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("doImport()");
+        if (logger.isTraceEnabled()) {
+            logger.trace("doImport()");
         }
 
-        Map<String, Object> config =
-            (Map<String, Object>) jobExecution.getJobData().getProperty("importInfo");
+        @SuppressWarnings("unchecked")
+        Map<String, Object> config = (Map<String, Object>) jobExecution.getJobData().getProperty("importInfo");
         if (config == null) {
             logger.error("doImport(): Import Information passed through is null");
             return;
         }
 
-        Map<String, Object> properties =
-            (Map<String, Object>) config.get("properties");
-        Map<String, Object> storage_info =
-            (Map<String, Object>) properties.get("storage_info");
+        @SuppressWarnings("unchecked")
+        Map<String, Object> properties = (Map<String, Object>) config.get("properties");
+        @SuppressWarnings("unchecked")
+        Map<String, Object> storage_info = (Map<String, Object>) properties.get("storage_info");
 
         String bucketName = (String) storage_info.get("bucket_location");
         String accessId = (String) storage_info.get("s3_access_id");
@@ -553,8 +552,8 @@ public class ImportServiceImpl implements ImportService {
         importEntity.setStarted(System.currentTimeMillis());
         importEntity.setErrorMessage(" ");
         rootEM.update(importEntity);
-        if (logger.isDebugEnabled()) {
-            logger.debug("doImport(): updated state");
+        if (logger.isTraceEnabled()) {
+            logger.trace("doImport(): updated state");
         }
 
         // if no S3 importer was passed in then create one
@@ -633,13 +632,13 @@ public class ImportServiceImpl implements ImportService {
                 final int count = getConnectionCount(importEntity);
 
                 if (count == fileJobs.size()) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("Got ALL {} of {} expected connections", count, fileJobs.size());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("Got ALL {} of {} expected connections", count, fileJobs.size());
                     }
                     done = true;
                 } else {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("Got {} of {} expected connections. Waiting...", count, fileJobs.size());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("Got {} of {} expected connections. Waiting...", count, fileJobs.size());
                     }
                     Thread.sleep(1000);
                 }
@@ -673,14 +672,14 @@ public class ImportServiceImpl implements ImportService {
 
         // get values we need
 
-        Map<String, Object> properties =
-            (Map<String, Object>) jobExecution.getJobData().getProperty("properties");
+        @SuppressWarnings("unchecked")
+        Map<String, Object> properties = (Map<String, Object>) jobExecution.getJobData().getProperty("properties");
         if (properties == null) {
             logger.error("downloadAndImportFile(): Import Information passed through is null");
             return;
         }
-        Map<String, Object> storage_info =
-            (Map<String, Object>) properties.get("storage_info");
+        @SuppressWarnings("unchecked")
+        Map<String, Object> storage_info = (Map<String, Object>) properties.get("storage_info");
 
         String bucketName = (String) storage_info.get("bucket_location");
         String accessId = (String) storage_info.get("s3_access_id");
@@ -805,6 +804,7 @@ public class ImportServiceImpl implements ImportService {
             try {
                 Thread.sleep(5000);
             } catch (Exception intentionallyIgnored) {
+                // intentionally ignored
             }
 
             // get file import entities for this import job
@@ -818,13 +818,13 @@ public class ImportServiceImpl implements ImportService {
             PagingResultsIterator itr = new PagingResultsIterator(entities);
 
             if (!itr.hasNext()) {
-                logger.warn("Found no FileImport entities for import {}, " +
-                    "unable to check if complete", importEntity.getUuid());
+                logger.warn("Found no FileImport entities for import {}, unable to check if complete",
+                        importEntity.getUuid());
                 return;
             }
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Checking {} file import jobs to see if we are done for file {}",
+            if (logger.isTraceEnabled()) {
+                logger.trace("Checking {} file import jobs to see if we are done for file {}",
                     new Object[]{entities.size(), fileImport.getFileName()});
             }
 
@@ -842,7 +842,7 @@ public class ImportServiceImpl implements ImportService {
                         continue;
                     default:         // not something we recognize as complete, short circuit
                         if (logger.isDebugEnabled()) {
-                            logger.debug("not done yet, bail out...");
+                            logger.debug("not done yet, bail out... {}", fi.getState().toString());
                         }
                         return;
                 }
@@ -857,13 +857,13 @@ public class ImportServiceImpl implements ImportService {
             }
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("successCount = {} failCount = {}", new Object[]{successCount, failCount});
+        if (logger.isTraceEnabled()) {
+            logger.trace("successCount = {} failCount = {}", successCount, failCount);
         }
 
         if (importEntity != null) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("FINISHED");
+            if (logger.isTraceEnabled()) {
+                logger.trace("FINISHED");
             }
 
             if (failCount == 0) {
@@ -875,9 +875,9 @@ public class ImportServiceImpl implements ImportService {
 
             try {
                 rootEM.update(importEntity);
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Updated import entity {}:{} with state {}",
-                        new Object[]{importEntity.getType(), importEntity.getUuid(), importEntity.getState()});
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Updated import entity {}:{} with state {}",
+                        importEntity.getType(), importEntity.getUuid(), importEntity.getState());
                 }
             } catch (Exception e) {
                 logger.error("Error updating import entity", e);
@@ -945,14 +945,13 @@ public class ImportServiceImpl implements ImportService {
         // FIRST PASS: import all entities in the file
 
 
-        boolean entitiesOnly = true;
-
         // observable that parses JSON and emits write events
         JsonParser jp = getJsonParserForFile(file);
 
         // TODO: move JSON parser into observable creation so open/close happens within the stream
+        // entitiesOnly = true
         final JsonEntityParserObservable jsonObservableEntities =
-            new JsonEntityParserObservable(jp, em, rootEm, fileImport, tracker, entitiesOnly);
+            new JsonEntityParserObservable(jp, em, rootEm, fileImport, tracker, true);
 
         final Observable<WriteEvent> entityEventObservable = Observable.create(jsonObservableEntities);
 
@@ -970,28 +969,27 @@ public class ImportServiceImpl implements ImportService {
         jp.close();
 
         if (FileImport.State.FAILED.equals(fileImport.getState())) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("\n\nFailed to completely write entities, skipping second phase. File: {}\n",
+            if (logger.isTraceEnabled()) {
+                logger.trace("\n\nFailed to completely write entities, skipping second phase. File: {}\n",
                     fileImport.getFileName());
             }
             return;
         }
-        if (logger.isDebugEnabled()) {
-            logger.debug("\n\nWrote entities. File: {}\n", fileImport.getFileName());
+        if (logger.isTraceEnabled()) {
+            logger.trace("\n\nWrote entities. File: {}\n", fileImport.getFileName());
         }
 
 
         // SECOND PASS: import all connections and dictionaries
 
 
-        entitiesOnly = false;
-
         // observable that parses JSON and emits write events
         jp = getJsonParserForFile(file);
 
         // TODO: move JSON parser into observable creation so open/close happens within the stream
+        // entitiesOnly = false
         final JsonEntityParserObservable jsonObservableOther =
-            new JsonEntityParserObservable(jp, em, rootEm, fileImport, tracker, entitiesOnly);
+            new JsonEntityParserObservable(jp, em, rootEm, fileImport, tracker, false);
 
         final Observable<WriteEvent> otherEventObservable = Observable.create(jsonObservableOther);
 
@@ -1008,8 +1006,8 @@ public class ImportServiceImpl implements ImportService {
 
         jp.close();
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("\n\nparseEntitiesAndConnectionsFromJson(): Wrote others for file {}\n",
+        if (logger.isTraceEnabled()) {
+            logger.trace("\n\nparseEntitiesAndConnectionsFromJson(): Wrote others for file {}\n",
                 fileImport.getFileName());
         }
 
@@ -1025,14 +1023,14 @@ public class ImportServiceImpl implements ImportService {
 
         if (FileImport.State.FAILED.equals(fileImport.getState())) {
             if (logger.isDebugEnabled()) {
-                logger.debug("\n\nFailed to completely wrote connections and dictionaries. File: {}\n",
+                logger.debug("\n\nFailed to completely write connections and dictionaries. File: {}\n",
                     fileImport.getFileName());
             }
             return;
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("\n\nWrote connections and dictionaries. File: {}\n", fileImport.getFileName());
+        if (logger.isTraceEnabled()) {
+            logger.trace("\n\nWrote connections and dictionaries. File: {}\n", fileImport.getFileName());
         }
     }
 
@@ -1058,9 +1056,9 @@ public class ImportServiceImpl implements ImportService {
         @Override
         public void doWrite(EntityManager em, FileImport fileImport, FileImportTracker tracker) {
             try {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Writing imported entity {}:{} into app {}",
-                        new Object[]{entityType, entityUuid, em.getApplication().getUuid()});
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Writing imported entity {}:{} into app {}",
+                        entityType, entityUuid, em.getApplication().getUuid());
                 }
 
                 em.create(entityUuid, entityType, properties);
@@ -1068,7 +1066,7 @@ public class ImportServiceImpl implements ImportService {
                 tracker.entityWritten();
 
             } catch (Exception e) {
-                logger.error("Error writing entity. From file:" + fileImport.getFileName(), e);
+                logger.error("Error writing entity. From file:{}", fileImport.getFileName(), e);
 
                 tracker.entityFailed(e.getMessage() + " From file: " + fileImport.getFileName());
             }
@@ -1100,11 +1098,10 @@ public class ImportServiceImpl implements ImportService {
                     entityRef = em.get(ownerEntityRef.getUuid());
                 }
 
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Creating connection from {}:{} to {}:{}",
-                        new Object[]{
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Creating connection from {}:{} to {}:{}",
                             ownerEntityRef.getType(), ownerEntityRef.getUuid(),
-                            entityRef.getType(), entityRef.getUuid()});
+                            entityRef.getType(), entityRef.getUuid());
                 }
 
                 em.createConnection(ownerEntityRef, connectionType, entityRef);
@@ -1112,7 +1109,7 @@ public class ImportServiceImpl implements ImportService {
                 tracker.connectionWritten();
 
             } catch (Exception e) {
-                logger.error("Error writing connection. From file: " + fileImport.getFileName(), e);
+                logger.error("Error writing connection. From file: {}", fileImport.getFileName(), e);
 
                 tracker.connectionFailed(e.getMessage() + " From file: " + fileImport.getFileName());
             }
@@ -1137,9 +1134,9 @@ public class ImportServiceImpl implements ImportService {
         public void doWrite(EntityManager em, FileImport fileImport, FileImportTracker stats) {
             try {
 
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Adding map to {}:{} dictionary {}",
-                        new Object[]{ownerEntityRef.getType(), ownerEntityRef.getType(), dictionaryName});
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Adding map to {}:{} dictionary {}",
+                        ownerEntityRef.getType(), ownerEntityRef.getType(), dictionaryName);
                 }
 
                 em.addMapToDictionary(ownerEntityRef, dictionaryName, dictionary);
@@ -1298,8 +1295,8 @@ public class ImportServiceImpl implements ImportService {
                     subscriber.onCompleted();
                 }
 
-                if (logger.isDebugEnabled()) {
-                    logger.debug("process(): done parsing JSON");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("process(): done parsing JSON");
                 }
 
             } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
index f44902f..674596f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
@@ -120,8 +120,8 @@ public class S3ImportImpl implements S3Import {
         PageSet<? extends StorageMetadata> pageSets =
             blobStore.list(bucketName, new ListContainerOptions().recursive());
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("   Found {} files in bucket {}", pageSets.size(), bucketName);
+        if (logger.isTraceEnabled()) {
+            logger.trace("   Found {} files in bucket {}", pageSets.size(), bucketName);
         }
 
         List<String> blobFileNames = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/AuthPrincipalType.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/AuthPrincipalType.java b/stack/services/src/main/java/org/apache/usergrid/security/AuthPrincipalType.java
index 94456ad..c33db9f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/AuthPrincipalType.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/AuthPrincipalType.java
@@ -44,10 +44,10 @@ public enum AuthPrincipalType {
 
     private synchronized static void register( AuthPrincipalType type ) {
         if ( prefixes == null ) {
-            prefixes = new ConcurrentHashMap<String, AuthPrincipalType>();
+            prefixes = new ConcurrentHashMap<>();
         }
         if ( base64Prefixes == null ) {
-            base64Prefixes = new ConcurrentHashMap<String, AuthPrincipalType>();
+            base64Prefixes = new ConcurrentHashMap<>();
         }
         prefixes.put( type.getPrefix(), type );
         base64Prefixes.put( type.getBase64Prefix(), type );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/crypto/EncryptionServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/crypto/EncryptionServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/security/crypto/EncryptionServiceImpl.java
index 701abed..4e7e3df 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/crypto/EncryptionServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/crypto/EncryptionServiceImpl.java
@@ -57,7 +57,7 @@ public class EncryptionServiceImpl implements EncryptionService {
     public boolean verify( String inputSecret, CredentialsInfo creds, UUID userId, UUID applicationId ) {
 
 
-        String[] storedCommands = null;
+        String[] storedCommands;
 
         // We have the new format of crypto chain. read them and apply them
         if ( creds.getCryptoChain() != null && creds.getCryptoChain().length > 0 ) {
@@ -84,8 +84,7 @@ public class EncryptionServiceImpl implements EncryptionService {
             // verify we have a command to load
             if ( command == null ) {
                 throw new IllegalArgumentException( String.format(
-                        "No command implementat for name %s exists, yet it is persisted on a user's credentials info."
-                                + "  This means their credentials either need removed, or this command needs supported",
+                        "No command implementation for name %s exists, yet it is persisted on a user's credentials info.  This means their credentials either need to be removed, or this command needs to be supported",
                         commandName ) );
             }
 
@@ -97,7 +96,6 @@ public class EncryptionServiceImpl implements EncryptionService {
     }
 
 
-    /** @param wiredCommands the wiredCommands to set */
     @Autowired
     public void setCommands( List<EncryptionCommand> inputCommands ) {
         this.inputCommands = inputCommands;
@@ -112,7 +110,7 @@ public class EncryptionServiceImpl implements EncryptionService {
                             EncryptionCommand.class ) );
         }
 
-        commands = new HashMap<String, EncryptionCommand>();
+        commands = new HashMap<>();
 
         /**
          * Create the map by name so we can reference them later.

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/oauth/AccessInfo.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/oauth/AccessInfo.java b/stack/services/src/main/java/org/apache/usergrid/security/oauth/AccessInfo.java
index 67529e0..f7bda45 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/oauth/AccessInfo.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/oauth/AccessInfo.java
@@ -41,7 +41,7 @@ public class AccessInfo {
     String state;
     Long passwordChanged;
 
-    protected Map<String, Object> properties = new TreeMap<String, Object>( String.CASE_INSENSITIVE_ORDER );
+    protected Map<String, Object> properties = new TreeMap<>( String.CASE_INSENSITIVE_ORDER );
 
 
     public AccessInfo() {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java b/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
index 24d6b9f..61924d1 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/providers/AbstractProvider.java
@@ -72,7 +72,7 @@ public abstract class AbstractProvider implements SignInAsProvider {
         try {
             return entityManager.getDictionaryAsMap(entityManager.getApplication(), providerKey);
         } catch (Exception ex) {
-            logger.error("Error in loadConfigurationFor for " + providerKey, ex);
+            logger.error("Error in loadConfigurationFor for {}", providerKey, ex);
         }
         return null;
     }
@@ -82,7 +82,7 @@ public abstract class AbstractProvider implements SignInAsProvider {
         try {
             entityManager.addMapToDictionary(entityManager.getApplication(), providerKey, config);
         } catch (Exception ex) {
-            logger.error("Error in saveToConfiguration for " + providerKey, ex);
+            logger.error("Error in saveToConfiguration for {}", providerKey, ex);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/providers/FacebookProvider.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/providers/FacebookProvider.java b/stack/services/src/main/java/org/apache/usergrid/security/providers/FacebookProvider.java
index a39ebea..e86052e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/providers/FacebookProvider.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/providers/FacebookProvider.java
@@ -112,7 +112,7 @@ public class FacebookProvider extends AbstractProvider {
         String fb_user_email = ( String ) fb_user.get( "email" );
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( JsonUtils.mapToFormattedJsonString( fb_user ) );
+            logger.debug( "FacebookProvider.createOrAuthenticate: {}", JsonUtils.mapToFormattedJsonString( fb_user ) );
         }
 
         User user = null;
@@ -128,7 +128,7 @@ public class FacebookProvider extends AbstractProvider {
                 throw new BadTokenException( "Could not lookup user for that Facebook ID", ex );
             }
             if ( r.size() > 1 ) {
-                logger.error( "Multiple users for FB ID: " + fb_user_id );
+                logger.error( "Multiple users for FB ID: {}", fb_user_id );
                 throw new BadTokenException( "multiple users with same Facebook ID" );
             }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/providers/FoursquareProvider.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/providers/FoursquareProvider.java b/stack/services/src/main/java/org/apache/usergrid/security/providers/FoursquareProvider.java
index bcefe67..324e774 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/providers/FoursquareProvider.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/providers/FoursquareProvider.java
@@ -110,7 +110,7 @@ public class FoursquareProvider extends AbstractProvider {
         location.put( "longitude", ( Double ) fq_location.get( "lng" ) );
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( JsonUtils.mapToFormattedJsonString( location ) );
+            logger.debug( "FoursquareProvider.createOrAuthenticate: {}", JsonUtils.mapToFormattedJsonString( location ) );
         }
 
         // Only the first name is guaranteed to be here
@@ -129,7 +129,7 @@ public class FoursquareProvider extends AbstractProvider {
                 Results r = entityManager.searchCollection( entityManager.getApplicationRef(), "users", query );
 
                 if ( r.size() > 1 ) {
-                    logger.error( "Multiple users for FQ ID: " + fq_user_id );
+                    logger.error( "Multiple users for FQ ID: {}", fq_user_id );
                     throw new BadTokenException( "multiple users with same Foursquare ID" );
                 }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/shiro/Realm.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/shiro/Realm.java b/stack/services/src/main/java/org/apache/usergrid/security/shiro/Realm.java
index 6d43fff..4381f01 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/shiro/Realm.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/shiro/Realm.java
@@ -109,7 +109,7 @@ public class Realm extends AuthorizingRealm {
     public void setPermissionResolver( PermissionResolver permissionResolver ) {
         if ( !( permissionResolver instanceof CustomPermissionResolver ) ) {
             if (logger.isDebugEnabled()) {
-                logger.debug("Replacing {} with AllowAllCredentialsMatcher", permissionResolver);
+                logger.debug("Replacing {} with CustomPermissionResolver", permissionResolver);
             }
             permissionResolver = new CustomPermissionResolver();
         }
@@ -201,8 +201,8 @@ public class Realm extends AuthorizingRealm {
             throw new AuthenticationException( "Unable to authenticate" );
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Authenticated: {}", principal);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Authenticated: {}", principal);
         }
 
         return new SimpleAuthenticationInfo( pcToken.getPrincipal(), pcToken.getCredentials(), getName() );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCache.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCache.java b/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCache.java
index 03b23fa..4fe569f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCache.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCache.java
@@ -60,23 +60,16 @@ public class ShiroCache<K, V> implements Cache<K,V> {
         if ( scopedCache != null ) {
             V value = scopedCache.get(getKeyString(key), typeRef);
 
-            if ( logger.isDebugEnabled() ) {
+            if ( logger.isTraceEnabled() ) {
                 if (value instanceof UsergridAuthorizationInfo) {
                     UsergridAuthorizationInfo info = (UsergridAuthorizationInfo) value;
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("Got from AUTHZ cache {} for app {}", getKeyString(key), info.toString());
-                    }
-
+                    logger.trace("Got from AUTHZ cache {} for app {}", getKeyString(key), info.toString());
                 } else if (value instanceof UsergridAuthenticationInfo) {
                     UsergridAuthenticationInfo info = (UsergridAuthenticationInfo) value;
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("Got from AUTHC cache {} for app {}", getKeyString(key), info.toString());
-                    }
+                    logger.trace("Got from AUTHC cache {} for app {}", getKeyString(key), info.toString());
 
                 } else if (value == null) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("Got NULL from cache app {} for key {}", getKeyString(key), key.toString());
-                    }
+                    logger.trace("Got NULL from cache app {} for key {}", getKeyString(key), key.toString());
                 }
             }
 
@@ -93,14 +86,14 @@ public class ShiroCache<K, V> implements Cache<K,V> {
         if ( scopedCache != null ) {
             V ret = scopedCache.put(getKeyString(key), value, cacheTtl);
 
-            if ( logger.isDebugEnabled() ) {
+            if ( logger.isTraceEnabled() ) {
                 if (value instanceof UsergridAuthorizationInfo) {
                     UsergridAuthorizationInfo info = (UsergridAuthorizationInfo) value;
-                    logger.debug("Put to AUTHZ cache {} for app {}", getKeyString(key), info.toString());
+                    logger.trace("Put to AUTHZ cache {} for app {}", getKeyString(key), info.toString());
 
                 } else if (value instanceof UsergridAuthenticationInfo) {
                     UsergridAuthenticationInfo info = (UsergridAuthenticationInfo) value;
-                    logger.debug("Put to AUTHC cache {} for app {}", getKeyString(key), info.toString());
+                    logger.trace("Put to AUTHC cache {} for app {}", getKeyString(key), info.toString());
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCacheManager.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCacheManager.java b/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCacheManager.java
index 17d5cce..a3c3062 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCacheManager.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/shiro/ShiroCacheManager.java
@@ -80,7 +80,7 @@ public class ShiroCacheManager implements CacheManager {
                     getCacheTtl());
 
             } else {
-                logger.error("Unknown Shiro Cache name: " + name);
+                logger.error("Unknown Shiro Cache name: {}", name);
                 throw new RuntimeException("Unknown Shiro Cache name: " + name);
             }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/shiro/principals/PrincipalIdentifier.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/shiro/principals/PrincipalIdentifier.java b/stack/services/src/main/java/org/apache/usergrid/security/shiro/principals/PrincipalIdentifier.java
index b1bf749..41a1d0d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/shiro/principals/PrincipalIdentifier.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/shiro/principals/PrincipalIdentifier.java
@@ -84,16 +84,16 @@ public abstract class PrincipalIdentifier {
 
 
     protected void grant( UsergridAuthorizationInfo info, String permission ) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Principal {} granted permission: {}", this, permission);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Principal {} granted permission: {}", this, permission);
         }
         info.addStringPermission(permission);
     }
 
 
     protected void role( UsergridAuthorizationInfo info, String role ) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Principal {} added to role: {}", this, role);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Principal {} added to role: {}", this, role);
         }
         info.addRole(role);
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/shiro/utils/SubjectUtils.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/shiro/utils/SubjectUtils.java b/stack/services/src/main/java/org/apache/usergrid/security/shiro/utils/SubjectUtils.java
index ac4be06..3b4b37d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/shiro/utils/SubjectUtils.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/shiro/utils/SubjectUtils.java
@@ -429,8 +429,8 @@ public class SubjectUtils {
             currentUser.checkPermission( permission );
         }
         catch ( org.apache.shiro.authz.UnauthenticatedException e ) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("checkPermission(): Subject is anonymous");
+            if (logger.isTraceEnabled()) {
+                logger.trace("checkPermission(): Subject is anonymous");
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/security/tokens/TokenCategory.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/security/tokens/TokenCategory.java b/stack/services/src/main/java/org/apache/usergrid/security/tokens/TokenCategory.java
index 121901d..f5a2e03 100644
--- a/stack/services/src/main/java/org/apache/usergrid/security/tokens/TokenCategory.java
+++ b/stack/services/src/main/java/org/apache/usergrid/security/tokens/TokenCategory.java
@@ -38,10 +38,10 @@ public enum TokenCategory {
 
     private synchronized static void register( TokenCategory type ) {
         if ( prefixes == null ) {
-            prefixes = new ConcurrentHashMap<String, TokenCategory>();
+            prefixes = new ConcurrentHashMap<>();
         }
         if ( base64Prefixes == null ) {
-            base64Prefixes = new ConcurrentHashMap<String, TokenCategory>();
+            base64Prefixes = new ConcurrentHashMap<>();
         }
         prefixes.put( type.getPrefix(), type );
         base64Prefixes.put( type.getBase64Prefix(), type );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java b/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java
index 42906c6..fbb4cc6 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractCollectionService.java
@@ -94,8 +94,8 @@ public class AbstractCollectionService extends AbstractService {
         }
 
         if ( entity == null ) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("miss on entityType: {} with uuid: {}", getEntityType(), id);
+            if (logger.isTraceEnabled()) {
+                logger.trace("miss on entityType: {} with uuid: {}", getEntityType(), id);
             }
             String msg = "Cannot find entity associated with uuid: " + id;
             throw new EntityNotFoundException( msg );
@@ -120,9 +120,9 @@ public class AbstractCollectionService extends AbstractService {
         // the context of the entity they're trying to load isn't owned by the owner
         // in the path, don't return it
         if ( !em.isCollectionMember( context.getOwner(), context.getCollectionName(), entity ) ) {
-            logger.info( "Someone tried to GET entity {} they don't own. Entity id {} with owner {}", new Object[] {
+            logger.info( "Someone tried to GET entity {} they don't own. Entity id {} with owner {}",
                     getEntityType(), id, context.getOwner()
-            } );
+            );
             throw new ServiceResourceNotFoundException( context );
         }
 
@@ -153,8 +153,8 @@ public class AbstractCollectionService extends AbstractService {
 
         if ( entity == null ) {
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("miss on entityType: {} with name: {}", getEntityType(), name);
+            if (logger.isTraceEnabled()) {
+                logger.trace("miss on entityType: {} with name: {}", getEntityType(), name);
             }
 
             String msg = "Cannot find entity with name: "+name;
@@ -164,9 +164,9 @@ public class AbstractCollectionService extends AbstractService {
         // the context of the entity they're trying to load isn't owned by the owner
         // in the path, don't return it
         if ( !em.isCollectionMember( context.getOwner(), context.getCollectionName(), entity ) ) {
-            logger.info( "Someone tried to GET entity {} they don't own. Entity name {} with owner {}", new Object[] {
+            logger.info( "Someone tried to GET entity {} they don't own. Entity name {} with owner {}",
                     getEntityType(), name, context.getOwner()
-            } );
+            );
             throw new ServiceResourceNotFoundException( context );
         }
 
@@ -246,8 +246,8 @@ public class AbstractCollectionService extends AbstractService {
             return getItemsByQuery( context, new Query() );
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Limiting collection to " + Query.DEFAULT_LIMIT);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Limiting collection to {}", Query.DEFAULT_LIMIT);
         }
 
         int count = Query.DEFAULT_LIMIT;
@@ -356,16 +356,16 @@ public class AbstractCollectionService extends AbstractService {
             List<Entity> entities = new ArrayList<Entity>();
             List<Map<String, Object>> batch = context.getPayload().getBatchProperties();
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Attempting to batch create " + batch.size() + " entities in collection " + context
-                    .getCollectionName());
+            if (logger.isTraceEnabled()) {
+                logger.trace("Attempting to batch create {} entities in collection {}",
+                        batch.size(), context.getCollectionName());
             }
 
             int i = 1;
 
             for ( Map<String, Object> p : batch ) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Creating entity " + i + " in collection " + context.getCollectionName());
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Creating entity {} in collection {}", i, context.getCollectionName());
                 }
 
                 Entity item = null;
@@ -377,17 +377,16 @@ public class AbstractCollectionService extends AbstractService {
                 catch ( Exception e ) {
                     // TODO should we not log this as error?
                     if (logger.isDebugEnabled()) {
-                        logger.debug("Entity " + i + " unable to be created in collection " + context.getCollectionName(),
+                        logger.debug("Entity {} unable to be created in collection {}", i, context.getCollectionName(),
                             e);
                     }
 
                     i++;
                     continue;
                 }
-                if (logger.isDebugEnabled()) {
-                    logger.debug(
-                        "Entity " + i + " created in collection " + context.getCollectionName() + " with UUID " + item
-                            .getUuid());
+                if (logger.isTraceEnabled()) {
+                    logger.trace(
+                        "Entity {} created in collection {} with UUID {}", i, context.getCollectionName(), item.getUuid());
                 }
 
                 item = importEntity( context, item );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/AbstractConnectionsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/AbstractConnectionsService.java b/stack/services/src/main/java/org/apache/usergrid/services/AbstractConnectionsService.java
index ca539e0..94b25d3 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractConnectionsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractConnectionsService.java
@@ -218,9 +218,9 @@ public class AbstractConnectionsService extends AbstractService {
         // the context of the entity they're trying to load isn't owned by the owner
         // in the path, don't return it
         if ( !em.isConnectionMember( context.getOwner(), context.getCollectionName(), entity ) ) {
-            logger.info( "Someone tried to GET entity {} they don't own. Entity id {} with owner {}", new Object[] {
+            logger.info( "Someone tried to GET entity {} they don't own. Entity id {} with owner {}",
                     getEntityType(), id, context.getOwner()
-            } );
+            );
             throw new ServiceResourceNotFoundException( context );
         }
 
@@ -286,8 +286,8 @@ public class AbstractConnectionsService extends AbstractService {
             count = Query.MAX_LIMIT;
             level = Level.ALL_PROPERTIES;
 
-            if (logger.isDebugEnabled()) {
-            	logger.debug("Query does not have more parameters, overwriting limit to: {} and level to {}" ,
+            if (logger.isTraceEnabled()) {
+            	logger.trace("Query does not have more parameters, overwriting limit to: {} and level to {}" ,
                     count, level.name());
             }
         }
@@ -306,8 +306,8 @@ public class AbstractConnectionsService extends AbstractService {
 
         if ( connecting() ) {
             if ( query.hasQueryPredicates() ) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Attempted query of backwards connections");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Attempted query of backwards connections");
                 }
                 return null;
             }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/AbstractPathBasedColllectionService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/AbstractPathBasedColllectionService.java b/stack/services/src/main/java/org/apache/usergrid/services/AbstractPathBasedColllectionService.java
index 8bd02ea..2d5b7e1 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractPathBasedColllectionService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractPathBasedColllectionService.java
@@ -95,14 +95,18 @@ public class AbstractPathBasedColllectionService extends AbstractCollectionServi
                     }
                 }
                 if ( !isEmpty( aliases ) ) {
-                    logger.info( "Found {} potential paths", aliases.size() );
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("Found {} potential paths", aliases.size());
+                    }
                     Map<String, EntityRef> aliasedEntities = em.getAlias( getEntityType(), aliases );
                     for ( int i = aliases.size() - 1; i >= 0; i-- ) {
                         alias = aliases.get( i );
                         pathEntity = aliasedEntities.get( alias );
                         if ( pathEntity != null ) {
-                            logger.info( "Found entity {} of type {} for alias {}",
-                                    new Object[] { pathEntity.getUuid(), pathEntity.getType(), alias } );
+                            if (logger.isTraceEnabled()) {
+                                logger.trace("Found entity {} of type {} for alias {}",
+                                        pathEntity.getUuid(), pathEntity.getType(), alias);
+                            }
                             parameters = parameters.subList( i + 1, parameters.size() );
                             first_parameter = new IdParameter( pathEntity.getUuid() );
                             // if (!isEmpty(parameters)) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java b/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
index 8dd9afa..5d818cc 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/AbstractService.java
@@ -560,7 +560,7 @@ public abstract class AbstractService implements Service {
             entity.addProperties( payload.getProperties() );
             return entity;
         }
-        logger.error("Attempted update of entity reference rather than full entity, currently unsupport - MUSTFIX");
+        logger.error("Attempted update of entity reference rather than full entity, currently unsupported");
         throw new NotImplementedException();
     }
 
@@ -1365,7 +1365,7 @@ public abstract class AbstractService implements Service {
         boolean permitted = currentUser.isPermitted( perm );
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( PATH_MSG, new Object[] { path, context.getAction(), perm, permitted } );
+            logger.debug( PATH_MSG, path, context.getAction(), perm, permitted );
         }
 
         SubjectUtils.checkPermission( perm );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/ServiceInfo.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/ServiceInfo.java b/stack/services/src/main/java/org/apache/usergrid/services/ServiceInfo.java
index eb65c0e..4f6ce2f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/ServiceInfo.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/ServiceInfo.java
@@ -256,7 +256,7 @@ public class ServiceInfo {
             return servicePatternCache.get( servicePattern );
         }
         catch ( ExecutionException ee ) {
-            logger.error("Error in getClassName for service pattern: "+servicePattern, ee);
+            logger.error("Error in getClassName for service pattern: {}", servicePattern, ee);
         }
 
         return _getClassName( servicePattern );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/ServiceManager.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/ServiceManager.java b/stack/services/src/main/java/org/apache/usergrid/services/ServiceManager.java
index b428229..c439b49 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/ServiceManager.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/ServiceManager.java
@@ -107,7 +107,7 @@ public class ServiceManager {
                 applicationId = application.getUuid();
             }
             catch ( Exception e ) {
-                logger.error( "This should never happen", e );
+                logger.error( "ServiceManager init failure", e );
                 throw new RuntimeException( e );
             }
         }
@@ -210,8 +210,8 @@ public class ServiceManager {
             return null;
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Looking up service pattern: {}", serviceType);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Looking up service pattern: {}", serviceType);
         }
 
         ServiceInfo info = ServiceInfo.getServiceInfo( serviceType );
@@ -223,8 +223,8 @@ public class ServiceManager {
         Service service = getServiceInstance( info );
 
         if ( service != null ) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("Returning service instance: {}", service.getClass());
+            if (logger.isTraceEnabled()) {
+                logger.trace("Returning service instance: {}", service.getClass());
             }
         }
 
@@ -280,8 +280,8 @@ public class ServiceManager {
 
         Class<Service> cls;
         try {
-            if (logger.isDebugEnabled()) {
-                logger.debug("Attempting to instantiate service class {}", classname);
+            if (logger.isTraceEnabled()) {
+                logger.trace("Attempting to instantiate service class {}", classname);
             }
             cls = ( Class<Service> ) Class.forName( classname );
             if ( cls.isInterface() ) {
@@ -328,7 +328,7 @@ public class ServiceManager {
                 s = cls.newInstance();
             }
             catch ( Exception e ) {
-                logger.error( "cannot instantiate " + cls.getName(), e );
+                logger.error( "cannot instantiate {}", cls.getName(), e );
             }
             if ( s instanceof AbstractService ) {
                 AbstractService as = ( ( AbstractService ) s );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/ServiceParameter.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/ServiceParameter.java b/stack/services/src/main/java/org/apache/usergrid/services/ServiceParameter.java
index 6e8a072..533992b 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/ServiceParameter.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/ServiceParameter.java
@@ -127,7 +127,7 @@ public abstract class ServiceParameter {
     public static List<ServiceParameter> addParameter( List<ServiceParameter> parameters, Query query ) {
 
         if ( parameters == null ) {
-            parameters = new ArrayList<ServiceParameter>();
+            parameters = new ArrayList<>();
         }
 
         if ( query == null ) {
@@ -135,7 +135,7 @@ public abstract class ServiceParameter {
         }
 
         if ( lastParameterIsQuery( parameters ) ) {
-            logger.error( "Adding two queries in a row" );
+            logger.info( "Adding two queries in a row" );
         }
 
         ServiceParameter p = new QueryParameter( query );
@@ -148,7 +148,7 @@ public abstract class ServiceParameter {
             throws Exception {
 
         if ( parameters == null ) {
-            parameters = new ArrayList<ServiceParameter>();
+            parameters = new ArrayList<>();
         }
 
         if ( params == null ) {
@@ -177,59 +177,37 @@ public abstract class ServiceParameter {
 
 
     public static boolean firstParameterIsName( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( 0 ).isName();
-        }
-        return false;
+        return !isEmpty(parameters) && parameters.get( 0 ).isName();
     }
 
 
     public static boolean lastParameterIsName( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( parameters.size() - 1 ).isName();
-        }
-        return false;
+        return !isEmpty(parameters) && parameters.get( parameters.size() - 1 ).isName();
     }
 
 
     public static boolean firstParameterIsQuery( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( 0 ).isQuery();
-        }
-        return false;
+        return !isEmpty(parameters) && parameters.get( 0 ).isQuery();
     }
 
 
     public static boolean lastParameterIsQuery( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( parameters.size() - 1 ).isQuery();
-        }
-        return false;
+        return !isEmpty(parameters) && parameters.get( parameters.size() - 1 ).isQuery();
     }
 
 
     public static boolean firstParameterIsId( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( 0 ).isId();
-        }
-        return false;
+        return !isEmpty(parameters) && parameters.get(0).isId();
     }
 
 
     public static boolean lastParameterIsId( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( parameters.size() - 1 ).isId();
-        }
-        return false;
+        return !isEmpty(parameters) && parameters.get( parameters.size() - 1 ).isId();
     }
 
 
     public static ServiceParameter firstParameter( List<ServiceParameter> parameters ) {
-        if ( !isEmpty( parameters ) ) {
-            return parameters.get( 0 );
-        }
-
-        return null;
+        return !isEmpty(parameters) ? parameters.get(0) : null;
     }
 
 
@@ -329,7 +307,7 @@ public abstract class ServiceParameter {
             if ( !found ) {
                 continue;
             }
-            ArrayList<ServiceParameter> p = new ArrayList<ServiceParameter>();
+            ArrayList<ServiceParameter> p = new ArrayList<>();
             for ( String name : replaceSet.getValue() ) {
                 if ( name.startsWith( "\\" ) ) {
                     int i = Integer.parseInt( name.substring( 1 ) );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/ServiceResults.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/ServiceResults.java b/stack/services/src/main/java/org/apache/usergrid/services/ServiceResults.java
index de3c012..868cb68 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/ServiceResults.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/ServiceResults.java
@@ -73,8 +73,8 @@ public class ServiceResults extends Results {
         }
         this.serviceMetadata = serviceMetadata;
         this.nextRequests = nextRequests;
-        if (logger.isDebugEnabled()) {
-            logger.debug("Child path: {}", childPath);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Child path: {}", childPath);
         }
     }
 
@@ -95,8 +95,8 @@ public class ServiceResults extends Results {
         }
         this.serviceMetadata = serviceMetadata;
         this.nextRequests = nextRequests;
-        if (logger.isDebugEnabled()) {
-            logger.debug("Child path: {}", childPath);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Child path: {}", childPath);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/activities/ActivitiesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/activities/ActivitiesService.java b/stack/services/src/main/java/org/apache/usergrid/services/activities/ActivitiesService.java
index 02105bf..348b442 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/activities/ActivitiesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/activities/ActivitiesService.java
@@ -29,8 +29,8 @@ public class ActivitiesService extends AbstractCollectionService {
 
     public ActivitiesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/activities");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/activities");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/applications/ApplicationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/applications/ApplicationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/applications/ApplicationsService.java
index 515721a..ae524c6 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/applications/ApplicationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/applications/ApplicationsService.java
@@ -49,8 +49,8 @@ public class ApplicationsService extends AbstractService {
 
     public ApplicationsService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/applications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/applications");
         }
         declareEntityDictionary( "counters" );
         declareEntityCommand( "hello" );
@@ -149,7 +149,7 @@ public class ApplicationsService extends AbstractService {
 
                     em.createApplicationCollection( collection );
                     if (logger.isDebugEnabled()) {
-                        logger.debug("Created collection " + collection + " for application " + sm.getApplicationId());
+                        logger.debug("Created collection {} for application {}", collection, sm.getApplicationId());
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/assets/AssetsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/AssetsService.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/AssetsService.java
index f313e4a..41aaa82 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/AssetsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/AssetsService.java
@@ -34,8 +34,8 @@ public class AssetsService extends AbstractPathBasedColllectionService {
 
     public AssetsService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/assets");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/assets");
         }
         declareServiceCommands( "data" );
     }
@@ -44,8 +44,8 @@ public class AssetsService extends AbstractPathBasedColllectionService {
     @Override
     public ServiceResults getEntityCommand( ServiceContext context, List<EntityRef> refs, String command )
             throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("handling command: {}", command);
+        if (logger.isTraceEnabled()) {
+            logger.trace("handling command: {}", command);
         }
 
         ServiceResults sr = ServiceResults.genericServiceResults();
@@ -56,8 +56,8 @@ public class AssetsService extends AbstractPathBasedColllectionService {
 
     @Override
     public ServiceResults getServiceCommand( ServiceContext context, String command ) throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("in getServiceCommand with command: {}", command);
+        if (logger.isTraceEnabled()) {
+            logger.trace("in getServiceCommand with command: {}", command);
         }
         return ServiceResults.genericServiceResults();
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetMimeHandler.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetMimeHandler.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetMimeHandler.java
index 1ecc9e7..b1822ea 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetMimeHandler.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetMimeHandler.java
@@ -37,7 +37,7 @@ import org.apache.tika.mime.MediaType;
 
 /** Detect the mime type of an Asset */
 public final class AssetMimeHandler {
-    private static final Logger LOG = LoggerFactory.getLogger( AssetMimeHandler.class );
+    private static final Logger logger = LoggerFactory.getLogger( AssetMimeHandler.class );
 
     private Detector detector;
 
@@ -98,7 +98,7 @@ public final class AssetMimeHandler {
             fileMetadata.put( AssetUtils.CONTENT_TYPE, mediaType.toString() );
         }
         catch ( IOException e ) {
-            LOG.error( "error detecting mime type", e );
+            logger.error( "error detecting mime type", e );
         }
 
         return mediaType.toString();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetUtils.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetUtils.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetUtils.java
index 91ad9cc..48ad1ba 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetUtils.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AssetUtils.java
@@ -34,7 +34,7 @@ import com.google.common.base.Preconditions;
 
 
 public class AssetUtils {
-    private static final Logger LOG = LoggerFactory.getLogger( AssetUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( AssetUtils.class );
 
     public static final String FILE_METADATA = "file-metadata";
     public static final String CONTENT_TYPE = "content-type";
@@ -62,7 +62,7 @@ public class AssetUtils {
                 moded = DateUtils.parseDate( headerValue, DEFAULT_PATTERNS );
             }
             catch ( ParseException pe ) {
-                LOG.error( "Could not parse date format from If-Modified-Since header: " + headerValue );
+                logger.error( "Could not parse date format from If-Modified-Since header: {}", headerValue );
             }
         }
         return moded;


[21/50] [abbrv] usergrid git commit: USERGRID-1241: retrieve token info only once

Posted by sn...@apache.org.
USERGRID-1241: retrieve token info only once


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

Branch: refs/heads/asf-site
Commit: a434b523eca4d234a8f3b078cefcf930c127bb15
Parents: 27b60fe
Author: Mike Dunker <md...@apigee.com>
Authored: Fri Jan 29 10:27:10 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Fri Jan 29 10:27:10 2016 -0800

----------------------------------------------------------------------
 .../org/apache/usergrid/rest/management/users/UserResource.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/a434b523/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
index 185559e..11dd9d4 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
@@ -223,7 +223,7 @@ public class UserResource extends AbstractContextResource {
                 organizationId = tokenInfo.getWorkflowOrgId();
             }
 
-            if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), token ) ) {
+            if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), tokenInfo ) ) {
                 return handleViewable( "resetpw_set_form", this, organizationId );
             }
             else {
@@ -276,7 +276,7 @@ public class UserResource extends AbstractContextResource {
             //      }
 
             if ( ( password1 != null ) || ( password2 != null ) ) {
-                if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), token ) ) {
+                if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), tokenInfo ) ) {
                     if ( ( password1 != null ) && password1.equals( password2 ) ) {
                         management.setAdminUserPassword( user.getUuid(), password1 );
                         management.revokeAccessTokenForAdminUser( user.getUuid(), token );


[49/50] [abbrv] usergrid git commit: Fixes to new 2.1.0 (unreleased) deployment guide, and add it to the table of contents (that's why so many files changed)

Posted by sn...@apache.org.
Fixes to new 2.1.0 (unreleased) deployment guide, and add it to the table of contents (that's why so many files changed)


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

Branch: refs/heads/asf-site
Commit: a77ec46e85a9e4cafdab9311527e89e737c16d19
Parents: 4218c19
Author: Dave Johnson <sn...@apache.org>
Authored: Thu Feb 4 09:55:34 2016 -0800
Committer: Dave Johnson <sn...@apache.org>
Committed: Thu Feb 4 09:55:34 2016 -0800

----------------------------------------------------------------------
 content/docs/README.html                        |   2 +-
 content/docs/_sources/index.txt                 |   2 +-
 .../_sources/installation/deployment-guide.txt  |  73 +++++---
 .../file-storage-configuration.html             |   2 +-
 content/docs/assets-and-files/folders.html      |   2 +-
 .../assets-and-files/legacy-asset-support.html  |   2 +-
 .../assets-and-files/retrieving-assets.html     |   2 +-
 .../docs/assets-and-files/uploading-assets.html |   2 +-
 .../creating-and-incrementing-counters.html     |   2 +-
 .../events-and-counters.html                    |   2 +-
 .../retrieving-counters.html                    |   2 +-
 .../docs/data-queries/advanced-query-usage.html |   2 +-
 .../docs/data-queries/operators-and-types.html  |   2 +-
 content/docs/data-queries/query-parameters.html |   2 +-
 .../docs/data-queries/querying-your-data.html   |   2 +-
 content/docs/data-storage/collections.html      |   2 +-
 content/docs/data-storage/data-store-dbms.html  |   2 +-
 content/docs/data-storage/entities.html         |   2 +-
 .../docs/data-storage/optimizing-access.html    |   2 +-
 .../entity-connections/connecting-entities.html |   2 +-
 .../disconnecting-entities.html                 |   2 +-
 .../entity-connections/retrieving-entities.html |   2 +-
 content/docs/genindex.html                      |   2 +-
 content/docs/geolocation/geolocation.html       |   2 +-
 .../creating-a-new-application.html             |   2 +-
 .../docs/getting-started/creating-account.html  |   2 +-
 .../getting-started/using-a-sandbox-app.html    |   2 +-
 content/docs/getting-started/using-the-api.html |   2 +-
 content/docs/index.html                         |  15 +-
 content/docs/installation/deployment-guide.html | 170 ++++++++++++++-----
 .../docs/installation/ug1-deploy-to-tomcat.html |   2 +-
 .../installation/ug1-launcher-quick-start.html  |   6 +-
 .../docs/installation/ug2-deploy-to-tomcat.html |  31 +---
 content/docs/introduction/async-vs-sync.html    |   2 +-
 content/docs/introduction/data-model.html       |   2 +-
 content/docs/introduction/overview.html         |   2 +-
 .../docs/introduction/usergrid-features.html    |   2 +-
 content/docs/jersey2skeleton/README.html        |   2 +-
 content/docs/orgs-and-apps/admin-user.html      |   2 +-
 content/docs/orgs-and-apps/application.html     |   2 +-
 content/docs/orgs-and-apps/managing.html        |   2 +-
 content/docs/orgs-and-apps/organization.html    |   2 +-
 .../push-notifications/adding-push-support.html |   2 +-
 .../creating-and-managing-notifications.html    |   2 +-
 .../push-notifications/creating-notifiers.html  |   2 +-
 .../push-notifications/getting-started.html     |   2 +-
 .../managing-users-and-devices.html             |   2 +-
 content/docs/push-notifications/overview.html   |   2 +-
 .../docs/push-notifications/registering.html    |   2 +-
 content/docs/push-notifications/tbd.html        |   2 +-
 .../push-notifications/troubleshooting.html     |   2 +-
 content/docs/push-notifications/tutorial.html   |   2 +-
 .../docs/push-notifications/users-devices.html  |   2 +-
 content/docs/reference/contribute-code.html     |   2 +-
 content/docs/reference/presos-and-videos.html   |   6 +-
 content/docs/rest-endpoints/api-docs.html       |   2 +-
 content/docs/sdks/ios-new.html                  |   2 +-
 content/docs/sdks/sdk-outline.html              |   2 +-
 content/docs/sdks/tbd.html                      |   2 +-
 content/docs/search.html                        |   2 +-
 content/docs/searchindex.js                     |   2 +-
 .../docs/security-and-auth/app-security.html    |   2 +-
 .../authenticating-api-requests.html            |   2 +-
 ...nticating-users-and-application-clients.html |   2 +-
 .../changing-token-time-live-ttl.html           |   2 +-
 .../docs/security-and-auth/facebook-sign.html   |   2 +-
 .../revoking-tokens-logout.html                 |   2 +-
 .../security-and-auth/securing-your-app.html    |   2 +-
 .../user-authentication-types.html              |   2 +-
 .../security-and-auth/using-permissions.html    |   2 +-
 content/docs/security-and-auth/using-roles.html |   2 +-
 content/docs/user-management/activity.html      |   2 +-
 content/docs/user-management/group.html         |   2 +-
 content/docs/user-management/groups.html        |   2 +-
 .../docs/user-management/messagee-example.html  |   2 +-
 .../docs/user-management/user-connections.html  |   2 +-
 .../docs/user-management/user-management.html   |   2 +-
 .../docs/user-management/working-user-data.html |   2 +-
 docs/index.rst                                  |   2 +-
 docs/installation/deployment-guide.md           |  73 +++++---
 website/run.sh                                  |   1 +
 81 files changed, 329 insertions(+), 192 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/README.html
----------------------------------------------------------------------
diff --git a/content/docs/README.html b/content/docs/README.html
index 561166c..5b57a86 100644
--- a/content/docs/README.html
+++ b/content/docs/README.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/_sources/index.txt
----------------------------------------------------------------------
diff --git a/content/docs/_sources/index.txt b/content/docs/_sources/index.txt
index 0003f26..6c81816 100644
--- a/content/docs/_sources/index.txt
+++ b/content/docs/_sources/index.txt
@@ -165,7 +165,7 @@ Apache Usergrid Documentation
 
    installation/ug1-deploy-to-tomcat
    installation/ug1-launcher-quick-start
-   installation/ug2-deploy-to-tomcat
+   installation/deployment-guide
     
 .. _about:
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/_sources/installation/deployment-guide.txt
----------------------------------------------------------------------
diff --git a/content/docs/_sources/installation/deployment-guide.txt b/content/docs/_sources/installation/deployment-guide.txt
index 86a7506..afbb636 100644
--- a/content/docs/_sources/installation/deployment-guide.txt
+++ b/content/docs/_sources/installation/deployment-guide.txt
@@ -1,8 +1,8 @@
-# Usergrid 2.1.0 Deployment Guide
+# Usergrid 2.1.0 (unreleased) Deployment Guide
 
 ## DRAFT 
 
-This document explains how to deploy the Usergrid Backend-as-a-Service (BaaS), 
+This document explains how to deploy the Usergrid v2.1.0 Backend-as-a-Service (BaaS), 
 which comprises the Usergrid Stack, a Java web application, and the Usergrid Portal,
 which is an HTML5/JavaScript application. 
 
@@ -102,8 +102,8 @@ a three or more node cluster is recommended.
 __Use the right Java.__ Cassandra requires Java and we recommend that you use the same version of Java 
 for Cassandra as you use to run Tomcat and ElasticSearch.
 
-__Refer to the [Apache Cassandra documentation](http://wiki.apache.org/cassandra/GettingStarted) 
-for instructions on how to install Cassandra__. The [Datastax documentation for Cassandra 1.2](http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html) is also helpful. 
+__Refer to the__ [Apache Cassandra documentation](http://wiki.apache.org/cassandra/GettingStarted) 
+__for instructions on how to install Cassandra__. The [Datastax documentation for Cassandra 1.2](http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html) is also helpful. 
 Once you are up and running make a note of these things:
 
    * The name of the Cassandra cluster
@@ -121,9 +121,9 @@ a cluster in production.
 __Use the right Java__. ElasticSearch requires Java and you *must* ensure that you use the 
 same version of Java for ElasticSearch as you do for running Tomcat.
 
-__Refer to the 
+__Refer to the__ 
 [ElasticSearch 1.4 documentation](https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html) 
-for instructions on how to install__. Once you are up and running make a note of these things:
+__for instructions on how to install__. Once you are up and running make a note of these things:
 
    * The name of the ElasticSearch cluster
    * Hostname or IP address of each ElasticSearch node
@@ -141,7 +141,7 @@ The Usergrid Stack is contained in a file named ROOT.war, a standard Java EE WAR
 ready for deployment to Tomcat. On each machine that will run the Usergrid Stack 
 you must install the Java SE 8 JDK and Tomcat 7+. 
 
-__Refer to the [Apache Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/setup.html) documentation for  instructions on how to install__. Once Tomcat installed, you need to create and edit some configuration files.
+__Refer to the__ [Apache Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/setup.html) __documentation for  instructions on how to install__. Once Tomcat installed, you need to create and edit some configuration files.
 
 
 ### Stack STEP #4: Configure Usergrid Stack & Logging
@@ -170,19 +170,52 @@ shell variables, e.g. `${USERGRID_CLUSTER_NAME}`. Here's a guide to the things y
 
 __Table 1: Values to set in Example Properties file:__
 
-| Value       | Description |
-|-------------|-------------|
-| __BASEURL__ | This is the base URL for the Usergrid installation, e.g. `https://api.example.com`. |
-| __USERGRID_CLUSTER_NAME__ | This is your name for your Usergrid installation. |
-| __CASSANDRA_CLUSTER_NAME__ | Name of Cassandra cluster, must match what's in Cassandra configuration. |
-| __CASSANDRA_HOSTS__ | Comma-separated lists of Cassandra hosts, with port numbers if you are not using the default 9120. The default for this property is `localhost:9120` |
-| __ELASTICSEARCH_CLUSTER_NAME__ | Name of ElasticSearch cluster, must match what's in ElasticSearch configuration. |
-| __ELASTICSEARCH_HOSTS__ | Comma-separated lists of ElasticSearch hosts, with port numbers if you are not using the default 9300. The default for this property is `localhost:9300` |
-| __SUPER_USER_EMAIL__ | Email address of person responsible for the superuser account. |
-| __SUPER_USER_PASSWORD__ | Password for the superuser account. |
-| __TEST_ADMIN_USER_EMAIL__ | If `usergrid.setup-test-account=true`, as shown below, Usergrid will create a test account and you should specify a valid email here. |
-| __TEST_ADMIN_USER_PASSWORD__ | Password for the username 'test' account. |
-   
+<table class="usergrid-table">
+<tr>
+  <th>Value</th>
+  <th>Description</th>
+</tr>
+<tr>
+    <td>__BASEURL__</td>
+    <td>This is the base URL for the Usergrid installation, e.g. `https://api.example.com`. </td>
+</tr>
+<tr>
+    <td>__USERGRID_CLUSTER_NAME__</td>
+    <td>This is your name for your Usergrid installation. </td>
+</tr>
+<tr>
+    <td>__CASSANDRA_CLUSTER_NAME__</td>
+    <td>Name of Cassandra cluster, must match what's in Cassandra configuration. </td>
+</tr>
+<tr>
+    <td>__CASSANDRA_HOSTS__</td>
+    <td>Comma-separated lists of Cassandra hosts, with port numbers if you are not using the default 9120. The default for this property is `localhost:9120` </td>
+</tr>
+<tr>
+    <td>__ELASTICSEARCH_CLUSTER_NAME__</td>
+    <td>Name of ElasticSearch cluster, must match what's in ElasticSearch configuration. </td>
+</tr>
+<tr>
+    <td>__ELASTICSEARCH_HOSTS__</td>
+    <td>Comma-separated lists of ElasticSearch hosts, with port numbers if you are not using the default 9300. The default for this property is `localhost:9300` </td>
+</tr>
+<tr>
+    <td>__SUPER_USER_EMAIL__</td>
+    <td>Email address of person responsible for the superuser account. </td>
+</tr>
+<tr>
+    <td>__SUPER_USER_PASSWORD__</td>
+    <td>Password for the superuser account. </td>
+</tr>
+<tr>
+    <td>__TEST_ADMIN_USER_EMAIL__</td>
+    <td>If `usergrid.setup-test-account=true`, as shown below, Usergrid will create a test account and you should specify a valid email here. </td>
+</tr>
+<tr>
+    <td>__TEST_ADMIN_USER_PASSWORD__</td>
+    <td>Password for the username 'test' account. </td>
+</tr>
+</table>   
    
 Make sure you set all of the above properties when you edit this example for your installation.   
    

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/assets-and-files/file-storage-configuration.html
----------------------------------------------------------------------
diff --git a/content/docs/assets-and-files/file-storage-configuration.html b/content/docs/assets-and-files/file-storage-configuration.html
index 877164b..b10568a 100644
--- a/content/docs/assets-and-files/file-storage-configuration.html
+++ b/content/docs/assets-and-files/file-storage-configuration.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/assets-and-files/folders.html
----------------------------------------------------------------------
diff --git a/content/docs/assets-and-files/folders.html b/content/docs/assets-and-files/folders.html
index 616413c..7d09aa0 100644
--- a/content/docs/assets-and-files/folders.html
+++ b/content/docs/assets-and-files/folders.html
@@ -192,7 +192,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/assets-and-files/legacy-asset-support.html
----------------------------------------------------------------------
diff --git a/content/docs/assets-and-files/legacy-asset-support.html b/content/docs/assets-and-files/legacy-asset-support.html
index 7085315..5636b15 100644
--- a/content/docs/assets-and-files/legacy-asset-support.html
+++ b/content/docs/assets-and-files/legacy-asset-support.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/assets-and-files/retrieving-assets.html
----------------------------------------------------------------------
diff --git a/content/docs/assets-and-files/retrieving-assets.html b/content/docs/assets-and-files/retrieving-assets.html
index 2cb0706..1aed322 100644
--- a/content/docs/assets-and-files/retrieving-assets.html
+++ b/content/docs/assets-and-files/retrieving-assets.html
@@ -196,7 +196,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/assets-and-files/uploading-assets.html
----------------------------------------------------------------------
diff --git a/content/docs/assets-and-files/uploading-assets.html b/content/docs/assets-and-files/uploading-assets.html
index afdb065..aef16ef 100644
--- a/content/docs/assets-and-files/uploading-assets.html
+++ b/content/docs/assets-and-files/uploading-assets.html
@@ -197,7 +197,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/counters-and-events/creating-and-incrementing-counters.html
----------------------------------------------------------------------
diff --git a/content/docs/counters-and-events/creating-and-incrementing-counters.html b/content/docs/counters-and-events/creating-and-incrementing-counters.html
index c40f42a..2bed73b 100644
--- a/content/docs/counters-and-events/creating-and-incrementing-counters.html
+++ b/content/docs/counters-and-events/creating-and-incrementing-counters.html
@@ -193,7 +193,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/counters-and-events/events-and-counters.html
----------------------------------------------------------------------
diff --git a/content/docs/counters-and-events/events-and-counters.html b/content/docs/counters-and-events/events-and-counters.html
index 46ced7a..7c6f292 100644
--- a/content/docs/counters-and-events/events-and-counters.html
+++ b/content/docs/counters-and-events/events-and-counters.html
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/counters-and-events/retrieving-counters.html
----------------------------------------------------------------------
diff --git a/content/docs/counters-and-events/retrieving-counters.html b/content/docs/counters-and-events/retrieving-counters.html
index 6cdf0ca..9cd653e 100644
--- a/content/docs/counters-and-events/retrieving-counters.html
+++ b/content/docs/counters-and-events/retrieving-counters.html
@@ -197,7 +197,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-queries/advanced-query-usage.html
----------------------------------------------------------------------
diff --git a/content/docs/data-queries/advanced-query-usage.html b/content/docs/data-queries/advanced-query-usage.html
index 3b79b51..4e9ebac 100644
--- a/content/docs/data-queries/advanced-query-usage.html
+++ b/content/docs/data-queries/advanced-query-usage.html
@@ -191,7 +191,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-queries/operators-and-types.html
----------------------------------------------------------------------
diff --git a/content/docs/data-queries/operators-and-types.html b/content/docs/data-queries/operators-and-types.html
index 5017206..0cbf8cf 100644
--- a/content/docs/data-queries/operators-and-types.html
+++ b/content/docs/data-queries/operators-and-types.html
@@ -195,7 +195,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-queries/query-parameters.html
----------------------------------------------------------------------
diff --git a/content/docs/data-queries/query-parameters.html b/content/docs/data-queries/query-parameters.html
index 7c354cc..63ec412 100644
--- a/content/docs/data-queries/query-parameters.html
+++ b/content/docs/data-queries/query-parameters.html
@@ -195,7 +195,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-queries/querying-your-data.html
----------------------------------------------------------------------
diff --git a/content/docs/data-queries/querying-your-data.html b/content/docs/data-queries/querying-your-data.html
index 923c61a..f99b2e7 100644
--- a/content/docs/data-queries/querying-your-data.html
+++ b/content/docs/data-queries/querying-your-data.html
@@ -196,7 +196,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-storage/collections.html
----------------------------------------------------------------------
diff --git a/content/docs/data-storage/collections.html b/content/docs/data-storage/collections.html
index 2f197aa..5edccb6 100644
--- a/content/docs/data-storage/collections.html
+++ b/content/docs/data-storage/collections.html
@@ -214,7 +214,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-storage/data-store-dbms.html
----------------------------------------------------------------------
diff --git a/content/docs/data-storage/data-store-dbms.html b/content/docs/data-storage/data-store-dbms.html
index 97ba7a3..6bb8208 100644
--- a/content/docs/data-storage/data-store-dbms.html
+++ b/content/docs/data-storage/data-store-dbms.html
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-storage/entities.html
----------------------------------------------------------------------
diff --git a/content/docs/data-storage/entities.html b/content/docs/data-storage/entities.html
index 40c0439..36b77c3 100644
--- a/content/docs/data-storage/entities.html
+++ b/content/docs/data-storage/entities.html
@@ -227,7 +227,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/data-storage/optimizing-access.html
----------------------------------------------------------------------
diff --git a/content/docs/data-storage/optimizing-access.html b/content/docs/data-storage/optimizing-access.html
index 9f8c7b2..5dba798 100644
--- a/content/docs/data-storage/optimizing-access.html
+++ b/content/docs/data-storage/optimizing-access.html
@@ -196,7 +196,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/entity-connections/connecting-entities.html
----------------------------------------------------------------------
diff --git a/content/docs/entity-connections/connecting-entities.html b/content/docs/entity-connections/connecting-entities.html
index 7f2ed4b..39afcde 100644
--- a/content/docs/entity-connections/connecting-entities.html
+++ b/content/docs/entity-connections/connecting-entities.html
@@ -191,7 +191,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/entity-connections/disconnecting-entities.html
----------------------------------------------------------------------
diff --git a/content/docs/entity-connections/disconnecting-entities.html b/content/docs/entity-connections/disconnecting-entities.html
index ce246ba..780f442 100644
--- a/content/docs/entity-connections/disconnecting-entities.html
+++ b/content/docs/entity-connections/disconnecting-entities.html
@@ -191,7 +191,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/entity-connections/retrieving-entities.html
----------------------------------------------------------------------
diff --git a/content/docs/entity-connections/retrieving-entities.html b/content/docs/entity-connections/retrieving-entities.html
index 8788f8b..418f1ee 100644
--- a/content/docs/entity-connections/retrieving-entities.html
+++ b/content/docs/entity-connections/retrieving-entities.html
@@ -194,7 +194,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/genindex.html
----------------------------------------------------------------------
diff --git a/content/docs/genindex.html b/content/docs/genindex.html
index 9522579..b555c8b 100644
--- a/content/docs/genindex.html
+++ b/content/docs/genindex.html
@@ -187,7 +187,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/geolocation/geolocation.html
----------------------------------------------------------------------
diff --git a/content/docs/geolocation/geolocation.html b/content/docs/geolocation/geolocation.html
index 0b8eed5..df7a9f7 100644
--- a/content/docs/geolocation/geolocation.html
+++ b/content/docs/geolocation/geolocation.html
@@ -193,7 +193,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/getting-started/creating-a-new-application.html
----------------------------------------------------------------------
diff --git a/content/docs/getting-started/creating-a-new-application.html b/content/docs/getting-started/creating-a-new-application.html
index 3b7cb8f..ac7e107 100644
--- a/content/docs/getting-started/creating-a-new-application.html
+++ b/content/docs/getting-started/creating-a-new-application.html
@@ -192,7 +192,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/getting-started/creating-account.html
----------------------------------------------------------------------
diff --git a/content/docs/getting-started/creating-account.html b/content/docs/getting-started/creating-account.html
index f17481f..19ec5c0 100644
--- a/content/docs/getting-started/creating-account.html
+++ b/content/docs/getting-started/creating-account.html
@@ -191,7 +191,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/getting-started/using-a-sandbox-app.html
----------------------------------------------------------------------
diff --git a/content/docs/getting-started/using-a-sandbox-app.html b/content/docs/getting-started/using-a-sandbox-app.html
index 21c1d8d..1b2ad34 100644
--- a/content/docs/getting-started/using-a-sandbox-app.html
+++ b/content/docs/getting-started/using-a-sandbox-app.html
@@ -193,7 +193,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/getting-started/using-the-api.html
----------------------------------------------------------------------
diff --git a/content/docs/getting-started/using-the-api.html b/content/docs/getting-started/using-the-api.html
index 333b4cb..a377a9c 100644
--- a/content/docs/getting-started/using-the-api.html
+++ b/content/docs/getting-started/using-the-api.html
@@ -199,7 +199,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/index.html
----------------------------------------------------------------------
diff --git a/content/docs/index.html b/content/docs/index.html
index caa61a4..04d267c 100644
--- a/content/docs/index.html
+++ b/content/docs/index.html
@@ -187,7 +187,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>
@@ -735,10 +735,15 @@
 <li class="toctree-l2"><a class="reference internal" href="installation/ug1-launcher-quick-start.html#getting-started-with-the-http-api">Getting Started with the HTTP API</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html#requirements">Requirements</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html#running">Running</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html#example-usergrid-deployment-properties-file">Example <strong>usergrid-deployment.properties</strong> file</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#draft">DRAFT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#intended-audience">Intended audience</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#prerequsites">Prerequsites</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#getting-started">Getting Started</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#deploying-the-usergrid-stack">Deploying the Usergrid Stack</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#deploying-the-usergrid-portal">Deploying the Usergrid Portal</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#additional-resources">Additional Resources</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation/deployment-guide.html#the-end">The End</a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/installation/deployment-guide.html
----------------------------------------------------------------------
diff --git a/content/docs/installation/deployment-guide.html b/content/docs/installation/deployment-guide.html
index d958109..79ee683 100644
--- a/content/docs/installation/deployment-guide.html
+++ b/content/docs/installation/deployment-guide.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>Usergrid 2.1.0 Deployment Guide &mdash; Apache Usergrid 1.0 documentation</title>
+  <title>Usergrid 2.1.0 (unreleased) Deployment Guide &mdash; Apache Usergrid 1.0 documentation</title>
   
 
   
@@ -30,7 +30,9 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
+        <link rel="next" title="Presentations &amp; Videos" href="../reference/presos-and-videos.html"/>
+        <link rel="prev" title="Usegrid 1: Launcher Quick-start" href="ug1-launcher-quick-start.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -183,10 +185,34 @@
 <li class="toctree-l1"><a class="reference internal" href="../sdks/tbd.html">COMING SOON...</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Installing the Stack</span></p>
-<ul>
+<ul class="current">
 <li class="toctree-l1"><a class="reference internal" href="ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="">Usergrid 2.1.0 (unreleased) Deployment Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#draft">DRAFT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#intended-audience">Intended audience</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#prerequsites">Prerequsites</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#getting-started">Getting Started</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#deploying-the-usergrid-stack">Deploying the Usergrid Stack</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#stack-step-1-setup-cassandra">Stack STEP #1: Setup Cassandra</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#stack-step-2-setup-elasticsearch">Stack STEP #2: Setup ElasticSearch</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#stack-step-3-setup-tomcat">Stack STEP #3: Setup Tomcat</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#stack-step-4-configure-usergrid-stack-logging">Stack STEP #4: Configure Usergrid Stack &amp; Logging</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#example-usergrid-stack-properties-file">Example Usergrid Stack Properties File</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#configure-logging">Configure Logging</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#stack-step-5-deploy-root-war-to-tomcat">Stack STEP #5: Deploy ROOT.war to Tomcat</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#initialize-the-usergrid-database">Initialize the Usergrid Database</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#deploying-the-usergrid-portal">Deploying the Usergrid Portal</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-resources">Additional Resources</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#the-end">The End</a></li>
+</ul>
+</li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>
@@ -216,7 +242,7 @@
   <ul class="wy-breadcrumbs">
     <li><a href="../index.html">Docs</a> &raquo;</li>
       
-    <li>Usergrid 2.1.0 Deployment Guide</li>
+    <li>Usergrid 2.1.0 (unreleased) Deployment Guide</li>
       <li class="wy-breadcrumbs-aside">
         
           
@@ -230,13 +256,14 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
             
-  <div class="section" id="usergrid-2-1-0-deployment-guide">
-<h1>Usergrid 2.1.0 Deployment Guide<a class="headerlink" href="#usergrid-2-1-0-deployment-guide" title="Permalink to this headline">¶</a></h1>
+  <div class="section" id="usergrid-2-1-0-unreleased-deployment-guide">
+<h1>Usergrid 2.1.0 (unreleased) Deployment Guide<a class="headerlink" href="#usergrid-2-1-0-unreleased-deployment-guide" title="Permalink to this headline">¶</a></h1>
 <div class="section" id="draft">
 <h2>DRAFT<a class="headerlink" href="#draft" title="Permalink to this headline">¶</a></h2>
-<p>This document explains how to deploy the Usergrid Backend-as-a-Service
-(BaaS), which comprises the Usergrid Stack, a Java web application, and
-the Usergrid Portal, which is an HTML5/JavaScript application.</p>
+<p>This document explains how to deploy the Usergrid v2.1.0
+Backend-as-a-Service (BaaS), which comprises the Usergrid Stack, a Java
+web application, and the Usergrid Portal, which is an HTML5/JavaScript
+application.</p>
 </div>
 <div class="section" id="intended-audience">
 <h2>Intended audience<a class="headerlink" href="#intended-audience" title="Permalink to this headline">¶</a></h2>
@@ -335,8 +362,8 @@ recommended.</p>
 <p><strong>Use the right Java.</strong> Cassandra requires Java and we recommend that
 you use the same version of Java for Cassandra as you use to run Tomcat
 and ElasticSearch.</p>
-<p><strong>Refer to the `Apache Cassandra
-documentation &lt;http://wiki.apache.org/cassandra/GettingStarted&gt;`__ for
+<p><strong>Refer to the</strong> <a class="reference external" href="http://wiki.apache.org/cassandra/GettingStarted">Apache Cassandra
+documentation</a> <strong>for
 instructions on how to install Cassandra</strong>. The <a class="reference external" href="http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html">Datastax documentation
 for Cassandra
 1.2</a>
@@ -357,10 +384,10 @@ you should run a cluster in production.</p>
 <p><strong>Use the right Java</strong>. ElasticSearch requires Java and you <em>must</em>
 ensure that you use the same version of Java for ElasticSearch as you do
 for running Tomcat.</p>
-<p><strong>Refer to the `ElasticSearch 1.4
-documentation &lt;https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html&gt;`__
-for instructions on how to install</strong>. Once you are up and running make a
-note of these things:</p>
+<p><strong>Refer to the</strong> <a class="reference external" href="https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html">ElasticSearch 1.4
+documentation</a>
+<strong>for instructions on how to install</strong>. Once you are up and running make
+a note of these things:</p>
 <ul class="simple">
 <li>The name of the ElasticSearch cluster</li>
 <li>Hostname or IP address of each ElasticSearch node</li>
@@ -378,10 +405,10 @@ zero, otherwise the cluster will report status YELLOW.</p>
 <p>The Usergrid Stack is contained in a file named ROOT.war, a standard
 Java EE WAR ready for deployment to Tomcat. On each machine that will
 run the Usergrid Stack you must install the Java SE 8 JDK and Tomcat 7+.</p>
-<p><strong>Refer to the `Apache Tomcat
-7 &lt;https://tomcat.apache.org/tomcat-7.0-doc/setup.html&gt;`__ documentation
-for instructions on how to install</strong>. Once Tomcat installed, you need to
-create and edit some configuration files.</p>
+<p><strong>Refer to the</strong> <a class="reference external" href="https://tomcat.apache.org/tomcat-7.0-doc/setup.html">Apache Tomcat
+7</a>
+<strong>documentation for instructions on how to install</strong>. Once Tomcat
+installed, you need to create and edit some configuration files.</p>
 </div>
 <div class="section" id="stack-step-4-configure-usergrid-stack-logging">
 <h3>Stack STEP #4: Configure Usergrid Stack &amp; Logging<a class="headerlink" href="#stack-step-4-configure-usergrid-stack-logging" title="Permalink to this headline">¶</a></h3>
@@ -410,27 +437,81 @@ need to change indicated like shell variables, e.g.
 <code class="docutils literal"><span class="pre">${USERGRID_CLUSTER_NAME}</span></code>. Here&#8217;s a guide to the things you need to
 set:</p>
 <p><strong>Table 1: Values to set in Example Properties file:</strong></p>
-<p>| Value | Description | |&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;-| |
-<strong>BASEURL</strong> | This is the base URL for the Usergrid installation, e.g.
-<code class="docutils literal"><span class="pre">https://api.example.com</span></code>. | | <strong>USERGRID_CLUSTER_NAME</strong> | This
-is your name for your Usergrid installation. | |
-<strong>CASSANDRA_CLUSTER_NAME</strong> | Name of Cassandra cluster, must match
-what&#8217;s in Cassandra configuration. | | <strong>CASSANDRA_HOSTS</strong> |
-Comma-separated lists of Cassandra hosts, with port numbers if you are
+<table class="usergrid-table">
+<tr>
+  <th><p>Value</p>
+</th>
+  <th><p>Description</p>
+</th>
+</tr>
+<tr>
+    <td><p><strong>BASEURL</strong></p>
+</td>
+    <td><p>This is the base URL for the Usergrid installation, e.g.
+<code class="docutils literal"><span class="pre">https://api.example.com</span></code>.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>USERGRID_CLUSTER_NAME</strong></p>
+</td>
+    <td><p>This is your name for your Usergrid installation.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>CASSANDRA_CLUSTER_NAME</strong></p>
+</td>
+    <td><p>Name of Cassandra cluster, must match what&#8217;s in Cassandra configuration.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>CASSANDRA_HOSTS</strong></p>
+</td>
+    <td><p>Comma-separated lists of Cassandra hosts, with port numbers if you are
 not using the default 9120. The default for this property is
-<code class="docutils literal"><span class="pre">localhost:9120</span></code> | | <strong>ELASTICSEARCH_CLUSTER_NAME</strong> | Name of
-ElasticSearch cluster, must match what&#8217;s in ElasticSearch configuration.
-| | <strong>ELASTICSEARCH_HOSTS</strong> | Comma-separated lists of ElasticSearch
-hosts, with port numbers if you are not using the default 9300. The
-default for this property is <code class="docutils literal"><span class="pre">localhost:9300</span></code> | |
-<strong>SUPER_USER_EMAIL</strong> | Email address of person responsible for the
-superuser account. | | <strong>SUPER_USER_PASSWORD</strong> | Password for the
-superuser account. | | <strong>TEST_ADMIN_USER_EMAIL</strong> | If
-<code class="docutils literal"><span class="pre">usergrid.setup-test-account=true</span></code>, as shown below, Usergrid will
-create a test account and you should specify a valid email here. | |
-<strong>TEST_ADMIN_USER_PASSWORD</strong> | Password for the username &#8216;test&#8217;
-account. |</p>
-<p>Make sure you set all of the above properties when you edit this example
+<code class="docutils literal"><span class="pre">localhost:9120</span></code></p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>ELASTICSEARCH_CLUSTER_NAME</strong></p>
+</td>
+    <td><p>Name of ElasticSearch cluster, must match what&#8217;s in ElasticSearch
+configuration.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>ELASTICSEARCH_HOSTS</strong></p>
+</td>
+    <td><p>Comma-separated lists of ElasticSearch hosts, with port numbers if you
+are not using the default 9300. The default for this property is
+<code class="docutils literal"><span class="pre">localhost:9300</span></code></p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>SUPER_USER_EMAIL</strong></p>
+</td>
+    <td><p>Email address of person responsible for the superuser account.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>SUPER_USER_PASSWORD</strong></p>
+</td>
+    <td><p>Password for the superuser account.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>TEST_ADMIN_USER_EMAIL</strong></p>
+</td>
+    <td><p>If <code class="docutils literal"><span class="pre">usergrid.setup-test-account=true</span></code>, as shown below, Usergrid will
+create a test account and you should specify a valid email here.</p>
+</td>
+</tr>
+<tr>
+    <td><p><strong>TEST_ADMIN_USER_PASSWORD</strong></p>
+</td>
+    <td><p>Password for the username &#8216;test&#8217; account.</p>
+</td>
+</tr>
+</table><p>Make sure you set all of the above properties when you edit this example
 for your installation.</p>
 <p>Example 1: usergrid-deployment.properties file</p>
 <div class="highlight-python"><div class="highlight"><pre>usergrid.cluster_name=${USERGRID_CLUSTER_NAME}
@@ -701,6 +782,15 @@ instances running Cassandra and ElasticSearch.</p>
           </div>
           <footer>
   
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="../reference/presos-and-videos.html" class="btn btn-neutral float-right" title="Presentations &amp; Videos" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
+      
+      
+        <a href="ug1-launcher-quick-start.html" class="btn btn-neutral" title="Usegrid 1: Launcher Quick-start" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+      
+    </div>
+  
 
   <hr/>
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/installation/ug1-deploy-to-tomcat.html
----------------------------------------------------------------------
diff --git a/content/docs/installation/ug1-deploy-to-tomcat.html b/content/docs/installation/ug1-deploy-to-tomcat.html
index e9d3a55..eb7ecae 100644
--- a/content/docs/installation/ug1-deploy-to-tomcat.html
+++ b/content/docs/installation/ug1-deploy-to-tomcat.html
@@ -201,7 +201,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/installation/ug1-launcher-quick-start.html
----------------------------------------------------------------------
diff --git a/content/docs/installation/ug1-launcher-quick-start.html b/content/docs/installation/ug1-launcher-quick-start.html
index 6efe471..9659de2 100644
--- a/content/docs/installation/ug1-launcher-quick-start.html
+++ b/content/docs/installation/ug1-launcher-quick-start.html
@@ -31,7 +31,7 @@
 
   
     <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
-        <link rel="next" title="Usergrid 2: Deploy to Tomcat" href="ug2-deploy-to-tomcat.html"/>
+        <link rel="next" title="Usergrid 2.1.0 (unreleased) Deployment Guide" href="deployment-guide.html"/>
         <link rel="prev" title="Usegrid 1: Deploying to Tomcat" href="ug1-deploy-to-tomcat.html"/> 
 
   
@@ -200,7 +200,7 @@
 <li class="toctree-l2"><a class="reference internal" href="#getting-started-with-the-http-api">Getting Started with the HTTP API</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>
@@ -340,7 +340,7 @@ use it to create a collection with some data in it:</p>
   
     <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
       
-        <a href="ug2-deploy-to-tomcat.html" class="btn btn-neutral float-right" title="Usergrid 2: Deploy to Tomcat" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
+        <a href="deployment-guide.html" class="btn btn-neutral float-right" title="Usergrid 2.1.0 (unreleased) Deployment Guide" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
         <a href="ug1-deploy-to-tomcat.html" class="btn btn-neutral" title="Usegrid 1: Deploying to Tomcat" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/installation/ug2-deploy-to-tomcat.html
----------------------------------------------------------------------
diff --git a/content/docs/installation/ug2-deploy-to-tomcat.html b/content/docs/installation/ug2-deploy-to-tomcat.html
index d6c039a..40f0541 100644
--- a/content/docs/installation/ug2-deploy-to-tomcat.html
+++ b/content/docs/installation/ug2-deploy-to-tomcat.html
@@ -30,9 +30,7 @@
   
 
   
-    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
-        <link rel="next" title="Presentations &amp; Videos" href="../reference/presos-and-videos.html"/>
-        <link rel="prev" title="Usegrid 1: Launcher Quick-start" href="ug1-launcher-quick-start.html"/> 
+    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -185,24 +183,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../sdks/tbd.html">COMING SOON...</a></li>
 </ul>
 <p class="caption"><span class="caption-text">Installing the Stack</span></p>
-<ul class="current">
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="">Usergrid 2: Deploy to Tomcat</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#requirements">Requirements</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#running">Running</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#running-usergrid">Running Usergrid</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#build-the-java-sdk">Build The Java SDK</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#build-the-stack-itself">Build The Stack Itself</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#deploying-the-stack-locally">Deploying the Stack Locally</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#running-the-portal-locally">Running The Portal Locally</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="#example-usergrid-deployment-properties-file">Example <strong>usergrid-deployment.properties</strong> file</a></li>
-</ul>
-</li>
+<li class="toctree-l1"><a class="reference internal" href="deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>
@@ -469,15 +453,6 @@ sake of ordered lists I put Cassandra first.</td></tr>
           </div>
           <footer>
   
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="../reference/presos-and-videos.html" class="btn btn-neutral float-right" title="Presentations &amp; Videos" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="ug1-launcher-quick-start.html" class="btn btn-neutral" title="Usegrid 1: Launcher Quick-start" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
 
   <hr/>
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/introduction/async-vs-sync.html
----------------------------------------------------------------------
diff --git a/content/docs/introduction/async-vs-sync.html b/content/docs/introduction/async-vs-sync.html
index 159ebb8..e7a6b8a 100644
--- a/content/docs/introduction/async-vs-sync.html
+++ b/content/docs/introduction/async-vs-sync.html
@@ -192,7 +192,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/introduction/data-model.html
----------------------------------------------------------------------
diff --git a/content/docs/introduction/data-model.html b/content/docs/introduction/data-model.html
index 5dc9bb1..12675be 100644
--- a/content/docs/introduction/data-model.html
+++ b/content/docs/introduction/data-model.html
@@ -197,7 +197,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/introduction/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/introduction/overview.html b/content/docs/introduction/overview.html
index e6fa544..86b5763 100644
--- a/content/docs/introduction/overview.html
+++ b/content/docs/introduction/overview.html
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/introduction/usergrid-features.html
----------------------------------------------------------------------
diff --git a/content/docs/introduction/usergrid-features.html b/content/docs/introduction/usergrid-features.html
index f39e211..3c39d1a 100644
--- a/content/docs/introduction/usergrid-features.html
+++ b/content/docs/introduction/usergrid-features.html
@@ -210,7 +210,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/jersey2skeleton/README.html
----------------------------------------------------------------------
diff --git a/content/docs/jersey2skeleton/README.html b/content/docs/jersey2skeleton/README.html
index b651d36..a446ed9 100644
--- a/content/docs/jersey2skeleton/README.html
+++ b/content/docs/jersey2skeleton/README.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/orgs-and-apps/admin-user.html
----------------------------------------------------------------------
diff --git a/content/docs/orgs-and-apps/admin-user.html b/content/docs/orgs-and-apps/admin-user.html
index 234e34e..7161b9b 100644
--- a/content/docs/orgs-and-apps/admin-user.html
+++ b/content/docs/orgs-and-apps/admin-user.html
@@ -247,7 +247,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/orgs-and-apps/application.html
----------------------------------------------------------------------
diff --git a/content/docs/orgs-and-apps/application.html b/content/docs/orgs-and-apps/application.html
index e897160..2329dfd 100644
--- a/content/docs/orgs-and-apps/application.html
+++ b/content/docs/orgs-and-apps/application.html
@@ -208,7 +208,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/orgs-and-apps/managing.html
----------------------------------------------------------------------
diff --git a/content/docs/orgs-and-apps/managing.html b/content/docs/orgs-and-apps/managing.html
index 9b1072e..cda13f3 100644
--- a/content/docs/orgs-and-apps/managing.html
+++ b/content/docs/orgs-and-apps/managing.html
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/orgs-and-apps/organization.html
----------------------------------------------------------------------
diff --git a/content/docs/orgs-and-apps/organization.html b/content/docs/orgs-and-apps/organization.html
index 40dad2e..a378119 100644
--- a/content/docs/orgs-and-apps/organization.html
+++ b/content/docs/orgs-and-apps/organization.html
@@ -256,7 +256,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/adding-push-support.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/adding-push-support.html b/content/docs/push-notifications/adding-push-support.html
index 9722be8..3e52c08 100644
--- a/content/docs/push-notifications/adding-push-support.html
+++ b/content/docs/push-notifications/adding-push-support.html
@@ -217,7 +217,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/creating-and-managing-notifications.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/creating-and-managing-notifications.html b/content/docs/push-notifications/creating-and-managing-notifications.html
index efcc164..b520bf8 100644
--- a/content/docs/push-notifications/creating-and-managing-notifications.html
+++ b/content/docs/push-notifications/creating-and-managing-notifications.html
@@ -225,7 +225,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/creating-notifiers.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/creating-notifiers.html b/content/docs/push-notifications/creating-notifiers.html
index 308a648..4bf8358 100644
--- a/content/docs/push-notifications/creating-notifiers.html
+++ b/content/docs/push-notifications/creating-notifiers.html
@@ -198,7 +198,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/getting-started.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/getting-started.html b/content/docs/push-notifications/getting-started.html
index bad6ba9..7235bea 100644
--- a/content/docs/push-notifications/getting-started.html
+++ b/content/docs/push-notifications/getting-started.html
@@ -203,7 +203,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/managing-users-and-devices.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/managing-users-and-devices.html b/content/docs/push-notifications/managing-users-and-devices.html
index d7afe4f..f903682 100644
--- a/content/docs/push-notifications/managing-users-and-devices.html
+++ b/content/docs/push-notifications/managing-users-and-devices.html
@@ -203,7 +203,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/overview.html b/content/docs/push-notifications/overview.html
index 89f9142..788d247 100644
--- a/content/docs/push-notifications/overview.html
+++ b/content/docs/push-notifications/overview.html
@@ -209,7 +209,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/registering.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/registering.html b/content/docs/push-notifications/registering.html
index fd262d8..9e45cdd 100644
--- a/content/docs/push-notifications/registering.html
+++ b/content/docs/push-notifications/registering.html
@@ -197,7 +197,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/tbd.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/tbd.html b/content/docs/push-notifications/tbd.html
index b0619fa..23b3092 100644
--- a/content/docs/push-notifications/tbd.html
+++ b/content/docs/push-notifications/tbd.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/troubleshooting.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/troubleshooting.html b/content/docs/push-notifications/troubleshooting.html
index a41b33e..66a429a 100644
--- a/content/docs/push-notifications/troubleshooting.html
+++ b/content/docs/push-notifications/troubleshooting.html
@@ -204,7 +204,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/tutorial.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/tutorial.html b/content/docs/push-notifications/tutorial.html
index 76a2483..f654600 100644
--- a/content/docs/push-notifications/tutorial.html
+++ b/content/docs/push-notifications/tutorial.html
@@ -208,7 +208,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/push-notifications/users-devices.html
----------------------------------------------------------------------
diff --git a/content/docs/push-notifications/users-devices.html b/content/docs/push-notifications/users-devices.html
index 04ec406..5796cf6 100644
--- a/content/docs/push-notifications/users-devices.html
+++ b/content/docs/push-notifications/users-devices.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/reference/contribute-code.html
----------------------------------------------------------------------
diff --git a/content/docs/reference/contribute-code.html b/content/docs/reference/contribute-code.html
index 1bfe2a9..6b2eaab 100644
--- a/content/docs/reference/contribute-code.html
+++ b/content/docs/reference/contribute-code.html
@@ -187,7 +187,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul class="current">


[50/50] [abbrv] usergrid git commit: Merge branch 'master' into asf-site.

Posted by sn...@apache.org.
Merge branch 'master' into asf-site.

Conflicts:
	website/tmp/checksums
	website/tmp/compiled_content
	website/tmp/dependencies
	website/tmp/rule_memory


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

Branch: refs/heads/asf-site
Commit: 6474c03694014f3d9ddbcb52b85cf61f4aa6f836
Parents: cbe501a a77ec46
Author: Dave Johnson <sn...@apache.org>
Authored: Thu Feb 4 09:56:55 2016 -0800
Committer: Dave Johnson <sn...@apache.org>
Committed: Thu Feb 4 09:56:55 2016 -0800

----------------------------------------------------------------------
 .gitignore                                      |     3 +-
 README.md                                       |     9 +-
 content/docs/README.html                        |     2 +-
 .../data-queries/operators-and-types.txt        |    25 +-
 content/docs/_sources/index.txt                 |     2 +-
 .../_sources/installation/deployment-guide.txt  |   484 +
 content/docs/_sources/introduction/overview.txt |     4 +-
 .../file-storage-configuration.html             |     2 +-
 content/docs/assets-and-files/folders.html      |     2 +-
 .../assets-and-files/legacy-asset-support.html  |     2 +-
 .../assets-and-files/retrieving-assets.html     |     2 +-
 .../docs/assets-and-files/uploading-assets.html |     2 +-
 .../creating-and-incrementing-counters.html     |     2 +-
 .../events-and-counters.html                    |     2 +-
 .../retrieving-counters.html                    |     2 +-
 .../docs/data-queries/advanced-query-usage.html |     2 +-
 .../docs/data-queries/operators-and-types.html  |    41 +-
 content/docs/data-queries/query-parameters.html |     2 +-
 .../docs/data-queries/querying-your-data.html   |     2 +-
 content/docs/data-storage/collections.html      |     2 +-
 content/docs/data-storage/data-store-dbms.html  |     2 +-
 content/docs/data-storage/entities.html         |     2 +-
 .../docs/data-storage/optimizing-access.html    |     2 +-
 .../entity-connections/connecting-entities.html |     2 +-
 .../disconnecting-entities.html                 |     2 +-
 .../entity-connections/retrieving-entities.html |     2 +-
 content/docs/genindex.html                      |     2 +-
 content/docs/geolocation/geolocation.html       |     2 +-
 .../creating-a-new-application.html             |     2 +-
 .../docs/getting-started/creating-account.html  |     2 +-
 .../getting-started/using-a-sandbox-app.html    |     2 +-
 content/docs/getting-started/using-the-api.html |     2 +-
 content/docs/index.html                         |    15 +-
 content/docs/installation/deployment-guide.html |   848 +
 .../docs/installation/ug1-deploy-to-tomcat.html |     2 +-
 .../installation/ug1-launcher-quick-start.html  |     6 +-
 .../docs/installation/ug2-deploy-to-tomcat.html |    31 +-
 content/docs/introduction/async-vs-sync.html    |     2 +-
 content/docs/introduction/data-model.html       |     2 +-
 content/docs/introduction/overview.html         |    11 +-
 .../docs/introduction/usergrid-features.html    |     2 +-
 content/docs/jersey2skeleton/README.html        |     2 +-
 content/docs/orgs-and-apps/admin-user.html      |     2 +-
 content/docs/orgs-and-apps/application.html     |     2 +-
 content/docs/orgs-and-apps/managing.html        |     2 +-
 content/docs/orgs-and-apps/organization.html    |     2 +-
 .../push-notifications/adding-push-support.html |     2 +-
 .../creating-and-managing-notifications.html    |     2 +-
 .../push-notifications/creating-notifiers.html  |     2 +-
 .../push-notifications/getting-started.html     |     2 +-
 .../managing-users-and-devices.html             |     2 +-
 content/docs/push-notifications/overview.html   |     2 +-
 .../docs/push-notifications/registering.html    |     2 +-
 content/docs/push-notifications/tbd.html        |     2 +-
 .../push-notifications/troubleshooting.html     |     2 +-
 content/docs/push-notifications/tutorial.html   |     2 +-
 .../docs/push-notifications/users-devices.html  |     2 +-
 content/docs/reference/contribute-code.html     |     2 +-
 content/docs/reference/presos-and-videos.html   |     6 +-
 content/docs/rest-endpoints/api-docs.html       |     2 +-
 content/docs/sdks/ios-new.html                  |     2 +-
 content/docs/sdks/sdk-outline.html              |     2 +-
 content/docs/sdks/tbd.html                      |     2 +-
 content/docs/search.html                        |     2 +-
 content/docs/searchindex.js                     |     2 +-
 .../docs/security-and-auth/app-security.html    |     2 +-
 .../authenticating-api-requests.html            |     2 +-
 ...nticating-users-and-application-clients.html |     2 +-
 .../changing-token-time-live-ttl.html           |     2 +-
 .../docs/security-and-auth/facebook-sign.html   |     2 +-
 .../revoking-tokens-logout.html                 |     2 +-
 .../security-and-auth/securing-your-app.html    |     2 +-
 .../user-authentication-types.html              |     2 +-
 .../security-and-auth/using-permissions.html    |     2 +-
 content/docs/security-and-auth/using-roles.html |     2 +-
 content/docs/user-management/activity.html      |     2 +-
 content/docs/user-management/group.html         |     2 +-
 content/docs/user-management/groups.html        |     2 +-
 .../docs/user-management/messagee-example.html  |     2 +-
 .../docs/user-management/user-connections.html  |     2 +-
 .../docs/user-management/user-management.html   |     2 +-
 .../docs/user-management/working-user-data.html |     2 +-
 deployment/aws/README.md                        |   172 +
 deployment/aws/assembly.xml                     |    74 +
 deployment/aws/aws-sample.properties            |    19 +
 deployment/aws/gatling-cluster-cf.json          |   386 +
 deployment/aws/pom.xml                          |   238 +
 deployment/aws/src/main/cql/update_locks.cql    |    23 +
 deployment/aws/src/main/cql/update_usergrid.cql |    27 +
 .../main/cql/update_usergrid_applications.cql   |    46 +
 .../src/main/dist/init_instance/create_raid0.sh |    54 +
 .../main/dist/init_instance/init_db_server.sh   |    76 +
 .../main/dist/init_instance/init_es_server.sh   |    71 +
 .../dist/init_instance/init_graphite_server.sh  |    69 +
 .../dist/init_instance/init_opscenter_server.sh |   287 +
 .../main/dist/init_instance/init_rest_server.sh |   257 +
 .../dist/init_instance/install_cassandra.sh     |    51 +
 .../main/dist/init_instance/install_collectd.sh |   350 +
 .../dist/init_instance/install_elasticsearch.sh |   123 +
 .../init_instance/install_opscenter_agent.sh    |    42 +
 .../dist/init_instance/install_oraclejdk.sh     |    55 +
 .../main/dist/init_instance/install_yourkit.sh  |    39 +
 .../main/dist/init_instance/update_keyspaces.sh |    75 +
 .../aws/src/main/dist/lib/log4j.properties      |    53 +
 deployment/aws/src/main/dist/update.sh          |    35 +
 .../aws/src/main/groovy/NodeRegistry.groovy     |   227 +
 .../src/main/groovy/configure_cassandra.groovy  |   125 +
 .../main/groovy/configure_elasticsearch.groovy  |   169 +
 .../groovy/configure_opscenter_agent.groovy     |    50 +
 .../groovy/configure_opscenter_cassandra.groovy |   120 +
 .../groovy/configure_opscenter_usergrid.groovy  |    58 +
 .../src/main/groovy/configure_portal_new.groovy |    28 +
 .../src/main/groovy/configure_usergrid.groovy   |   193 +
 .../aws/src/main/groovy/create_dashboard.groovy |    79 +
 .../src/main/groovy/get_first_instance.groovy   |    46 +
 .../src/main/groovy/registry_register.groovy    |    38 +
 .../aws/src/main/groovy/tag_instance.groovy     |    55 +
 .../src/main/groovy/wait_for_instances.groovy   |    47 +
 deployment/aws/ugcluster-cf.json                |  2062 +
 docs/data-queries/operators-and-types.md        |    25 +-
 docs/index.rst                                  |     2 +-
 docs/installation/deployment-guide.md           |   484 +
 docs/introduction/overview.md                   |     4 +-
 docs/push.tgz                                   |   Bin 1651449 -> 0 bytes
 portal/Gruntfile.js                             |     5 +-
 portal/bower.json                               |     2 +-
 portal/getStatus.js                             |    37 +
 portal/package.json                             |     2 +-
 portal/status.html                              |    35 +
 .../apache/usergrid/android/sdk/UGClient.java   |    12 +-
 sdks/ios/README.md                              |    53 +-
 sdks/nodejs/lib/usergrid.js                     |     4 +-
 stack/Coverage.md                               |     2 +-
 stack/awscluster/README.md                      |   163 -
 stack/awscluster/assembly.xml                   |    74 -
 stack/awscluster/aws-sample.properties          |    19 -
 stack/awscluster/gatling-cluster-cf.json        |   386 -
 stack/awscluster/pom.xml                        |   237 -
 stack/awscluster/src/main/cql/update_locks.cql  |    23 -
 .../awscluster/src/main/cql/update_usergrid.cql |    27 -
 .../main/cql/update_usergrid_applications.cql   |    46 -
 .../src/main/dist/init_instance/create_raid0.sh |    54 -
 .../main/dist/init_instance/init_db_server.sh   |    76 -
 .../main/dist/init_instance/init_es_server.sh   |    71 -
 .../dist/init_instance/init_graphite_server.sh  |    69 -
 .../dist/init_instance/init_opscenter_server.sh |   287 -
 .../main/dist/init_instance/init_rest_server.sh |   257 -
 .../dist/init_instance/install_cassandra.sh     |    51 -
 .../main/dist/init_instance/install_collectd.sh |   350 -
 .../dist/init_instance/install_elasticsearch.sh |   123 -
 .../init_instance/install_opscenter_agent.sh    |    42 -
 .../dist/init_instance/install_oraclejdk.sh     |    55 -
 .../main/dist/init_instance/install_yourkit.sh  |    39 -
 .../main/dist/init_instance/update_keyspaces.sh |    75 -
 .../src/main/dist/lib/log4j.properties          |    54 -
 stack/awscluster/src/main/dist/update.sh        |    35 -
 .../awscluster/src/main/dist/webapps/dummy.txt  |     0
 .../src/main/groovy/NodeRegistry.groovy         |   227 -
 .../src/main/groovy/configure_cassandra.groovy  |   129 -
 .../main/groovy/configure_elasticsearch.groovy  |   169 -
 .../groovy/configure_opscenter_agent.groovy     |    50 -
 .../groovy/configure_opscenter_cassandra.groovy |   120 -
 .../groovy/configure_opscenter_usergrid.groovy  |    58 -
 .../src/main/groovy/configure_portal_new.groovy |    28 -
 .../src/main/groovy/configure_usergrid.groovy   |   207 -
 .../src/main/groovy/create_dashboard.groovy     |    79 -
 .../src/main/groovy/get_first_instance.groovy   |    46 -
 .../src/main/groovy/registry_register.groovy    |    38 -
 .../src/main/groovy/tag_instance.groovy         |    55 -
 .../src/main/groovy/wait_for_instances.groovy   |    47 -
 stack/awscluster/ugcluster-cf.json              |  2062 -
 stack/build-tools/pom.xml                       |    11 +
 stack/config/pom.xml                            |    10 +
 .../main/resources/usergrid-default.properties  |    40 +-
 .../src/test/resources/usergrid-test.properties |    20 +-
 stack/core/pom.xml                              |    16 +-
 .../usergrid/batch/UsergridJobFactory.java      |     2 +-
 .../apache/usergrid/batch/job/OnlyOnceJob.java  |     3 +-
 .../batch/service/JobSchedulerService.java      |    55 +-
 .../batch/service/SchedulerServiceImpl.java     |    34 +-
 .../hazelcast/HazelcastLifecycleMonitor.java    |     8 +-
 .../corepersistence/ApplicationIdCacheImpl.java |     4 +-
 .../usergrid/corepersistence/CoreModule.java    |   134 +-
 .../corepersistence/CpEntityManager.java        |   196 +-
 .../corepersistence/CpEntityManagerFactory.java |    37 +-
 .../corepersistence/CpRelationManager.java      |   130 +-
 .../usergrid/corepersistence/CpSetup.java       |    16 +-
 .../usergrid/corepersistence/CpWalker.java      |    19 +-
 .../usergrid/corepersistence/GuiceFactory.java  |     6 +-
 .../asyncevents/AmazonAsyncEventService.java    |    63 +-
 .../asyncevents/AsyncEventsSchedulerFig.java    |    76 +
 .../asyncevents/AsyncIndexProvider.java         |     2 +-
 .../asyncevents/EventBuilderImpl.java           |    91 +-
 .../asyncevents/EventExecutionScheduler.java    |    37 +
 .../index/IndexProcessorFig.java                |     2 +-
 .../corepersistence/index/IndexServiceImpl.java |    12 +-
 .../index/ReIndexServiceImpl.java               |     6 +-
 .../migration/DeDupConnectionDataMigration.java |     2 +-
 .../pipeline/PipelineModule.java                |     2 +-
 .../pipeline/PipelineOperations.java            |    30 -
 .../search/AbstractElasticSearchFilter.java     |     4 +-
 .../read/search/CandidateEntityFilter.java      |    15 +-
 .../pipeline/read/search/CandidateIdFilter.java |     6 +-
 .../read/search/SearchCollectionFilter.java     |     2 -
 .../read/search/SearchConnectionFilter.java     |     8 +-
 .../read/traverse/AbstractReadGraphFilter.java  |    49 +-
 .../read/traverse/EntityLoadVerifyFilter.java   |     4 +-
 .../traverse/ReadGraphCollectionFilter.java     |     3 +-
 .../traverse/ReadGraphConnectionFilter.java     |     3 +-
 .../results/ObservableQueryExecutor.java        |     9 +-
 .../rx/impl/AllApplicationsObservable.java      |     2 -
 .../corepersistence/rx/impl/AsyncRepair.java    |    38 +
 .../rx/impl/ResponseImportTasks.java            |    38 +
 .../service/ConnectionServiceImpl.java          |    16 +-
 .../service/ServiceSchedulerFig.java            |    66 +
 .../corepersistence/util/CpNamingUtils.java     |    23 +-
 .../usergrid/count/CassandraCounterStore.java   |    13 +-
 .../usergrid/count/CassandraSubmitter.java      |     4 +-
 .../apache/usergrid/count/SimpleBatcher.java    |     2 +-
 .../usergrid/count/Slf4JBatchSubmitter.java     |     6 +-
 .../locking/cassandra/AstyanaxLockImpl.java     |    92 +
 .../cassandra/AstyanaxLockManagerImpl.java      |   211 +
 .../locking/cassandra/HectorLockImpl.java       |    86 -
 .../cassandra/HectorLockManagerImpl.java        |   142 -
 .../usergrid/locking/guice/LockModule.java      |    40 +
 .../locking/singlenode/SingleNodeLockImpl.java  |    71 -
 .../singlenode/SingleNodeLockManagerImpl.java   |    94 -
 .../zookeeper/ZooKeeperLockManagerImpl.java     |   115 -
 .../locking/zookeeper/ZookeeperLockImpl.java    |    88 -
 .../org/apache/usergrid/mq/CounterQuery.java    |     4 -
 .../java/org/apache/usergrid/mq/Message.java    |     4 +-
 .../main/java/org/apache/usergrid/mq/Query.java |    16 +-
 .../usergrid/mq/cassandra/CassandraMQUtils.java |     8 +-
 .../mq/cassandra/QueueManagerFactoryImpl.java   |     5 +-
 .../usergrid/mq/cassandra/QueueManagerImpl.java |    24 +-
 .../apache/usergrid/mq/cassandra/QueuesCF.java  |     2 +-
 .../mq/cassandra/io/AbstractSearch.java         |     9 +-
 .../mq/cassandra/io/ConsumerTransaction.java    |    32 +-
 .../mq/cassandra/io/NoTransactionSearch.java    |     2 +-
 .../usergrid/persistence/EntityManager.java     |     5 +-
 .../persistence/EntityManagerFactory.java       |     8 +-
 .../org/apache/usergrid/persistence/Schema.java |    26 +-
 .../cassandra/CassandraPersistenceUtils.java    |     8 +-
 .../persistence/cassandra/CassandraService.java |    65 +-
 .../cassandra/ConnectionRefImpl.java            |     4 +-
 .../persistence/cassandra/CounterUtils.java     |    28 +-
 .../usergrid/persistence/cassandra/Setup.java   |     4 -
 .../cassandra/util/Slf4jTraceTagReporter.java   |     4 +-
 .../cassandra/util/TraceTagAspect.java          |    11 +-
 .../cassandra/util/TraceTagManager.java         |    10 +-
 .../persistence/entities/Notification.java      |   177 +-
 .../usergrid/persistence/entities/Notifier.java |    51 +-
 .../usergrid/system/ServerEnvironmentProps.java |    27 +
 .../usergrid/system/UsergridSystemMonitor.java  |     4 +-
 .../org/apache/usergrid/utils/AESUtils.java     |     8 +-
 .../apache/usergrid/utils/ConversionUtils.java  |     6 +-
 .../org/apache/usergrid/utils/IndexUtils.java   |     4 +-
 .../org/apache/usergrid/utils/JsonUtils.java    |    22 +-
 .../org/apache/usergrid/utils/ListUtils.java    |    10 +-
 .../org/apache/usergrid/utils/MailUtils.java    |     2 +-
 .../org/apache/usergrid/utils/MapUtils.java     |     8 +-
 .../org/apache/usergrid/utils/StringUtils.java  |     4 +-
 .../org/apache/usergrid/utils/UUIDUtils.java    |    16 +-
 .../main/resources/usergrid-core-context.xml    |    36 +-
 .../org/apache/usergrid/AbstractCoreIT.java     |     6 +-
 .../org/apache/usergrid/CoreApplication.java    |    11 +-
 .../org/apache/usergrid/CoreITSetupImpl.java    |    16 +-
 .../apache/usergrid/batch/BulkTestUtils.java    |     1 -
 .../usergrid/batch/job/CountdownLatchJob.java   |     1 -
 .../usergrid/batch/job/DelayExecution.java      |     1 -
 .../usergrid/batch/job/DelayHeartbeat.java      |     1 -
 .../usergrid/batch/job/FailureJobExecution.java |     1 -
 .../usergrid/batch/job/OnlyOnceExceution.java   |   123 -
 .../usergrid/batch/job/OnlyOnceExecution.java   |   122 +
 .../job/OnlyOnceUnlockOnFailExceution.java      |   133 -
 .../job/OnlyOnceUnlockOnFailExecution.java      |   132 +
 .../usergrid/batch/job/SchedulerRuntime1IT.java |     3 +-
 .../usergrid/batch/job/SchedulerRuntime2IT.java |     3 +-
 .../usergrid/batch/job/SchedulerRuntime3IT.java |     3 +-
 .../usergrid/batch/job/SchedulerRuntime4IT.java |     3 +-
 .../usergrid/batch/job/SchedulerRuntime5IT.java |     3 +-
 .../usergrid/batch/job/SchedulerRuntime6IT.java |     5 +-
 .../usergrid/batch/job/SchedulerRuntime7IT.java |     7 +-
 .../usergrid/batch/job/SchedulerRuntime8IT.java |     3 +-
 .../batch/job/SchedulerRuntimeIntervalIT.java   |     3 +-
 .../usergrid/batch/job/TestJobListener.java     |    12 +-
 .../usergrid/batch/job/TestJobListenerTest.java |     6 +-
 .../clustering/hazelcast/HazelcastTest.java     |     5 +-
 .../corepersistence/CpEntityMapUtilsTest.java   |    28 +-
 .../corepersistence/StaleIndexCleanupTest.java  |    99 +-
 .../usergrid/corepersistence/index/RxTest.java  |     5 +-
 .../count/BatchCountParallelismTest.java        |    16 +-
 .../usergrid/locking/AstyanaxLockManagerIT.java |   164 +
 .../locking/cassandra/HectorLockManagerIT.java  |   185 -
 .../SingleNodeLockTestSingleNode.java           |   170 -
 .../zookeeper/AbstractZooKeeperTest.java        |   127 -
 .../usergrid/locking/zookeeper/ZooPut.java      |   114 -
 .../zookeeper/ZookeeperLockManagerTest.java     |   186 -
 .../java/org/apache/usergrid/mq/MessagesIT.java |    70 +-
 .../org/apache/usergrid/mq/QueuePathsTest.java  |    18 +-
 .../usergrid/persistence/CollectionIT.java      |   118 +-
 .../usergrid/persistence/CoreSchemaManager.java |    12 +-
 .../apache/usergrid/persistence/CounterIT.java  |    62 +-
 .../persistence/EntityConnectionsIT.java        |    56 +-
 .../persistence/EntityDictionaryIT.java         |    24 +-
 .../usergrid/persistence/EntityManagerIT.java   |   112 +-
 .../apache/usergrid/persistence/EntityTest.java |     2 -
 .../org/apache/usergrid/persistence/GeoIT.java  |   152 +-
 .../persistence/GeoQueryBooleanTest.java        |     8 +-
 .../apache/usergrid/persistence/IndexIT.java    |    43 +-
 .../persistence/PerformanceEntityReadTest.java  |     4 +-
 .../persistence/PerformanceEntityWriteTest.java |     4 +-
 .../usergrid/persistence/RebuildIndexTest.java  |    19 +-
 .../apache/usergrid/persistence/SchemaTest.java |    18 +-
 .../query/IntersectionTransitivePagingIT.java   |     4 +-
 .../query/IntersectionUnionPagingIT.java        |    12 +-
 .../persistence/query/IteratingQueryIT.java     |   104 +-
 .../persistence/query/NotSubPropertyIT.java     |     8 +-
 .../persistence/query/ParenthesisProblemIT.java |    81 +
 .../apache/usergrid/utils/IndexUtilsTest.java   |     6 +-
 .../apache/usergrid/utils/JsonUtilsTest.java    |     4 +-
 .../apache/usergrid/utils/ListUtilsTest.java    |     6 +-
 .../org/apache/usergrid/utils/MapUtilsTest.java |     6 +-
 .../apache/usergrid/utils/TestInflector.java    |     6 +-
 .../apache/usergrid/utils/UUIDUtilsTest.java    |     4 +-
 stack/core/src/test/resources/log4j.properties  |     1 -
 .../impl/ScopedCacheSerializationImpl.java      |    18 +-
 .../persistence/cache/ScopedCacheTest.java      |    15 +-
 .../collection/guice/CollectionModule.java      |    32 +
 .../guice/CollectionTaskExecutor.java           |    35 -
 .../EntityCollectionManagerFactoryImpl.java     |     5 +-
 .../impl/EntityCollectionManagerImpl.java       |    20 +-
 .../mvcc/stage/delete/MarkCommit.java           |     6 +-
 .../collection/mvcc/stage/delete/MarkStart.java |     4 +-
 .../mvcc/stage/delete/UniqueCleanup.java        |    12 +-
 .../mvcc/stage/delete/VersionCompact.java       |     2 +-
 .../mvcc/stage/write/RollbackAction.java        |     2 +-
 .../mvcc/stage/write/WriteCommit.java           |    17 +-
 .../mvcc/stage/write/WriteOptimisticVerify.java |     4 +-
 .../collection/mvcc/stage/write/WriteStart.java |    15 +-
 .../mvcc/stage/write/WriteUniqueVerify.java     |     2 +-
 .../scheduler/CollectionExecutorScheduler.java  |    52 +
 .../scheduler/CollectionSchedulerFig.java       |    53 +
 .../MvccEntitySerializationStrategyImpl.java    |    24 +-
 ...vccEntitySerializationStrategyProxyImpl.java |     4 +-
 .../MvccEntitySerializationStrategyV1Impl.java  |     8 +-
 .../MvccEntitySerializationStrategyV2Impl.java  |    13 +-
 .../MvccEntitySerializationStrategyV3Impl.java  |    16 +-
 .../MvccLogEntrySerializationProxyImpl.java     |     4 +-
 .../MvccLogEntrySerializationStrategyImpl.java  |    12 +-
 ...MvccLogEntrySerializationStrategyV1Impl.java |    18 +-
 ...MvccLogEntrySerializationStrategyV2Impl.java |    18 +-
 .../UniqueValueSerializationStrategyImpl.java   |    35 +-
 ...iqueValueSerializationStrategyProxyImpl.java |     4 +-
 .../UniqueValueSerializationStrategyV1Impl.java |    31 +-
 .../UniqueValueSerializationStrategyV2Impl.java |    31 +-
 .../migration/MvccEntityDataMigrationImpl.java  |     6 +-
 .../collection/EntityCollectionManagerIT.java   |    68 +
 .../EntityCollectionManagerStressTest.java      |    15 +-
 .../changelog/ChangeLogGeneratorImplTest.java   |     8 +-
 .../mvcc/stage/AbstractEntityStageTest.java     |     1 -
 .../mvcc/stage/delete/MarkCommitTest.java       |     2 +-
 .../mvcc/stage/delete/UniqueCleanupTest.java    |     1 -
 .../mvcc/stage/write/WriteCommitTest.java       |     2 +-
 .../stage/write/WriteOptimisticVerifyTest.java  |     4 +-
 .../impl/SerializationComparison.java           |     5 +-
 ...niqueValueSerializationStrategyImplTest.java |     4 +-
 stack/corepersistence/common/pom.xml            |   350 +-
 .../core/astyanax/AstyanaxKeyspaceProvider.java |    46 +-
 .../core/astyanax/CassandraCluster.java         |    20 +
 .../core/astyanax/CassandraClusterImpl.java     |   199 +
 .../persistence/core/astyanax/CassandraFig.java |    72 +-
 .../astyanax/MultiKeyColumnNameIterator.java    |     8 +-
 .../core/astyanax/MultiRowColumnIterator.java   |    16 +-
 .../core/astyanax/MultiTenantColumnFamily.java  |    47 +
 .../MultiTenantColumnFamilyDefinition.java      |   138 +
 .../core/astyanax/MultiTennantColumnFamily.java |    47 -
 .../MultiTennantColumnFamilyDefinition.java     |   138 -
 .../core/executor/TaskExecutorFactory.java      |   108 +-
 .../persistence/core/guice/CommonModule.java    |    36 +-
 .../core/metrics/MetricsFactoryImpl.java        |     6 +-
 .../migration/data/AbstractMigrationPlugin.java |     6 +-
 .../data/DataMigrationManagerImpl.java          |    11 +-
 .../data/MigrationInfoSerializationImpl.java    |    24 +-
 .../core/migration/schema/Migration.java        |     4 +-
 .../migration/schema/MigrationManagerImpl.java  |    14 +-
 .../persistence/core/rx/ObservableIterator.java |     4 +-
 .../persistence/core/rx/OrderedMerge.java       |     6 +-
 .../persistence/core/rx/RxSchedulerFig.java     |    71 -
 .../core/rx/RxTaskSchedulerImpl.java            |    81 +-
 .../core/astyanax/ColumnNameIteratorTest.java   |     5 +-
 .../MultiKeyColumnNameIteratorTest.java         |     5 +-
 .../astyanax/MultiRowColumnIteratorTest.java    |     5 +-
 .../persistence/core/astyanax/TestUtils.java    |    14 +-
 .../persistence/core/rx/OrderedMergeTest.java   |    43 +-
 stack/corepersistence/graph/pom.xml             |     1 +
 .../usergrid/persistence/graph/GraphFig.java    |     2 +-
 .../persistence/graph/guice/GraphModule.java    |     7 -
 .../graph/impl/GraphManagerImpl.java            |    14 +-
 .../graph/impl/stage/EdgeDeleteRepairImpl.java  |    18 +-
 .../graph/impl/stage/EdgeMetaRepairImpl.java    |    46 +-
 .../impl/stage/NodeDeleteListenerImpl.java      |    20 +-
 .../EdgeMetadataSerializationProxyImpl.java     |     4 +-
 .../impl/EdgeMetadataSerializationV1Impl.java   |    36 +-
 .../impl/EdgeMetadataSerializationV2Impl.java   |    36 +-
 .../impl/EdgeSerializationImpl.java             |    61 +-
 .../serialization/impl/EdgesObservableImpl.java |    16 +-
 .../impl/NodeSerializationImpl.java             |    14 +-
 .../impl/TargetIdObservableImpl.java            |     4 +-
 .../impl/migration/EdgeDataMigrationImpl.java   |     2 +-
 .../impl/shard/DirectedEdgeMeta.java            |     4 +-
 .../impl/shard/EdgeColumnFamilies.java          |    12 +-
 .../impl/shard/EdgeShardStrategy.java           |    10 +-
 .../impl/shard/NodeShardApproximation.java      |    66 -
 .../impl/shard/ShardEntryGroup.java             |    21 +-
 .../impl/shard/ShardedEdgeSerialization.java    |     2 +-
 .../serialization/impl/shard/count/Counter.java |   131 -
 .../shard/count/NodeShardApproximationImpl.java |   272 -
 .../count/NodeShardCounterSerialization.java    |    48 -
 .../NodeShardCounterSerializationImpl.java      |   186 -
 .../impl/shard/count/ShardKey.java              |    75 -
 .../shard/impl/EdgeShardSerializationImpl.java  |    17 +-
 .../shard/impl/NodeShardAllocationImpl.java     |    37 +-
 .../impl/shard/impl/NodeShardCacheImpl.java     |     2 +-
 .../shard/impl/ShardGroupColumnIterator.java    |    14 +-
 .../shard/impl/ShardGroupCompactionImpl.java    |    37 +-
 .../impl/shard/impl/ShardGroupDeletionImpl.java |    44 +-
 .../impl/ShardedEdgeSerializationImpl.java      |    89 +-
 .../impl/shard/impl/ShardsColumnIterator.java   |    23 +-
 .../shard/impl/SizebasedEdgeColumnFamilies.java |    46 +-
 .../shard/impl/SizebasedEdgeShardStrategy.java  |    13 +-
 .../persistence/graph/GraphManagerLoadTest.java |    18 +-
 .../graph/GraphManagerShardConsistencyIT.java   |    81 +-
 .../graph/GraphManagerShardingIT.java           |   208 -
 .../graph/GraphManagerStressTest.java           |    54 +-
 .../graph/impl/NodeDeleteListenerTest.java      |     9 +-
 .../serialization/EdgeSerializationTest.java    |    11 +-
 .../graph/serialization/TestCount.java          |     4 +-
 .../impl/shard/EdgeShardSerializationTest.java  |    44 +
 .../impl/shard/NodeShardAllocationTest.java     |    54 +-
 .../impl/shard/ShardEntryGroupTest.java         |    59 +
 .../serialization/impl/shard/ShardTest.java     |    65 +
 .../shard/count/NodeShardApproximationTest.java |   627 -
 .../NodeShardCounterSerializationTest.java      |   124 -
 .../shard/impl/ShardGroupDeletionImplTest.java  |     5 +
 ...-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 619559 -> 0 bytes
 ...-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 161970 -> 0 bytes
 ...astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar |   Bin 224466 -> 0 bytes
 ...astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom |   112 -
 .../astyanax-cassandra/maven-metadata-local.xml |    12 -
 ...ax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 33178 -> 0 bytes
 ...ax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 2314 -> 0 bytes
 .../astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar  |   Bin 4842 -> 0 bytes
 .../astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom  |   112 -
 .../astyanax-contrib/maven-metadata-local.xml   |    12 -
 ...yanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 522906 -> 0 bytes
 ...yanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 141910 -> 0 bytes
 .../astyanax-core-1.56.49-SNAPSHOT-UG-1.jar     |   Bin 212858 -> 0 bytes
 .../astyanax-core-1.56.49-SNAPSHOT-UG-1.pom     |    88 -
 .../astyanax-core/maven-metadata-local.xml      |    12 -
 ...ity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 97513 -> 0 bytes
 ...ity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 30591 -> 0 bytes
 ...anax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar |   Bin 68952 -> 0 bytes
 ...anax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom |   118 -
 .../maven-metadata-local.xml                    |    12 -
 ...x-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 38284 -> 0 bytes
 ...x-examples-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 4457 -> 0 bytes
 .../astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar |   Bin 8506 -> 0 bytes
 .../astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom |   106 -
 .../astyanax-examples/maven-metadata-local.xml  |    12 -
 ...anax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 180462 -> 0 bytes
 ...anax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 44057 -> 0 bytes
 .../astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar    |   Bin 86586 -> 0 bytes
 .../astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom    |   112 -
 .../astyanax-queue/maven-metadata-local.xml     |    12 -
 ...ax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 204424 -> 0 bytes
 ...ax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 58161 -> 0 bytes
 .../astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar  |   Bin 100246 -> 0 bytes
 .../astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom  |   106 -
 .../astyanax-recipes/maven-metadata-local.xml   |    12 -
 ...nax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar |   Bin 197342 -> 0 bytes
 ...nax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar |   Bin 76509 -> 0 bytes
 .../astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar   |   Bin 239007 -> 0 bytes
 .../astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom   |   112 -
 .../astyanax-thrift/maven-metadata-local.xml    |    12 -
 .../astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar  |   Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar  |   Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1.jar          |   Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1.pom          |   136 -
 .../astyanax/astyanax/maven-metadata-local.xml  |    12 -
 stack/corepersistence/map/pom.xml               |     1 +
 .../map/impl/MapSerializationImpl.java          |    28 +-
 .../org/apache/usergrid/ExperimentalTest.java   |    22 +
 .../java/org/apache/usergrid/StressTest.java    |    22 +
 .../persistence/model/entity/EntityMap.java     |    50 +-
 .../model/entity/EntityToMapConverter.java      |     9 +-
 .../model/entity/MapToEntityConverter.java      |   237 +-
 .../persistence/model/field/ArrayField.java     |     4 +-
 .../persistence/model/field/BooleanField.java   |     4 +-
 .../persistence/model/field/ByteArrayField.java |     8 +-
 .../persistence/model/field/DistanceField.java  |    42 +
 .../persistence/model/field/FieldTypeName.java  |     4 +-
 .../persistence/model/field/FloatField.java     |     4 +-
 .../persistence/model/field/IntegerField.java   |     4 +-
 .../persistence/model/field/ListField.java      |     4 +-
 .../persistence/model/field/LocationField.java  |     4 +-
 .../persistence/model/field/LongField.java      |     4 +-
 .../persistence/model/field/NullField.java      |    44 +
 .../model/field/SerializedObjectField.java      |     8 +-
 .../persistence/model/field/SetField.java       |     6 +-
 .../persistence/model/field/StringField.java    |     6 +-
 .../persistence/model/field/UUIDField.java      |     4 +-
 .../model/entity/MapToEntityConverterTest.java  |   179 +
 .../persistence/model/field/EntityTest.java     |     9 +-
 stack/corepersistence/pom.xml                   |   120 +-
 stack/corepersistence/queryindex/pom.xml        |     5 +-
 .../persistence/index/GeoCandidateResult.java   |    40 +
 .../index/impl/DeIndexOperation.java            |     4 +-
 .../persistence/index/impl/EntityField.java     |    11 +
 .../index/impl/EntityMappingParser.java         |    25 +-
 .../index/impl/EntityToMapConverter.java        |     3 +-
 .../index/impl/EsEntityIndexBatchImpl.java      |    22 +-
 .../index/impl/EsEntityIndexImpl.java           |    57 +-
 .../index/impl/EsIndexProducerImpl.java         |    18 +-
 .../persistence/index/impl/EsProvider.java      |     8 +-
 .../index/impl/FailureMonitorImpl.java          |     7 +-
 .../persistence/index/impl/FieldParser.java     |     5 +-
 .../index/impl/IndexOperationMessage.java       |     4 +-
 .../persistence/index/impl/IndexingUtils.java   |    63 +-
 .../EsIndexMappingMigrationPlugin.java          |     4 +-
 .../persistence/index/query/ParsedQuery.java    |     4 +
 .../index/query/ParsedQueryBuilder.java         |     4 +-
 .../index/utils/ConversionUtils.java            |     6 +-
 .../persistence/index/utils/ListUtils.java      |    10 +-
 .../persistence/index/utils/UUIDUtils.java      |     6 +-
 .../persistence/index/impl/EntityIndexTest.java |    79 +-
 .../index/impl/EntityToMapConverterTest.java    |   193 +-
 .../persistence/index/impl/GeoPagingTest.java   |     3 +-
 .../index/impl/IndexLoadTestsIT.java            |     4 +
 .../index/impl/IndexingUtilsTest.java           |    36 +
 stack/corepersistence/queue/pom.xml             |   179 +-
 .../persistence/queue/LocalQueueManager.java    |     5 +
 .../persistence/queue/impl/QueueScopeImpl.java  |     3 -
 .../queue/impl/SNSQueueManagerImpl.java         |    77 +-
 .../queue/util/AmazonNotificationUtils.java     |    22 +-
 .../usergrid/launcher/EmbeddedServerHelper.java |    10 +-
 .../resources/usergrid-standalone.properties    |    12 +-
 stack/loadtests/.gitignore                      |     1 -
 stack/loadtests/README.md                       |   207 -
 stack/loadtests/pom.xml                         |   149 -
 stack/loadtests/runAuditDeleteEntities.sh       |    65 -
 .../runAuditGetAllAppCollectionEntities.sh      |    68 -
 .../loadtests/runAuditGetCollectionEntities.sh  |    68 -
 .../runAuditVerifyCollectionEntities.sh         |    69 -
 stack/loadtests/runCollectionQueryTest.sh       |    88 -
 .../runCustomInjectRandomEntityByUuidTest.sh    |   108 -
 stack/loadtests/runDeleteEntities.sh            |    92 -
 .../loadtests/runGetEntitiesByNameSequential.sh |   101 -
 stack/loadtests/runGetEntitiesByUuid.sh         |    92 -
 stack/loadtests/runLoadEntities.sh              |    97 -
 stack/loadtests/runLoadEntitiesUnlimited.sh     |   104 -
 .../loadtests/runLoadLargeMultiFieldEntities.sh |   107 -
 stack/loadtests/runLoadNoNameEntities.sh        |    98 -
 stack/loadtests/runLoadSortableEntities.sh      |    98 -
 stack/loadtests/runOrgAppSetup.sh               |    91 -
 .../loadtests/runRandomEntityByNameQueryTest.sh |    91 -
 stack/loadtests/runRandomEntityByNameTest.sh    |    91 -
 stack/loadtests/runUpdateEntities.sh            |    91 -
 stack/loadtests/runtests_deprecated.sh          |   120 -
 .../datagenerators/EntityDataGenerator.scala    |   183 -
 .../datagenerators/FeederGenerator.scala        |   304 -
 .../datagenerators/datafiles/dist.all.last.txt  | 88799 -----------------
 .../datafiles/dist.female.first.txt             |  4275 -
 .../datafiles/dist.male.first.txt               |  1219 -
 .../usergrid/datagenerators/firstNames.txt      |  5494 -
 .../usergrid/datagenerators/lastNames.txt       | 88799 -----------------
 .../org/apache/usergrid/enums/AuthType.scala    |    31 -
 .../usergrid/enums/ConfigProperties.scala       |   181 -
 .../usergrid/enums/CsvFeedPatternType.scala     |    30 -
 .../usergrid/enums/EndConditionType.scala       |    29 -
 .../org/apache/usergrid/enums/EntityType.scala  |    30 -
 .../apache/usergrid/enums/ScenarioType.scala    |    38 -
 .../org/apache/usergrid/enums/TokenType.scala   |    29 -
 .../apache/usergrid/helpers/Extractors.scala    |   154 -
 .../org/apache/usergrid/helpers/Headers.scala   |    70 -
 .../org/apache/usergrid/helpers/Setup.scala     |   312 -
 .../org/apache/usergrid/helpers/Utils.scala     |   102 -
 .../scenarios/ApplicationScenarios.scala        |    53 -
 .../usergrid/scenarios/AuditScenarios.scala     |   342 -
 .../scenarios/ConnectionScenarios.scala         |    66 -
 .../usergrid/scenarios/DeviceScenarios.scala    |    85 -
 .../scenarios/EntityCollectionScenarios.scala   |   407 -
 .../usergrid/scenarios/EntityScenarios.scala    |    80 -
 .../usergrid/scenarios/GeoScenarios.scala       |    49 -
 .../scenarios/NotificationScenarios.scala       |    80 -
 .../usergrid/scenarios/NotifierScenarios.scala  |    70 -
 .../scenarios/OrganizationScenarios.scala       |    60 -
 .../usergrid/scenarios/TokenScenarios.scala     |    56 -
 .../usergrid/scenarios/UserScenarios.scala      |   210 -
 .../org/apache/usergrid/settings/Settings.scala |   612 -
 .../usergrid/simulations/AuditSimulation.scala  |    86 -
 .../simulations/ConfigurableSimulation.scala    |   105 -
 .../simulations/CustomInjectionSimulation.scala |   107 -
 .../simulations/deprecated/AppSimulation.scala  |    41 -
 .../deprecated/ConnectionsSimulation.scala      |    51 -
 .../deprecated/DeleteUsersSimulation.scala      |    56 -
 .../deprecated/GetEntitySimulation.scala        |    44 -
 .../deprecated/GetUserPagesSimulation.scala     |    51 -
 .../deprecated/GetUsersSimulation.scala         |    51 -
 .../deprecated/PostCustomEntitySimulation.scala |    76 -
 .../deprecated/PostUsersSimulation.scala        |    51 -
 .../PushNotificationTargetUserSimulation.scala  |    45 -
 .../deprecated/PutCustomEntitySimulation.scala  |    75 -
 .../deprecated/PutUsersSimulation.scala         |    56 -
 .../deprecated/SetupSimulation.scala            |    43 -
 stack/loadtests/src/main/scripts/gatling-mvn.sh |    31 -
 stack/loadtests/src/main/scripts/gatling-ug.sh  |    51 -
 .../src/test/resources/dummyAuditUuid.csv       |     1 -
 .../loadtests/src/test/resources/dummyUuid.csv  |     1 -
 stack/loadtests/src/test/resources/gatling.conf |   150 -
 .../src/test/resources/logback-test.xml         |    39 -
 stack/loadtests/src/test/resources/logback.xml  |    38 -
 .../loadtests/src/test/resources/recorder.conf  |    37 -
 stack/loadtests/src/test/scala/Engine.scala     |    29 -
 .../src/test/scala/IDEPathHelper.scala          |    38 -
 stack/loadtests/src/test/scala/Recorder.scala   |    28 -
 stack/loadtests/testConfig.sh                   |    67 -
 .../usergrid/mongo/AbstractMongoTest.java       |     2 +-
 stack/pom.xml                                   |  3054 +-
 stack/rest/pom.xml                              |    42 +-
 .../usergrid/rest/AbstractContextResource.java  |    68 +-
 .../org/apache/usergrid/rest/ApiResponse.java   |    74 +-
 .../org/apache/usergrid/rest/RootResource.java  |     9 +-
 .../rest/ServerEnvironmentProperties.java       |    22 +-
 .../apache/usergrid/rest/SwaggerServlet.java    |    18 +-
 .../rest/applications/ApplicationResource.java  |    61 +-
 .../rest/applications/AuthResource.java         |    30 +-
 .../rest/applications/ServiceResource.java      |    95 +-
 .../applications/assets/AssetsResource.java     |    44 +-
 .../notifiers/NotifierResource.java             |    51 +-
 .../notifiers/NotifiersResource.java            |    51 +-
 .../rest/applications/queues/QueueResource.java |    50 +-
 .../queues/QueueSubscriberResource.java         |    25 +-
 .../queues/QueueSubscriptionResource.java       |    25 +-
 .../queues/QueueTransactionsResource.java       |     4 +
 .../rest/applications/users/UserResource.java   |    93 +-
 .../rest/applications/users/UsersResource.java  |    33 +-
 .../exceptions/AbstractExceptionMapper.java     |    17 +-
 .../AwsPropertiesNotFoundExceptionMapper.java   |     3 +-
 .../ElasticsearchExecutionExceptionMapper.java  |    38 +
 .../GCMInvalidRequestExceptionMapper.java       |    62 +
 .../exceptions/NotAllowedExceptionMapper.java   |    34 +
 ...rganizationApplicationNotFoundException.java |     6 +-
 .../UnsupportedOperationExceptionMapper.java    |    35 +
 .../UnsupportedRestOperationException.java      |    25 +
 ...UnsupportedRestOperationExceptionMapper.java |    34 +
 ...upportedServiceOperationExceptionMapper.java |    34 +
 .../rest/filters/ContentTypeFilter.java         |    20 +-
 .../rest/filters/JSONPCallbackFilter.java       |     4 +-
 .../usergrid/rest/filters/MeteringFilter.java   |     8 +-
 .../usergrid/rest/filters/TracingFilter.java    |     7 +-
 .../rest/management/ManagementResource.java     |    29 +-
 .../organizations/OrganizationResource.java     |   153 +-
 .../organizations/OrganizationsResource.java    |    12 +-
 .../applications/ApplicationResource.java       |    11 +-
 .../applications/ApplicationsResource.java      |     4 +-
 .../applications/imports/ImportsResource.java   |     6 +-
 .../organizations/users/UsersResource.java      |     8 +-
 .../rest/management/users/UserResource.java     |    76 +-
 .../rest/management/users/UsersResource.java    |    18 +-
 .../organizations/OrganizationsResource.java    |     4 +-
 .../organizations/OrganizationResource.java     |     6 +-
 .../rest/security/CrossOriginRequestFilter.java |     4 +-
 .../security/SecuredResourceFilterFactory.java  |   154 +-
 .../annotations/CheckPermissionsForPath.java    |    32 +
 .../security/shiro/RestSecurityManager.java     |     2 +-
 .../shiro/filters/BasicAuthSecurityFilter.java  |     9 +-
 .../ClientCredentialsSecurityFilter.java        |     4 +-
 .../OAuth2AccessTokenSecurityFilter.java        |     5 +-
 .../rest/system/ApplicationsResource.java       |    10 +-
 .../usergrid/rest/system/DatabaseResource.java  |     4 +-
 .../usergrid/rest/system/IndexResource.java     |     6 +-
 .../usergrid/rest/system/MigrateResource.java   |    10 +-
 .../usergrid/rest/test/PropertiesResource.java  |     3 +-
 .../rest/test/RefreshIndexResource.java         |     5 +-
 .../usergrid/rest/utils/CertificateUtils.java   |   108 +
 .../usergrid/rest/ExceptionResourceIT.java      |    91 +
 .../apache/usergrid/rest/IndexResourceIT.java   |     6 +-
 .../apache/usergrid/rest/NotificationsIT.java   |     2 +
 .../apache/usergrid/rest/PartialUpdateTest.java |     8 +-
 .../org/apache/usergrid/rest/TomcatRuntime.java |    12 +-
 .../applications/ApplicationResourceIT.java     |   111 +-
 .../usergrid/rest/applications/SecurityIT.java  |   115 +
 .../applications/assets/AssetResourceIT.java    |    90 +-
 .../applications/assets/AwsAssetResourceIT.java |    41 +-
 .../applications/assets/aws/NoAWSCredsRule.java |     4 +-
 .../collection/CollectionsResourceIT.java       |    20 +-
 .../activities/ActivityResourceIT.java          |     2 +-
 .../collection/groups/GroupResourceIT.java      |   115 +-
 .../collection/paging/PagingResourceIT.java     |    13 +-
 .../users/ConnectionResourceTest.java           |     2 +-
 .../collection/users/UserResourceIT.java        |    13 +-
 .../users/extensions/TestResource.java          |     6 +-
 .../applications/events/EventsResourceIT.java   |     4 +-
 .../applications/notifiers/NotifiersIT.java     |   116 +
 .../applications/queries/AndOrQueryTest.java    |     6 +-
 .../applications/queries/GeoPagingTest.java     |     7 +-
 .../applications/queries/MatrixQueryTests.java  |     2 -
 .../rest/applications/queries/OrderByTest.java  |     9 +-
 .../applications/queries/QueryTestBase.java     |     4 +-
 .../rest/applications/utils/TestUtils.java      |     1 -
 .../rest/filters/ContentTypeResourceIT.java     |     4 -
 .../usergrid/rest/management/AdminUsersIT.java  |   257 +-
 .../rest/management/ExportResourceIT.java       |    22 +-
 .../rest/management/ImportResourceIT.java       |    15 +-
 .../rest/management/OrganizationsIT.java        |    71 +-
 .../rest/management/RegistrationIT.java         |    16 +-
 .../organizations/AdminEmailEncodingIT.java     |     5 +-
 .../rest/test/resource/AbstractRestIT.java      |    10 +-
 .../rest/test/resource/ClientSetup.java         |    75 +-
 .../usergrid/rest/test/resource/DumbClient.java |    58 -
 .../resource/endpoints/CollectionEndpoint.java  |    20 +-
 .../endpoints/OrganizationResource.java         |     3 +-
 .../endpoints/mgmt/ApplicationResource.java     |     8 +-
 .../resource/endpoints/mgmt/OrgResource.java    |     9 +-
 .../rest/test/resource/model/ApiResponse.java   |     3 -
 .../rest/test/resource/model/Collection.java    |     7 +-
 stack/rest/src/test/resources/log4j.properties  |     1 -
 .../src/test/resources/pushtest_dev_recent.p12  |   Bin 0 -> 3227 bytes
 stack/rest/src/test/resources/test.txt          |    17 +
 .../resources/usergrid-custom-test.properties   |     2 +-
 .../resources/valid_non_apple_2036_01_07.p12    |   Bin 0 -> 2661 bytes
 stack/scripts/multitenant_migrate.py            |    48 +-
 stack/services/pom.xml                          |   890 +-
 .../management/AccountCreationProps.java        |   131 +-
 .../management/AppInfoMigrationPlugin.java      |     9 +-
 .../usergrid/management/ManagementService.java  |   373 +-
 .../usergrid/management/OrganizationConfig.java |   213 +-
 .../management/OrganizationConfigProps.java     |    73 +
 .../usergrid/management/OrganizationInfo.java   |    27 +-
 .../cassandra/AccountCreationPropsImpl.java     |     2 +-
 .../cassandra/ManagementServiceImpl.java        |   730 +-
 .../cassandra/OrganizationConfigPropsImpl.java  |   224 +
 .../usergrid/management/export/ExportJob.java   |     7 +-
 .../management/export/ExportServiceImpl.java    |     7 +-
 .../management/export/S3ExportImpl.java         |     3 +-
 .../management/importer/FileImportJob.java      |     6 +-
 .../usergrid/management/importer/ImportJob.java |     8 +-
 .../management/importer/ImportServiceImpl.java  |   586 +-
 .../management/importer/S3ImportImpl.java       |     7 +-
 .../usergrid/security/AuthPrincipalType.java    |     4 +-
 .../security/crypto/EncryptionServiceImpl.java  |     8 +-
 .../usergrid/security/oauth/AccessInfo.java     |     2 +-
 .../security/providers/AbstractProvider.java    |    42 +-
 .../security/providers/FacebookProvider.java    |     9 +-
 .../security/providers/FoursquareProvider.java  |     6 +-
 .../providers/PingIdentityProvider.java         |    97 +-
 .../apache/usergrid/security/shiro/Realm.java   |    18 +-
 .../usergrid/security/shiro/ShiroCache.java     |    15 +-
 .../security/shiro/ShiroCacheManager.java       |     2 +-
 .../principals/ApplicationUserPrincipal.java    |     4 +-
 .../shiro/principals/OrganizationPrincipal.java |    38 +-
 .../shiro/principals/PrincipalIdentifier.java   |     8 +-
 .../security/shiro/utils/SubjectUtils.java      |     4 +-
 .../usergrid/security/tokens/TokenCategory.java |     4 +-
 .../usergrid/security/tokens/TokenInfo.java     |    19 +
 .../usergrid/security/tokens/TokenService.java  |     9 +-
 .../tokens/cassandra/TokenServiceImpl.java      |    43 +-
 .../services/AbstractCollectionService.java     |    53 +-
 .../services/AbstractConnectionsService.java    |    14 +-
 .../AbstractPathBasedColllectionService.java    |    10 +-
 .../usergrid/services/AbstractService.java      |    26 +-
 .../apache/usergrid/services/ServiceInfo.java   |     7 +-
 .../usergrid/services/ServiceManager.java       |    18 +-
 .../services/ServiceManagerFactory.java         |     6 +-
 .../usergrid/services/ServiceParameter.java     |    44 +-
 .../usergrid/services/ServiceRequest.java       |     4 +-
 .../usergrid/services/ServiceResults.java       |     8 +-
 .../services/activities/ActivitiesService.java  |     4 +-
 .../applications/ApplicationsService.java       |     8 +-
 .../usergrid/services/assets/AssetsService.java |    12 +-
 .../services/assets/data/AssetMimeHandler.java  |     4 +-
 .../services/assets/data/AssetUtils.java        |     4 +-
 .../assets/data/AwsSdkS3BinaryStore.java        |    23 +-
 .../assets/data/LocalFileBinaryStore.java       |     4 +-
 .../services/assets/data/S3BinaryStore.java     |    36 +-
 .../services/devices/DevicesService.java        |    12 +-
 .../notifications/NotificationsService.java     |     4 +-
 .../services/devices/users/UsersService.java    |     4 +-
 .../AwsPropertiesNotFoundException.java         |     3 -
 .../usergrid/services/groups/GroupsService.java |     8 +-
 .../groups/activities/ActivitiesService.java    |     4 +-
 .../notifications/NotificationsService.java     |     4 +-
 .../services/groups/roles/RolesService.java     |     4 +-
 .../services/groups/users/UsersService.java     |     4 +-
 .../users/activities/ActivitiesService.java     |     4 +-
 .../groups/users/devices/DevicesService.java    |     4 +-
 .../notifications/NotificationsService.java     |     4 +-
 .../services/guice/ServiceModuleImpl.java       |     3 +
 .../services/messages/MessagesService.java      |     4 +-
 .../notifications/ApplicationQueueMessage.java  |     5 +-
 .../notifications/InactiveDeviceManager.java    |     8 +-
 .../services/notifications/JobScheduler.java    |    15 +-
 .../notifications/NotificationServiceProxy.java |     3 -
 .../notifications/NotificationsService.java     |    48 +-
 .../services/notifications/ProviderAdapter.java |     5 +-
 .../services/notifications/QueueJob.java        |    16 +-
 .../services/notifications/QueueListener.java   |    88 +-
 .../services/notifications/TaskManager.java     |    49 +-
 .../services/notifications/TestAdapter.java     |    16 +-
 .../notifications/apns/APNsAdapter.java         |    11 +-
 .../apns/RejectedAPNsListener.java              |     4 +-
 .../services/notifications/gcm/GCMAdapter.java  |   127 +-
 .../impl/ApplicationQueueManagerImpl.java       |   141 +-
 .../services/notifications/wns/WNSAdapter.java  |    15 +-
 .../services/notifiers/NotifiersService.java    |     4 +-
 .../services/queues/ImportQueueListener.java    |     4 +-
 .../usergrid/services/queues/QueueListener.java |    62 +-
 .../usergrid/services/roles/RolesService.java   |     4 +-
 .../services/roles/groups/GroupsService.java    |     4 +-
 .../services/roles/users/UsersService.java      |     4 +-
 .../usergrid/services/users/UsersService.java   |     6 +-
 .../users/activities/ActivitiesService.java     |     4 +-
 .../services/users/devices/DevicesService.java  |    20 +-
 .../notifications/NotificationsService.java     |     4 +-
 .../users/following/FollowingService.java       |     4 +-
 .../services/users/groups/GroupsService.java    |     4 +-
 .../notifications/NotificationsService.java     |     4 +-
 .../services/users/roles/RolesService.java      |     4 +-
 .../org/apache/usergrid/utils/PythonUtils.java  |   103 -
 .../src/main/python/pyusergrid/__init__.py      |    15 -
 .../main/python/pyusergrid/services/__init__.py |    15 -
 .../pyusergrid/services/pytest/PytestService.py |    31 -
 .../pyusergrid/services/pytest/__init__.py      |    15 -
 .../python/pyusergrid/services/pytest/test.py   |    29 -
 stack/services/src/main/python/test/__init__.py |    15 -
 stack/services/src/main/python/test/test.py     |    29 -
 .../resources/usergrid-services-context.xml     |   133 +-
 .../org/apache/usergrid/NewOrgAppAdminRule.java |     4 +-
 .../org/apache/usergrid/ServiceApplication.java |    14 +-
 .../migration/AppInfoMigrationPluginTest.java   |    10 +-
 .../apache/usergrid/management/EmailFlowIT.java |    43 +-
 .../management/OrganizationConfigIT.java        |   213 +
 .../usergrid/management/OrganizationIT.java     |     4 +-
 .../org/apache/usergrid/management/RoleIT.java  |    10 +-
 .../cassandra/ManagementServiceIT.java          |    55 +-
 .../management/export/ExportServiceIT.java      |    88 +-
 .../management/export/MockS3ExportImpl.java     |     2 +-
 .../importer/ImportConnectionsTest.java         |     2 +-
 .../management/importer/ImportServiceIT.java    |    32 +-
 .../usergrid/management/importer/S3Upload.java  |     1 -
 .../org/apache/usergrid/python/JythonTest.java  |    39 -
 .../security/providers/FacebookProviderIT.java  |     6 +-
 .../providers/PingIdentityProviderIT.java       |     6 +-
 .../security/tokens/TokenServiceIT.java         |    10 +-
 .../usergrid/services/ServiceInvocationIT.java  |     4 +-
 .../AbstractServiceNotificationIT.java          |     3 +-
 .../notifications/NotifiersServiceIT.java       |    11 +-
 .../apns/MockSuccessfulProviderAdapter.java     |   103 -
 .../apns/NotificationsServiceIT.java            |   294 +-
 .../gcm/MockSuccessfulProviderAdapter.java      |    89 -
 .../gcm/NotificationsServiceIT.java             |   227 +-
 .../notifications/wns/WNSAdapterTest.java       |    44 +
 .../src/test/resources/log4j.properties         |     1 -
 .../src/test/resources/pushtest_dev.p12         |   Bin 3203 -> 0 bytes
 .../src/test/resources/pushtest_prod.p12        |   Bin 3205 -> 0 bytes
 .../java/org/apache/usergrid/TomcatMain.java    |    10 +-
 .../usergrid/cassandra/AvailablePortFinder.java |    18 +-
 .../usergrid/cassandra/CassandraResource.java   |     6 +-
 .../usergrid/cassandra/ClearShiroSubject.java   |     8 +-
 .../usergrid/cassandra/SpringResource.java      |    10 +-
 .../usergrid/cassandra/FakeSchemaManager.java   |     4 -
 .../usergrid/cassandra/SpringResourceTest.java  |    10 +-
 stack/tools/pom.xml                             |    20 +-
 .../org/apache/usergrid/tools/AppAudit.java     |     2 +-
 .../java/org/apache/usergrid/tools/Cli.java     |    35 +-
 .../apache/usergrid/tools/DupAdminRepair.java   |   297 -
 .../org/apache/usergrid/tools/DupOrgRepair.java |   263 -
 .../usergrid/tools/EntityInsertBenchMark.java   |   272 -
 .../usergrid/tools/EntityReadBenchMark.java     |   353 -
 .../java/org/apache/usergrid/tools/Export.java  |    26 +-
 .../org/apache/usergrid/tools/ExportAdmins.java |    26 +-
 .../org/apache/usergrid/tools/ExportApp.java    |   138 +-
 .../usergrid/tools/ExportDataCreator.java       |    41 +-
 .../java/org/apache/usergrid/tools/Import.java  |    11 +-
 .../org/apache/usergrid/tools/ImportAdmins.java |   161 +-
 .../org/apache/usergrid/tools/IndexRebuild.java |   184 -
 .../java/org/apache/usergrid/tools/Metrics.java |     2 +-
 .../usergrid/tools/OrganizationExport.java      |     2 +-
 .../apache/usergrid/tools/PopulateSample.java   |     4 +-
 .../RepairingMismatchedApplicationMetadata.java |   119 -
 .../org/apache/usergrid/tools/ToolBase.java     |    15 +-
 .../usergrid/tools/UniqueIndexCleanup.java      |   386 -
 .../org/apache/usergrid/tools/UserManager.java  |     3 +-
 .../apache/usergrid/tools/WarehouseExport.java  |   133 +-
 .../apache/usergrid/tools/WarehouseUpsert.java  |    30 +-
 .../apache/usergrid/tools/bean/MetricQuery.java |    11 +-
 stack/tools/src/main/resources/log4j.properties |    34 +-
 .../main/resources/toolsApplicationContext.xml  |   124 +-
 .../apache/usergrid/tools/ExportAppTest.java    |    62 +-
 .../usergrid/tools/ExportImportAdminsTest.java  |    43 +-
 .../test/resources/usergrid-test-context.xml    |    63 +
 .../websocket/WebSocketChannelHandler.java      |    16 +-
 .../test/resources/testApplicationContext.xml   |   273 +-
 tests/integration/.gitignore                    |     3 +
 tests/integration/LICENSE                       |   327 +
 tests/integration/README.md                     |     8 +
 tests/integration/config/default.js             |    28 +
 tests/integration/config/index.js               |    28 +
 tests/integration/index.js                      |    23 +
 tests/integration/lib/connections.js            |    63 +
 tests/integration/lib/devices.js                |    43 +
 tests/integration/lib/entities.js               |   126 +
 tests/integration/lib/groups.js                 |    43 +
 tests/integration/lib/notifications.js          |    34 +
 tests/integration/lib/random.js                 |    39 +
 tests/integration/lib/response.js               |    23 +
 tests/integration/lib/token.js                  |    64 +
 tests/integration/lib/urls.js                   |    40 +
 tests/integration/lib/users.js                  |    48 +
 tests/integration/package.json                  |    17 +
 .../test/authentication/management.js           |    40 +
 tests/integration/test/authentication/org.js    |    39 +
 tests/integration/test/authentication/shawn     |     1 +
 tests/integration/test/authentication/user.js   |    40 +
 tests/integration/test/authorization/shawn      |     1 +
 tests/integration/test/collections/brandon      |     1 +
 tests/integration/test/connections/brandon      |     1 +
 tests/integration/test/entities/brandon         |     1 +
 tests/integration/test/entities/create.js       |    47 +
 tests/integration/test/entities/deleteAll.js    |    39 +
 tests/integration/test/entities/get.js          |    60 +
 tests/integration/test/entities/update.js       |    44 +
 tests/integration/test/groups/groups.js         |   192 +
 tests/integration/test/main.js                  |    69 +
 tests/integration/test/management/shawn         |     1 +
 tests/integration/test/mocha.opts               |     3 +
 .../test/queries/integerComparison.js           |    77 +
 tests/integration/test/setup.js                 |   111 +
 tests/integration/test/teardown.js              |    80 +
 tests/integration/test/users/create.js          |    47 +
 tests/performance/.gitignore                    |     1 +
 tests/performance/LICENSE                       |   327 +
 tests/performance/README.md                     |   207 +
 tests/performance/pom.xml                       |   149 +
 tests/performance/runAuditDeleteEntities.sh     |    65 +
 .../runAuditGetAllAppCollectionEntities.sh      |    68 +
 .../runAuditGetCollectionEntities.sh            |    68 +
 .../runAuditVerifyCollectionEntities.sh         |    69 +
 tests/performance/runCollectionQueryTest.sh     |    88 +
 .../runCustomInjectRandomEntityByUuidTest.sh    |   108 +
 tests/performance/runDeleteEntities.sh          |    92 +
 .../runGetEntitiesByNameSequential.sh           |   101 +
 tests/performance/runGetEntitiesByUuid.sh       |    92 +
 tests/performance/runLoadEntities.sh            |    98 +
 tests/performance/runLoadEntitiesUnlimited.sh   |   103 +
 .../runLoadLargeMultiFieldEntities.sh           |   107 +
 tests/performance/runLoadNoNameEntities.sh      |    98 +
 tests/performance/runLoadSortableEntities.sh    |    98 +
 tests/performance/runOrgAppSetup.sh             |    91 +
 .../runRandomEntityByNameQueryTest.sh           |    91 +
 tests/performance/runRandomEntityByNameTest.sh  |    91 +
 tests/performance/runUpdateEntities.sh          |    91 +
 tests/performance/runtests_deprecated.sh        |   120 +
 .../datagenerators/EntityDataGenerator.scala    |   183 +
 .../datagenerators/FeederGenerator.scala        |   304 +
 .../datagenerators/datafiles/dist.all.last.txt  | 88799 +++++++++++++++++
 .../datafiles/dist.female.first.txt             |  4275 +
 .../datafiles/dist.male.first.txt               |  1219 +
 .../usergrid/datagenerators/firstNames.txt      |  5494 +
 .../usergrid/datagenerators/lastNames.txt       | 88799 +++++++++++++++++
 .../org/apache/usergrid/enums/AuthType.scala    |    31 +
 .../usergrid/enums/ConfigProperties.scala       |   181 +
 .../usergrid/enums/CsvFeedPatternType.scala     |    30 +
 .../usergrid/enums/EndConditionType.scala       |    29 +
 .../org/apache/usergrid/enums/EntityType.scala  |    30 +
 .../apache/usergrid/enums/ScenarioType.scala    |    38 +
 .../org/apache/usergrid/enums/TokenType.scala   |    29 +
 .../apache/usergrid/helpers/Extractors.scala    |   154 +
 .../org/apache/usergrid/helpers/Headers.scala   |    70 +
 .../org/apache/usergrid/helpers/Setup.scala     |   312 +
 .../org/apache/usergrid/helpers/Utils.scala     |   102 +
 .../scenarios/ApplicationScenarios.scala        |    53 +
 .../usergrid/scenarios/AuditScenarios.scala     |   342 +
 .../scenarios/ConnectionScenarios.scala         |    66 +
 .../usergrid/scenarios/DeviceScenarios.scala    |    85 +
 .../scenarios/EntityCollectionScenarios.scala   |   407 +
 .../usergrid/scenarios/EntityScenarios.scala    |    80 +
 .../usergrid/scenarios/GeoScenarios.scala       |    49 +
 .../scenarios/NotificationScenarios.scala       |    80 +
 .../usergrid/scenarios/NotifierScenarios.scala  |    70 +
 .../scenarios/OrganizationScenarios.scala       |    60 +
 .../usergrid/scenarios/TokenScenarios.scala     |    56 +
 .../usergrid/scenarios/UserScenarios.scala      |   210 +
 .../org/apache/usergrid/settings/Settings.scala |   612 +
 .../usergrid/simulations/AuditSimulation.scala  |    86 +
 .../simulations/ConfigurableSimulation.scala    |   105 +
 .../simulations/CustomInjectionSimulation.scala |   107 +
 .../simulations/deprecated/AppSimulation.scala  |    41 +
 .../deprecated/ConnectionsSimulation.scala      |    51 +
 .../deprecated/DeleteUsersSimulation.scala      |    56 +
 .../deprecated/GetEntitySimulation.scala        |    44 +
 .../deprecated/GetUserPagesSimulation.scala     |    51 +
 .../deprecated/GetUsersSimulation.scala         |    51 +
 .../deprecated/PostCustomEntitySimulation.scala |    76 +
 .../deprecated/PostUsersSimulation.scala        |    51 +
 .../PushNotificationTargetUserSimulation.scala  |    45 +
 .../deprecated/PutCustomEntitySimulation.scala  |    75 +
 .../deprecated/PutUsersSimulation.scala         |    56 +
 .../deprecated/SetupSimulation.scala            |    43 +
 .../performance/src/main/scripts/gatling-mvn.sh |    31 +
 .../performance/src/main/scripts/gatling-ug.sh  |    51 +
 .../src/test/resources/dummyAuditUuid.csv       |     1 +
 .../src/test/resources/dummyUuid.csv            |     1 +
 .../performance/src/test/resources/gatling.conf |   150 +
 .../src/test/resources/logback-test.xml         |    39 +
 .../performance/src/test/resources/logback.xml  |    38 +
 .../src/test/resources/recorder.conf            |    37 +
 tests/performance/src/test/scala/Engine.scala   |    29 +
 .../src/test/scala/IDEPathHelper.scala          |    38 +
 tests/performance/src/test/scala/Recorder.scala |    28 +
 tests/performance/testConfig.sh                 |    68 +
 website/README.md                               |     4 +-
 website/crash.log                               |   143 -
 website/lib/default.rb                          |     4 +-
 website/nanoc.yaml                              |     2 +
 website/run.sh                                  |     3 +-
 website/tmp/checksums                           |     2 -
 website/tmp/compiled_content                    |  7076 --
 website/tmp/dependencies                        |     6 -
 website/tmp/rule_memory                         |   Bin 5214 -> 0 bytes
 1031 files changed, 219989 insertions(+), 224483 deletions(-)
----------------------------------------------------------------------



[41/50] [abbrv] usergrid git commit: Add DRAFT Usergrid 2.1.0 deployment guide and upgrade website to use Nanoc 4.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/tmp/compiled_content
----------------------------------------------------------------------
diff --git a/website/tmp/compiled_content b/website/tmp/compiled_content
deleted file mode 100644
index 3ac8a96..0000000
--- a/website/tmp/compiled_content
+++ /dev/null
@@ -1,7076 +0,0 @@
-{:	data{OI"/bootstrap/bootstrap/:ET{:default{:	lastI"��/*!
- * Bootstrap v3.0.0
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- *//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 
 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decorati
 on:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select
 ,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-w
 idth:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,o
 l{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height
 :1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre co
 de{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-
 3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.333333333333332%}.col-xs-2{width:16.666666666666664%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333333333%}.col-xs-5{width:41.66666666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333333333336%}.col-xs-8{width:66.66666666666666%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333333334%}.col-xs-11{width:91.66666666666666%}.col-xs-12{width:100%}@media(min-width:768px){.container{max-width:750px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left}.col-sm-1{width:8.333333333333332%}.col-sm-2{width:16.666666666666664%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333333333%}.col-sm-5{width:41.66666666666667%}.col-sm-
 6{width:50%}.col-sm-7{width:58.333333333333336%}.col-sm-8{width:66.66666666666666%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333333334%}.col-sm-11{width:91.66666666666666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-11{left:91.66666666666666%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-offse
 t-1{margin-left:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-11{margin-left:91.66666666666666%}}@media(min-width:992px){.container{max-width:970px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left}.col-md-1{width:8.333333333333332%}.col-md-2{width:16.666666666666664%}.col-md-3{width:25%}.col-md-4{width:33.33333333333333%}.col-md-5{width:41.66666666666667%}.col-md-6{width:50%}.col-md-7{width:58.333333333333336%}.col-md-8{width:66.66666666666666%}.col-md-9{width:75%}.col-md-10{width:83.33333333333334%}.col-md-11{width:91.66666666666666%}.col
 -md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333333333332%}.col-md-push-2{left:16.666666666666664%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333333333%}.col-md-push-5{left:41.66666666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333333333336%}.col-md-push-8{left:66.66666666666666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333333334%}.col-md-push-11{left:91.66666666666666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-11{right:91.66666666666666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offse
 t-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-11{margin-left:91.66666666666666%}}@media(min-width:1200px){.container{max-width:1170px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left}.col-lg-1{width:8.333333333333332%}.col-lg-2{width:16.666666666666664%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333333333%}.col-lg-5{width:41.66666666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333333333336%}.col-lg-8{width:66.66666666666666%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333333334%}.col-lg-11{width:91.66666666666666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-
 2{left:16.666666666666664%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-11{left:91.66666666666666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-5{margin-lef
 t:41.66666666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.tabl
 e-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.activ
 e>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.tabl
 e>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc;border-color:#f8e5be}@media(max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-
 overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>t
 d:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],sele
 ct[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color eas
 e-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-l
 eft:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webki
 t-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px 
 rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding
 -top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-ima
 ge:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.dis
 abled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;backg
 round-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{col
 or:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disab
 led,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disable
 d]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{paddi
 ng:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-
 webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e0
 16"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e04
 1"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-print:before{content:"\e045"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-mo
 ve:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:
 "\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder
 -open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-
 link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:
 "\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{
 content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-l
 eft:4px solid transparent;content:""}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outl
 ine:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .care
 t,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table
 ;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown
 -toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-g
 roup-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>
 .btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>
 .btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radiu
 s:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{m
 argin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radiu
 s:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav
 -pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after
 {clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-hea
 der{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@
 media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(
 min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webk
 it-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-
 menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{margin-right:15px;margin-left:15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.n
 avbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav 
 .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navba
 r-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav
 bar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-me
 nu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.paginatio
 n>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination
 -sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:
 #fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-heigh
 t:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:
 4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbe
 ed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow
 :inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.act
 ive .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%
 ,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,2
 55,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(
 255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:
 hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background
 -color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:
 first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dd
 d}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.pane
 l-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-co
 lor:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-
 transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.
 modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-ra
 dius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;displ
 ay:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bott
 om:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out 
 left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear
 -gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-
 prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chev

<TRUNCATED>

[13/50] [abbrv] usergrid git commit: Merge remote-tracking branch 'origin/master' into USERGRID-1241

Posted by sn...@apache.org.
Merge remote-tracking branch 'origin/master' into USERGRID-1241


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

Branch: refs/heads/asf-site
Commit: bebfafc2ff32464c53b3eca7ae73853d27b4ac33
Parents: fbac7e8 84916d5
Author: Mike Dunker <md...@apigee.com>
Authored: Wed Jan 27 16:26:53 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Wed Jan 27 16:26:53 2016 -0800

----------------------------------------------------------------------
 deployment/aws/README.md                        |  172 ++
 deployment/aws/assembly.xml                     |   74 +
 deployment/aws/aws-sample.properties            |   19 +
 deployment/aws/gatling-cluster-cf.json          |  386 ++++
 deployment/aws/pom.xml                          |  238 ++
 deployment/aws/src/main/cql/update_locks.cql    |   23 +
 deployment/aws/src/main/cql/update_usergrid.cql |   27 +
 .../main/cql/update_usergrid_applications.cql   |   46 +
 .../src/main/dist/init_instance/create_raid0.sh |   54 +
 .../main/dist/init_instance/init_db_server.sh   |   76 +
 .../main/dist/init_instance/init_es_server.sh   |   71 +
 .../dist/init_instance/init_graphite_server.sh  |   69 +
 .../dist/init_instance/init_opscenter_server.sh |  287 +++
 .../main/dist/init_instance/init_rest_server.sh |  257 +++
 .../dist/init_instance/install_cassandra.sh     |   51 +
 .../main/dist/init_instance/install_collectd.sh |  350 +++
 .../dist/init_instance/install_elasticsearch.sh |  123 ++
 .../init_instance/install_opscenter_agent.sh    |   42 +
 .../dist/init_instance/install_oraclejdk.sh     |   55 +
 .../main/dist/init_instance/install_yourkit.sh  |   39 +
 .../main/dist/init_instance/update_keyspaces.sh |   75 +
 .../aws/src/main/dist/lib/log4j.properties      |   53 +
 deployment/aws/src/main/dist/update.sh          |   35 +
 .../aws/src/main/groovy/NodeRegistry.groovy     |  227 ++
 .../src/main/groovy/configure_cassandra.groovy  |  125 ++
 .../main/groovy/configure_elasticsearch.groovy  |  169 ++
 .../groovy/configure_opscenter_agent.groovy     |   50 +
 .../groovy/configure_opscenter_cassandra.groovy |  120 +
 .../groovy/configure_opscenter_usergrid.groovy  |   58 +
 .../src/main/groovy/configure_portal_new.groovy |   28 +
 .../src/main/groovy/configure_usergrid.groovy   |  193 ++
 .../aws/src/main/groovy/create_dashboard.groovy |   79 +
 .../src/main/groovy/get_first_instance.groovy   |   46 +
 .../src/main/groovy/registry_register.groovy    |   38 +
 .../aws/src/main/groovy/tag_instance.groovy     |   55 +
 .../src/main/groovy/wait_for_instances.groovy   |   47 +
 deployment/aws/ugcluster-cf.json                | 2062 ++++++++++++++++++
 .../apache/usergrid/android/sdk/UGClient.java   |   12 +-
 stack/awscluster/README.md                      |  163 --
 stack/awscluster/assembly.xml                   |   74 -
 stack/awscluster/aws-sample.properties          |   19 -
 stack/awscluster/gatling-cluster-cf.json        |  386 ----
 stack/awscluster/pom.xml                        |  237 --
 stack/awscluster/src/main/cql/update_locks.cql  |   23 -
 .../awscluster/src/main/cql/update_usergrid.cql |   27 -
 .../main/cql/update_usergrid_applications.cql   |   46 -
 .../src/main/dist/init_instance/create_raid0.sh |   54 -
 .../main/dist/init_instance/init_db_server.sh   |   76 -
 .../main/dist/init_instance/init_es_server.sh   |   71 -
 .../dist/init_instance/init_graphite_server.sh  |   69 -
 .../dist/init_instance/init_opscenter_server.sh |  287 ---
 .../main/dist/init_instance/init_rest_server.sh |  257 ---
 .../dist/init_instance/install_cassandra.sh     |   51 -
 .../main/dist/init_instance/install_collectd.sh |  350 ---
 .../dist/init_instance/install_elasticsearch.sh |  123 --
 .../init_instance/install_opscenter_agent.sh    |   42 -
 .../dist/init_instance/install_oraclejdk.sh     |   55 -
 .../main/dist/init_instance/install_yourkit.sh  |   39 -
 .../main/dist/init_instance/update_keyspaces.sh |   75 -
 .../src/main/dist/lib/log4j.properties          |   53 -
 stack/awscluster/src/main/dist/update.sh        |   35 -
 .../awscluster/src/main/dist/webapps/dummy.txt  |    0
 .../src/main/groovy/NodeRegistry.groovy         |  227 --
 .../src/main/groovy/configure_cassandra.groovy  |  129 --
 .../main/groovy/configure_elasticsearch.groovy  |  169 --
 .../groovy/configure_opscenter_agent.groovy     |   50 -
 .../groovy/configure_opscenter_cassandra.groovy |  120 -
 .../groovy/configure_opscenter_usergrid.groovy  |   58 -
 .../src/main/groovy/configure_portal_new.groovy |   28 -
 .../src/main/groovy/configure_usergrid.groovy   |  193 --
 .../src/main/groovy/create_dashboard.groovy     |   79 -
 .../src/main/groovy/get_first_instance.groovy   |   46 -
 .../src/main/groovy/registry_register.groovy    |   38 -
 .../src/main/groovy/tag_instance.groovy         |   55 -
 .../src/main/groovy/wait_for_instances.groovy   |   47 -
 stack/awscluster/ugcluster-cf.json              | 2062 ------------------
 76 files changed, 5926 insertions(+), 5918 deletions(-)
----------------------------------------------------------------------



[09/50] [abbrv] usergrid git commit: Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/install_collectd.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/install_collectd.sh b/deployment/aws/src/main/dist/init_instance/install_collectd.sh
new file mode 100644
index 0000000..20abbf9
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/install_collectd.sh
@@ -0,0 +1,350 @@
+#!/bin/bash
+
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+# Install and stop Cassandra
+sudo apt-get update
+sudo apt-get install -y collectd collectd-utils
+
+
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+#Wait for graphite to start
+cd /usr/share/usergrid/scripts
+groovy wait_for_instances.groovy graphite ${GRAPHITE_NUM_SERVERS}
+GRAPHITE_HOST=$(groovy get_first_instance.groovy graphite)
+
+
+
+cat > /etc/collectd/collectd.conf << EOF
+Hostname "${PUBLIC_HOSTNAME}"
+LoadPlugin cpu
+LoadPlugin df
+LoadPlugin entropy
+LoadPlugin interface
+LoadPlugin load
+LoadPlugin logfile
+LoadPlugin memory
+LoadPlugin processes
+LoadPlugin rrdtool
+LoadPlugin users
+LoadPlugin write_graphite
+LoadPlugin java
+
+#ethernet montioring
+<Plugin interface>
+    Interface "eth0"
+    IgnoreSelected false
+</Plugin>
+
+#Send to graphite
+<Plugin write_graphite>
+    <Node "graphing">
+        Host "${GRAPHITE_HOST}"
+        Port "2003"
+        Protocol "tcp"
+        LogSendErrors true
+        Prefix "collectd."
+        StoreRates true
+        AlwaysAppendDS false
+        EscapeCharacter "_"
+    </Node>
+</Plugin>
+
+#Raid 0 monitoring
+<Plugin df>
+    Device "/dev/md0"
+    MountPoint "/mnt"
+    FSType "ext4"
+</Plugin>
+
+<Plugin "logfile">
+  LogLevel "info"
+  File "/var/log/collectd.log"
+  Timestamp true
+</Plugin>
+
+
+<Plugin "java">
+  # required JVM argument is the classpath
+  # JVMArg "-Djava.class.path=/installpath/collectd/share/collectd/java"
+  # Since version 4.8.4 (commit c983405) the API and GenericJMX plugin are
+  # provided as .jar files.
+  JVMARG "-Djava.class.path=/usr/share/collectd/java/generic-jmx.jar:/usr/share/collectd/java/collectd-api.jar"
+  LoadPlugin "org.collectd.java.GenericJMX"
+
+    <Plugin "GenericJMX">
+      ################
+      # MBean blocks #
+      ################
+      # Number of classes being loaded.
+      <MBean "classes">
+        ObjectName "java.lang:type=ClassLoading"
+        #InstancePrefix ""
+        #InstanceFrom ""
+
+        <Value>
+          Type "gauge"
+          InstancePrefix "loaded_classes"
+          #InstanceFrom ""
+          Table false
+          Attribute "LoadedClassCount"
+        </Value>
+      </MBean>
+
+      # Time spent by the JVM compiling or optimizing.
+      <MBean "compilation">
+        ObjectName "java.lang:type=Compilation"
+        #InstancePrefix ""
+        #InstanceFrom ""
+
+        <Value>
+          Type "total_time_in_ms"
+          InstancePrefix "compilation_time"
+          #InstanceFrom ""
+          Table false
+          Attribute "TotalCompilationTime"
+        </Value>
+      </MBean>
+
+      # Garbage collector information
+      <MBean "garbage_collector">
+        ObjectName "java.lang:type=GarbageCollector,*"
+        InstancePrefix "gc-"
+        InstanceFrom "name"
+
+        <Value>
+          Type "invocations"
+          #InstancePrefix ""
+          #InstanceFrom ""
+          Table false
+          Attribute "CollectionCount"
+        </Value>
+
+        <Value>
+          Type "total_time_in_ms"
+          InstancePrefix "collection_time"
+          #InstanceFrom ""
+          Table false
+          Attribute "CollectionTime"
+        </Value>
+
+  #      # Not that useful, therefore commented out.
+  #      <Value>
+  #        Type "threads"
+  #        #InstancePrefix ""
+  #        #InstanceFrom ""
+  #        Table false
+  #        # Demonstration how to access composite types
+  #        Attribute "LastGcInfo.GcThreadCount"
+  #      </Value>
+      </MBean>
+
+      ######################################
+      # Define the "jmx_memory" type as:   #
+      #   jmx_memory  value:GAUGE:0:U      #
+      # See types.db(5) for details.       #
+      ######################################
+
+      # Generic heap/nonheap memory usage.
+      # Standard Java mbeans
+      # Memory usage by memory pool.
+      <MBean "memory_pool">
+        ObjectName "java.lang:type=MemoryPool,*"
+        InstancePrefix "memory_pool-"
+        InstanceFrom "name"
+        <Value>
+          Type "memory"
+          #InstancePrefix ""
+          #InstanceFrom ""
+          Table true
+          Attribute "Usage"
+        </Value>
+      </MBean>
+
+      # Heap memory usage
+      <MBean "memory_heap">
+        ObjectName "java.lang:type=Memory"
+        #InstanceFrom ""
+        InstancePrefix "memory-heap"
+
+        # Creates four values: committed, init, max, used
+        <Value>
+          Type "memory"
+          #InstancePrefix ""
+          #InstanceFrom ""
+          Table true
+          Attribute "HeapMemoryUsage"
+        </Value>
+      </MBean>
+
+      # Non-heap memory usage
+      <MBean "memory_nonheap">
+        ObjectName "java.lang:type=Memory"
+        #InstanceFrom ""
+        InstancePrefix "memory-nonheap"
+
+        # Creates four values: committed, init, max, used
+        <Value>
+          Type "memory"
+          #InstancePrefix ""
+          #InstanceFrom ""
+          Table true
+          Attribute "NonHeapMemoryUsage"
+        </Value>
+      </MBean>
+
+      <MBean "garbage_collector">
+        ObjectName "java.lang:type=GarbageCollector,*"
+        InstancePrefix "gc-"
+        InstanceFrom "name"
+
+        <Value>
+          Type "invocations"
+          #InstancePrefix ""
+          #InstanceFrom ""
+          Table false
+          Attribute "CollectionCount"
+        </Value>
+
+        <Value>
+          Type "total_time_in_ms"
+          InstancePrefix "collection_time"
+          #InstanceFrom ""
+          Table false
+          Attribute "CollectionTime"
+        </Value>
+      </MBean>
+
+      ### MBeans by Catalina / Tomcat ###
+      # The global request processor (summary for each request processor)
+      <MBean "catalina/global_request_processor">
+        ObjectName "Catalina:type=GlobalRequestProcessor,*"
+        InstancePrefix "request_processor-"
+        InstanceFrom "name"
+
+        <Value>
+          Type "io_octets"
+          InstancePrefix "global"
+          #InstanceFrom ""
+          Table false
+          Attribute "bytesReceived"
+          Attribute "bytesSent"
+        </Value>
+
+        <Value>
+          Type "total_requests"
+          InstancePrefix "global"
+          #InstanceFrom ""
+          Table false
+          Attribute "requestCount"
+        </Value>
+
+        <Value>
+          Type "total_time_in_ms"
+          InstancePrefix "global-processing"
+          #InstanceFrom ""
+          Table false
+          Attribute "processingTime"
+        </Value>
+      </MBean>
+
+      # Details for each  request processor
+      <MBean "catalina/detailed_request_processor">
+        ObjectName "Catalina:type=RequestProcessor,*"
+        InstancePrefix "request_processor-"
+        InstanceFrom "worker"
+
+        <Value>
+          Type "io_octets"
+          #InstancePrefix ""
+          InstanceFrom "name"
+          Table false
+          Attribute "bytesReceived"
+          Attribute "bytesSent"
+        </Value>
+
+        <Value>
+          Type "total_requests"
+          #InstancePrefix ""
+          InstanceFrom "name"
+          Table false
+          Attribute "requestCount"
+        </Value>
+
+        <Value>
+          Type "total_time_in_ms"
+          InstancePrefix "processing-"
+          InstanceFrom "name"
+          Table false
+          Attribute "processingTime"
+        </Value>
+      </MBean>
+
+      # Thread pool
+      <MBean "catalina/thread_pool">
+        ObjectName "Catalina:type=ThreadPool,*"
+        InstancePrefix "request_processor-"
+        InstanceFrom "name"
+
+        <Value>
+          Type "threads"
+          InstancePrefix "total"
+          #InstanceFrom ""
+          Table false
+          Attribute "currentThreadCount"
+        </Value>
+
+        <Value>
+          Type "threads"
+          InstancePrefix "running"
+          #InstanceFrom ""
+          Table false
+          Attribute "currentThreadsBusy"
+        </Value>
+      </MBean>
+
+      #####################
+      # Connection blocks #
+      #####################
+      <Connection>
+        ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi"
+        Host "${PUBLIC_HOSTNAME}"
+        Collect "classes"
+        Collect "compilation"
+        Collect "memory_pool"
+        Collect "memory_heap"
+        Collect "memory_nonheap"
+        Collect "garbage_collector"
+        Collect "catalina/global_request_processor"
+        Collect "catalina/detailed_request_processor"
+        Collect "catalina/thread_pool"
+      </Connection>
+    </Plugin>
+</Plugin>
+EOF
+
+service collectd stop
+service collectd start
+
+#Set the hostname into collectd
+sed -i.bak "s/#Hostname \"localhost\"//g" /etc/collectd/collectd.conf
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/install_elasticsearch.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/install_elasticsearch.sh b/deployment/aws/src/main/dist/init_instance/install_elasticsearch.sh
new file mode 100644
index 0000000..5b767f8
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/install_elasticsearch.sh
@@ -0,0 +1,123 @@
+#!/bin/bash
+
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+pushd /etc/apt/sources.list.d
+
+# Install and stop ElasticSearch
+cat >> elasticsearch.sources.list << EOF
+deb http://packages.elasticsearch.org/elasticsearch/1.4/debian stable main
+EOF
+apt-get update
+apt-get --force-yes -y install elasticsearch=1.4.4
+/etc/init.d/elasticsearch stop
+
+mkdir -p /mnt/data/elasticsearch
+chown elasticsearch /mnt/data/elasticsearch
+
+mkdir -p /mnt/log/elasticsearch
+chown elasticsearch /mnt/log/elasticsearch
+
+# Configure ElasticSearch
+
+
+echo "vm.swappiness = 0" >> /etc/sysctl.conf
+sysctl -p
+
+# No need to do this, elasticsearch nodes are also cassandra nodes
+
+cd /usr/share/usergrid/scripts
+
+#If we're the master, register ourselves and move on, if we're not, wait for the master to come up
+if [ "$ES_MASTER" = "true" ]; then
+    groovy registry_register.groovy elasticsearch_master
+else
+    groovy registry_register.groovy elasticsearch
+    groovy wait_for_instances.groovy elasticsearch_master 1
+fi
+
+
+# leave room for Cassandra: use about one half of RAM for heap
+case `(curl http://169.254.169.254/latest/meta-data/instance-type)` in
+'c3.large' )
+    # total of 15g
+    export ES_HEAP_SIZE=1920m
+;;
+'c3.xlarge' )
+    # total of 7.5g
+    export ES_HEAP_SIZE=3840m
+;;
+'c3.2xlarge' )
+    # total of 15g
+    export ES_HEAP_SIZE=7680m
+;;
+'c3.4xlarge' )
+    # total of 30g
+    export ES_HEAP_SIZE=15g
+esac
+
+
+
+
+cat >> /etc/default/elasticsearch << EOF
+ES_HEAP_SIZE=${ES_HEAP_SIZE}
+MAX_OPEN_FILES=65535
+MAX_MAP_COUNT=262144
+MAX_LOCKED_MEMORY=unlimited
+JAVA_HOME=/usr/lib/jvm/jdk1.7.0
+ES_HEAP_NEWSIZE=4g
+ES_JAVA_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:SurvivorRatio=4 -Xloggc:/mnt/raid/elasticsearch/jvm"
+EOF
+
+#Set it because Matt says so
+ulimit -l unlimited
+
+cat >> /etc/security/limits.conf << EOF
+elasticsearch - nofile 65535
+elasticsearch - memlock unlimited
+EOF
+
+
+cd /usr/share/usergrid/scripts
+groovy ./configure_elasticsearch.groovy > /etc/elasticsearch/elasticsearch.yml
+
+update-rc.d elasticsearch defaults 95 10
+
+pushd /usr/share/elasticsearch/bin
+
+#Install kopf
+
+./plugin --install lmenezes/elasticsearch-kopf/1.0
+
+#Install bigdesk
+
+./plugin -install royrusso/elasticsearch-HQ
+
+./plugin -install karmi/elasticsearch-paramedic
+
+./plugin -install elasticsearch/elasticsearch-cloud-aws/2.4.2
+
+popd
+
+
+# Go!
+/etc/init.d/elasticsearch start
+
+popd

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/install_opscenter_agent.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/install_opscenter_agent.sh b/deployment/aws/src/main/dist/init_instance/install_opscenter_agent.sh
new file mode 100644
index 0000000..a5679e4
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/install_opscenter_agent.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+# Install and stop Cassandra
+echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/datastax.community.list
+
+curl -L https://debian.datastax.com/debian/repo_key | sudo apt-key add -
+
+sudo apt-get update
+sudo apt-get install datastax-agent
+
+
+cd /usr/share/usergrid/scripts
+
+#Wait for the opscenter node to come up
+groovy wait_for_instances.groovy opscenter 1
+
+#Wait for opscenter to come up
+
+groovy configure_opscenter_agent.groovy > /var/lib/datastax-agent/conf/address.yaml
+
+sudo service datastax-agent stop
+sudo service datastax-agent start
+
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/install_oraclejdk.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/install_oraclejdk.sh b/deployment/aws/src/main/dist/init_instance/install_oraclejdk.sh
new file mode 100644
index 0000000..598afdc
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/install_oraclejdk.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+pushd /tmp
+
+# Build environment for scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+echo ${RELEASE_BUCKET}
+
+# Get JDK from the release bucket
+s3cmd --config=/etc/s3cfg get s3://${RELEASE_BUCKET}/jdk-8u71-linux-x64.gz
+
+# Install it as they do here: 
+# http://askubuntu.com/questions/56104/how-can-i-install-sun-oracles-proprietary-java-6-7-jre-or-jdk
+tar -xvf jdk-8u71-linux-x64.gz
+mkdir -p /usr/lib/jvm
+mv ./jdk1.8.0_71 /usr/lib/jvm/jdk1.8.0
+
+update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 2000
+update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 2000
+update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 2000
+
+chmod a+x /usr/bin/java 
+chmod a+x /usr/bin/javac 
+chmod a+x /usr/bin/javaws
+chown -R root:root /usr/lib/jvm/jdk1.8.0
+
+sudo rm /usr/lib/jvm/default-java
+sudo ln -s /usr/lib/jvm/jdk1.8.0 /usr/lib/jvm/default-java
+
+#Install the JNA for cassandra to use
+
+sudo apt-get install libjna-java
+
+
+popd

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/install_yourkit.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/install_yourkit.sh b/deployment/aws/src/main/dist/init_instance/install_yourkit.sh
new file mode 100644
index 0000000..2bcfcd3
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/install_yourkit.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+# Optional, install yourkit remote profiler
+
+if [[ $YOURKIT = "true" ]]; then
+
+mkdir -p /mnt/yourkit
+cd /mnt/yourkit
+s3cmd --config=/etc/s3cfg get s3://${RELEASE_BUCKET}/yjp-2014-build-14114.zip
+unzip /mnt/yourkit/yjp-2014-build-14114.zip
+
+mkdir -p /mnt/yourkitreports
+
+chown -R tomcat7.tomcat7 /mnt/yourkitreports
+
+cat >> /etc/default/tomcat7 << EOF
+JAVA_OPTS="\${JAVA_OPTS} -agentpath:/mnt/yourkit/yjp-2014-build-14114/bin/linux-x86-64/libyjpagent.so=port=10001,logdir=/mnt/yourkitreports,dir=/mnt/yourkitreports,onexit=snapshot"
+EOF
+
+fi

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/update_keyspaces.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/update_keyspaces.sh b/deployment/aws/src/main/dist/init_instance/update_keyspaces.sh
new file mode 100644
index 0000000..95ec658
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/update_keyspaces.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+#Install keyspaces
+# Build environment for scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+pushd /etc/apt/sources.list.d
+
+#Run the cassandra cql to create the keyspaces.  Note this only works for the
+# us-east region for the replication factor on the keyspaces
+
+
+#Install cassandra so we have the cli
+curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
+
+sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
+deb http://debian.datastax.com/community stable main
+EOF
+
+apt-get update
+apt-get -y --force-yes install libcap2 cassandra=1.2.19
+/etc/init.d/cassandra stop
+
+#Get the first instance of cassandra
+cd /usr/share/usergrid/scripts
+CASSHOST=$(groovy get_first_instance.groovy cassandra)
+
+#We have to wait for cass to actually start before we can run our CQL.   Sleep 5 seconds between retries
+while ! echo exit | nc ${CASSHOST} 9160; do sleep 5; done
+
+#WE have to remove our -1 from the end, since us-east and us-west dont support -1 in cassandra
+CASS_REGION=${EC2_REGION%-1}
+
+#Update the keyspace replication and run the cql
+sed -i.bak "s/KEYSPACE_REGION/${CASS_REGION}/g" /usr/share/usergrid/cql/update_locks.cql
+
+sed -i.bak "s/REPLICATION_FACTOR/${CASSANDRA_REPLICATION_FACTOR}/g" /usr/share/usergrid/cql/update_locks.cql
+
+
+/usr/bin/cassandra-cli -h ${CASSHOST} -f  /usr/share/usergrid/cql/update_locks.cql
+
+
+#Update the keyspace region and run the cql
+sed -i.bak "s/KEYSPACE_REGION/${CASS_REGION}/g" /usr/share/usergrid/cql/update_usergrid.cql
+sed -i.bak "s/REPLICATION_FACTOR/${CASSANDRA_REPLICATION_FACTOR}/g" /usr/share/usergrid/cql/update_usergrid.cql
+
+/usr/bin/cassandra-cli -h ${CASSHOST} -f  /usr/share/usergrid/cql/update_usergrid.cql
+
+
+#Update the keyspace region and run the cql
+sed -i.bak "s/KEYSPACE_REGION/${CASS_REGION}/g" /usr/share/usergrid/cql/update_usergrid_applications.cql
+sed -i.bak "s/REPLICATION_FACTOR/${CASSANDRA_REPLICATION_FACTOR}/g" /usr/share/usergrid/cql/update_usergrid_applications.cql
+
+/usr/bin/cassandra-cli -h ${CASSHOST} -f  /usr/share/usergrid/cql/update_usergrid_applications.cql
+
+
+popd

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/lib/log4j.properties
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/lib/log4j.properties b/deployment/aws/src/main/dist/lib/log4j.properties
new file mode 100644
index 0000000..013563b
--- /dev/null
+++ b/deployment/aws/src/main/dist/lib/log4j.properties
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# for production, you should probably set the root to INFO
+# and the pattern to %c instead of %l.  (%l is slower.)
+
+# output messages into a rolling log file as well as stdout
+log4j.rootLogger=INFO,stdout
+
+# stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+#log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) %c{1} - %m%n
+
+log4j.logger.org.apache.usergrid=INFO
+
+log4j.logger.org.apache.usergrid.persistence.cassandra.DB=WARN, stdout
+log4j.logger.org.apache.usergrid.persistence.cassandra.BATCH=WARN, stdout
+log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerFactoryImpl=WARN, stdout
+log4j.logger.org.apache.usergrid.persistence.cassandra.DaoUtils=WARN, stdout
+log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerImpl=WARN, stdout
+log4j.logger.org.apache.usergrid.persistence.cassandra.ConnectionRefImpl=WARN, stdout
+log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN, stdout
+log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN, stdout
+log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR, stdout
+
+#log4j.logger.org.apache.usergrid.persistence=INFO
+#log4j.logger.org.apache.usergrid.corepersistence=DEBUG
+#log4j.logger.com.netflix.hystrix=DEBUG
+#log4j.logger.org.antlr=DEBUG
+
+#log4j.logger.org.apache.usergrid.persistence.CollectionIT=DEBUG
+#log4j.logger.org.apache.usergrid.persistence.index=DEBUG
+#log4j.logger.org.apache.usergrid.persistence.collection=DEBUG
+#log4j.logger.org.elasticsearch=DEBUG
+log4j.logger.org.apache.usergrid.rest.filters.MeteringFilter=ERROR
+
+#log4j.logger.org.apache.cassandra.service.StorageProxy=DEBUG, stdout
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/update.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/update.sh b/deployment/aws/src/main/dist/update.sh
new file mode 100644
index 0000000..12cfc95
--- /dev/null
+++ b/deployment/aws/src/main/dist/update.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+sudo mkdir __tmpupdate__
+pushd __tmpupdate__
+
+    sudo s3cmd --config=/etc/s3cfg get s3://${RELEASE_BUCKET}/ROOT.war
+    # sudo tar xzvf awscluster-1.0-SNAPSHOT.tar.gz
+    sudo /etc/init.d/tomcat7 stop
+    sudo cp -r ROOT.war /var/lib/tomcat7/webapps
+
+    pushd /usr/share/usergrid/scripts
+        sudo groovy configure_portal_new.groovy > /var/lib/tomcat7/webapps/portal/config.js
+    popd
+
+    sudo /etc/init.d/tomcat7 start
+
+popd
+sudo rm -rf __tmpupdate__

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/NodeRegistry.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/NodeRegistry.groovy b/deployment/aws/src/main/groovy/NodeRegistry.groovy
new file mode 100644
index 0000000..2cd70ef
--- /dev/null
+++ b/deployment/aws/src/main/groovy/NodeRegistry.groovy
@@ -0,0 +1,227 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+/**
+ * A utility class that search simple db for the node type provided and returns a list of hostnames as a string array
+ */
+import com.amazonaws.auth.BasicAWSCredentials
+import com.amazonaws.regions.Region
+import com.amazonaws.regions.Regions
+import com.amazonaws.services.ec2.AmazonEC2Client
+import com.amazonaws.services.ec2.model.*
+
+class NodeRegistry {
+
+
+    public static final String TAG_PREFIX = "tag:"
+    //taken from aws
+    public static final String STACK_NAME = "usergrid:stack-name";
+    public static final String NODE_TYPE = "usergrid:node_type";
+    public static final String SEARCH_INSTANCE_STATE = "instance-state-name";
+    public static final String SEARCH_STACK_NAME = TAG_PREFIX + STACK_NAME
+    public static final String SEARCH_NODE_TYPE = TAG_PREFIX + NODE_TYPE
+
+    private String accessKey = (String) System.getenv().get("AWS_ACCESS_KEY")
+    private String secretKey = (String) System.getenv().get("AWS_SECRET_KEY")
+    private String stackName = (String) System.getenv().get("STACK_NAME")
+    private String instanceId = (String) System.getenv().get("EC2_INSTANCE_ID");
+    private String region = (String) System.getenv().get("EC2_REGION");
+    private String domain = stackName
+
+    private BasicAWSCredentials creds;
+    private AmazonEC2Client ec2Client;
+
+
+    NodeRegistry() {
+
+        if (region == null) {
+            throw new IllegalArgumentException("EC2_REGION must be defined")
+        }
+
+        if (instanceId == null) {
+            throw new IllegalArgumentException("EC2_INSTANCE_ID must be defined")
+        }
+
+        if (stackName == null) {
+            throw new IllegalArgumentException("STACK_NAME must be defined")
+        }
+
+        if (accessKey == null) {
+            throw new IllegalArgumentException("AWS_ACCESS_KEY must be defined")
+        }
+
+        if (secretKey == null) {
+            throw new IllegalArgumentException("AWS_SECRET_KEY must be defined")
+        }
+
+        creds = new BasicAWSCredentials(accessKey, secretKey)
+        ec2Client = new AmazonEC2Client(creds)
+        def regionEnum = Regions.fromName(region);
+        ec2Client.setRegion(Region.getRegion(regionEnum))
+
+
+    }
+
+    /**
+     * Search for the node type, return a string array of hostnames that match it within the running domain
+     * @param defNodeType
+     */
+    def searchNode(def nodeType) {
+
+
+        def stackNameFilter = new Filter(SEARCH_STACK_NAME).withValues(stackName)
+        def nodeTypeFilter = new Filter(SEARCH_NODE_TYPE).withValues(nodeType)
+        def instanceState = new Filter(SEARCH_INSTANCE_STATE).withValues(InstanceStateName.Running.toString());
+
+        //sort by created date
+        def servers = new TreeSet<ServerEntry>();
+
+
+        def token = null
+
+
+
+        while (true) {
+
+            def describeRequest = new DescribeInstancesRequest().withFilters(stackNameFilter, nodeTypeFilter, instanceState)
+
+            if (token != null) {
+                describeRequest.withNextToken(token);
+            }
+
+
+            def nodes = ec2Client.describeInstances(describeRequest)
+
+            for (reservation in nodes.getReservations()) {
+
+                for (instance in reservation.getInstances()) {
+                    servers.add(new ServerEntry(instance.launchTime, instance.publicDnsName));
+                }
+
+            }
+
+            //nothing to do, exit the loop
+            if (nodes.nextToken == null) {
+                break;
+            }
+
+            token = nodes.nextToken;
+
+        }
+
+
+
+
+        return createResults(servers);
+    }
+
+    def createResults(def servers) {
+
+        def results = [];
+
+        for (server in servers) {
+            results.add(server.publicIp)
+        }
+
+        return results;
+    }
+
+    /**
+     * Add the node to the database if it doesn't exist
+     */
+    def addNode(def nodeType) {
+
+        //add the node type
+        def tagRequest = new CreateTagsRequest().withTags(new Tag(NODE_TYPE, nodeType), new Tag(STACK_NAME, stackName)).withResources(instanceId)
+
+
+
+        ec2Client.createTags(tagRequest)
+
+
+    }
+
+    /**
+     * Wait until the number of servers are available with the type specified
+     * @param nodeType
+     * @param count
+     */
+    def waitUntilAvailable(def nodeType, def numberOfServers){
+
+        while (true) {
+            try {
+                def selectResult = searchNode(nodeType)
+
+                def count = selectResult.size();
+
+                if (count >= numberOfServers) {
+                    println("count = ${count}, total number of servers is ${numberOfServers}.  Breaking")
+                    break
+                }
+
+                println("Found ${count} nodes but need at least ${numberOfServers}.  Waiting...")
+            } catch (Exception e) {
+                println "ERROR waiting for ${nodeType} ${e.getMessage()}, will continue waiting"
+            }
+            Thread.sleep(2000)
+        }
+    }
+
+
+    class ServerEntry implements Comparable<ServerEntry> {
+        private final Date launchDate;
+        private final String publicIp;
+
+        ServerEntry(final Date launchDate, final String publicIp) {
+            this.launchDate = launchDate
+            this.publicIp = publicIp
+        }
+
+        @Override
+        int compareTo(final ServerEntry o) {
+
+            int compare = launchDate.compareTo(o.launchDate)
+
+            if(compare == 0){
+                compare =  publicIp.compareTo(o.publicIp);
+            }
+
+            return compare
+        }
+
+        boolean equals(final o) {
+            if (this.is(o)) return true
+            if (getClass() != o.class) return false
+
+            final ServerEntry that = (ServerEntry) o
+
+            if (launchDate != that.launchDate) return false
+            if (publicIp != that.publicIp) return false
+
+            return true
+        }
+
+        int hashCode() {
+            int result
+            result = launchDate.hashCode()
+            result = 31 * result + publicIp.hashCode()
+            return result
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_cassandra.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_cassandra.groovy b/deployment/aws/src/main/groovy/configure_cassandra.groovy
new file mode 100644
index 0000000..6e3cd49
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_cassandra.groovy
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+// configure_cassandra.groovy 
+// 
+// Emits Cassandra config file based on environment and Cassandra node 
+// registry in SimpleDB
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+
+String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
+String clusterName  = (String)System.getenv().get("CASSANDRA_CLUSTER_NAME")
+
+
+// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
+
+NodeRegistry registry = new NodeRegistry();
+
+def selectResult = registry.searchNode('cassandra')
+def seeds = ""
+def sep = ""
+for (host in selectResult) {
+    seeds = "${seeds}${sep}${host}"
+    sep = ","
+}
+
+
+def cassandraConfig = """
+
+
+cluster_name: '${clusterName}'
+listen_address: ${hostName}
+seed_provider:
+    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
+      parameters:
+          - seeds: "${seeds}"
+auto_bootstrap: false 
+num_tokens: 256
+hinted_handoff_enabled: true
+hinted_handoff_throttle_in_kb: 1024
+max_hints_delivery_threads: 2
+authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
+authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
+partitioner: org.apache.cassandra.dht.Murmur3Partitioner
+data_file_directories:
+    - /mnt/data/cassandra/data
+commitlog_directory: /mnt/data/cassandra/commitlog
+disk_failure_policy: stop
+key_cache_size_in_mb: 2048
+key_cache_save_period: 14400
+row_cache_size_in_mb: 2048
+row_cache_save_period: 14400
+saved_caches_directory: /mnt/data/cassandra/saved_caches
+commitlog_sync: periodic
+commitlog_sync_period_in_ms: 10000
+commitlog_segment_size_in_mb: 32
+concurrent_reads: 32
+concurrent_writes: 32
+memtable_flush_queue_size: 4
+trickle_fsync: false
+trickle_fsync_interval_in_kb: 10240
+storage_port: 7000
+ssl_storage_port: 7001
+rpc_address: 0.0.0.0
+start_native_transport: false
+native_transport_port: 9042
+start_rpc: true
+rpc_port: 9160
+rpc_keepalive: true
+rpc_server_type: sync
+thrift_framed_transport_size_in_mb: 15
+thrift_max_message_length_in_mb: 16
+incremental_backups: false
+snapshot_before_compaction: false
+auto_snapshot: true
+column_index_size_in_kb: 64
+in_memory_compaction_limit_in_mb: 64
+multithreaded_compaction: false
+compaction_throughput_mb_per_sec: 16
+compaction_preheat_key_cache: true
+read_request_timeout_in_ms: 10000
+range_request_timeout_in_ms: 10000
+write_request_timeout_in_ms: 10000
+truncate_request_timeout_in_ms: 60000
+request_timeout_in_ms: 10000
+cross_node_timeout: false
+endpoint_snitch: Ec2Snitch
+dynamic_snitch_update_interval_in_ms: 100
+dynamic_snitch_reset_interval_in_ms: 600000
+dynamic_snitch_badness_threshold: 0.1
+request_scheduler: org.apache.cassandra.scheduler.NoScheduler
+index_interval: 128
+server_encryption_options:
+    internode_encryption: none
+    keystore: conf/.keystore
+    keystore_password: cassandra
+    truststore: conf/.truststore
+    truststore_password: cassandra
+client_encryption_options:
+    enabled: false
+    keystore: conf/.keystore
+    keystore_password: cassandra
+internode_compression: all
+"""
+
+println cassandraConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_elasticsearch.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_elasticsearch.groovy b/deployment/aws/src/main/groovy/configure_elasticsearch.groovy
new file mode 100644
index 0000000..173e4e6
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_elasticsearch.groovy
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+
+//
+// configure_elasticsearch.groovy
+//
+// Emits Elasticsearch config file based on environment and Elasticsearch node
+// registry in SimpleDB
+//
+
+
+String accessKey = (String)System.getenv().get("AWS_ACCESS_KEY")
+String secretKey = (String)System.getenv().get("AWS_SECRET_KEY")
+
+String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
+def clusterName  = (String)System.getenv().get("ES_CLUSTER_NAME")
+
+def isMaster = ((String)System.getenv().get("ES_MASTER")).toBoolean()
+
+int esNumServers = ((String)System.getenv().get("ES_NUM_SERVERS")).toInteger()
+///int quorum = esNumServers/2+1;
+
+//TODO get this from the number of master nodes
+int quorum = 1
+
+NodeRegistry registry = new NodeRegistry();
+
+// build seed list by listing all Elasticsearch nodes found in SimpleDB domain with our stackName
+def selectResult = registry.searchNode('elasticsearch_master')
+def esnodes = ""
+def sep = ""
+for (hostname in selectResult) {
+   esnodes = "${esnodes}${sep}\"${hostname}\""
+   sep = ","
+}
+
+
+def nodeData = !isMaster
+def nodeMaster = isMaster
+
+
+
+def elasticSearchConfig = """
+cluster.name: ${clusterName}
+discovery.zen.minimum_master_nodes: ${quorum}
+discovery.zen.ping.multicast.enabled: false
+discovery.zen.ping.unicast.hosts: [${esnodes}]
+node:
+    name: ${hostName}
+network:
+    host: ${hostName}
+path:
+    logs: /mnt/log/elasticsearch
+    data: /mnt/data/elasticsearch
+
+#Set the logging level to INFO by default
+es.logger.level: INFO
+
+#Set our threadpool size.  Our bulk pool and search pools are quite large.  We may want to turn these down if we
+#overload the system
+#
+# Temporarily removing.  We don't know better :)
+# http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_don_8217_t_touch_these_settings.html#_threadpools
+#
+threadpool:
+    index:
+        type: fixed
+        size: 160
+        queue_size: 1000
+    bulk:
+        type: fixed
+        size: 160
+        queue_size: 1000
+    search:
+        size: 320
+        type: fixed
+        queue_size: 1000
+
+action.auto_create_index: false
+
+action.disable_delete_all_indices: true
+
+#################################
+# Operational settings taken from a loggly blog here.  Tweak and work as required
+# https://www.loggly.com/blog/nine-tips-configuring-elasticsearch-for-high-performance/
+#################################
+
+#Set the mlock all to better utilize system resources
+bootstrap.mlockall: true
+
+#Only cache 25% of our available memory
+indices.fielddata.cache.size: 25%
+
+#If you haven't used it in 10 minutes, evict it from the cache
+#indices.fielddata.cache.expire: 10m
+
+#Only allow rebalancing of 2 shards at a time
+cluster.routing.allocation.cluster_concurrent_rebalance: 2
+
+#Re-shard when our disks start getting full
+cluster.routing.allocation.disk.threshold_enabled: true
+cluster.routing.allocation.disk.watermark.low: .97
+cluster.routing.allocation.disk.watermark.high: .99
+
+#Set streaming high water marks so reboots don't kill our service
+cluster.routing.allocation.node_concurrent_recoveries: 40
+cluster.routing.allocation.node_initial_primaries_recoveries: 40
+indices.recovery.concurrent_streams: 16
+indices.recovery.max_bytes_per_sec: 300mb
+
+
+##############################
+# Master or data node options
+#############################
+
+node.data: ${nodeData}
+node.master: ${nodeMaster}
+
+
+###############
+# Logging options
+# We want to turn on logging for slow queries and executions, so
+###############
+
+index.search.slowlog.threshold.query.warn: 10s
+index.search.slowlog.threshold.query.info: 5s
+index.search.slowlog.threshold.query.debug: 2s
+index.search.slowlog.threshold.query.trace: 500ms
+
+index.search.slowlog.threshold.fetch.warn: 1s
+index.search.slowlog.threshold.fetch.info: 800ms
+index.search.slowlog.threshold.fetch.debug: 500ms
+index.search.slowlog.threshold.fetch.trace: 200ms
+
+
+index.indexing.slowlog.threshold.index.warn: 10s
+index.indexing.slowlog.threshold.index.info: 5s
+index.indexing.slowlog.threshold.index.debug: 2s
+index.indexing.slowlog.threshold.index.trace: 500ms
+
+########
+# AWS PLUGIM
+##########
+
+cloud.aws.access_key: ${accessKey}
+cloud.aws.secret_key: ${secretKey}
+
+
+
+"""
+
+println elasticSearchConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_opscenter_agent.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_opscenter_agent.groovy b/deployment/aws/src/main/groovy/configure_opscenter_agent.groovy
new file mode 100644
index 0000000..dfde6e0
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_opscenter_agent.groovy
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+// configure_cassandra.groovy 
+// 
+// Emits Cassandra config file based on environment and Cassandra node 
+// registry in SimpleDB
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+String accessKey = (String)System.getenv().get("AWS_ACCESS_KEY")
+String secretKey = (String)System.getenv().get("AWS_SECRET_KEY")
+String stackName = (String)System.getenv().get("STACK_NAME")
+
+String domain    = stackName
+
+
+NodeRegistry registry = new NodeRegistry();
+
+// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
+def selectResult = registry.searchNode('opscenter')
+
+def opsCenterNode = selectResult[0]
+
+
+def clientconfig = """
+
+
+stomp_interface: ${opsCenterNode}
+"""
+
+println clientconfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_opscenter_cassandra.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_opscenter_cassandra.groovy b/deployment/aws/src/main/groovy/configure_opscenter_cassandra.groovy
new file mode 100644
index 0000000..b9239a1
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_opscenter_cassandra.groovy
@@ -0,0 +1,120 @@
+/*
+ *
+ *  * Licensed to the Apache Software Foundation (ASF) under one
+ *  * or more contributor license agreements.  See the NOTICE file
+ *  * distributed with this work for additional information
+ *  * regarding copyright ownership.  The ASF licenses this file
+ *  * to you under the Apache License, Version 2.0 (the
+ *  * "License"); you may not use this file except in compliance
+ *  * with the License.  You may obtain a copy of the License at
+ *  *
+ *  *    http://www.apache.org/licenses/LICENSE-2.0
+ *  *
+ *  * Unless required by applicable law or agreed to in writing,
+ *  * software distributed under the License is distributed on an
+ *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  * KIND, either express or implied.  See the License for the
+ *  * specific language governing permissions and limitations
+ *  * under the License.
+ *
+ */
+
+
+// configure_cassandra.groovy 
+// 
+// Emits Cassandra config file based on environment and Cassandra node 
+// registry in SimpleDB
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+
+String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
+// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
+
+
+
+def cassandraConfig = """
+
+
+cluster_name: 'opscenter'
+listen_address: ${hostName}
+seed_provider:
+    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
+      parameters:
+          - seeds: "${hostName}"
+auto_bootstrap: false 
+num_tokens: 256
+hinted_handoff_enabled: true
+hinted_handoff_throttle_in_kb: 1024
+max_hints_delivery_threads: 2
+authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
+authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
+partitioner: org.apache.cassandra.dht.Murmur3Partitioner
+data_file_directories:
+    - /mnt/data/cassandra/data
+commitlog_directory: /mnt/data/cassandra/commitlog
+disk_failure_policy: stop
+key_cache_size_in_mb: 2048
+key_cache_save_period: 14400
+row_cache_size_in_mb: 2048
+row_cache_save_period: 14400
+row_cache_provider: SerializingCacheProvider
+saved_caches_directory: /mnt/data/cassandra/saved_caches
+commitlog_sync: periodic
+commitlog_sync_period_in_ms: 10000
+commitlog_segment_size_in_mb: 32
+flush_largest_memtables_at: 0.75
+reduce_cache_sizes_at: 0.85
+reduce_cache_capacity_to: 0.6
+concurrent_reads: 32
+concurrent_writes: 32
+memtable_flush_queue_size: 4
+trickle_fsync: false
+trickle_fsync_interval_in_kb: 10240
+storage_port: 7000
+ssl_storage_port: 7001
+rpc_address: 0.0.0.0
+start_native_transport: false
+native_transport_port: 9042
+start_rpc: true
+rpc_port: 9160
+rpc_keepalive: true
+rpc_server_type: sync
+thrift_framed_transport_size_in_mb: 15
+thrift_max_message_length_in_mb: 16
+incremental_backups: false
+snapshot_before_compaction: false
+auto_snapshot: true
+column_index_size_in_kb: 64
+in_memory_compaction_limit_in_mb: 64
+multithreaded_compaction: false
+compaction_throughput_mb_per_sec: 16
+compaction_preheat_key_cache: true
+read_request_timeout_in_ms: 10000
+range_request_timeout_in_ms: 10000
+write_request_timeout_in_ms: 10000
+truncate_request_timeout_in_ms: 60000
+request_timeout_in_ms: 10000
+cross_node_timeout: false
+endpoint_snitch: Ec2Snitch
+dynamic_snitch_update_interval_in_ms: 100
+dynamic_snitch_reset_interval_in_ms: 600000
+dynamic_snitch_badness_threshold: 0.1
+request_scheduler: org.apache.cassandra.scheduler.NoScheduler
+index_interval: 128
+server_encryption_options:
+    internode_encryption: none
+    keystore: conf/.keystore
+    keystore_password: cassandra
+    truststore: conf/.truststore
+    truststore_password: cassandra
+client_encryption_options:
+    enabled: false
+    keystore: conf/.keystore
+    keystore_password: cassandra
+internode_compression: all
+"""
+
+println cassandraConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_opscenter_usergrid.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_opscenter_usergrid.groovy b/deployment/aws/src/main/groovy/configure_opscenter_usergrid.groovy
new file mode 100644
index 0000000..df4dcae
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_opscenter_usergrid.groovy
@@ -0,0 +1,58 @@
+/*
+ *
+ *  * Licensed to the Apache Software Foundation (ASF) under one
+ *  * or more contributor license agreements.  See the NOTICE file
+ *  * distributed with this work for additional information
+ *  * regarding copyright ownership.  The ASF licenses this file
+ *  * to you under the Apache License, Version 2.0 (the
+ *  * "License"); you may not use this file except in compliance
+ *  * with the License.  You may obtain a copy of the License at
+ *  *
+ *  *    http://www.apache.org/licenses/LICENSE-2.0
+ *  *
+ *  * Unless required by applicable law or agreed to in writing,
+ *  * software distributed under the License is distributed on an
+ *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  * KIND, either express or implied.  See the License for the
+ *  * specific language governing permissions and limitations
+ *  * under the License.
+ *
+ */
+
+
+// configure_cassandra.groovy 
+// 
+// Emits Cassandra config file based on environment and Cassandra node 
+// registry in SimpleDB
+//
+
+
+String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
+// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
+
+NodeRegistry registry = new NodeRegistry();
+
+def selectResult = registry.searchNode('cassandra')
+def seeds = ""
+def sep = ""
+for (host in selectResult) {
+    seeds = "${seeds}${sep}${host}"
+    sep = ","
+}
+
+
+//We need to point to at least 1 node in the cassandra cluster so that we can bootstrap monitoring
+def usergridConfig = """
+
+[cassandra]
+seed_hosts = ${seeds}
+
+#TODO, this doesn't seem to work, I think opscenter is broken.  Try this again at a later time and remove opscenter exclusion below
+#[storage_cassandra]
+#seed_hosts = ${hostName}
+#api_port = 9160
+
+
+"""
+
+println usergridConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_portal_new.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_portal_new.groovy b/deployment/aws/src/main/groovy/configure_portal_new.groovy
new file mode 100644
index 0000000..753be68
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_portal_new.groovy
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+//
+// Emits text to be appending to end of config.js
+//
+def baseUrl = "http://${System.getenv().get("DNS_NAME")}.${System.getenv().get("DNS_DOMAIN")}"
+config = """\n\
+
+Usergrid.overrideUrl = '${baseUrl}';
+"""
+println config

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/configure_usergrid.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/configure_usergrid.groovy b/deployment/aws/src/main/groovy/configure_usergrid.groovy
new file mode 100644
index 0000000..a4d6a52
--- /dev/null
+++ b/deployment/aws/src/main/groovy/configure_usergrid.groovy
@@ -0,0 +1,193 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+//
+// configure_usergrid.groovy
+//
+// Emits usergrid properties file based on environment and Cassandra node registry in SimpleDB
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+
+String accessKey = (String)System.getenv().get("AWS_ACCESS_KEY")
+String secretKey = (String)System.getenv().get("AWS_SECRET_KEY")
+
+def baseUrl      = "http://${System.getenv().get("DNS_NAME")}.${System.getenv().get("DNS_DOMAIN")}"
+String stackName = (String)System.getenv().get("STACK_NAME")
+String domain    = stackName
+String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
+def replFactor   = System.getenv().get("CASSANDRA_REPLICATION_FACTOR")
+def clusterName  = System.getenv().get("CASSANDRA_CLUSTER_NAME")
+def readConsistencyLevel  = System.getenv().get("CASSANDRA_READ_CONSISTENCY")
+def writeConsistencyLevel  = System.getenv().get("CASSANDRA_WRITE_CONSISTENCY")
+
+def superUserEmail     = System.getenv().get("SUPER_USER_EMAIL")
+def testAdminUserEmail = System.getenv().get("TEST_ADMIN_USER_EMAIL")
+
+def numEsNodes = Integer.parseInt(System.getenv().get("ES_NUM_SERVERS"))
+//Override number of shards.  Set it to 2x the cluster size
+def esShards = numEsNodes*2;
+
+
+//This gives us 3 copies, which means we'll have a quorum with primary + 1 replica
+def esReplicas = 1;
+
+def tomcatThreads = System.getenv().get("TOMCAT_THREADS")
+
+def workerCount = System.getenv().get("INDEX_WORKER_COUNT")
+
+//temporarily set to equal since we now have a sane tomcat thread calculation
+def hystrixThreads = tomcatThreads
+
+//if we end in -1, we remove it
+def ec2Region = System.getenv().get("EC2_REGION")
+def cassEc2Region = ec2Region.replace("-1", "")
+
+NodeRegistry registry = new NodeRegistry();
+
+def selectResult = registry.searchNode('cassandra')
+
+// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
+def cassandras = ""
+def sep = ""
+for (item in selectResult) {
+    cassandras = "${cassandras}${sep}${item}:9160"
+    sep = ","
+}
+
+// TODO T.N Make this the graphite url
+selectResult = registry.searchNode('graphite')
+def graphite = ""
+sep = ""
+for (item in selectResult) {
+    graphite = "${graphite}${sep}${item}"
+    sep = ","
+}
+
+// cassandra nodes are also our elasticsearch nodes
+selectResult = registry.searchNode('elasticsearch')
+def esnodes = ""
+sep = ""
+for (item in selectResult) {
+    esnodes = "${esnodes}${sep}${item}"
+    sep = ","
+}
+
+def usergridConfig = """
+######################################################
+# Minimal Usergrid configuration properties for local Tomcat and Cassandra
+
+cassandra.url=${cassandras}
+cassandra.cluster=${clusterName}
+cassandra.keyspace.strategy=org.apache.cassandra.locator.NetworkTopologyStrategy
+cassandra.keyspace.replication=${cassEc2Region}:${replFactor}
+
+# This property is required to be set and cannot be left to the default.
+usergrid.cluster_name=usergrid
+
+cassandra.timeout=5000
+cassandra.connections=${tomcatThreads}
+hystrix.threadpool.graph_user.coreSize=${hystrixThreads}
+hystrix.threadpool.graph_async.coreSize=${hystrixThreads}
+usergrid.read.cl=${readConsistencyLevel}
+usergrid.write.cl=${writeConsistencyLevel}
+
+
+
+elasticsearch.cluster_name=${clusterName}
+elasticsearch.hosts=${esnodes}
+elasticsearch.port=9300
+elasticsearch.number_shards=${esShards}
+elasticsearch.number_replicas=${esReplicas}
+
+######################################################
+# Custom mail transport
+
+mail.transport.protocol=smtp
+mail.smtp.host=localhost
+mail.smtp.port=25
+mail.smtp.auth=false
+mail.smtp.quitwait=false
+
+# TODO: make all usernames and passwords configurable via Cloud Formation parameters.
+
+
+######################################################
+# Admin and test user setup
+
+usergrid.sysadmin.login.allowed=true
+usergrid.sysadmin.login.name=superuser
+usergrid.sysadmin.login.password=test
+usergrid.sysadmin.login.email=${superUserEmail}
+
+usergrid.sysadmin.email=${superUserEmail}
+#We don't want to require user approval so we can quickly create tests
+usergrid.sysadmin.approve.users=false
+#We dont want to require organizations to be approved so we can auto create them
+usergrid.sysadmin.approve.organizations=false
+
+# Base mailer account - default for all outgoing messages
+usergrid.management.mailer=Admin <${superUserEmail}>
+
+usergrid.setup-test-account=true
+
+usergrid.test-account.app=test-app
+usergrid.test-account.organization=test-organization
+usergrid.test-account.admin-user.username=test
+usergrid.test-account.admin-user.name=Test User
+usergrid.test-account.admin-user.email=${testAdminUserEmail}
+usergrid.test-account.admin-user.password=test
+
+######################################################
+# Auto-confirm and sign-up notifications settings
+
+usergrid.management.admin_users_require_confirmation=false
+usergrid.management.admin_users_require_activation=false
+
+usergrid.management.organizations_require_activation=false
+usergrid.management.notify_sysadmin_of_new_organizations=true
+usergrid.management.notify_sysadmin_of_new_admin_users=true
+
+######################################################
+# URLs
+
+# Redirect path when request come in for TLD
+usergrid.redirect_root=${baseUrl}/status
+usergrid.api.url.base=${baseUrl}
+
+\n\
+
+
+usergrid.metrics.graphite.host=${graphite}
+
+usergrid.queue.region=${ec2Region}
+
+# Enable scheduler for import/export jobs
+usergrid.scheduler.enabled=true
+usergrid.scheduler.job.workers=1
+
+
+#Set our ingest rate
+elasticsearch.worker_count=${workerCount}
+
+"""
+
+println usergridConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/create_dashboard.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/create_dashboard.groovy b/deployment/aws/src/main/groovy/create_dashboard.groovy
new file mode 100644
index 0000000..af6b68d
--- /dev/null
+++ b/deployment/aws/src/main/groovy/create_dashboard.groovy
@@ -0,0 +1,79 @@
+import groovy.json.JsonOutput
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+//
+// wait_for_instances.groovy
+//
+// Wait for enough Cassandra servers are up before proceding,
+// Enough means count greater than or equal to replication factor.
+//
+def createMetric(def title, def collectdMetric, def servers, def array) {
+
+    def serversJson = []
+
+    for (server in servers) {
+
+        def normalizedServer = server.replaceAll("\\.", "_")
+
+        serversJson.add("collectd.${normalizedServer}.${collectdMetric}")
+
+    }
+
+
+    def metric = ["target": serversJson, "title": title]
+
+    array.add(metric)
+
+}
+
+
+NodeRegistry registry = new NodeRegistry();
+
+
+def servers = registry.searchNode("rest")
+
+
+
+def json = []
+
+createMetric("Used Memory", "memory.memory-used", servers, json)
+
+createMetric("Free Memory", "memory.memory-free", servers, json)
+
+createMetric("Load Short Term", "load.load.shortterm", servers, json)
+
+createMetric("Network Received", "interface-eth0.if_octets.rx", servers, json)
+
+createMetric("Network Sent", "interface-eth0.if_packets.tx", servers, json)
+
+createMetric("Tomcat Heap", "GenericJMX-memory-heap.memory-used", servers, json)
+
+createMetric("Tomcat Non Heap", "GenericJMX-memory-nonheap.memory-used", servers, json)
+
+createMetric("Tomcat Old Gen", "GenericJMX-memory_pool-CMS_Old_Gen.memory-used", servers, json)
+
+createMetric("Tomcat Permgen", "GenericJMX-memory_pool-CMS_Perm_Gen.memory-used", servers, json)
+
+
+
+def jsonString = JsonOutput.toJson(json)
+println JsonOutput.prettyPrint(jsonString)
+
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/get_first_instance.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/get_first_instance.groovy b/deployment/aws/src/main/groovy/get_first_instance.groovy
new file mode 100644
index 0000000..5330718
--- /dev/null
+++ b/deployment/aws/src/main/groovy/get_first_instance.groovy
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+//
+// wait_for_instances.groovy
+//
+// Wait for enough Cassandra servers are up before proceding,
+// Enough means count greater than or equal to replication factor.
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+
+if (args.size() !=1  )  {
+  println "this script expects one argument.  get_first_instance.groovy nodetype "
+  // You can even print the usage here.
+  return 1;
+}
+
+String nodetype = args[0]
+
+
+NodeRegistry registry = new NodeRegistry();
+
+
+def selectResult = registry.searchNode(nodetype)
+
+
+println "${selectResult[0]}"

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/registry_register.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/registry_register.groovy b/deployment/aws/src/main/groovy/registry_register.groovy
new file mode 100644
index 0000000..144b18b
--- /dev/null
+++ b/deployment/aws/src/main/groovy/registry_register.groovy
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+// 
+// configure_usergrid.groovy 
+// 
+// Register this host machine as a Cassandra node in our stack. 
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+
+if (args.size() != 1 )  {
+  println "This script expects one argument. registry_register.groovy nodetype"
+  return 1;
+}
+
+String nodetype = args[0];
+
+NodeRegistry registry = new NodeRegistry();
+registry.addNode(nodetype);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/tag_instance.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/tag_instance.groovy b/deployment/aws/src/main/groovy/tag_instance.groovy
new file mode 100644
index 0000000..99d3288
--- /dev/null
+++ b/deployment/aws/src/main/groovy/tag_instance.groovy
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+// 
+// tag_instance.groovy 
+// 
+// Tag instance so we can easily identify it in the EC2 console 
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.ec2.*
+import com.amazonaws.services.ec2.model.*
+
+String type       = (String)System.getenv().get("TYPE")
+String accessKey  = (String)System.getenv().get("AWS_ACCESS_KEY")
+String secretKey  = (String)System.getenv().get("AWS_SECRET_KEY")
+String instanceId = (String)System.getenv().get("EC2_INSTANCE_ID")
+String stackName  = (String)System.getenv().get("STACK_NAME")
+
+
+String moreMetaData = ""
+
+if (args.size() == 1 )  {
+    moreMetaData = args[0]
+}
+
+
+def creds = new BasicAWSCredentials(accessKey, secretKey)
+def ec2Client = new AmazonEC2Client(creds)
+
+def resources = new ArrayList()
+resources.add(instanceId)
+
+def tags = new ArrayList()
+def tag = "${stackName}-${type}-${instanceId}${moreMetaData}"
+tags.add(new Tag("Name", tag))
+
+ec2Client.createTags(new CreateTagsRequest(resources, tags))
+
+println "Tagged instance as ${tag}"

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/groovy/wait_for_instances.groovy
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/groovy/wait_for_instances.groovy b/deployment/aws/src/main/groovy/wait_for_instances.groovy
new file mode 100644
index 0000000..fcd77b1
--- /dev/null
+++ b/deployment/aws/src/main/groovy/wait_for_instances.groovy
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+
+//
+// wait_for_instances.groovy
+//
+// Wait for enough Cassandra servers are up before proceding,
+// Enough means count greater than or equal to replication factor.
+//
+import com.amazonaws.auth.*
+import com.amazonaws.services.simpledb.*
+import com.amazonaws.services.simpledb.model.*
+
+
+if (args.size() !=2 )  {
+  println "this script expects two arguments.  wait_for_instances.groovy nodetype numberOfServers"
+  // You can even print the usage here.
+  return 1;
+}
+
+String nodetype = args[0]
+int numberOfServers = args[1].toInteger()
+
+
+NodeRegistry registry = new NodeRegistry();
+
+println "Waiting for ${numberOfServers} nodes of type ${nodetype} to register..."
+
+registry.waitUntilAvailable(nodetype, numberOfServers)
+
+println "Waiting done."


[20/50] [abbrv] usergrid git commit: Fix dead links

Posted by sn...@apache.org.
Fix dead links

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

Branch: refs/heads/asf-site
Commit: f5d01532cdb27a5877e3dbcf01a993cd7117f1e7
Parents: 46bb9b5
Author: Steve Grosbois <st...@grosbois.fr>
Authored: Fri Jan 29 17:26:13 2016 +0100
Committer: Steve Grosbois <st...@grosbois.fr>
Committed: Fri Jan 29 17:26:13 2016 +0100

----------------------------------------------------------------------
 docs/introduction/overview.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/f5d01532/docs/introduction/overview.md
----------------------------------------------------------------------
diff --git a/docs/introduction/overview.md b/docs/introduction/overview.md
index e9c6968..5d45bfb 100644
--- a/docs/introduction/overview.md
+++ b/docs/introduction/overview.md
@@ -6,8 +6,8 @@ The Usergrid documentation is written for a couple of distinctly different audie
 
 
 * __Deployment/Operations Engineer__: this is for you if you are the person who will be installing Usergrid, setting up the required Cassandra database and other things that Usergrid needs. Currently, we have limited docs for installation, deployment and maintenance of Usergrid:
-    * [Deploying to Tomcat](../ug1-deploy-to-tomacat): How to build and deploy Usergrid to Tomcat and Cassandra.
-    * [Launcher Quick Start](../ug1-launcher-quick-start): How to build and run Usergrid via the Usergrid Launcher.
+    * [Deploying to Tomcat](../installation/ug1-deploy-to-tomcat): How to build and deploy Usergrid to Tomcat and Cassandra.
+    * [Launcher Quick Start](../installation/ug1-launcher-quick-start): How to build and run Usergrid via the Usergrid Launcher.
     
     
 * __Open Source Contributor__: How to "give back" and contribute to Usergrid. Usergrid welcomes code and documentation contributions, GitHub pull-requests, bug reports and suggestions for improvement.  


[22/50] [abbrv] usergrid git commit: USERGRID-1188: return error rather than 204 when email not provided for user creation

Posted by sn...@apache.org.
USERGRID-1188: return error rather than 204 when email not provided for user creation


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

Branch: refs/heads/asf-site
Commit: 0d4c35fa7bded5eecd99501ea6d4f660274fc265
Parents: f5d0153
Author: Mike Dunker <md...@apigee.com>
Authored: Fri Jan 29 11:24:30 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Fri Jan 29 11:24:30 2016 -0800

----------------------------------------------------------------------
 .../apache/usergrid/rest/management/users/UsersResource.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/0d4c35fa/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
index 6658227..640a6c2 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
@@ -122,7 +122,13 @@ public class UsersResource extends AbstractContextResource {
                     properties.getProperty( ManagementResource.USERGRID_CENTRAL_URL ) );
         }
 
-        logger.info( "Create user: " + username );
+        // email is only required parameter
+        if (StringUtils.isBlank(email)) {
+            throw new IllegalArgumentException( "email form parameter is required" );
+        }
+
+        // if username not provided, email will be used
+        logger.info( "Create user: {}", (StringUtils.isNotBlank(username) ? username : email) );
 
         ApiResponse response = createApiResponse();
         response.setAction( "create user" );


[10/50] [abbrv] usergrid git commit: Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.

Posted by sn...@apache.org.
Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.


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

Branch: refs/heads/asf-site
Commit: d478adb0c6945a19739f063de6dbc5c2d411240a
Parents: 586dad0
Author: Michael Russo <mi...@gmail.com>
Authored: Tue Jan 26 17:50:26 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Tue Jan 26 17:50:26 2016 -0800

----------------------------------------------------------------------
 deployment/aws/README.md                        |  172 ++
 deployment/aws/assembly.xml                     |   74 +
 deployment/aws/aws-sample.properties            |   19 +
 deployment/aws/gatling-cluster-cf.json          |  386 ++++
 deployment/aws/pom.xml                          |  238 ++
 deployment/aws/src/main/cql/update_locks.cql    |   23 +
 deployment/aws/src/main/cql/update_usergrid.cql |   27 +
 .../main/cql/update_usergrid_applications.cql   |   46 +
 .../src/main/dist/init_instance/create_raid0.sh |   54 +
 .../main/dist/init_instance/init_db_server.sh   |   76 +
 .../main/dist/init_instance/init_es_server.sh   |   71 +
 .../dist/init_instance/init_graphite_server.sh  |   69 +
 .../dist/init_instance/init_opscenter_server.sh |  287 +++
 .../main/dist/init_instance/init_rest_server.sh |  257 +++
 .../dist/init_instance/install_cassandra.sh     |   51 +
 .../main/dist/init_instance/install_collectd.sh |  350 +++
 .../dist/init_instance/install_elasticsearch.sh |  123 ++
 .../init_instance/install_opscenter_agent.sh    |   42 +
 .../dist/init_instance/install_oraclejdk.sh     |   55 +
 .../main/dist/init_instance/install_yourkit.sh  |   39 +
 .../main/dist/init_instance/update_keyspaces.sh |   75 +
 .../aws/src/main/dist/lib/log4j.properties      |   53 +
 deployment/aws/src/main/dist/update.sh          |   35 +
 .../aws/src/main/groovy/NodeRegistry.groovy     |  227 ++
 .../src/main/groovy/configure_cassandra.groovy  |  125 ++
 .../main/groovy/configure_elasticsearch.groovy  |  169 ++
 .../groovy/configure_opscenter_agent.groovy     |   50 +
 .../groovy/configure_opscenter_cassandra.groovy |  120 +
 .../groovy/configure_opscenter_usergrid.groovy  |   58 +
 .../src/main/groovy/configure_portal_new.groovy |   28 +
 .../src/main/groovy/configure_usergrid.groovy   |  193 ++
 .../aws/src/main/groovy/create_dashboard.groovy |   79 +
 .../src/main/groovy/get_first_instance.groovy   |   46 +
 .../src/main/groovy/registry_register.groovy    |   38 +
 .../aws/src/main/groovy/tag_instance.groovy     |   55 +
 .../src/main/groovy/wait_for_instances.groovy   |   47 +
 deployment/aws/ugcluster-cf.json                | 2062 ++++++++++++++++++
 stack/awscluster/README.md                      |  163 --
 stack/awscluster/assembly.xml                   |   74 -
 stack/awscluster/aws-sample.properties          |   19 -
 stack/awscluster/gatling-cluster-cf.json        |  386 ----
 stack/awscluster/pom.xml                        |  237 --
 stack/awscluster/src/main/cql/update_locks.cql  |   23 -
 .../awscluster/src/main/cql/update_usergrid.cql |   27 -
 .../main/cql/update_usergrid_applications.cql   |   46 -
 .../src/main/dist/init_instance/create_raid0.sh |   54 -
 .../main/dist/init_instance/init_db_server.sh   |   76 -
 .../main/dist/init_instance/init_es_server.sh   |   71 -
 .../dist/init_instance/init_graphite_server.sh  |   69 -
 .../dist/init_instance/init_opscenter_server.sh |  287 ---
 .../main/dist/init_instance/init_rest_server.sh |  257 ---
 .../dist/init_instance/install_cassandra.sh     |   51 -
 .../main/dist/init_instance/install_collectd.sh |  350 ---
 .../dist/init_instance/install_elasticsearch.sh |  123 --
 .../init_instance/install_opscenter_agent.sh    |   42 -
 .../dist/init_instance/install_oraclejdk.sh     |   55 -
 .../main/dist/init_instance/install_yourkit.sh  |   39 -
 .../main/dist/init_instance/update_keyspaces.sh |   75 -
 .../src/main/dist/lib/log4j.properties          |   53 -
 stack/awscluster/src/main/dist/update.sh        |   35 -
 .../awscluster/src/main/dist/webapps/dummy.txt  |    0
 .../src/main/groovy/NodeRegistry.groovy         |  227 --
 .../src/main/groovy/configure_cassandra.groovy  |  129 --
 .../main/groovy/configure_elasticsearch.groovy  |  169 --
 .../groovy/configure_opscenter_agent.groovy     |   50 -
 .../groovy/configure_opscenter_cassandra.groovy |  120 -
 .../groovy/configure_opscenter_usergrid.groovy  |   58 -
 .../src/main/groovy/configure_portal_new.groovy |   28 -
 .../src/main/groovy/configure_usergrid.groovy   |  193 --
 .../src/main/groovy/create_dashboard.groovy     |   79 -
 .../src/main/groovy/get_first_instance.groovy   |   46 -
 .../src/main/groovy/registry_register.groovy    |   38 -
 .../src/main/groovy/tag_instance.groovy         |   55 -
 .../src/main/groovy/wait_for_instances.groovy   |   47 -
 stack/awscluster/ugcluster-cf.json              | 2062 ------------------
 75 files changed, 5919 insertions(+), 5913 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/README.md
----------------------------------------------------------------------
diff --git a/deployment/aws/README.md b/deployment/aws/README.md
new file mode 100644
index 0000000..338948f
--- /dev/null
+++ b/deployment/aws/README.md
@@ -0,0 +1,172 @@
+AWS Cluster
+===
+
+**UNDER CONSTRUCTION**
+
+This project provides a AWS Cloud Formation template that launches and configures a complete Usergrid installation
+on Amazon EC2 including Elasticsearch instances, Tomcat instances, Cassandra instances, Security Groups, a Load Balancer 
+and DNS records.
+
+Two parts:
+
+1) A Maven assembly that builds an installer tarball and uploads it to S3. 
+The tarball includes scripts to install Oracle JDK, Cassandra, and Elasticsearch on the EC2 instances.
+
+2) A CloudFormation script `ugcluster-cf.json` that creates an auto-scaling cluster, security groups and some
+number of EC2 instances, The template includes a CloudInit script that runs scripts from 
+the installer tarball to configure and start either Cassandra or on each instance. 
+
+
+Getting set-up
+---
+To setup our AWS account to use  AWS Cluster here's what you need to do:
+
+* __Create an AWS EC2 key pair__. You will need this PEM file to login to your Cassandra instances. 
+
+* __Create an AWS S3 bucket__ for the AWS Cluster install bundle. e.g. Create an S3 bucket in your 
+account with the name `ug-cloudformation`. 
+
+* __Setup a top-level domain name__ in the AWS Route 53 DNS service. The default value of usergrid.com will not work 
+(unless you happen to own that domain name).
+
+* __Upload the Oracle Java JDK__ to that same S3 bucket. Best practice is to use the Oracle Java JDK with Cassandra, 
+so you must upload the JDK to the S3 bucket that we created above. The JDK must be named `jdk-8u71-linux-x64.tar.gz`. 
+Java 8 is required by Usergrid 2.1.0 +.
+
+* __Create an aws.properties file__ with your AWS credentials in the same directory as this 
+README file. The file is git-ignored so you don't have to worry about accidentally committing it.
+
+* __Deploy this the  AWS Cluster assembly__ by running the Maven command `mvn deploy` in the same
+directory as this README file. 
+
+
+Building the Installation Tarball
+---
+First you need to build the Usergrid components: the Java SDK, the Stack and the Portal.
+
+For example, here's how you would do that on a UNIX system (assuming that all Stack and Portal build pre-requisites are 
+in place:
+
+	$ cd usergrid/sdks/java
+	$ mvn clean install
+	
+	$ cd usergrid/stack
+	$ mvn -DskipTests=true clean install
+	
+	$ cd usergrid/portal
+	$ ./build.sh
+
+Next, change back to the ```deployment/aws directory``` and run Maven deploy:
+
+	$ cd usergrid/deployment/aws
+	$ mvn deploy
+
+Maven will create the installation tarball and will copy it to your S3 bucket ```ug-cloudformation```. You can find a 
+copy of the tarball in the target directory: `awscluster-1.0-SNAPSHOT.tgz`.
+
+
+Launching a new stack
+---
+Login to AWS Console and create a new CloudFormation stack. On the first screen, pick a short 
+and simple name for your stack and choose the option to upload a template and upload 
+the `ugcluster-cf.json` file in this very directory. 
+
+On the next screen, enter the number of DB and REST servers you wish to create, the replication factor and 
+the instance type you wish to use. Check the "I acknowledge that this will create IAM resources" 
+and then click Next, Next, Next to take defaults and start the stack.
+
+Watch the EC2 console and see your instances come up. They will be tagged with the stack name
+that you provided.
+
+
+Accessing your new stack
+---
+Assuming everything went well then you can access your stack at the DNS sub-domain and domain name that you specified 
+in the configuration. For example, if you specified DNS domain `usergrid.com` and sub-domain `test1` then you should be 
+able to access Usergrid at `http://test1.usergrid.com/`.
+
+
+Initializing your stack
+---
+
+First, visit the Database setup URL: `http://<YOUR HOST NAME>/system/database/setup`
+
+When prompted to login use the username `superuser` and password `test`. If the operation is successful you should a 
+message like the one below in your browser. If not, check your logs for clues about what went wrong.
+
+	{
+  		"action" : "cassandra setup",
+  		"status" : "ok",
+  		"timestamp" : 1379424622947,
+  		"duration" : 76
+	}
+
+Next, visit the Superuser setup URL: `http://<YOUR HOST NAME>/system/superuser/setup`
+
+You should not be prompted for login because you already logged into for the Database Setup. If setup works, you should 
+see a message like this:
+
+	{
+  		"action" : "superuser setup",
+  		"status" : "ok",
+  		"timestamp" : 1379424667936,
+  		"duration" : 2
+	}
+	
+Now you're ready to get started using Usergrid.
+
+
+Login to the Usergrid Console & get started
+---
+You should now be able to login to the Usergrid console and start configuring applications, users and more.
+
+The Usergrid Portal's URL is `http://<YOUR HOST NAME>/portal` and you can login with username `superuser` and password `test`.
+
+
+
+Exploring a Cassandra node
+---
+Take a look at your new cluster. Login to one of the instances and take a look at the Cassandra
+setup via `nodetool ring` and by looking at the following log file locations.
+
+Log File Locations
+
+`/var/log/usergrid-bootstrap.log` - log created as instance was created
+
+`/var/log/cassandra/*` - the Cassandra log files
+
+
+
+Exploring a Tomcat node
+---
+Take a look at your new cluster. Login to one of the instances and take a look at the Cassandra
+setup via `nodetool ring` and by looking at the following logs locations:
+
+Log File Locations
+
+`/var/log/usergrid-bootstrap.log` - log created as instance was created
+
+`/var/log/tomcat7/*` - the Tomcat log files
+
+
+
+How it works
+---
+Here's what happens when the stack is started.
+
+CloudFormation reads the `ugcluster-cf.json` template and uses starts the EC2 instances that it 
+specifies. There are two types of instances, Cassandra instances and REST instances. 
+
+When each Cassandra instance comes up CloudFormation runs the CloudInit script specified in 
+`ugcluster-cf.json` and that script downloads the , sets up some environment scripts
+and calls the `init_instance/init_db_server.sh` script to complete the setup.
+
+The `init_instance/init_db_server.sh` calls `install_oraclejdk.sh` to download the JDK from S3 and 
+install it. The script then installs Tomcat and Cassandra. Next it uses Groovy scripts to configure 
+Cassandra and wait for other Cassandra nodes to come alive.
+
+When a REST instance comes up, it does the same things but it calls the `init_rest_server.sh` to install and configure 
+Tomcat, wait for Cassandra nodes to become available and then setup the Usergrid Stack and Usergrid Portal webapps.
+
+
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/assembly.xml
----------------------------------------------------------------------
diff --git a/deployment/aws/assembly.xml b/deployment/aws/assembly.xml
new file mode 100644
index 0000000..a0fc0aa
--- /dev/null
+++ b/deployment/aws/assembly.xml
@@ -0,0 +1,74 @@
+<assembly>
+
+<!--
+	Licensed to the Apache Software Foundation (ASF) under one or more
+	contributor license agreements.  See the NOTICE file distributed with
+	this work for additional information regarding copyright ownership.
+	The ASF licenses this file to You under the Apache License, Version 2.0
+	(the "License"); you may not use this file except in compliance with
+	the License.  You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing, software
+       distributed under the License is distributed on an "AS IS" BASIS,
+       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+       See the License for the specific language governing permissions and
+       limitations under the License.
+    -->
+
+    <id>any</id>
+    <formats>
+        <format>tar.gz</format>
+    </formats>
+
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <!-- <files>
+
+        <file>
+            <outputDirectory>webapps</outputDirectory>
+            <source>${stack.war}</source>
+            <destName>ROOT.war</destName>
+        </file>
+
+    </files> -->
+
+    <fileSets>
+
+        <fileSet>
+            <outputDirectory>.</outputDirectory>
+            <directory>${project.basedir}/src/main/dist</directory>
+            <includes>
+                <include>**</include>
+            </includes>
+        </fileSet>
+
+
+        <fileSet>
+            <outputDirectory>./scripts</outputDirectory>
+            <directory>./src/main/groovy</directory>
+            <includes>
+                <include>**</include>
+            </includes>
+        </fileSet>
+
+      <fileSet>
+               <outputDirectory>./cql</outputDirectory>
+               <directory>./src/main/cql</directory>
+               <includes>
+                   <include>**</include>
+               </includes>
+           </fileSet>
+
+        <fileSet>
+            <outputDirectory>./webapps/portal</outputDirectory>
+            <directory>${portal.dir}</directory>
+            <includes>
+                <include>**</include>
+            </includes>
+        </fileSet>
+
+    </fileSets>
+
+</assembly>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/aws-sample.properties
----------------------------------------------------------------------
diff --git a/deployment/aws/aws-sample.properties b/deployment/aws/aws-sample.properties
new file mode 100644
index 0000000..b3e0917
--- /dev/null
+++ b/deployment/aws/aws-sample.properties
@@ -0,0 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  The ASF licenses this file to You
+# under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.  For additional information regarding
+# copyright in this work, please see the NOTICE file in the top level
+# directory of this distribution.
+#
+accesskey=<YourServiceAccessKey>
+secretkey=<YourServiceSecretKey>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/gatling-cluster-cf.json
----------------------------------------------------------------------
diff --git a/deployment/aws/gatling-cluster-cf.json b/deployment/aws/gatling-cluster-cf.json
new file mode 100644
index 0000000..5f2f61b
--- /dev/null
+++ b/deployment/aws/gatling-cluster-cf.json
@@ -0,0 +1,386 @@
+{
+    "AWSTemplateFormatVersion" : "2010-09-09",
+    "Description" : "Gatling Cluster",
+    "Parameters": {
+        "InstanceCount": {
+            "Description": "The number of gatling instances to create",
+            "Type": "Number",
+            "Default": "1",
+            "MinValue": "1"
+        },
+        "KeyName": {
+            "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instance",
+            "Type": "AWS::EC2::KeyPair::KeyName",
+            "Default": "ug-cloudformation",
+            "ConstraintDescription": "must be the name of an existing EC2 KeyPair."
+        },
+        "InstanceType": {
+            "Description": "WebServer EC2 instance type",
+            "Type": "String",
+            "Default": "c3.xlarge",
+            "AllowedValues": [
+                "t1.micro",
+                "t2.micro",
+                "t2.small",
+                "t2.medium",
+                "m1.small",
+                "m1.medium",
+                "m1.large",
+                "m1.xlarge",
+                "m2.xlarge",
+                "m2.2xlarge",
+                "m2.4xlarge",
+                "m3.medium",
+                "m3.large",
+                "m3.xlarge",
+                "m3.2xlarge",
+                "c1.medium",
+                "c1.xlarge",
+                "c3.large",
+                "c3.xlarge",
+                "c3.2xlarge",
+                "c3.4xlarge",
+                "c3.8xlarge",
+                "g2.2xlarge",
+                "r3.large",
+                "r3.xlarge",
+                "r3.2xlarge",
+                "r3.4xlarge",
+                "r3.8xlarge",
+                "i2.xlarge",
+                "i2.2xlarge",
+                "i2.4xlarge",
+                "i2.8xlarge",
+                "hi1.4xlarge",
+                "hs1.8xlarge",
+                "cr1.8xlarge",
+                "cc2.8xlarge",
+                "cg1.4xlarge"
+            ],
+            "ConstraintDescription": "Must be a valid EC2 instance type."
+        },
+        "OperatorEMail": {
+            "Description": "Email address to notify if there are any scaling operations",
+            "Type": "String",
+            "AllowedPattern": "([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)",
+            "ConstraintDescription": "Must be a valid email address."
+        },
+        "SSHLocation": {
+            "Description": "The IP address range that can be used to SSH to the EC2 instances",
+            "Type": "String",
+            "MinLength": "9",
+            "MaxLength": "18",
+            "Default": "0.0.0.0/0",
+            "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
+            "ConstraintDescription": "Must be a valid IP CIDR range of the form x.x.x.x/x."
+        },
+        "Branch": {
+            "Description": "The branch of usergrid to check out",
+            "Type": "String",
+            "Default": "master"
+        }
+    },
+
+    "Mappings" : {
+        "AWSInstanceType2Arch": {
+            "t1.micro": {
+                "Arch": "64"
+            },
+            "m1.small": {
+                "Arch": "64"
+            },
+            "m1.medium": {
+                "Arch": "64"
+            },
+            "m1.large": {
+                "Arch": "64"
+            },
+            "m1.xlarge": {
+                "Arch": "64"
+            },
+            "m3.large": {
+                "Arch": "64"
+            },
+            "m3.xlarge": {
+                "Arch": "64"
+            },
+            "c3.large": {
+                "Arch": "64"
+            },
+            "c3.xlarge": {
+                "Arch": "64"
+            },
+            "c3.2xlarge": {
+                "Arch": "64"
+            },
+            "c3.4xlarge": {
+                "Arch": "64"
+            }
+        },
+        "AWSRegionArch2AMI": {
+            "ap-southeast-2": {
+                "64": "ami-8dcd88b7"
+            },
+            "us-east-1": {
+                "64": "ami-9301c7f8"
+            },
+            "us-west-2": {
+                "64": "ami-ed5751dd"
+            }
+        },
+        "TwoAZs": {
+            "ap-southeast-2": {
+                "AZ1": "ap-southeast-2a",
+                "AZ2": "ap-southeast-2b"
+            },
+            "us-east-1": {
+                "AZ1": "us-east-1b",
+                "AZ2": "us-east-1c"
+            },
+            "us-west-2": {
+                "AZ1": "us-west-2a",
+                "AZ2": "us-west-2b"
+            }
+        }
+
+
+    },
+
+    "Resources" : {
+        "NotificationTopic": {
+            "Type": "AWS::SNS::Topic",
+            "Properties": {
+                "Subscription": [ { "Endpoint": { "Ref": "OperatorEMail" }, "Protocol": "email" } ]
+            }
+        },
+        "GatlingServerGroup" : {
+            "Type" : "AWS::AutoScaling::AutoScalingGroup",
+            "CreationPolicy" : {
+                "ResourceSignal" : {
+                    "Timeout" : "PT15M",
+                    "Count"   : { "Ref" : "InstanceCount" }
+                }
+            },
+            "Properties" : {
+                "AvailabilityZones": [
+                    {
+                        "Fn::FindInMap": [
+                            "TwoAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ1"
+                        ]
+                    },
+                    {
+                        "Fn::FindInMap": [
+                            "TwoAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ2"
+                        ]
+                    }
+                ],
+                "LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
+                "MinSize" : { "Ref" : "InstanceCount" },
+                "MaxSize" : "10",
+                "LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ],
+                "NotificationConfiguration" : {
+                    "TopicARN" : { "Ref" : "NotificationTopic" },
+                    "NotificationTypes" : [ "autoscaling:EC2_INSTANCE_LAUNCH","autoscaling:EC2_INSTANCE_LAUNCH_ERROR","autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"]
+                }
+            }
+        },
+
+        "LaunchConfig" : {
+            "Type" : "AWS::AutoScaling::LaunchConfiguration",
+            "Metadata" : {
+                "Comment" : "Install Gatling",
+                "AWS::CloudFormation::Init" : {
+                    "config" : {
+                        "files" : {
+                            "/etc/profile.d/aws-credentials.sh" : {
+                                "content": { "Fn::Join" : ["", [
+                                    "export AWS_ACCESS_KEY=", { "Ref":"GatlingKey" }, "\n",
+                                    "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] }, "\n"
+                                ]]}
+                            },
+
+                            "/etc/s3cfg" : {
+                                "content": { "Fn::Join" : ["", [
+                                    "access_key=", { "Ref":"GatlingKey" }, "\n",
+                                    "secret_key=", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] }, "\n"
+                                ]]}
+                            },
+                            "/etc/profile.d/maven.sh" : {
+                                "content" : { "Fn::Join" : ["", [
+                                    "export M3_HOME=/usr/local/apache-maven/apache-maven-3.1.1\n",
+                                    "export M3=$M3_HOME/bin\n",
+                                    "export MAVEN_OPTS=\"-Xms256m -Xmx512m\"\n",
+                                    "export PATH=$M3:$PATH\n"
+                                ]]}
+                            },
+
+                            "/etc/security/limits.d/gatling_filehandles.conf" : {
+                                "content": { "Fn::Join" : ["", [
+                                    "ubuntu soft nofile 80000\n",
+                                    "ubuntu hard nofile 80000\n"
+                                ]]}
+                            }
+                        }
+                    }
+                },
+                "services" : {}
+            },
+            "Properties" : {
+                "KeyName" : { "Ref" : "KeyName" },
+                "ImageId" : {
+                    "Fn::FindInMap" : [
+                        "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
+                           { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ]},
+                "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
+                "InstanceType" : { "Ref" : "InstanceType" },
+                "UserData"       : { "Fn::Base64" : { "Fn::Join" : ["", [
+                    "#!/bin/bash -xe\n",
+                    "##This script is generated by cloud-init.  The rendered version is usually located at /var/lib/cloud/instance/scripts/part-001\n",
+                    "apt-get install zip unzip wget -y\n",
+                    "wget https://bootstrap.pypa.io/ez_setup.py -O - | python\n",
+                    "easy_install  https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
+                    "/usr/local/bin/cfn-init -v ",
+                    "         --stack ", { "Ref" : "AWS::StackName" },
+                    "         --resource LaunchConfig ",
+                    "         --region ", { "Ref" : "AWS::Region" }, "\n",
+
+
+                    "add-apt-repository ppa:webupd8team/java --yes\n",
+                    "add-apt-repository ppa:awstools-dev/awstools --yes\n",
+                    "apt-get update\n",
+                    "echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections\n",
+                    "apt-get install oracle-java8-installer oracle-java8-set-default expect expect-dev git ec2-api-tools maven -y --force-yes\n",
+                    "update-java-alternatives -s java-8-oracle\n",
+
+                    "cd ~ubuntu\n",
+                    "git clone -b ",{ "Ref":"Branch" } , " https://github.com/apache/usergrid.git usergrid\n",
+                    "chown -R ubuntu:ubuntu usergrid\n",
+
+                    "ec2-create-tags $(curl -k http://169.254.169.254/latest/meta-data/instance-id) --region ", { "Ref" : "AWS::Region" }," --aws-access-key ",{ "Ref":"GatlingKey" }, " --aws-secret-key ", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] } ," --tag Name=", { "Ref":"AWS::StackName"  }, "\n",
+                    "/usr/local/bin/cfn-signal --success true --stack ", { "Ref" : "AWS::StackName" }, " --resource GatlingServerGroup --region ", { "Ref" : "AWS::Region" }, "\n"
+                ]]}}
+            }
+        },
+
+        "GatlingUser": {
+            "Type": "AWS::IAM::User",
+            "Properties": {
+                "Path": "/",
+                "Policies": [
+                    {
+                        "PolicyName": "root",
+                        "PolicyDocument": {
+                            "Statement": [
+                                {
+                                    "Effect": "Allow",
+                                    "Action": "*",
+                                    "Resource": "*"
+                                }
+                            ]
+                        }
+                    }
+                ]
+            }
+        },
+        "GatlingKey": {
+            "Type": "AWS::IAM::AccessKey",
+            "Properties": {
+                "UserName": {
+                    "Ref": "GatlingUser"
+                }
+            }
+        },
+
+        "WebServerScaleUpPolicy" : {
+            "Type" : "AWS::AutoScaling::ScalingPolicy",
+            "Properties" : {
+                "AdjustmentType" : "ChangeInCapacity",
+                "AutoScalingGroupName" : { "Ref" : "GatlingServerGroup" },
+                "Cooldown" : "60",
+                "ScalingAdjustment" : "1"
+            }
+        },
+        "WebServerScaleDownPolicy" : {
+            "Type" : "AWS::AutoScaling::ScalingPolicy",
+            "Properties" : {
+                "AdjustmentType" : "ChangeInCapacity",
+                "AutoScalingGroupName" : { "Ref" : "GatlingServerGroup" },
+                "Cooldown" : "60",
+                "ScalingAdjustment" : "-1"
+            }
+        },
+
+        "ElasticLoadBalancer" : {
+            "Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
+            "Properties" : {
+                "AvailabilityZones": [
+                    {
+                        "Fn::FindInMap": [
+                            "TwoAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ1"
+                        ]
+                    },
+                    {
+                        "Fn::FindInMap": [
+                            "TwoAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ2"
+                        ]
+                    }
+                ],
+                "Listeners" : [ {
+                    "LoadBalancerPort" : "80",
+                    "InstancePort" : "80",
+                    "Protocol" : "HTTP"
+                } ],
+                "HealthCheck" : {
+                    "Target" : "HTTP:80/",
+                    "HealthyThreshold" : "3",
+                    "UnhealthyThreshold" : "5",
+                    "Interval" : "30",
+                    "Timeout" : "5"
+                }
+            }
+        },
+
+        "InstanceSecurityGroup" : {
+            "Type" : "AWS::EC2::SecurityGroup",
+            "Properties" : {
+                "GroupDescription" : "Enable SSH access and HTTP from the load balancer only",
+                "SecurityGroupIngress" : [ {
+                    "IpProtocol" : "tcp",
+                    "FromPort" : "22",
+                    "ToPort" : "22",
+                    "CidrIp" : { "Ref" : "SSHLocation"}
+                },
+                    {
+                        "IpProtocol" : "tcp",
+                        "FromPort" : "80",
+                        "ToPort" : "80",
+                        "SourceSecurityGroupOwnerId" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.OwnerAlias"]},
+                        "SourceSecurityGroupName" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.GroupName"]}
+                    } ]
+            }
+        }
+    },
+
+    "Outputs" : {
+        "URL" : {
+            "Description" : "The URL of the website",
+            "Value" :  { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]}
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/pom.xml
----------------------------------------------------------------------
diff --git a/deployment/aws/pom.xml b/deployment/aws/pom.xml
new file mode 100644
index 0000000..88a423b
--- /dev/null
+++ b/deployment/aws/pom.xml
@@ -0,0 +1,238 @@
+<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/xsd/maven-4.0.0.xsd">
+    <!--
+        Licensed to the Apache Software Foundation (ASF) under one or more
+        contributor license agreements.  See the NOTICE file distributed with
+        this work for additional information regarding copyright ownership.
+        The ASF licenses this file to You under the Apache License, Version 2.0
+        (the "License"); you may not use this file except in compliance with
+        the License.  You may obtain a copy of the License at
+
+            http://www.apache.org/licenses/LICENSE-2.0
+
+        Unless required by applicable law or agreed to in writing, software
+        distributed under the License is distributed on an "AS IS" BASIS,
+        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+        See the License for the specific language governing permissions and
+        limitations under the License.
+    -->
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.usergrid</groupId>
+    <artifactId>awscluster</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>awscluster</name>
+
+    <description>
+        Creates bundle for initializing a Tomcat and Cassandra Usergrid cluster via CloudFormation
+    </description>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <aws.s3.release-bucket>ug-cloudformation</aws.s3.release-bucket>
+        <!--  Pulls the file path from maven when using the dependency plugin.  This doesn't work b/c it doesn't name the file properly to ROOT.war.  Solve that to use the latest from the repo-->
+        <!--<stack.war>${org.apache.usergrid:usergrid-rest:war}</stack.war>-->
+        <stack.war>../../stack/rest/target/ROOT.war</stack.war>
+        <portal.dir>../../portal/dist/usergrid-portal</portal.dir>
+    </properties>
+
+    <build>
+
+        <plugins>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <descriptors>
+                        <descriptor>assembly.xml</descriptor>
+                    </descriptors>
+                    <appendAssemblyId>false</appendAssemblyId>
+                    <tarLongFileMode>gnu</tarLongFileMode>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>exec-maven-plugin</artifactId>
+                <version>1.2</version>
+                <executions>
+
+                    <!-- upload the tar file-->
+                    <execution>
+                        <phase>deploy</phase>
+                        <goals>
+                            <goal>java</goal>
+                        </goals>
+                        <id>upload-scripts</id>
+                        <configuration>
+                            <includeProjectDependencies>true</includeProjectDependencies>
+                            <includePluginDependencies>true</includePluginDependencies>
+                            <classpathScope>runtime</classpathScope>
+                            <executableDependency>
+                                <groupId>net.java.dev.jets3t</groupId>
+                                <artifactId>jets3t</artifactId>
+                            </executableDependency>
+                            <mainClass>org.jets3t.apps.synchronize.Synchronize</mainClass>
+                            <arguments>
+                                <argument>--nodelete</argument>
+                                <argument>--properties</argument>
+                                <argument>${project.basedir}/aws.properties</argument>
+                                <argument>UP</argument>
+                                <argument>${aws.s3.release-bucket}</argument>
+                                <argument>${project.build.directory}/${project.build.finalName}.tar.gz</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+
+                    <!-- upload the war file from our repository -->
+                    <execution>
+                        <phase>deploy</phase>
+                        <goals>
+                            <goal>java</goal>
+                        </goals>
+                        <id>upload-war</id>
+                        <configuration>
+                            <includeProjectDependencies>true</includeProjectDependencies>
+                            <includePluginDependencies>true</includePluginDependencies>
+                            <classpathScope>runtime</classpathScope>
+                            <executableDependency>
+                                <groupId>net.java.dev.jets3t</groupId>
+                                <artifactId>jets3t</artifactId>
+                            </executableDependency>
+                            <mainClass>org.jets3t.apps.synchronize.Synchronize</mainClass>
+                            <arguments>
+                                <argument>--nodelete</argument>
+                                <argument>--properties</argument>
+                                <argument>${project.basedir}/aws.properties</argument>
+                                <argument>UP</argument>
+                                <argument>${aws.s3.release-bucket}</argument>
+                                <argument>${stack.war}</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>net.java.dev.jets3t</groupId>
+                        <artifactId>jets3t</artifactId>
+                        <version>0.8.0</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <version>2.8.1</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.codehaus.groovy</groupId>
+                        <artifactId>groovy-eclipse-compiler</artifactId>
+                        <version>2.6.0-01</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <compilerId>groovy-eclipse-compiler</compilerId>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>groovy-eclipse-compiler</artifactId>
+                <groupId>org.codehaus.groovy</groupId>
+                <version>2.6.0-01</version>
+                <extensions>true</extensions>
+            </plugin>
+
+            <!-- Set the dependency path in the lifecycle for the property -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>2.9</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>properties</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!-- echo out the stack war -->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>exec-maven-plugin</artifactId>
+                <version>1.2</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>exec</goal>
+                        </goals>
+                        <phase>generate-sources</phase>
+                    </execution>
+                </executions>
+                <configuration>
+                    <executable>echo</executable>
+                    <arguments>
+                        <argument>stack.war=</argument>
+                        <argument>${stack.war}</argument>
+                    </arguments>
+                </configuration>
+            </plugin>
+        </plugins>
+
+    </build>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>net.java.dev.jets3t</groupId>
+            <artifactId>synchronize</artifactId>
+            <version>0.8.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>net.java.dev.jets3t</groupId>
+            <artifactId>jets3t</artifactId>
+            <version>0.8.0</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.amazonaws</groupId>
+            <artifactId>aws-java-sdk</artifactId>
+            <version>1.9.7</version>
+        </dependency>
+        <dependency>
+            <artifactId>groovy-all</artifactId>
+            <groupId>org.codehaus.groovy</groupId>
+            <version>2.0.5</version>
+        </dependency>
+
+        <!-- This dependency is used for deployment -->
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>usergrid-rest</artifactId>
+            <!-- Change this if you want to deploy a specific version, otherwise the latest in the repository will be used-->
+            <version>2.1.1-SNAPSHOT</version>
+            <type>war</type>
+        </dependency>
+    </dependencies>
+
+</project>
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/cql/update_locks.cql
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/cql/update_locks.cql b/deployment/aws/src/main/cql/update_locks.cql
new file mode 100644
index 0000000..bdb5860
--- /dev/null
+++ b/deployment/aws/src/main/cql/update_locks.cql
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+update keyspace Locks with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = false;
+
+use Locks;
+
+update column family HLocks with gc_grace=60 and caching=ALL and read_repair_chance=0.00 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/cql/update_usergrid.cql
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/cql/update_usergrid.cql b/deployment/aws/src/main/cql/update_usergrid.cql
new file mode 100644
index 0000000..53622a2
--- /dev/null
+++ b/deployment/aws/src/main/cql/update_usergrid.cql
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+update keyspace Usergrid with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = true;
+
+use Usergrid;
+
+update column family Applications with caching=KEYS_ONLY and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family PrincipalTokens with caching=KEYS_ONLY and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Properties with caching=KEYS_ONLY and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Tokens with caching=ALL and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/cql/update_usergrid_applications.cql
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/cql/update_usergrid_applications.cql b/deployment/aws/src/main/cql/update_usergrid_applications.cql
new file mode 100644
index 0000000..e94960b
--- /dev/null
+++ b/deployment/aws/src/main/cql/update_usergrid_applications.cql
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  The ASF licenses this file to You
+ * under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.  For additional information regarding
+ * copyright in this work, please see the NOTICE file in the top level
+ * directory of this distribution.
+ */
+
+update keyspace Usergrid_Applications with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = true;
+
+use Usergrid_Applications;
+
+update column family Application_Aggregate_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Application_Roles with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Applications with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Consumer_Queue_Messages_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Composite_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Id_Sets with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Index with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Index_Entries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Metadata with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Entity_Unique with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family MQ_Consumers with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family MQ_Consumers_Timeout with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family MQ_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family MQ_Property_Index with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family MQ_Property_Index_Entries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Queue_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Queue_Inbox with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Queue_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Queue_Subscribers with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+update column family Queue_Subscriptions with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/create_raid0.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/create_raid0.sh b/deployment/aws/src/main/dist/init_instance/create_raid0.sh
new file mode 100644
index 0000000..c9122d7
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/create_raid0.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+
+# WARNING: this does not work for any instances that have more than 2 ephemeral disks
+
+
+
+# install postfix first and prevent it from prompting the user
+debconf-set-selections <<< "postfix postfix/mailname string your.hostname.com"
+debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
+apt-get install -y postfix
+
+# install mdadm RAID controller
+apt-get -y --force-yes install mdadm
+
+# m1.xlarge has four 414GB disks, but only /dev/xvdb is mounted
+# unmount /dev/xvdb so we can use it in our setup
+umount /mnt
+
+
+#We only support 2 ephemeral disks.  Most c3.x instances only have 2 disks and they're our target
+# create striped RAID0 device with our 2 disks
+yes | mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 -c 256  /dev/xvdb /dev/xvdc
+
+
+
+
+# save config
+mdadm --detail --scan | tee /etc/mdadm/mdadm.conf
+
+# create, mount and save disk to stab
+mkfs.ext4 -b 4096 -E stride=32,stripe-width=128 -L Stripe /dev/md0
+mkdir -p /mnt
+echo "/dev/md0  /mnt/  ext4    defaults,noatime,nofail 0 0" >> /etc/fstab
+mount /dev/md0 /mnt

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/init_db_server.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/init_db_server.sh b/deployment/aws/src/main/dist/init_instance/init_db_server.sh
new file mode 100644
index 0000000..eb8e1ba
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/init_db_server.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+
+
+echo "${HOSTNAME}" > /etc/hostname
+echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
+hostname `cat /etc/hostname`
+
+echo "US/Eastern" > /etc/timezone
+dpkg-reconfigure -f noninteractive tzdata
+
+# Build environment for scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+
+# Install the easy stuff
+PKGS="ntp unzip groovy curl"
+apt-get update
+apt-get -y --force-yes install ${PKGS}
+/etc/init.d/tomcat7 stop
+
+# Install AWS Java SDK and get it into the Groovy classpath
+curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
+cd /usr/share/
+unzip /tmp/aws-sdk-java.zip 
+mkdir -p /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib 
+# except for evil stax
+rm /home/ubuntu/.groovy/lib/stax*
+ln -s /home/ubuntu/.groovy /root/.groovy
+
+
+
+# tag last so we can see in the console so that we know what's running
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy -BUILD-IN-PROGRESS
+
+#Create our raid 0 array
+cd /usr/share/usergrid/init_instance
+./create_raid0.sh
+
+cd /usr/share/usergrid/init_instance
+./install_oraclejdk.sh 
+
+# Install and stop Cassandra 
+cd /usr/share/usergrid/init_instance
+./install_cassandra.sh
+
+# Install the opscenter agent
+cd /usr/share/usergrid/init_instance
+./install_opscenter_agent.sh
+
+# tag last so we can see in the console that the script ran to completion
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/init_es_server.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/init_es_server.sh b/deployment/aws/src/main/dist/init_instance/init_es_server.sh
new file mode 100644
index 0000000..836b1d9
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/init_es_server.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+
+echo "${HOSTNAME}" > /etc/hostname
+echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
+hostname `cat /etc/hostname`
+
+echo "US/Eastern" > /etc/timezone
+dpkg-reconfigure -f noninteractive tzdata
+
+# Build environment for scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+
+# Install the easy stuff
+PKGS="ntp unzip groovy curl"
+apt-get update
+apt-get -y --force-yes install ${PKGS}
+/etc/init.d/tomcat7 stop
+
+# Install AWS Java SDK and get it into the Groovy classpath
+curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
+cd /usr/share/
+unzip /tmp/aws-sdk-java.zip 
+mkdir -p /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib 
+# except for evil stax
+rm /home/ubuntu/.groovy/lib/stax*
+ln -s /home/ubuntu/.groovy /root/.groovy
+
+# tag last so we can see in the console so that we know what's running
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy -BUILD-IN-PROGRESS
+
+
+#Configure our RAID 0 arrays
+cd /usr/share/usergrid/init_instance
+./create_raid0.sh
+
+
+cd /usr/share/usergrid/init_instance
+./install_oraclejdk.sh 
+
+# Install and start ElasticSearch
+cd /usr/share/usergrid/init_instance
+./install_elasticsearch.sh
+
+# tag last so we can see in the console that the script ran to completion
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/init_graphite_server.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/init_graphite_server.sh b/deployment/aws/src/main/dist/init_instance/init_graphite_server.sh
new file mode 100644
index 0000000..689c08e
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/init_graphite_server.sh
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+
+echo "${HOSTNAME}" > /etc/hostname
+echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
+hostname `cat /etc/hostname`
+
+echo "US/Eastern" > /etc/timezone
+dpkg-reconfigure -f noninteractive tzdata
+
+# Build environment for scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+
+# Install the easy stuff
+PKGS="ntp unzip groovy tomcat7 curl"
+apt-get update
+apt-get -y --force-yes install ${PKGS}
+/etc/init.d/tomcat7 stop
+
+# Install AWS Java SDK and get it into the Groovy classpath
+curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
+cd /usr/share/
+unzip /tmp/aws-sdk-java.zip
+mkdir -p /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
+# except for evil stax
+rm /home/ubuntu/.groovy/lib/stax*
+ln -s /home/ubuntu/.groovy /root/.groovy
+
+# tag last so we can see in the console so that we know what's running
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy -BUILD-IN-PROGRESS
+
+cd /usr/share/usergrid/init_instance
+./install_oraclejdk.sh
+
+sudo apt-get -y --force-yes install docker.io
+
+#Install graphite
+sudo docker run -d --name graphite -p 80:80 -p 2003:2003 -p 8125:8125/udp hopsoft/graphite-statsd
+
+cd /usr/share/usergrid/scripts
+groovy registry_register.groovy graphite
+
+# tag last so we can see in the console that the script ran to completion
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/init_opscenter_server.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/init_opscenter_server.sh b/deployment/aws/src/main/dist/init_instance/init_opscenter_server.sh
new file mode 100644
index 0000000..b63a710
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/init_opscenter_server.sh
@@ -0,0 +1,287 @@
+#!/bin/bash
+
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+
+
+echo "${HOSTNAME}" > /etc/hostname
+echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
+hostname `cat /etc/hostname`
+
+echo "US/Eastern" > /etc/timezone
+dpkg-reconfigure -f noninteractive tzdata
+
+# Build environment for scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+# Install the easy stuff
+PKGS="ntp unzip groovy curl"
+apt-get update
+apt-get -y --force-yes install ${PKGS}
+/etc/init.d/tomcat7 stop
+
+# Install AWS Java SDK and get it into the Groovy classpath
+curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
+cd /usr/share/
+unzip /tmp/aws-sdk-java.zip 
+mkdir -p /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib 
+# except for evil stax
+rm /home/ubuntu/.groovy/lib/stax*
+ln -s /home/ubuntu/.groovy /root/.groovy
+
+# tag last so we can see in the console so that we know what's running
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy -BUILD-IN-PROGRESS
+
+
+#Create the raid0 array for cassandra storage
+pushd /usr/share/usergrid/init_instance
+./create_raid0.sh
+#Install the oracle jdd
+./install_oraclejdk.sh
+popd
+
+#Install cassandra
+
+# Install and stop Cassandra
+curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
+
+sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
+deb http://debian.datastax.com/community stable main
+EOF
+
+apt-get update
+apt-get -y --force-yes install libcap2 cassandra=1.2.19
+/etc/init.d/cassandra stop
+
+mkdir -p /mnt/data/cassandra
+chown cassandra /mnt/data/cassandra
+
+
+# Register ourselves
+pushd /usr/share/usergrid/scripts
+groovy registry_register.groovy opscenter
+popd
+
+pushd /usr/share/usergrid/scripts
+groovy configure_opscenter_cassandra.groovy > /etc/cassandra/cassandra.yaml
+popd
+
+/etc/init.d/cassandra start
+
+#We have to wait for cass to actually start before we can run our CQL.   Sleep 5 seconds between retries
+while ! echo exit | nc localhost 9160; do sleep 5; done
+
+CASS_REGION=${EC2_REGION%-1}
+#create our keyspace
+cat >> /tmp/opscenter.cql << EOF
+CREATE KEYSPACE "OpsCenter" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', '${CASS_REGION}' : 1};
+
+USE "OpsCenter";
+
+CREATE TABLE bestpractice_results (
+  key text,
+  column1 varint,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  CLUSTERING ORDER BY (column1 DESC) AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=0 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE events (
+  key text PRIMARY KEY,
+  action bigint,
+  level bigint,
+  success boolean,
+  time bigint
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=864000 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE events_timeline (
+  key text,
+  column1 bigint,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=864000 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE pdps (
+  key text,
+  column1 text,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=0 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE rollups300 (
+  key text,
+  column1 varint,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=0 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE rollups60 (
+  key text,
+  column1 varint,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=0 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE rollups7200 (
+  key text,
+  column1 varint,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=0 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE rollups86400 (
+  key text,
+  column1 varint,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=0 AND
+  read_repair_chance=0.250000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+CREATE TABLE settings (
+  key blob,
+  column1 blob,
+  value blob,
+  PRIMARY KEY (key, column1)
+) WITH COMPACT STORAGE AND
+  bloom_filter_fp_chance=0.010000 AND
+  caching='KEYS_ONLY' AND
+  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
+  dclocal_read_repair_chance=0.000000 AND
+  gc_grace_seconds=864000 AND
+  read_repair_chance=1.000000 AND
+  replicate_on_write='true' AND
+  populate_io_cache_on_flush='false' AND
+  compaction={'class': 'SizeTieredCompactionStrategy'} AND
+  compression={'sstable_compression': 'SnappyCompressor'};
+
+EOF
+
+
+echo "Creating opscenter keyspace"
+/usr/bin/cqlsh -f  /tmp/opscenter.cql
+
+
+
+
+#Install the opscenter service
+# Install opscenter
+echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/datastax.community.list
+
+apt-get update
+apt-get  --force-yes -y install opscenter
+
+sudo service opscenterd stop
+
+#Configure the usergrid cluster to store data locally, not on the target cluster and auto boostrap it
+cd /usr/share/usergrid/scripts
+groovy wait_for_instances.groovy cassandra 1
+mkdir -p /etc/opscenter/clusters
+groovy configure_opscenter_usergrid.groovy > /etc/opscenter/clusters/$CASSANDRA_CLUSTER_NAME.conf
+
+
+sudo service opscenterd start
+
+# tag last so we can see in the console that the script ran to completion
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/init_rest_server.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/init_rest_server.sh b/deployment/aws/src/main/dist/init_instance/init_rest_server.sh
new file mode 100644
index 0000000..0736026
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/init_rest_server.sh
@@ -0,0 +1,257 @@
+#!/bin/bash
+
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+
+echo "${HOSTNAME}" > /etc/hostname
+echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
+hostname `cat /etc/hostname`
+
+echo "US/Eastern" > /etc/timezone
+dpkg-reconfigure -f noninteractive tzdata
+
+PKGS="openjdk-7-jdk tomcat7 s3cmd ntp unzip groovy"
+apt-get update
+apt-get -y --force-yes install ${PKGS}
+/etc/init.d/tomcat7 stop
+
+# Install AWS Java SDK and get it into the Groovy classpath
+curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
+cd /usr/share/
+unzip /tmp/aws-sdk-java.zip
+mkdir -p /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
+cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
+ln -s /home/ubuntu/.groovy /root/.groovy
+
+# Build environment for Groovy scripts
+. /etc/profile.d/aws-credentials.sh
+. /etc/profile.d/usergrid-env.sh
+
+
+# tag last so we can see in the console so that we know what's running
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy -BUILD-IN-PROGRESS
+
+
+
+chmod +x /usr/share/usergrid/update.sh
+
+cd /usr/share/usergrid/init_instance
+./install_oraclejdk.sh
+
+cd /usr/share/usergrid/init_instance
+./install_yourkit.sh
+
+# set Tomcat memory and threads based on instance type
+# use about 70% of RAM for heap
+export NOFILE=150000
+#export TOMCAT_CONNECTIONS=10000
+export ACCEPT_COUNT=100
+export NR_OPEN=1048576
+export FILE_MAX=761773
+
+#Get the number of processors
+export NUM_PROC=$(nproc)
+
+#Configure the max amount of tomcat threads
+export TOMCAT_THREADS=$((${NUM_PROC} * ${NUM_THREAD_PROC}))
+
+case `(curl http://169.254.169.254/latest/meta-data/instance-type)` in
+'m1.small' )
+    # total of 1.7g
+    export TOMCAT_RAM=1190m
+;;
+'m1.medium' )
+    # total of 3.75g
+    export TOMCAT_RAM=2625m
+;;
+'m1.large' )
+    # total of 7.5g
+    export TOMCAT_RAM=5250m
+;;
+'m1.xlarge' )
+    # total of 15g
+    export TOMCAT_RAM=10500m
+;;
+'m3.large' )
+    # total of 7.5g
+    export TOMCAT_RAM=5250m
+;;
+'m3.xlarge' )
+    # total of 15g
+    export TOMCAT_RAM=10500m
+;;
+'c3.xlarge' )
+    # total of 7.5g
+    export TOMCAT_RAM=4096m
+;;
+'c3.2xlarge' )
+    # total of 15g
+    export TOMCAT_RAM=10500m
+;;
+'c3.4xlarge' )
+    # total of 30g
+    export TOMCAT_RAM=21000m
+esac
+
+
+sed -i.bak "s/Xmx128m/Xmx${TOMCAT_RAM} -Xms${TOMCAT_RAM} -Dlog4j\.configuration=file:\/usr\/share\/usergrid\/lib\/log4j\.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false/g" /etc/default/tomcat7
+sed -i.bak "s/<Connector/<Connector maxThreads=\"${TOMCAT_THREADS}\" acceptCount=\"${ACCEPT_COUNT}\" maxConnections=\"${TOMCAT_THREADS}\"/g" /var/lib/tomcat7/conf/server.xml
+
+
+#Append our java opts for secret key
+echo "JAVA_OPTS=\"\${JAVA_OPTS} -DAWS_SECRET_KEY=${AWS_SECRET_KEY} -DAWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY}\"" >> /etc/default/tomcat7
+echo "JAVA_OPTS=\"\${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000\"" >> /etc/default/tomcat7
+
+
+ulimit -n $NOFILE
+
+# set file limits
+sed -i.bak "s/# \/etc\/init\.d\/tomcat7 -- startup script for the Tomcat 6 servlet engine/ulimit -n ${NOFILE}/" /etc/init.d/tomcat7
+
+
+cat >>  /etc/security/limits.conf  << EOF
+* - nofile ${NOFILE}
+root - nofile ${NOFILE}
+EOF
+
+
+
+echo "${NR_OPEN}" | sudo tee > /proc/sys/fs/nr_open
+echo "${FILE_MAX}" | sudo tee > /proc/sys/fs/file-max
+
+
+cat >> /etc/pam.d/su << EOF
+session    required   pam_limits.so
+EOF
+
+
+
+# increase system IP port limits (do we really need this for Tomcat?)
+sysctl -w net.ipv4.ip_local_port_range="1024 65535"
+cat >> /etc/sysctl.conf << EOF
+####
+# Set by usergrid rest setup
+####
+net.ipv4.ip_local_port_range = 1024 65535
+
+# Controls the default maxmimum size of a mesage queue
+kernel.msgmnb = 65536
+
+# Controls the maximum size of a message, in bytes
+kernel.msgmax = 65536
+
+# Controls the maximum shared segment size, in bytes
+kernel.shmmax = 68719476736
+
+# Controls the maximum number of shared memory segments, in pages
+kernel.shmall = 4294967296
+
+######
+# End usergrid setup
+######
+EOF
+
+# wait for enough Cassandra nodes then delpoy and configure Usergrid
+cd /usr/share/usergrid/scripts
+groovy wait_for_instances.groovy cassandra ${CASSANDRA_NUM_SERVERS}
+groovy wait_for_instances.groovy elasticsearch ${ES_NUM_SERVERS}
+groovy wait_for_instances.groovy graphite ${GRAPHITE_NUM_SERVERS}
+
+# link WAR and Portal into Tomcat's webapps dir
+rm -rf /var/lib/tomcat7/webapps/*
+ln -s /usr/share/usergrid/webapps/ROOT.war /var/lib/tomcat7/webapps/ROOT.war
+ln -s /usr/share/usergrid/webapps/portal /var/lib/tomcat7/webapps/portal
+chown -R tomcat7 /usr/share/usergrid/webapps
+chown -R tomcat7 /var/lib/tomcat7/webapps
+
+# configure usergrid
+mkdir -p /usr/share/tomcat7/lib
+groovy configure_usergrid.groovy > /usr/share/tomcat7/lib/usergrid-deployment.properties
+groovy configure_portal_new.groovy >> /var/lib/tomcat7/webapps/portal/config.js
+
+
+
+#Install postfix so that we can send mail
+echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
+echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
+apt-get install -y postfix
+
+
+# Go
+sh /etc/init.d/tomcat7 start
+
+#Wait for tomcat to start, then run our migrations
+
+
+#Wait until tomcat starts and we can hit our status page
+until curl -m 1 -I -X GET http://localhost:8080/status | grep "200 OK";  do sleep 5; done
+
+
+#Install collectd client to report to graphite
+cd /usr/share/usergrid/init_instance
+./install_collectd.sh
+
+
+#If we're the first rest server, run the migration, the database setup, then run the Cassanda keyspace updates
+cd /usr/share/usergrid/scripts
+groovy registry_register.groovy rest
+
+FIRSTHOST="$(groovy get_first_instance.groovy rest)"
+GRAPHITE_SERVER="$(groovy get_first_instance.groovy graphite )"
+
+#First host run the migration and setup
+if [ "$FIRSTHOST"=="$PUBLIC_HOSTNAME" ]; then
+
+#Run the system database setup since migration is a no-op
+curl -X GET http://localhost:8080/system/database/setup -u superuser:test
+
+
+#Run the migration
+curl -X PUT http://localhost:8080/system/migrate/run  -u superuser:test
+
+#Wait since migration is no-op just needs to ideally run to completion to bring the internal state up to date before
+#Running setup
+sleep 10
+
+
+cd /usr/share/usergrid/init_instance
+./update_keyspaces.sh
+
+fi
+
+#Always create our graphite dashboard.  Last to write will implicity win, since they will have the most recent cluster state
+cd /usr/share/usergrid/scripts
+JSON_PAYLOAD="$(groovy create_dashboard.groovy rest)"
+
+echo ${JSON_PAYLOAD} > /var/lib/tomcat7/webapps/portal/graphite.json
+
+
+#Post the JSON graphite payload to graphite
+## The json is correct, but this doens't work yet. To get the generated data to save, just hit ELB/portal/graphite.json to set into graphite manually
+##curl -X POST -d "${JSON_PAYLOAD}" "http://${GRAPHITE_SERVER}/dashboard/save/Tomcats"
+
+
+
+
+# tag last so we can see in the console that the script ran to completion
+cd /usr/share/usergrid/scripts
+groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/src/main/dist/init_instance/install_cassandra.sh
----------------------------------------------------------------------
diff --git a/deployment/aws/src/main/dist/init_instance/install_cassandra.sh b/deployment/aws/src/main/dist/init_instance/install_cassandra.sh
new file mode 100644
index 0000000..da025a7
--- /dev/null
+++ b/deployment/aws/src/main/dist/init_instance/install_cassandra.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  The ASF licenses this file to You
+#  under the Apache License, Version 2.0 (the "License"); you may not
+#  use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.  For additional information regarding
+#  copyright in this work, please see the NOTICE file in the top level
+#  directory of this distribution.
+#
+
+
+# Install and stop Cassandra
+curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
+
+sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
+deb http://debian.datastax.com/community stable main
+EOF
+
+apt-get update
+apt-get -y --force-yes install libcap2 cassandra=2.0.15
+/etc/init.d/cassandra stop
+
+mkdir -p /mnt/data/cassandra
+chown cassandra /mnt/data/cassandra
+
+# Wait for other instances to start up
+cd /usr/share/usergrid/scripts
+groovy registry_register.groovy cassandra
+groovy wait_for_instances.groovy cassandra ${CASSANDRA_NUM_SERVERS}
+
+#TODO make this configurable for the box sizes
+#Set or min/max heap to 8GB
+sed -i.bak s/calculate_heap_sizes\(\)/MAX_HEAP_SIZE=\"8G\"\\nHEAP_NEWSIZE=\"1200M\"\\n\\ncalculate_heap_sizes\(\)/g /etc/cassandra/cassandra-env.sh
+
+pushd /usr/share/usergrid/scripts
+groovy configure_cassandra.groovy > /etc/cassandra/cassandra.yaml
+popd
+
+/etc/init.d/cassandra start
+
+


[37/50] [abbrv] usergrid git commit: Fix issue with timestamps being set with longs that do not correspond to time. Remove unused dependencies. Remove CountMinSketch depedency and leverage RX distinct to filter duplicated devices from being emitted.

Posted by sn...@apache.org.
Fix issue with timestamps being set with longs that do not correspond to time.  Remove unused dependencies.  Remove CountMinSketch depedency and leverage RX distinct to filter duplicated devices from being emitted.


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

Branch: refs/heads/asf-site
Commit: f7b5516b56a13594709a8b33faa7bd972e81cd4c
Parents: 47a8670
Author: Michael Russo <mi...@gmail.com>
Authored: Tue Feb 2 13:17:45 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Tue Feb 2 13:17:45 2016 -0800

----------------------------------------------------------------------
 stack/core/pom.xml                              |  6 ---
 .../corepersistence/CpEntityManager.java        | 50 +++++++++++---------
 .../java/org/apache/usergrid/mq/Message.java    |  4 +-
 .../usergrid/persistence/EntityManager.java     |  4 +-
 .../org/apache/usergrid/utils/UUIDUtils.java    | 11 -----
 stack/pom.xml                                   |  6 ---
 stack/services/pom.xml                          | 11 -----
 .../services/notifications/gcm/GCMAdapter.java  | 24 +++++-----
 .../impl/ApplicationQueueManagerImpl.java       | 23 ++-------
 .../org/apache/usergrid/python/JythonTest.java  | 39 ---------------
 10 files changed, 48 insertions(+), 130 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index 49082b6..76ff694 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -429,12 +429,6 @@
       <version>${metrics.version}</version>
     </dependency>
 
-    <dependency>
-      <groupId>com.clearspring.analytics</groupId>
-      <artifactId>stream</artifactId>
-      <version>2.7.0</version>
-    </dependency>
-
   </dependencies>
 
   <!--

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index ed1d2de..a7cb8f4 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -363,12 +363,10 @@ public class CpEntityManager implements EntityManager {
     @Override
     public Entity create( UUID importId, String entityType, Map<String, Object> properties ) throws Exception {
 
-        UUID timestampUuid = importId != null ? importId : UUIDUtils.newTimeUUID();
-
         //Adding graphite metrics
         Timer.Context timeCassCreation = entCreateTimer.time();
 
-        Entity entity = batchCreate( entityType, null, properties, importId, timestampUuid );
+        Entity entity = batchCreate( entityType, null, properties, importId);
 
         timeCassCreation.stop();
         return entity;
@@ -380,7 +378,7 @@ public class CpEntityManager implements EntityManager {
         //Adding graphite metrics
         Timer.Context timeCassCreation = entCreateTimer.time();
 
-        Entity entity = batchCreate( id.getType(), null, properties, id.getUuid(), UUIDUtils.newTimeUUID() );
+        Entity entity = batchCreate( id.getType(), null, properties, id.getUuid());
 
         timeCassCreation.stop();
 
@@ -404,12 +402,10 @@ public class CpEntityManager implements EntityManager {
     public <A extends Entity> A create( String entityType, Class<A> entityClass,
             Map<String, Object> properties, UUID importId ) throws Exception {
 
-        UUID timestampUuid = importId != null ? importId : UUIDUtils.newTimeUUID();
-
         Timer.Context timeEntityCassCreation = entCreateBatchTimer.time();
 
 
-        A entity = batchCreate( entityType, entityClass, properties, importId, timestampUuid );
+        A entity = batchCreate( entityType, entityClass, properties, importId);
 
         //Adding graphite metrics
         timeEntityCassCreation.stop();
@@ -1657,7 +1653,7 @@ public class CpEntityManager implements EntityManager {
             String propertyName, UUID ownerId, Map<String, Object> additionalProperties ) throws Exception {
 
         UUID timestampUuid = UUIDUtils.newTimeUUID();
-        long timestamp = UUIDUtils.getUUIDLong( timestampUuid );
+        long timestamp = UUIDUtils.getTimestampInMicros( timestampUuid );
 
         Map<String, Object> properties = new TreeMap<>( CASE_INSENSITIVE_ORDER );
         properties.put( PROPERTY_TYPE, Role.ENTITY_TYPE );
@@ -1672,7 +1668,7 @@ public class CpEntityManager implements EntityManager {
         }
 
         UUID id = UUIDGenerator.newTimeUUID();
-        batchCreate( Role.ENTITY_TYPE, null, properties, id, timestampUuid );
+        batchCreate( Role.ENTITY_TYPE, null, properties, id);
 
         Mutator<ByteBuffer> batch = createMutator( cass.getApplicationKeyspace( applicationId ), be );
         CassandraPersistenceUtils.addInsertToMutator( batch, ENTITY_DICTIONARIES,
@@ -2472,8 +2468,8 @@ public class CpEntityManager implements EntityManager {
 
 
     @Override
-    public <A extends Entity> A batchCreate( String entityType, Class<A> entityClass, Map<String, Object> properties,
-                                             UUID importId, UUID timestampUuid )
+    public <A extends Entity> A batchCreate(String entityType, Class<A> entityClass, Map<String, Object> properties,
+                                            UUID importId)
             throws Exception {
 
         String eType = Schema.normalizeEntityType( entityType );
@@ -2486,7 +2482,24 @@ public class CpEntityManager implements EntityManager {
             return null;
         }
 
-        long timestamp = UUIDUtils.getUUIDLong( timestampUuid );
+
+        long timestamp = UUIDUtils.getTimestampInMicros( UUIDUtils.newTimeUUID() );
+
+        // if the entity UUID is provided, attempt to get a time from the UUID or from it's created property
+        if ( importId != null ) {
+            long timestampFromImport = -1L;
+            if ( UUIDUtils.isTimeBased( importId ) ) {
+                timestampFromImport = UUIDUtils.getTimestampInMicros( importId );
+            }
+            else if ( properties.get( PROPERTY_CREATED ) != null ) {
+                // the entity property would be stored as milliseconds
+                timestampFromImport = getLong( properties.get( PROPERTY_CREATED ) ) * 1000;
+
+            }
+            if (timestampFromImport >= 0){
+                timestamp = timestampFromImport;
+            }
+        }
 
         UUID itemId = UUIDGenerator.newTimeUUID();
 
@@ -2497,17 +2510,10 @@ public class CpEntityManager implements EntityManager {
             itemId = importId;
         }
         if ( properties == null ) {
-            properties = new TreeMap<String, Object>( CASE_INSENSITIVE_ORDER );
+            properties = new TreeMap<>( CASE_INSENSITIVE_ORDER );
         }
 
-        if ( importId != null ) {
-            if ( UUIDUtils.isTimeBased( importId ) ) {
-                timestamp = UUIDUtils.getTimestampInMicros( importId );
-            }
-            else if ( properties.get( PROPERTY_CREATED ) != null ) {
-                timestamp = getLong( properties.get( PROPERTY_CREATED ) ) * 1000;
-            }
-        }
+
 
         if ( entityClass == null ) {
             entityClass = ( Class<A> ) Schema.getDefaultSchema().getEntityClass( entityType );
@@ -2715,7 +2721,7 @@ public class CpEntityManager implements EntityManager {
             boolean removeFromDictionary, UUID timestampUuid )
             throws Exception {
 
-        long timestamp = UUIDUtils.getUUIDLong( timestampUuid );
+        long timestamp = UUIDUtils.getTimestampInMicros( timestampUuid );
 
         // dictionaryName = dictionaryName.toLowerCase();
         if ( elementCoValue == null ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/core/src/main/java/org/apache/usergrid/mq/Message.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/Message.java b/stack/core/src/main/java/org/apache/usergrid/mq/Message.java
index 73c8f7d..aea24ec 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/Message.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/Message.java
@@ -30,7 +30,6 @@ import java.util.UUID;
 
 import javax.xml.bind.annotation.XmlRootElement;
 
-import com.clearspring.analytics.hash.MurmurHash;
 import org.apache.usergrid.utils.UUIDUtils;
 
 import com.fasterxml.jackson.annotation.JsonAnyGetter;
@@ -55,7 +54,6 @@ import static org.apache.usergrid.utils.ConversionUtils.getInt;
 import static org.apache.usergrid.utils.ConversionUtils.uuid;
 import static org.apache.usergrid.utils.MapUtils.hashMap;
 import static org.apache.usergrid.utils.UUIDUtils.getTimestampInMillis;
-import static org.apache.usergrid.utils.UUIDUtils.isTimeBased;
 import static org.apache.usergrid.utils.UUIDUtils.newTimeUUID;
 
 
@@ -486,7 +484,7 @@ public class Message {
 
     public void setUuid( UUID uuid ) {
         properties.put(MESSAGE_ID, uuid);
-        properties.put(MESSAGE_TIMESTAMP, UUIDUtils.getUUIDLong(uuid));
+        properties.put(MESSAGE_TIMESTAMP, UUIDUtils.getTimestampInMillis(uuid));
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
index 2203cdf..7725202 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/EntityManager.java
@@ -626,8 +626,8 @@ public interface EntityManager {
     public void revokeGroupPermission( UUID groupId, String permission ) throws Exception;
 
 
-    <A extends Entity> A batchCreate( String entityType, Class<A> entityClass, Map<String, Object> properties, UUID
-        importId, UUID timestampUuid ) throws Exception;
+    <A extends Entity> A batchCreate(String entityType, Class<A> entityClass, Map<String, Object> properties, UUID
+        importId) throws Exception;
     /**
      * Batch dictionary property.
      *

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/core/src/main/java/org/apache/usergrid/utils/UUIDUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/UUIDUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/UUIDUtils.java
index a43049d..931d1bd 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/UUIDUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/UUIDUtils.java
@@ -24,7 +24,6 @@ import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.locks.ReentrantLock;
 
-import com.clearspring.analytics.hash.MurmurHash;
 import com.fasterxml.uuid.EthernetAddress;
 import com.fasterxml.uuid.UUIDComparator;
 
@@ -355,16 +354,6 @@ public class UUIDUtils {
         return tryGetUUID( s.substring( offset, offset + 36 ) );
     }
 
-    public static long getUUIDLong(UUID id){
-        long timestamp = 0;
-        if(UUIDUtils.isTimeBased(id)) {
-            timestamp = UUIDUtils.getTimestampInMicros(id);
-        }else{
-            timestamp = MurmurHash.hash64(id);
-        }
-        return timestamp;
-    }
-
 
     public static String toBase64( UUID id ) {
         if ( id == null ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 32f5f22..f052bf9 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -796,12 +796,6 @@
             <!--</dependency>-->
 
             <dependency>
-                <groupId>org.python</groupId>
-                <artifactId>jython</artifactId>
-                <version>2.5.0</version>
-            </dependency>
-
-            <dependency>
                 <groupId>org.springframework</groupId>
                 <artifactId>spring-core</artifactId>
                 <version>${org.springframework.version}</version>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/services/pom.xml
----------------------------------------------------------------------
diff --git a/stack/services/pom.xml b/stack/services/pom.xml
index 1127198..b880e8e 100644
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@ -317,11 +317,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.python</groupId>
-            <artifactId>jython</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.tika</groupId>
             <artifactId>tika-core</artifactId>
         </dependency>
@@ -453,12 +448,6 @@
         </dependency>
 
         <dependency>
-            <groupId>com.clearspring.analytics</groupId>
-            <artifactId>stream</artifactId>
-            <version>2.7.0</version>
-        </dependency>
-
-        <dependency>
             <groupId>com.github.fernandospr</groupId>
             <artifactId>java-wns</artifactId>
             <version>1.3</version>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
index f267fab..e334a54 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
@@ -16,7 +16,6 @@
  */
 package org.apache.usergrid.services.notifications.gcm;
 
-import com.clearspring.analytics.hash.MurmurHash;
 import com.google.android.gcm.server.*;
 import org.apache.usergrid.persistence.entities.Notification;
 import org.apache.usergrid.persistence.entities.Notifier;
@@ -61,7 +60,7 @@ public class GCMAdapter implements ProviderAdapter {
     public void testConnection() throws Exception {
         Sender sender = new Sender(notifier.getApiKey());
         Message message = new Message.Builder().addData("registration_id", "").build();
-        List<String> ids = new ArrayList<String>();
+        List<String> ids = new ArrayList<>();
         ids.add("device_token");
         try {
             MulticastResult result = sender.send(message, ids, 1);
@@ -103,11 +102,14 @@ public class GCMAdapter implements ProviderAdapter {
 
     private Batch getBatch( Map<String, Object> payload) {
         synchronized (this) {
-            long hash = MurmurHash.hash64(payload);
-            Batch batch = batches.get(hash);
-            if (batch == null && payload != null) {
-                batch = new Batch(notifier, payload);
-                batches.put(hash, batch);
+            Batch batch = new Batch(notifier,null);
+            if( payload != null ) {
+                long hash = payload.hashCode(); // assume there won't be collisions in our amount of concurrency
+                batch = batches.get(hash);
+                if (batch == null) {
+                    batch = new Batch(notifier, payload);
+                    batches.put(hash, batch);
+                }
             }
             return batch;
         }
@@ -188,13 +190,13 @@ public class GCMAdapter implements ProviderAdapter {
         private Map payload;
         private List<String> ids;
         private List<TaskTracker> trackers;
-        private Map<String, Date> inactiveDevices = new HashMap<String, Date>();
+        private Map<String, Date> inactiveDevices = new HashMap<>();
 
         Batch(Notifier notifier, Map<String,Object> payload) {
             this.notifier = notifier;
             this.payload = payload;
-            this.ids = new ArrayList<String>();
-            this.trackers = new ArrayList<TaskTracker>();
+            this.ids = new ArrayList<>();
+            this.trackers = new ArrayList<>();
         }
 
         synchronized Map<String, Date> getAndClearInactiveDevices() {
@@ -262,7 +264,7 @@ public class GCMAdapter implements ProviderAdapter {
                         this.trackers.clear();
 
                         return;
-                        
+
                     }else {
                         throw new ConnectionException(e.getMessage(), e);
                     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 42ef433..c956417 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -16,8 +16,6 @@
  */
 package org.apache.usergrid.services.notifications.impl;
 
-import com.clearspring.analytics.hash.MurmurHash;
-import com.clearspring.analytics.stream.frequency.CountMinSketch;
 import com.codahale.metrics.Meter;
 import org.apache.usergrid.batch.JobExecution;
 import org.apache.usergrid.persistence.*;
@@ -114,7 +112,6 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                 em.update(notification);
                 return;
             }
-            final CountMinSketch sketch = new CountMinSketch(0.0001,.99,7364181); //add probablistic counter to find dups
             final UUID appId = em.getApplication().getUuid();
             final Map<String,Object> payloads = notification.getPayloads();
 
@@ -133,15 +130,6 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                         if (logger.isTraceEnabled()) {
                             logger.trace("notification {} starting to queue device {} ", notification.getUuid(), deviceRef.getUuid());
                         }
-                        long hash = MurmurHash.hash(deviceRef.getUuid());
-                        if (sketch.estimateCount(hash) > 0) { //look for duplicates
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("Maybe Found duplicate device: {}", deviceRef.getUuid());
-                            }
-                            continue;
-                        } else {
-                            sketch.add(hash, 1);
-                        }
                         String notifierId = null;
                         String notifierKey = null;
 
@@ -194,13 +182,10 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
 
             //process up to 10 concurrently
             Observable o = rx.Observable.create( new IteratorObservable<Entity>( iterator ) )
-
-                                        .flatMap(entity -> Observable.just(entity).map(entityListFunct)
-                                            .doOnError(throwable -> {
-                                                logger.error("Failed while writing",
-                                                    throwable);
-                                            })
-                                            , 10);
+                .distinct( entity -> entity.getUuid() )
+                .flatMap(entity ->
+                    Observable.just(entity).map(entityListFunct)
+                        .doOnError(throwable -> logger.error("Failed while writing", throwable)) , 10);
 
             o.toBlocking().lastOrDefault( null );
             if (logger.isTraceEnabled()) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f7b5516b/stack/services/src/test/java/org/apache/usergrid/python/JythonTest.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/python/JythonTest.java b/stack/services/src/test/java/org/apache/usergrid/python/JythonTest.java
deleted file mode 100644
index 874e5d4..0000000
--- a/stack/services/src/test/java/org/apache/usergrid/python/JythonTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.python;
-
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class JythonTest {
-    private static final Logger logger = LoggerFactory.getLogger( JythonTest.class );
-
-
-    @Test
-    public void testJythonObjectFactory() throws Exception {
-        logger.info( "Jython tests disabled" );
-    }
-
-
-    @Test
-    public void testJythonBasedService() throws Exception {
-        logger.info( "Jython tests disabled" );
-    }
-}


[38/50] [abbrv] usergrid git commit: Remove additional unused python references.

Posted by sn...@apache.org.
Remove additional unused python references.


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

Branch: refs/heads/asf-site
Commit: 8bead20f9293f7d5685bcfb70443a440a7d10823
Parents: f7b5516
Author: Michael Russo <mi...@gmail.com>
Authored: Tue Feb 2 13:55:08 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Tue Feb 2 13:55:08 2016 -0800

----------------------------------------------------------------------
 stack/services/pom.xml                          |   6 --
 .../org/apache/usergrid/utils/PythonUtils.java  | 103 -------------------
 .../src/main/python/pyusergrid/__init__.py      |  15 ---
 .../main/python/pyusergrid/services/__init__.py |  15 ---
 .../pyusergrid/services/pytest/PytestService.py |  31 ------
 .../pyusergrid/services/pytest/__init__.py      |  15 ---
 .../python/pyusergrid/services/pytest/test.py   |  29 ------
 stack/services/src/main/python/test/__init__.py |  15 ---
 stack/services/src/main/python/test/test.py     |  29 ------
 9 files changed, 258 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/pom.xml
----------------------------------------------------------------------
diff --git a/stack/services/pom.xml b/stack/services/pom.xml
index b880e8e..c791721 100644
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@ -56,9 +56,6 @@
                     <include>**/*.xml</include>
                 </includes>
             </resource>
-            <resource>
-                <directory>src/main/python</directory>
-            </resource>
         </resources>
         <testResources>
             <!-- the filtering causes corruption in the p12 files, so exclude them in filtering and copy without filtering -->
@@ -76,9 +73,6 @@
                 </excludes>
             </testResource>
             <testResource>
-                <directory>src/main/python</directory>
-            </testResource>
-            <testResource>
                 <directory>src/test/resources</directory>
                 <filtering>false</filtering>
                 <includes>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java b/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
deleted file mode 100644
index 773b05c..0000000
--- a/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.usergrid.utils;
-
-
-import org.python.core.PyObject;
-import org.python.util.PythonInterpreter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.usergrid.utils.StringUtils.compactWhitespace;
-
-
-public class PythonUtils {
-
-    private static final Logger logger = LoggerFactory.getLogger( PythonUtils.class );
-
-
-    public static PyObject getPyClass( String moduleName, String clsName ) {
-        PyObject pyObject = null;
-        PythonInterpreter interpreter = new PythonInterpreter();
-
-        try {
-            interpreter.exec( "from " + moduleName + " import " + clsName );
-            pyObject = interpreter.get( clsName );
-        }
-        catch ( Exception e ) {
-            logger.error( "The Python module '{}' is not found: {}", moduleName, compactWhitespace( e.toString() ) );
-        }
-        return pyObject;
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public static <T> T createObject( Class<T> interfaceType, PyObject pyClass ) {
-
-        Object javaObj = null;
-
-        PyObject newObj = pyClass.__call__();
-
-        javaObj = newObj.__tojava__( interfaceType );
-
-        return ( T ) javaObj;
-    }
-
-
-    public static Object createObject( Object interfaceType, String moduleName, String clsName ) {
-
-        PyObject pyObject = getPyClass( moduleName, clsName );
-
-        Object javaObj = null;
-        try {
-
-            PyObject newObj = pyObject.__call__();
-
-            javaObj = newObj.__tojava__( Class.forName( interfaceType.toString().substring(
-                    interfaceType.toString().indexOf( " " ) + 1, interfaceType.toString().length() ) ) );
-        }
-        catch ( Exception ex ) {
-            logger.error( "Unable to create Python object: {}", compactWhitespace( ex.toString() ) );
-        }
-
-        return javaObj;
-    }
-
-
-    public static String getModuleName( String s ) {
-        if ( s == null ) {
-            return null;
-        }
-        int i = s.lastIndexOf( '.' );
-        if ( i < 0 ) {
-            return s;
-        }
-        return s.substring( 0, i );
-    }
-
-
-    public static String getClassName( String s ) {
-        if ( s == null ) {
-            return null;
-        }
-        int i = s.lastIndexOf( '.' );
-        if ( i < 0 ) {
-            return s;
-        }
-        return s.substring( i + 1, s.length() );
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/pyusergrid/__init__.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/pyusergrid/__init__.py b/stack/services/src/main/python/pyusergrid/__init__.py
deleted file mode 100644
index 217ca43..0000000
--- a/stack/services/src/main/python/pyusergrid/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/pyusergrid/services/__init__.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/pyusergrid/services/__init__.py b/stack/services/src/main/python/pyusergrid/services/__init__.py
deleted file mode 100644
index 217ca43..0000000
--- a/stack/services/src/main/python/pyusergrid/services/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/pyusergrid/services/pytest/PytestService.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/pyusergrid/services/pytest/PytestService.py b/stack/services/src/main/python/pyusergrid/services/pytest/PytestService.py
deleted file mode 100644
index 685592a..0000000
--- a/stack/services/src/main/python/pyusergrid/services/pytest/PytestService.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-from org.apache.usergrid.persistence import EntityRef
-from org.apache.usergrid.services import AbstractService
-from java.util import UUID
-
-class PytestService(AbstractService):
-   def __init__(self):
-      self._id = UUID(0, 0)
-      AbstractService.__init__(self, "pytest")
-
-   def getId(self):
-      return self._id
-
-   def getType(self):
-      return "Python"
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/pyusergrid/services/pytest/__init__.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/pyusergrid/services/pytest/__init__.py b/stack/services/src/main/python/pyusergrid/services/pytest/__init__.py
deleted file mode 100644
index 217ca43..0000000
--- a/stack/services/src/main/python/pyusergrid/services/pytest/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/pyusergrid/services/pytest/test.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/pyusergrid/services/pytest/test.py b/stack/services/src/main/python/pyusergrid/services/pytest/test.py
deleted file mode 100644
index e413561..0000000
--- a/stack/services/src/main/python/pyusergrid/services/pytest/test.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-from org.apache.usergrid.persistence import EntityRef
-from java.util import UUID
-
-class Test(EntityRef):
-   def __init__(self):
-      self._id = UUID(0, 0)
-
-   def getId(self):
-      return self._id
-
-   def getType(self):
-      return "Python"
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/test/__init__.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/test/__init__.py b/stack/services/src/main/python/test/__init__.py
deleted file mode 100644
index 217ca43..0000000
--- a/stack/services/src/main/python/test/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8bead20f/stack/services/src/main/python/test/test.py
----------------------------------------------------------------------
diff --git a/stack/services/src/main/python/test/test.py b/stack/services/src/main/python/test/test.py
deleted file mode 100644
index e413561..0000000
--- a/stack/services/src/main/python/test/test.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-from org.apache.usergrid.persistence import EntityRef
-from java.util import UUID
-
-class Test(EntityRef):
-   def __init__(self):
-      self._id = UUID(0, 0)
-
-   def getId(self):
-      return self._id
-
-   def getType(self):
-      return "Python"
-


[06/50] [abbrv] usergrid git commit: Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_elasticsearch.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_elasticsearch.sh b/stack/awscluster/src/main/dist/init_instance/install_elasticsearch.sh
deleted file mode 100644
index b488320..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_elasticsearch.sh
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/bash
-
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-pushd /etc/apt/sources.list.d
-
-# Install and stop ElasticSearch
-cat >> elasticsearch.sources.list << EOF
-deb http://packages.elasticsearch.org/elasticsearch/1.4/debian stable main
-EOF
-apt-get update
-apt-get --force-yes -y install elasticsearch=1.4.2
-/etc/init.d/elasticsearch stop
-
-mkdir -p /mnt/data/elasticsearch
-chown elasticsearch /mnt/data/elasticsearch
-
-mkdir -p /mnt/log/elasticsearch
-chown elasticsearch /mnt/log/elasticsearch
-
-# Configure ElasticSearch
-
-
-echo "vm.swappiness = 0" >> /etc/sysctl.conf
-sysctl -p
-
-# No need to do this, elasticsearch nodes are also cassandra nodes
-
-cd /usr/share/usergrid/scripts
-
-#If we're the master, register ourselves and move on, if we're not, wait for the master to come up
-if [ "$ES_MASTER" = "true" ]; then
-    groovy registry_register.groovy elasticsearch_master
-else
-    groovy registry_register.groovy elasticsearch
-    groovy wait_for_instances.groovy elasticsearch_master 1
-fi
-
-
-# leave room for Cassandra: use about one half of RAM for heap
-case `(curl http://169.254.169.254/latest/meta-data/instance-type)` in
-'c3.large' )
-    # total of 15g
-    export ES_HEAP_SIZE=1920m
-;;
-'c3.xlarge' )
-    # total of 7.5g
-    export ES_HEAP_SIZE=3840m
-;;
-'c3.2xlarge' )
-    # total of 15g
-    export ES_HEAP_SIZE=7680m
-;;
-'c3.4xlarge' )
-    # total of 30g
-    export ES_HEAP_SIZE=15g
-esac
-
-
-
-
-cat >> /etc/default/elasticsearch << EOF
-ES_HEAP_SIZE=${ES_HEAP_SIZE}
-MAX_OPEN_FILES=65535
-MAX_MAP_COUNT=262144
-MAX_LOCKED_MEMORY=unlimited
-JAVA_HOME=/usr/lib/jvm/jdk1.7.0
-ES_HEAP_NEWSIZE=4g
-ES_JAVA_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:SurvivorRatio=4 -Xloggc:/mnt/raid/elasticsearch/jvm"
-EOF
-
-#Set it because Matt says so
-ulimit -l unlimited
-
-cat >> /etc/security/limits.conf << EOF
-elasticsearch - nofile 65535
-elasticsearch - memlock unlimited
-EOF
-
-
-cd /usr/share/usergrid/scripts
-groovy ./configure_elasticsearch.groovy > /etc/elasticsearch/elasticsearch.yml
-
-update-rc.d elasticsearch defaults 95 10
-
-pushd /usr/share/elasticsearch/bin
-
-#Install kopf
-
-./plugin --install lmenezes/elasticsearch-kopf/1.2
-
-#Install bigdesk
-
-./plugin -install royrusso/elasticsearch-HQ
-
-./plugin -install karmi/elasticsearch-paramedic
-
-./plugin -install elasticsearch/elasticsearch-cloud-aws/2.4.1
-
-popd
-
-
-# Go!
-/etc/init.d/elasticsearch start
-
-popd

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_opscenter_agent.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_opscenter_agent.sh b/stack/awscluster/src/main/dist/init_instance/install_opscenter_agent.sh
deleted file mode 100644
index a5679e4..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_opscenter_agent.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-# Install and stop Cassandra
-echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/datastax.community.list
-
-curl -L https://debian.datastax.com/debian/repo_key | sudo apt-key add -
-
-sudo apt-get update
-sudo apt-get install datastax-agent
-
-
-cd /usr/share/usergrid/scripts
-
-#Wait for the opscenter node to come up
-groovy wait_for_instances.groovy opscenter 1
-
-#Wait for opscenter to come up
-
-groovy configure_opscenter_agent.groovy > /var/lib/datastax-agent/conf/address.yaml
-
-sudo service datastax-agent stop
-sudo service datastax-agent start
-
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_oraclejdk.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_oraclejdk.sh b/stack/awscluster/src/main/dist/init_instance/install_oraclejdk.sh
deleted file mode 100644
index 414215d..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_oraclejdk.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-pushd /tmp
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-echo ${RELEASE_BUCKET}
-
-# Get JDK from the release bucket
-s3cmd --config=/etc/s3cfg get s3://${RELEASE_BUCKET}/jdk-7u60-linux-x64.gz
-
-# Install it as they do here: 
-# http://askubuntu.com/questions/56104/how-can-i-install-sun-oracles-proprietary-java-6-7-jre-or-jdk
-tar -xvf jdk-7u60-linux-x64.gz
-mkdir -p /usr/lib/jvm
-mv ./jdk1.7.0_60 /usr/lib/jvm/jdk1.7.0
-
-update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 2000
-update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 2000
-update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 2000
-
-chmod a+x /usr/bin/java 
-chmod a+x /usr/bin/javac 
-chmod a+x /usr/bin/javaws
-chown -R root:root /usr/lib/jvm/jdk1.7.0
-
-sudo rm /usr/lib/jvm/default-java
-sudo ln -s /usr/lib/jvm/jdk1.7.0 /usr/lib/jvm/default-java
-
-#Install the JNA for cassandra to use
-
-sudo apt-get install libjna-java
-
-
-popd

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_yourkit.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_yourkit.sh b/stack/awscluster/src/main/dist/init_instance/install_yourkit.sh
deleted file mode 100644
index 2bcfcd3..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_yourkit.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-# Optional, install yourkit remote profiler
-
-if [[ $YOURKIT = "true" ]]; then
-
-mkdir -p /mnt/yourkit
-cd /mnt/yourkit
-s3cmd --config=/etc/s3cfg get s3://${RELEASE_BUCKET}/yjp-2014-build-14114.zip
-unzip /mnt/yourkit/yjp-2014-build-14114.zip
-
-mkdir -p /mnt/yourkitreports
-
-chown -R tomcat7.tomcat7 /mnt/yourkitreports
-
-cat >> /etc/default/tomcat7 << EOF
-JAVA_OPTS="\${JAVA_OPTS} -agentpath:/mnt/yourkit/yjp-2014-build-14114/bin/linux-x86-64/libyjpagent.so=port=10001,logdir=/mnt/yourkitreports,dir=/mnt/yourkitreports,onexit=snapshot"
-EOF
-
-fi

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/update_keyspaces.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/update_keyspaces.sh b/stack/awscluster/src/main/dist/init_instance/update_keyspaces.sh
deleted file mode 100644
index 95ec658..0000000
--- a/stack/awscluster/src/main/dist/init_instance/update_keyspaces.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-#Install keyspaces
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-pushd /etc/apt/sources.list.d
-
-#Run the cassandra cql to create the keyspaces.  Note this only works for the
-# us-east region for the replication factor on the keyspaces
-
-
-#Install cassandra so we have the cli
-curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-
-sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
-deb http://debian.datastax.com/community stable main
-EOF
-
-apt-get update
-apt-get -y --force-yes install libcap2 cassandra=1.2.19
-/etc/init.d/cassandra stop
-
-#Get the first instance of cassandra
-cd /usr/share/usergrid/scripts
-CASSHOST=$(groovy get_first_instance.groovy cassandra)
-
-#We have to wait for cass to actually start before we can run our CQL.   Sleep 5 seconds between retries
-while ! echo exit | nc ${CASSHOST} 9160; do sleep 5; done
-
-#WE have to remove our -1 from the end, since us-east and us-west dont support -1 in cassandra
-CASS_REGION=${EC2_REGION%-1}
-
-#Update the keyspace replication and run the cql
-sed -i.bak "s/KEYSPACE_REGION/${CASS_REGION}/g" /usr/share/usergrid/cql/update_locks.cql
-
-sed -i.bak "s/REPLICATION_FACTOR/${CASSANDRA_REPLICATION_FACTOR}/g" /usr/share/usergrid/cql/update_locks.cql
-
-
-/usr/bin/cassandra-cli -h ${CASSHOST} -f  /usr/share/usergrid/cql/update_locks.cql
-
-
-#Update the keyspace region and run the cql
-sed -i.bak "s/KEYSPACE_REGION/${CASS_REGION}/g" /usr/share/usergrid/cql/update_usergrid.cql
-sed -i.bak "s/REPLICATION_FACTOR/${CASSANDRA_REPLICATION_FACTOR}/g" /usr/share/usergrid/cql/update_usergrid.cql
-
-/usr/bin/cassandra-cli -h ${CASSHOST} -f  /usr/share/usergrid/cql/update_usergrid.cql
-
-
-#Update the keyspace region and run the cql
-sed -i.bak "s/KEYSPACE_REGION/${CASS_REGION}/g" /usr/share/usergrid/cql/update_usergrid_applications.cql
-sed -i.bak "s/REPLICATION_FACTOR/${CASSANDRA_REPLICATION_FACTOR}/g" /usr/share/usergrid/cql/update_usergrid_applications.cql
-
-/usr/bin/cassandra-cli -h ${CASSHOST} -f  /usr/share/usergrid/cql/update_usergrid_applications.cql
-
-
-popd

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/lib/log4j.properties
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/lib/log4j.properties b/stack/awscluster/src/main/dist/lib/log4j.properties
deleted file mode 100644
index 013563b..0000000
--- a/stack/awscluster/src/main/dist/lib/log4j.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# for production, you should probably set the root to INFO
-# and the pattern to %c instead of %l.  (%l is slower.)
-
-# output messages into a rolling log file as well as stdout
-log4j.rootLogger=INFO,stdout
-
-# stdout
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-#log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) %c{1} - %m%n
-
-log4j.logger.org.apache.usergrid=INFO
-
-log4j.logger.org.apache.usergrid.persistence.cassandra.DB=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.BATCH=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerFactoryImpl=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.DaoUtils=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerImpl=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.ConnectionRefImpl=WARN, stdout
-log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN, stdout
-log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN, stdout
-log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR, stdout
-
-#log4j.logger.org.apache.usergrid.persistence=INFO
-#log4j.logger.org.apache.usergrid.corepersistence=DEBUG
-#log4j.logger.com.netflix.hystrix=DEBUG
-#log4j.logger.org.antlr=DEBUG
-
-#log4j.logger.org.apache.usergrid.persistence.CollectionIT=DEBUG
-#log4j.logger.org.apache.usergrid.persistence.index=DEBUG
-#log4j.logger.org.apache.usergrid.persistence.collection=DEBUG
-#log4j.logger.org.elasticsearch=DEBUG
-log4j.logger.org.apache.usergrid.rest.filters.MeteringFilter=ERROR
-
-#log4j.logger.org.apache.cassandra.service.StorageProxy=DEBUG, stdout
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/update.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/update.sh b/stack/awscluster/src/main/dist/update.sh
deleted file mode 100644
index d3c399f..0000000
--- a/stack/awscluster/src/main/dist/update.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-sudo mkdir __tmpupdate__
-pushd __tmpupdate__
-
-    sudo s3cmd --config=/etc/s3cfg get s3://${RELEASE_BUCKET}/ROOT.war
-    # sudo tar xzvf awscluster-1.0-SNAPSHOT-any.tar.gz
-    sudo /etc/init.d/tomcat7 stop
-    sudo cp -r ROOT.war /var/lib/tomcat7/webapps
-
-    pushd /usr/share/usergrid/scripts
-        sudo groovy configure_portal_new.groovy > /var/lib/tomcat7/webapps/portal/config.js
-    popd
-
-    sudo /etc/init.d/tomcat7 start
-
-popd
-sudo rm -rf __tmpupdate__

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/webapps/dummy.txt
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/webapps/dummy.txt b/stack/awscluster/src/main/dist/webapps/dummy.txt
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/NodeRegistry.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/NodeRegistry.groovy b/stack/awscluster/src/main/groovy/NodeRegistry.groovy
deleted file mode 100644
index 2cd70ef..0000000
--- a/stack/awscluster/src/main/groovy/NodeRegistry.groovy
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-/**
- * A utility class that search simple db for the node type provided and returns a list of hostnames as a string array
- */
-import com.amazonaws.auth.BasicAWSCredentials
-import com.amazonaws.regions.Region
-import com.amazonaws.regions.Regions
-import com.amazonaws.services.ec2.AmazonEC2Client
-import com.amazonaws.services.ec2.model.*
-
-class NodeRegistry {
-
-
-    public static final String TAG_PREFIX = "tag:"
-    //taken from aws
-    public static final String STACK_NAME = "usergrid:stack-name";
-    public static final String NODE_TYPE = "usergrid:node_type";
-    public static final String SEARCH_INSTANCE_STATE = "instance-state-name";
-    public static final String SEARCH_STACK_NAME = TAG_PREFIX + STACK_NAME
-    public static final String SEARCH_NODE_TYPE = TAG_PREFIX + NODE_TYPE
-
-    private String accessKey = (String) System.getenv().get("AWS_ACCESS_KEY")
-    private String secretKey = (String) System.getenv().get("AWS_SECRET_KEY")
-    private String stackName = (String) System.getenv().get("STACK_NAME")
-    private String instanceId = (String) System.getenv().get("EC2_INSTANCE_ID");
-    private String region = (String) System.getenv().get("EC2_REGION");
-    private String domain = stackName
-
-    private BasicAWSCredentials creds;
-    private AmazonEC2Client ec2Client;
-
-
-    NodeRegistry() {
-
-        if (region == null) {
-            throw new IllegalArgumentException("EC2_REGION must be defined")
-        }
-
-        if (instanceId == null) {
-            throw new IllegalArgumentException("EC2_INSTANCE_ID must be defined")
-        }
-
-        if (stackName == null) {
-            throw new IllegalArgumentException("STACK_NAME must be defined")
-        }
-
-        if (accessKey == null) {
-            throw new IllegalArgumentException("AWS_ACCESS_KEY must be defined")
-        }
-
-        if (secretKey == null) {
-            throw new IllegalArgumentException("AWS_SECRET_KEY must be defined")
-        }
-
-        creds = new BasicAWSCredentials(accessKey, secretKey)
-        ec2Client = new AmazonEC2Client(creds)
-        def regionEnum = Regions.fromName(region);
-        ec2Client.setRegion(Region.getRegion(regionEnum))
-
-
-    }
-
-    /**
-     * Search for the node type, return a string array of hostnames that match it within the running domain
-     * @param defNodeType
-     */
-    def searchNode(def nodeType) {
-
-
-        def stackNameFilter = new Filter(SEARCH_STACK_NAME).withValues(stackName)
-        def nodeTypeFilter = new Filter(SEARCH_NODE_TYPE).withValues(nodeType)
-        def instanceState = new Filter(SEARCH_INSTANCE_STATE).withValues(InstanceStateName.Running.toString());
-
-        //sort by created date
-        def servers = new TreeSet<ServerEntry>();
-
-
-        def token = null
-
-
-
-        while (true) {
-
-            def describeRequest = new DescribeInstancesRequest().withFilters(stackNameFilter, nodeTypeFilter, instanceState)
-
-            if (token != null) {
-                describeRequest.withNextToken(token);
-            }
-
-
-            def nodes = ec2Client.describeInstances(describeRequest)
-
-            for (reservation in nodes.getReservations()) {
-
-                for (instance in reservation.getInstances()) {
-                    servers.add(new ServerEntry(instance.launchTime, instance.publicDnsName));
-                }
-
-            }
-
-            //nothing to do, exit the loop
-            if (nodes.nextToken == null) {
-                break;
-            }
-
-            token = nodes.nextToken;
-
-        }
-
-
-
-
-        return createResults(servers);
-    }
-
-    def createResults(def servers) {
-
-        def results = [];
-
-        for (server in servers) {
-            results.add(server.publicIp)
-        }
-
-        return results;
-    }
-
-    /**
-     * Add the node to the database if it doesn't exist
-     */
-    def addNode(def nodeType) {
-
-        //add the node type
-        def tagRequest = new CreateTagsRequest().withTags(new Tag(NODE_TYPE, nodeType), new Tag(STACK_NAME, stackName)).withResources(instanceId)
-
-
-
-        ec2Client.createTags(tagRequest)
-
-
-    }
-
-    /**
-     * Wait until the number of servers are available with the type specified
-     * @param nodeType
-     * @param count
-     */
-    def waitUntilAvailable(def nodeType, def numberOfServers){
-
-        while (true) {
-            try {
-                def selectResult = searchNode(nodeType)
-
-                def count = selectResult.size();
-
-                if (count >= numberOfServers) {
-                    println("count = ${count}, total number of servers is ${numberOfServers}.  Breaking")
-                    break
-                }
-
-                println("Found ${count} nodes but need at least ${numberOfServers}.  Waiting...")
-            } catch (Exception e) {
-                println "ERROR waiting for ${nodeType} ${e.getMessage()}, will continue waiting"
-            }
-            Thread.sleep(2000)
-        }
-    }
-
-
-    class ServerEntry implements Comparable<ServerEntry> {
-        private final Date launchDate;
-        private final String publicIp;
-
-        ServerEntry(final Date launchDate, final String publicIp) {
-            this.launchDate = launchDate
-            this.publicIp = publicIp
-        }
-
-        @Override
-        int compareTo(final ServerEntry o) {
-
-            int compare = launchDate.compareTo(o.launchDate)
-
-            if(compare == 0){
-                compare =  publicIp.compareTo(o.publicIp);
-            }
-
-            return compare
-        }
-
-        boolean equals(final o) {
-            if (this.is(o)) return true
-            if (getClass() != o.class) return false
-
-            final ServerEntry that = (ServerEntry) o
-
-            if (launchDate != that.launchDate) return false
-            if (publicIp != that.publicIp) return false
-
-            return true
-        }
-
-        int hashCode() {
-            int result
-            result = launchDate.hashCode()
-            result = 31 * result + publicIp.hashCode()
-            return result
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_cassandra.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_cassandra.groovy b/stack/awscluster/src/main/groovy/configure_cassandra.groovy
deleted file mode 100644
index 946e801..0000000
--- a/stack/awscluster/src/main/groovy/configure_cassandra.groovy
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-// configure_cassandra.groovy 
-// 
-// Emits Cassandra config file based on environment and Cassandra node 
-// registry in SimpleDB
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-
-String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
-String clusterName  = (String)System.getenv().get("CASSANDRA_CLUSTER_NAME")
-
-
-// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
-
-NodeRegistry registry = new NodeRegistry();
-
-def selectResult = registry.searchNode('cassandra')
-def seeds = ""
-def sep = ""
-for (host in selectResult) {
-    seeds = "${seeds}${sep}${host}"
-    sep = ","
-}
-
-
-def cassandraConfig = """
-
-
-cluster_name: '${clusterName}'
-listen_address: ${hostName}
-seed_provider:
-    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
-      parameters:
-          - seeds: "${seeds}"
-auto_bootstrap: false 
-num_tokens: 256
-hinted_handoff_enabled: true
-hinted_handoff_throttle_in_kb: 1024
-max_hints_delivery_threads: 2
-authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
-authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
-partitioner: org.apache.cassandra.dht.Murmur3Partitioner
-data_file_directories:
-    - /mnt/data/cassandra/data
-commitlog_directory: /mnt/data/cassandra/commitlog
-disk_failure_policy: stop
-key_cache_size_in_mb: 2048
-key_cache_save_period: 14400
-row_cache_size_in_mb: 2048
-row_cache_save_period: 14400
-row_cache_provider: SerializingCacheProvider
-saved_caches_directory: /mnt/data/cassandra/saved_caches
-commitlog_sync: periodic
-commitlog_sync_period_in_ms: 10000
-commitlog_segment_size_in_mb: 32
-flush_largest_memtables_at: 0.75
-reduce_cache_sizes_at: 0.85
-reduce_cache_capacity_to: 0.6
-concurrent_reads: 32
-concurrent_writes: 32
-memtable_flush_queue_size: 4
-trickle_fsync: false
-trickle_fsync_interval_in_kb: 10240
-storage_port: 7000
-ssl_storage_port: 7001
-rpc_address: 0.0.0.0
-start_native_transport: false
-native_transport_port: 9042
-start_rpc: true
-rpc_port: 9160
-rpc_keepalive: true
-rpc_server_type: sync
-thrift_framed_transport_size_in_mb: 15
-thrift_max_message_length_in_mb: 16
-incremental_backups: false
-snapshot_before_compaction: false
-auto_snapshot: true
-column_index_size_in_kb: 64
-in_memory_compaction_limit_in_mb: 64
-multithreaded_compaction: false
-compaction_throughput_mb_per_sec: 16
-compaction_preheat_key_cache: true
-read_request_timeout_in_ms: 10000
-range_request_timeout_in_ms: 10000
-write_request_timeout_in_ms: 10000
-truncate_request_timeout_in_ms: 60000
-request_timeout_in_ms: 10000
-cross_node_timeout: false
-endpoint_snitch: Ec2Snitch
-dynamic_snitch_update_interval_in_ms: 100
-dynamic_snitch_reset_interval_in_ms: 600000
-dynamic_snitch_badness_threshold: 0.1
-request_scheduler: org.apache.cassandra.scheduler.NoScheduler
-index_interval: 128
-server_encryption_options:
-    internode_encryption: none
-    keystore: conf/.keystore
-    keystore_password: cassandra
-    truststore: conf/.truststore
-    truststore_password: cassandra
-client_encryption_options:
-    enabled: false
-    keystore: conf/.keystore
-    keystore_password: cassandra
-internode_compression: all
-"""
-
-println cassandraConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_elasticsearch.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_elasticsearch.groovy b/stack/awscluster/src/main/groovy/configure_elasticsearch.groovy
deleted file mode 100644
index 173e4e6..0000000
--- a/stack/awscluster/src/main/groovy/configure_elasticsearch.groovy
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-
-//
-// configure_elasticsearch.groovy
-//
-// Emits Elasticsearch config file based on environment and Elasticsearch node
-// registry in SimpleDB
-//
-
-
-String accessKey = (String)System.getenv().get("AWS_ACCESS_KEY")
-String secretKey = (String)System.getenv().get("AWS_SECRET_KEY")
-
-String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
-def clusterName  = (String)System.getenv().get("ES_CLUSTER_NAME")
-
-def isMaster = ((String)System.getenv().get("ES_MASTER")).toBoolean()
-
-int esNumServers = ((String)System.getenv().get("ES_NUM_SERVERS")).toInteger()
-///int quorum = esNumServers/2+1;
-
-//TODO get this from the number of master nodes
-int quorum = 1
-
-NodeRegistry registry = new NodeRegistry();
-
-// build seed list by listing all Elasticsearch nodes found in SimpleDB domain with our stackName
-def selectResult = registry.searchNode('elasticsearch_master')
-def esnodes = ""
-def sep = ""
-for (hostname in selectResult) {
-   esnodes = "${esnodes}${sep}\"${hostname}\""
-   sep = ","
-}
-
-
-def nodeData = !isMaster
-def nodeMaster = isMaster
-
-
-
-def elasticSearchConfig = """
-cluster.name: ${clusterName}
-discovery.zen.minimum_master_nodes: ${quorum}
-discovery.zen.ping.multicast.enabled: false
-discovery.zen.ping.unicast.hosts: [${esnodes}]
-node:
-    name: ${hostName}
-network:
-    host: ${hostName}
-path:
-    logs: /mnt/log/elasticsearch
-    data: /mnt/data/elasticsearch
-
-#Set the logging level to INFO by default
-es.logger.level: INFO
-
-#Set our threadpool size.  Our bulk pool and search pools are quite large.  We may want to turn these down if we
-#overload the system
-#
-# Temporarily removing.  We don't know better :)
-# http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_don_8217_t_touch_these_settings.html#_threadpools
-#
-threadpool:
-    index:
-        type: fixed
-        size: 160
-        queue_size: 1000
-    bulk:
-        type: fixed
-        size: 160
-        queue_size: 1000
-    search:
-        size: 320
-        type: fixed
-        queue_size: 1000
-
-action.auto_create_index: false
-
-action.disable_delete_all_indices: true
-
-#################################
-# Operational settings taken from a loggly blog here.  Tweak and work as required
-# https://www.loggly.com/blog/nine-tips-configuring-elasticsearch-for-high-performance/
-#################################
-
-#Set the mlock all to better utilize system resources
-bootstrap.mlockall: true
-
-#Only cache 25% of our available memory
-indices.fielddata.cache.size: 25%
-
-#If you haven't used it in 10 minutes, evict it from the cache
-#indices.fielddata.cache.expire: 10m
-
-#Only allow rebalancing of 2 shards at a time
-cluster.routing.allocation.cluster_concurrent_rebalance: 2
-
-#Re-shard when our disks start getting full
-cluster.routing.allocation.disk.threshold_enabled: true
-cluster.routing.allocation.disk.watermark.low: .97
-cluster.routing.allocation.disk.watermark.high: .99
-
-#Set streaming high water marks so reboots don't kill our service
-cluster.routing.allocation.node_concurrent_recoveries: 40
-cluster.routing.allocation.node_initial_primaries_recoveries: 40
-indices.recovery.concurrent_streams: 16
-indices.recovery.max_bytes_per_sec: 300mb
-
-
-##############################
-# Master or data node options
-#############################
-
-node.data: ${nodeData}
-node.master: ${nodeMaster}
-
-
-###############
-# Logging options
-# We want to turn on logging for slow queries and executions, so
-###############
-
-index.search.slowlog.threshold.query.warn: 10s
-index.search.slowlog.threshold.query.info: 5s
-index.search.slowlog.threshold.query.debug: 2s
-index.search.slowlog.threshold.query.trace: 500ms
-
-index.search.slowlog.threshold.fetch.warn: 1s
-index.search.slowlog.threshold.fetch.info: 800ms
-index.search.slowlog.threshold.fetch.debug: 500ms
-index.search.slowlog.threshold.fetch.trace: 200ms
-
-
-index.indexing.slowlog.threshold.index.warn: 10s
-index.indexing.slowlog.threshold.index.info: 5s
-index.indexing.slowlog.threshold.index.debug: 2s
-index.indexing.slowlog.threshold.index.trace: 500ms
-
-########
-# AWS PLUGIM
-##########
-
-cloud.aws.access_key: ${accessKey}
-cloud.aws.secret_key: ${secretKey}
-
-
-
-"""
-
-println elasticSearchConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_opscenter_agent.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_opscenter_agent.groovy b/stack/awscluster/src/main/groovy/configure_opscenter_agent.groovy
deleted file mode 100644
index dfde6e0..0000000
--- a/stack/awscluster/src/main/groovy/configure_opscenter_agent.groovy
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-// configure_cassandra.groovy 
-// 
-// Emits Cassandra config file based on environment and Cassandra node 
-// registry in SimpleDB
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-String accessKey = (String)System.getenv().get("AWS_ACCESS_KEY")
-String secretKey = (String)System.getenv().get("AWS_SECRET_KEY")
-String stackName = (String)System.getenv().get("STACK_NAME")
-
-String domain    = stackName
-
-
-NodeRegistry registry = new NodeRegistry();
-
-// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
-def selectResult = registry.searchNode('opscenter')
-
-def opsCenterNode = selectResult[0]
-
-
-def clientconfig = """
-
-
-stomp_interface: ${opsCenterNode}
-"""
-
-println clientconfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_opscenter_cassandra.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_opscenter_cassandra.groovy b/stack/awscluster/src/main/groovy/configure_opscenter_cassandra.groovy
deleted file mode 100644
index b9239a1..0000000
--- a/stack/awscluster/src/main/groovy/configure_opscenter_cassandra.groovy
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- *
- *  * Licensed to the Apache Software Foundation (ASF) under one
- *  * or more contributor license agreements.  See the NOTICE file
- *  * distributed with this work for additional information
- *  * regarding copyright ownership.  The ASF licenses this file
- *  * to you under the Apache License, Version 2.0 (the
- *  * "License"); you may not use this file except in compliance
- *  * with the License.  You may obtain a copy of the License at
- *  *
- *  *    http://www.apache.org/licenses/LICENSE-2.0
- *  *
- *  * Unless required by applicable law or agreed to in writing,
- *  * software distributed under the License is distributed on an
- *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  * KIND, either express or implied.  See the License for the
- *  * specific language governing permissions and limitations
- *  * under the License.
- *
- */
-
-
-// configure_cassandra.groovy 
-// 
-// Emits Cassandra config file based on environment and Cassandra node 
-// registry in SimpleDB
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-
-String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
-// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
-
-
-
-def cassandraConfig = """
-
-
-cluster_name: 'opscenter'
-listen_address: ${hostName}
-seed_provider:
-    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
-      parameters:
-          - seeds: "${hostName}"
-auto_bootstrap: false 
-num_tokens: 256
-hinted_handoff_enabled: true
-hinted_handoff_throttle_in_kb: 1024
-max_hints_delivery_threads: 2
-authenticator: org.apache.cassandra.auth.AllowAllAuthenticator
-authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
-partitioner: org.apache.cassandra.dht.Murmur3Partitioner
-data_file_directories:
-    - /mnt/data/cassandra/data
-commitlog_directory: /mnt/data/cassandra/commitlog
-disk_failure_policy: stop
-key_cache_size_in_mb: 2048
-key_cache_save_period: 14400
-row_cache_size_in_mb: 2048
-row_cache_save_period: 14400
-row_cache_provider: SerializingCacheProvider
-saved_caches_directory: /mnt/data/cassandra/saved_caches
-commitlog_sync: periodic
-commitlog_sync_period_in_ms: 10000
-commitlog_segment_size_in_mb: 32
-flush_largest_memtables_at: 0.75
-reduce_cache_sizes_at: 0.85
-reduce_cache_capacity_to: 0.6
-concurrent_reads: 32
-concurrent_writes: 32
-memtable_flush_queue_size: 4
-trickle_fsync: false
-trickle_fsync_interval_in_kb: 10240
-storage_port: 7000
-ssl_storage_port: 7001
-rpc_address: 0.0.0.0
-start_native_transport: false
-native_transport_port: 9042
-start_rpc: true
-rpc_port: 9160
-rpc_keepalive: true
-rpc_server_type: sync
-thrift_framed_transport_size_in_mb: 15
-thrift_max_message_length_in_mb: 16
-incremental_backups: false
-snapshot_before_compaction: false
-auto_snapshot: true
-column_index_size_in_kb: 64
-in_memory_compaction_limit_in_mb: 64
-multithreaded_compaction: false
-compaction_throughput_mb_per_sec: 16
-compaction_preheat_key_cache: true
-read_request_timeout_in_ms: 10000
-range_request_timeout_in_ms: 10000
-write_request_timeout_in_ms: 10000
-truncate_request_timeout_in_ms: 60000
-request_timeout_in_ms: 10000
-cross_node_timeout: false
-endpoint_snitch: Ec2Snitch
-dynamic_snitch_update_interval_in_ms: 100
-dynamic_snitch_reset_interval_in_ms: 600000
-dynamic_snitch_badness_threshold: 0.1
-request_scheduler: org.apache.cassandra.scheduler.NoScheduler
-index_interval: 128
-server_encryption_options:
-    internode_encryption: none
-    keystore: conf/.keystore
-    keystore_password: cassandra
-    truststore: conf/.truststore
-    truststore_password: cassandra
-client_encryption_options:
-    enabled: false
-    keystore: conf/.keystore
-    keystore_password: cassandra
-internode_compression: all
-"""
-
-println cassandraConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy b/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
deleted file mode 100644
index df4dcae..0000000
--- a/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *
- *  * Licensed to the Apache Software Foundation (ASF) under one
- *  * or more contributor license agreements.  See the NOTICE file
- *  * distributed with this work for additional information
- *  * regarding copyright ownership.  The ASF licenses this file
- *  * to you under the Apache License, Version 2.0 (the
- *  * "License"); you may not use this file except in compliance
- *  * with the License.  You may obtain a copy of the License at
- *  *
- *  *    http://www.apache.org/licenses/LICENSE-2.0
- *  *
- *  * Unless required by applicable law or agreed to in writing,
- *  * software distributed under the License is distributed on an
- *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  * KIND, either express or implied.  See the License for the
- *  * specific language governing permissions and limitations
- *  * under the License.
- *
- */
-
-
-// configure_cassandra.groovy 
-// 
-// Emits Cassandra config file based on environment and Cassandra node 
-// registry in SimpleDB
-//
-
-
-String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
-// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
-
-NodeRegistry registry = new NodeRegistry();
-
-def selectResult = registry.searchNode('cassandra')
-def seeds = ""
-def sep = ""
-for (host in selectResult) {
-    seeds = "${seeds}${sep}${host}"
-    sep = ","
-}
-
-
-//We need to point to at least 1 node in the cassandra cluster so that we can bootstrap monitoring
-def usergridConfig = """
-
-[cassandra]
-seed_hosts = ${seeds}
-
-#TODO, this doesn't seem to work, I think opscenter is broken.  Try this again at a later time and remove opscenter exclusion below
-#[storage_cassandra]
-#seed_hosts = ${hostName}
-#api_port = 9160
-
-
-"""
-
-println usergridConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_portal_new.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_portal_new.groovy b/stack/awscluster/src/main/groovy/configure_portal_new.groovy
deleted file mode 100644
index 753be68..0000000
--- a/stack/awscluster/src/main/groovy/configure_portal_new.groovy
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-//
-// Emits text to be appending to end of config.js
-//
-def baseUrl = "http://${System.getenv().get("DNS_NAME")}.${System.getenv().get("DNS_DOMAIN")}"
-config = """\n\
-
-Usergrid.overrideUrl = '${baseUrl}';
-"""
-println config

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/configure_usergrid.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_usergrid.groovy b/stack/awscluster/src/main/groovy/configure_usergrid.groovy
deleted file mode 100644
index a4d6a52..0000000
--- a/stack/awscluster/src/main/groovy/configure_usergrid.groovy
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-//
-// configure_usergrid.groovy
-//
-// Emits usergrid properties file based on environment and Cassandra node registry in SimpleDB
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-
-String accessKey = (String)System.getenv().get("AWS_ACCESS_KEY")
-String secretKey = (String)System.getenv().get("AWS_SECRET_KEY")
-
-def baseUrl      = "http://${System.getenv().get("DNS_NAME")}.${System.getenv().get("DNS_DOMAIN")}"
-String stackName = (String)System.getenv().get("STACK_NAME")
-String domain    = stackName
-String hostName  = (String)System.getenv().get("PUBLIC_HOSTNAME")
-def replFactor   = System.getenv().get("CASSANDRA_REPLICATION_FACTOR")
-def clusterName  = System.getenv().get("CASSANDRA_CLUSTER_NAME")
-def readConsistencyLevel  = System.getenv().get("CASSANDRA_READ_CONSISTENCY")
-def writeConsistencyLevel  = System.getenv().get("CASSANDRA_WRITE_CONSISTENCY")
-
-def superUserEmail     = System.getenv().get("SUPER_USER_EMAIL")
-def testAdminUserEmail = System.getenv().get("TEST_ADMIN_USER_EMAIL")
-
-def numEsNodes = Integer.parseInt(System.getenv().get("ES_NUM_SERVERS"))
-//Override number of shards.  Set it to 2x the cluster size
-def esShards = numEsNodes*2;
-
-
-//This gives us 3 copies, which means we'll have a quorum with primary + 1 replica
-def esReplicas = 1;
-
-def tomcatThreads = System.getenv().get("TOMCAT_THREADS")
-
-def workerCount = System.getenv().get("INDEX_WORKER_COUNT")
-
-//temporarily set to equal since we now have a sane tomcat thread calculation
-def hystrixThreads = tomcatThreads
-
-//if we end in -1, we remove it
-def ec2Region = System.getenv().get("EC2_REGION")
-def cassEc2Region = ec2Region.replace("-1", "")
-
-NodeRegistry registry = new NodeRegistry();
-
-def selectResult = registry.searchNode('cassandra')
-
-// build seed list by listing all Cassandra nodes found in SimpleDB domain with our stackName
-def cassandras = ""
-def sep = ""
-for (item in selectResult) {
-    cassandras = "${cassandras}${sep}${item}:9160"
-    sep = ","
-}
-
-// TODO T.N Make this the graphite url
-selectResult = registry.searchNode('graphite')
-def graphite = ""
-sep = ""
-for (item in selectResult) {
-    graphite = "${graphite}${sep}${item}"
-    sep = ","
-}
-
-// cassandra nodes are also our elasticsearch nodes
-selectResult = registry.searchNode('elasticsearch')
-def esnodes = ""
-sep = ""
-for (item in selectResult) {
-    esnodes = "${esnodes}${sep}${item}"
-    sep = ","
-}
-
-def usergridConfig = """
-######################################################
-# Minimal Usergrid configuration properties for local Tomcat and Cassandra
-
-cassandra.url=${cassandras}
-cassandra.cluster=${clusterName}
-cassandra.keyspace.strategy=org.apache.cassandra.locator.NetworkTopologyStrategy
-cassandra.keyspace.replication=${cassEc2Region}:${replFactor}
-
-# This property is required to be set and cannot be left to the default.
-usergrid.cluster_name=usergrid
-
-cassandra.timeout=5000
-cassandra.connections=${tomcatThreads}
-hystrix.threadpool.graph_user.coreSize=${hystrixThreads}
-hystrix.threadpool.graph_async.coreSize=${hystrixThreads}
-usergrid.read.cl=${readConsistencyLevel}
-usergrid.write.cl=${writeConsistencyLevel}
-
-
-
-elasticsearch.cluster_name=${clusterName}
-elasticsearch.hosts=${esnodes}
-elasticsearch.port=9300
-elasticsearch.number_shards=${esShards}
-elasticsearch.number_replicas=${esReplicas}
-
-######################################################
-# Custom mail transport
-
-mail.transport.protocol=smtp
-mail.smtp.host=localhost
-mail.smtp.port=25
-mail.smtp.auth=false
-mail.smtp.quitwait=false
-
-# TODO: make all usernames and passwords configurable via Cloud Formation parameters.
-
-
-######################################################
-# Admin and test user setup
-
-usergrid.sysadmin.login.allowed=true
-usergrid.sysadmin.login.name=superuser
-usergrid.sysadmin.login.password=test
-usergrid.sysadmin.login.email=${superUserEmail}
-
-usergrid.sysadmin.email=${superUserEmail}
-#We don't want to require user approval so we can quickly create tests
-usergrid.sysadmin.approve.users=false
-#We dont want to require organizations to be approved so we can auto create them
-usergrid.sysadmin.approve.organizations=false
-
-# Base mailer account - default for all outgoing messages
-usergrid.management.mailer=Admin <${superUserEmail}>
-
-usergrid.setup-test-account=true
-
-usergrid.test-account.app=test-app
-usergrid.test-account.organization=test-organization
-usergrid.test-account.admin-user.username=test
-usergrid.test-account.admin-user.name=Test User
-usergrid.test-account.admin-user.email=${testAdminUserEmail}
-usergrid.test-account.admin-user.password=test
-
-######################################################
-# Auto-confirm and sign-up notifications settings
-
-usergrid.management.admin_users_require_confirmation=false
-usergrid.management.admin_users_require_activation=false
-
-usergrid.management.organizations_require_activation=false
-usergrid.management.notify_sysadmin_of_new_organizations=true
-usergrid.management.notify_sysadmin_of_new_admin_users=true
-
-######################################################
-# URLs
-
-# Redirect path when request come in for TLD
-usergrid.redirect_root=${baseUrl}/status
-usergrid.api.url.base=${baseUrl}
-
-\n\
-
-
-usergrid.metrics.graphite.host=${graphite}
-
-usergrid.queue.region=${ec2Region}
-
-# Enable scheduler for import/export jobs
-usergrid.scheduler.enabled=true
-usergrid.scheduler.job.workers=1
-
-
-#Set our ingest rate
-elasticsearch.worker_count=${workerCount}
-
-"""
-
-println usergridConfig

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/create_dashboard.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/create_dashboard.groovy b/stack/awscluster/src/main/groovy/create_dashboard.groovy
deleted file mode 100644
index af6b68d..0000000
--- a/stack/awscluster/src/main/groovy/create_dashboard.groovy
+++ /dev/null
@@ -1,79 +0,0 @@
-import groovy.json.JsonOutput
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-//
-// wait_for_instances.groovy
-//
-// Wait for enough Cassandra servers are up before proceding,
-// Enough means count greater than or equal to replication factor.
-//
-def createMetric(def title, def collectdMetric, def servers, def array) {
-
-    def serversJson = []
-
-    for (server in servers) {
-
-        def normalizedServer = server.replaceAll("\\.", "_")
-
-        serversJson.add("collectd.${normalizedServer}.${collectdMetric}")
-
-    }
-
-
-    def metric = ["target": serversJson, "title": title]
-
-    array.add(metric)
-
-}
-
-
-NodeRegistry registry = new NodeRegistry();
-
-
-def servers = registry.searchNode("rest")
-
-
-
-def json = []
-
-createMetric("Used Memory", "memory.memory-used", servers, json)
-
-createMetric("Free Memory", "memory.memory-free", servers, json)
-
-createMetric("Load Short Term", "load.load.shortterm", servers, json)
-
-createMetric("Network Received", "interface-eth0.if_octets.rx", servers, json)
-
-createMetric("Network Sent", "interface-eth0.if_packets.tx", servers, json)
-
-createMetric("Tomcat Heap", "GenericJMX-memory-heap.memory-used", servers, json)
-
-createMetric("Tomcat Non Heap", "GenericJMX-memory-nonheap.memory-used", servers, json)
-
-createMetric("Tomcat Old Gen", "GenericJMX-memory_pool-CMS_Old_Gen.memory-used", servers, json)
-
-createMetric("Tomcat Permgen", "GenericJMX-memory_pool-CMS_Perm_Gen.memory-used", servers, json)
-
-
-
-def jsonString = JsonOutput.toJson(json)
-println JsonOutput.prettyPrint(jsonString)
-
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/get_first_instance.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/get_first_instance.groovy b/stack/awscluster/src/main/groovy/get_first_instance.groovy
deleted file mode 100644
index 5330718..0000000
--- a/stack/awscluster/src/main/groovy/get_first_instance.groovy
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-//
-// wait_for_instances.groovy
-//
-// Wait for enough Cassandra servers are up before proceding,
-// Enough means count greater than or equal to replication factor.
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-
-if (args.size() !=1  )  {
-  println "this script expects one argument.  get_first_instance.groovy nodetype "
-  // You can even print the usage here.
-  return 1;
-}
-
-String nodetype = args[0]
-
-
-NodeRegistry registry = new NodeRegistry();
-
-
-def selectResult = registry.searchNode(nodetype)
-
-
-println "${selectResult[0]}"

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/registry_register.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/registry_register.groovy b/stack/awscluster/src/main/groovy/registry_register.groovy
deleted file mode 100644
index 144b18b..0000000
--- a/stack/awscluster/src/main/groovy/registry_register.groovy
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-// 
-// configure_usergrid.groovy 
-// 
-// Register this host machine as a Cassandra node in our stack. 
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-
-if (args.size() != 1 )  {
-  println "This script expects one argument. registry_register.groovy nodetype"
-  return 1;
-}
-
-String nodetype = args[0];
-
-NodeRegistry registry = new NodeRegistry();
-registry.addNode(nodetype);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/tag_instance.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/tag_instance.groovy b/stack/awscluster/src/main/groovy/tag_instance.groovy
deleted file mode 100644
index 99d3288..0000000
--- a/stack/awscluster/src/main/groovy/tag_instance.groovy
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-// 
-// tag_instance.groovy 
-// 
-// Tag instance so we can easily identify it in the EC2 console 
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.ec2.*
-import com.amazonaws.services.ec2.model.*
-
-String type       = (String)System.getenv().get("TYPE")
-String accessKey  = (String)System.getenv().get("AWS_ACCESS_KEY")
-String secretKey  = (String)System.getenv().get("AWS_SECRET_KEY")
-String instanceId = (String)System.getenv().get("EC2_INSTANCE_ID")
-String stackName  = (String)System.getenv().get("STACK_NAME")
-
-
-String moreMetaData = ""
-
-if (args.size() == 1 )  {
-    moreMetaData = args[0]
-}
-
-
-def creds = new BasicAWSCredentials(accessKey, secretKey)
-def ec2Client = new AmazonEC2Client(creds)
-
-def resources = new ArrayList()
-resources.add(instanceId)
-
-def tags = new ArrayList()
-def tag = "${stackName}-${type}-${instanceId}${moreMetaData}"
-tags.add(new Tag("Name", tag))
-
-ec2Client.createTags(new CreateTagsRequest(resources, tags))
-
-println "Tagged instance as ${tag}"

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/groovy/wait_for_instances.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/wait_for_instances.groovy b/stack/awscluster/src/main/groovy/wait_for_instances.groovy
deleted file mode 100644
index fcd77b1..0000000
--- a/stack/awscluster/src/main/groovy/wait_for_instances.groovy
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-
-//
-// wait_for_instances.groovy
-//
-// Wait for enough Cassandra servers are up before proceding,
-// Enough means count greater than or equal to replication factor.
-//
-import com.amazonaws.auth.*
-import com.amazonaws.services.simpledb.*
-import com.amazonaws.services.simpledb.model.*
-
-
-if (args.size() !=2 )  {
-  println "this script expects two arguments.  wait_for_instances.groovy nodetype numberOfServers"
-  // You can even print the usage here.
-  return 1;
-}
-
-String nodetype = args[0]
-int numberOfServers = args[1].toInteger()
-
-
-NodeRegistry registry = new NodeRegistry();
-
-println "Waiting for ${numberOfServers} nodes of type ${nodetype} to register..."
-
-registry.waitUntilAvailable(nodetype, numberOfServers)
-
-println "Waiting done."


[15/50] [abbrv] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1241

Posted by sn...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1241


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

Branch: refs/heads/asf-site
Commit: 5cc39fb0fd1a3d5d8f206ae6d90e8abd2bcf24ca
Parents: bebfafc 07edc8b
Author: Mike Dunker <md...@apigee.com>
Authored: Thu Jan 28 10:00:30 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Thu Jan 28 10:00:30 2016 -0800

----------------------------------------------------------------------
 stack/pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------



[47/50] [abbrv] usergrid git commit: Fixes to new 2.1.0 (unreleased) deployment guide, and add it to the table of contents (that's why so many files changed)

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/searchindex.js
----------------------------------------------------------------------
diff --git a/content/docs/searchindex.js b/content/docs/searchindex.js
index 7189eb8..86d6380 100644
--- a/content/docs/searchindex.js
+++ b/content/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:46,filenames:["README","assets-and-files/file-storage-configuration","assets-and-files/folders","assets-and-files/legacy-asset-support","assets-and-files/retrieving-assets","assets-and-files/uploading-assets","counters-and-events/creating-and-incrementing-counters","counters-and-events/events-and-counters","counters-and-events/retrieving-counters","data-queries/advanced-query-usage","data-queries/operators-and-types","data-queries/query-parameters","data-queries/querying-your-data","data-storage/collections","data-storage/data-store-dbms","data-storage/entities","data-storage/optimizing-access","entity-connections/connecting-entities","entity-connections/disconnecting-entities","entity-connections/retrieving-entities","geolocation/geolocation","getting-started/creating-a-new-application","getting-started/creating-account","getting-started/using-a-sandbox-app","getting-started/using-the-api","index","installation/deployment-guide","installation/ug1-deploy-
 to-tomcat","installation/ug1-launcher-quick-start","installation/ug2-deploy-to-tomcat","introduction/async-vs-sync","introduction/data-model","introduction/overview","introduction/usergrid-features","jersey2skeleton/README","orgs-and-apps/admin-user","orgs-and-apps/application","orgs-and-apps/managing","orgs-and-apps/organization","push-notifications/adding-push-support","push-notifications/creating-and-managing-notifications","push-notifications/creating-notifiers","push-notifications/getting-started","push-notifications/managing-users-and-devices","push-notifications/overview","push-notifications/registering","push-notifications/tbd","push-notifications/troubleshooting","push-notifications/tutorial","push-notifications/users-devices","reference/contribute-code","reference/presos-and-videos","rest-endpoints/api-docs","sdks/ios-new","sdks/sdk-outline","sdks/tbd","security-and-auth/app-security","security-and-auth/authenticating-api-requests","security-and-auth/authenticating-users-a
 nd-application-clients","security-and-auth/changing-token-time-live-ttl","security-and-auth/facebook-sign","security-and-auth/revoking-tokens-logout","security-and-auth/securing-your-app","security-and-auth/user-authentication-types","security-and-auth/using-permissions","security-and-auth/using-roles","user-management/activity","user-management/group","user-management/groups","user-management/messagee-example","user-management/user-connections","user-management/user-management","user-management/working-user-data"],objects:{},objnames:{},objtypes:{},terms:{"005056c00008":72,"00767101f6b4f2cf5d02ed510dbcf0b4":67,"02e81ac5a17b":[2,10],"02e81adcf3d0":[5,6,8,13,15,18,19,24,53,64,65,66,67],"02e81ae236e9":67,"02e81ae61238":67,"02e81ae640dc":[2,66],"02e81ae66238":67,"02e81aeb2129":67,"02e81aeb26e9":67,"02e9sjwsf3d0":[15,53],"03ae956a":20,"0455fc92de2636fc7a176cc5d298bb78":67,"08fe":53,"0abe":[13,53],"0d7cf92a":[15,53],"0d7e":38,"0d7f":38,"0f1ff3650d20":[17,67,72],"10e":10,"10e10":10,"11api
 geeapsdestination11":40,"11e0":[8,72],"11e1":[2,24,31,35,38,66,67,72],"11e2":[2,5,6,8,10,12,13,15,18,19,24,38,53,64,65,66,67],"11e3":[5,13,15,17,18,19,20,24,53,59,65,67,72],"1231380a0284":66,"12313b01d5c1":[2,24,31,66],"12313b06ae01":66,"12313b06d112":66,"12313b111c56":38,"12313b122c56":[35,38],"12313d027361":38,"12313d027471":38,"12313d14bde7":67,"12313d1520f1":66,"12313d1c4491":[2,35,38,66],"12313d1c44914":66,"12313d1c5591":38,"12313d288ee0":38,"12313d288ff0":38,"12313d331ae8":66,"12313f0204b":72,"12313f0204bb":[8,72],"12313f0204bb8":72,"12331b144c65":35,"12331d1c5591":[35,38],"12424d1c4491":35,"174785aa":17,"19a0":[15,53],"1a62":[13,53],"1a9356ba":[13,15,53],"1bd100b8059e":[13,53],"1c8f60e4":72,"1f3567aa":66,"1px":51,"1st":52,"20adr":72,"20c57d4f41cf51f2db44165eb058b3b2":12,"20employe":67,"20or":15,"20titl":67,"20uuid":15,"20where":[67,72],"22000a1c4e22":67,"22000a1c5a67":[67,72],"2440ca58":66,"2482a1c5":66,"249f":20,"2ac6":2,"2ac8":2,"2d00":66,"2d21":2,"2e1db7299b0a667ed80e674a0
 ef9d653":5,"2nd":52,"31847b9a":[13,53],"3192ac6a":[13,53],"327b527f":[35,38],"328b526e":35,"328fe64a":[15,53],"335b527f":[35,38],"33dd0563":[35,38],"3400ba10":[2,38,66],"348388de":65,"34e26bc9":66,"3500ba10":38,"37f3":66,"382d0991":65,"38dc":15,"3bee":43,"3c1e":65,"3d1a9356ba":15,"3rd":26,"410b213a":[5,65],"411c466c4f2c":12,"417f":[17,67,72],"4353136f":72,"438a1ca1":8,"477d":67,"48c92c73":38,"496ca1d42ce7":[13,53],"49ff":66,"4a1edb70":[15,53],"4d2664c8e0c3":67,"4f511f12a386":43,"5005a0fa":67,"503f17da":24,"50gb":1,"5111c463":66,"5373d7165c2d":59,"53fe3700":[13,53],"563f5d96":66,"58606d0a":[18,19],"58e8":[67,72],"595955dff9ee4a706de9d97b86c5f0636fe24b43":26,"5ae1fa7a":[13,53],"5bb76bca":[13,15,53],"5bcc47ca":[18,19],"5bd5fa5f701f":53,"5c0c1789":[2,31],"5de0bb69":38,"5f4a65c16193":[15,53],"5wugd":58,"61c9":66,"62de5d97":24,"62fd53c78ce7":64,"65c8":38,"6640a601":2,"6715d5ef47a6":[15,53],"67cb":67,"698b":67,"699740088e05":6,"6a42":66,"6b07e44495ef":65,"6be0003c809b":[13,53],"6c56ffda":1
 7,"6fbc8157":67,"6ldstnesaaaaakhdvglhmmu86_eoyxsjjqqd1ipz":[35,72],"74bb":65,"74d2d7da":67,"78c54a82":72,"7a0a1cba":43,"7bf47435":2,"7fb8d891":67,"802f":67,"81581bbaf055":[13,15,53],"8272c9b0":12,"83ceb9965c26":67,"83de":67,"83e9b7ea":[15,53],"84a5":72,"84c0":66,"84df":[15,53],"87b9":38,"884d":72,"89ab":[13,53],"8a2a":[15,53],"8a4c":64,"8ae3":43,"8ae8a6ea":72,"8bde":[18,19],"8cef":12,"8d05e96f700d":[13,53],"8d5c":24,"8dd1801e534c":17,"8e0cd3866ee20746c99e9a9825f38ad8":2,"8ea8":17,"903f":[13,15,53],"90f823ba15655b8cc8e3b4d63377576f":67,"917d":[15,53],"924d":10,"92c3":2,"92e2":12,"9501cda1":2,"95c8":[35,38],"96f6":66,"98b9":38,"9953085ea376":[5,65],"999e12039f87":53,"99a7":59,"99fd":17,"9a18":43,"9c1b":67,"9ce3":[15,53],"9d3a":6,"9de5":65,"9e75":17,"9e92":[15,53],"9efc8ad529d8":65,"9f80":20,"9ff6c621a7a4":[13,15,53],"9ffc":66,"____usergrid":27,"__weak":40,"_set":26,"boolean":[10,38,49,52],"byte":40,"case":[9,16,27,30,39,42,47,49,52,53,66,68,70],"catch":53,"class":[1,26,29,35,40,43,58,
 61,72],"default":[1,10,11,12,13,14,15,20,24,25,26,27,29],"export":[26,45,48,53],"final":[43,45],"float":10,"function":[6,30,33,43,60,63,66,67,68,69,71],"import":[23,24,30,31,33,39,42,43,48,56],"long":[10,31,40,49,68],"new":[6,9,13,15,16],"null":[6,43,60],"public":[35,43,45,72],"return":[10,11,12,13,16,19,20,24,28,30,35,38,43,45,49,52,58,59,60,61,64,66,67],"short":[22,66],"static":[26,27,43],"super":25,"throw":[39,47],"transient":29,"true":[10,12,18,19,24,26,27,28,29,35,38,40,43,52,60,65,67,72],"try":[22,23,28,35,39,40,47,53,56,60,64],"typeof":60,"var":[9,26,35,43,60],"void":[40,43],"while":[23,27,30,31,33,39,42,43,44,47,49,64,65],a065:66,a0dd:24,a0e5:[5,65],a0f7:66,a166:[5,6,8,13,15,18,19,24,53,64,65,67],a24f:[13,53],a407b1e7:[67,72],a51b:[15,53],a554b7fbd57a:24,a5c5:65,a668717b:67,a694:[18,19],a6e3:67,a71c:64,a72a:[13,15,53],a7e008061e10:[18,19],a7f7:[5,6,8,13,15,18,19,24,53,64,65,67],a9c1:53,abbrevi:[12,16,24,45],abil:[20,22,33,70,71],abl:[16,24,26,27,29,39,40,42,48,62,63,66,71,72
 ],about:[0,10,16,22,23,24,25,27,33,35,37,38,39,40,42,43,44],abov:[5,6,10,19,26,27,28,29,39,42,43,48,65,66],abstractbatch:26,abstractcomposit:26,ac46:[67,72],accept:[4,41,43,58,64],access:[2,13,14,15,16,19,21,22,23],access_token:[28,52,57,58,59,60],accessid:1,accesstokenrespons:25,accesstokenttl:59,accomplish:[40,61],accord:58,account:[12,15,16],achiev:70,acquaint:66,acquir:25,across:[8,16,40],act:[12,66,69],action:[2,5,6,7,8,12,13,14,15,16,17,18,19,24,25,26,27,33,35,36,38,39,40,48],activ:[5,10,12,18,19,20,22,24,25,26,27,29,31],activit:35,activityfe:25,actor:[35,38,52,66],actual:[16,39,42,48],add:[1,9,14,15,16,21,22,23,25],add_invoc:26,addit:[8,16,22,25],addobject:53,address:[12,24,26,27,35,38,39,42,45,49,52,58,72],addrol:25,adjust:[11,65],admin:[21,22,23,25,26,27,28,29],admin_password:58,admin_usernam:58,admin_users_require_activ:[26,27,29],admin_users_require_confirm:[26,27,29],admingmail:35,administr:[27,28,31,33,36,38,49,58,62,63,65],adminus:[35,38,52],adomain:72,adopt:[33,50],ad
 vantag:33,advertis:20,advis:62,ae1f:17,aec3:66,afad:66,affect:59,after:[6,10,24,28,30,39,40,42,43,48,58,60,62,65,69],again:[27,35,39,47],against:[18,29,36,57,58,62,64],aggreg:8,air:14,aizasyckxotbq7a9gojsslqzlod_yjefxxxxxxx:41,alert:[20,30,40,43,67,68],alerttext:40,alia:[65,72],all:[0,6,8],alloc:[40,43,53],allow:[7,10,12,20,24,26,27,29,31,33,38,40,43,45,48,49,60,63,64,65,66,67,68,70,71,72],allowajaxfilt:26,almost:71,alon:[39,42],along:[11,16,39,43,47],alreadi:[15,16,22,26,27,39,40,41,43,49,52,53,60,62,69],also:[1,2,6,7,8,11,13,15,16,21,26,28,29,31,33,35,36,38,39,40,41,42,43,48,49,52,58,60,61,62,64,66,67,68,69,70,72],alter:65,altern:[12,13,67,68],although:[13,15,35,40,66,67,72],alwai:[31,40],amazon:1,amazonaw:27,amount:[11,63,66],amuramoto:[5,15,53,59],analysi:33,analyt:22,analyz:[33,57,58,62,63],android:[24,25,30,32],androiddev:41,androidmanifest:48,anew:[39,47],ani:[5,6,8,10,12,14,15,16,20,26,29,30,31,33,35,37,40,43,48,52,56,57,58,59,62,63,64,65,66,67,69,70,71,72],annot:34,announc:
 44,anonym:[49,66,72],anoth:[12,16,23,39,40,42,47,48,57,66,69,70,72],answer:72,ant:64,anuff:51,anyon:[63,66],anyth:27,anytim:66,anywher:11,apachecon:51,apidocgener:0,apige:[24,39,40,43,44,45,48,51,53,67],apigeeapsdestin:40,apigeeapspayload:40,apigeecli:[43,53],apigeeclientrespons:[40,43,53],apigeecollect:53,apigeedatacli:40,apigeedataclientcompletionhandl:40,apigeemobileconfig:59,apikei:[41,60],apirequest:53,apirespons:43,apiresponsecallback:43,apn:25,app1:52,app2:52,app:[2,4,5,6,7,8,12,13,14,15,16,17,18,19],app_id:[15,52,66,67,72],app_nam:[36,59,61],app_uuid:[14,16],appdata:25,appdeleg:[40,43,48,53],appear:[19,29,41,45,52,66,69,70],append:[8,9,13,16,20,26,40,57,60],appid:[52,60],appl:[25,33],appledev:48,applenotifi:41,appleopt:43,appli:[24,29,59,62,64,65,70,71,72],applic:[2,4,5,6,7,8,12,13,14,15,16,17,18,19,20],application_client_secret:58,application_clientid:58,application_info:38,applicationdata:52,applicationdidbecomeact:43,applicationid:[35,38,43,52],applicationnam:[2,5,6,8,12,
 13,14,15,16,17,18,19,24,52,53,59,64,65,66,67,72],appnam:[9,43,48,58,60],appropri:[31,40,41,43,49,60],approv:[26,27,29],appservic:43,aps_develop:45,apspayload:40,arbitrari:[24,70],architectur:[14,27],archiv:26,area:[22,23,35,40,45,56,72],aren:[14,16],arg:[1,36,38,66,67],argument:[1,43],arm:62,around:[0,16,26],arrai:[10,12,14,15,16,19,24,52,53],arthur:[17,18,19,70,71],articl:[12,13,15,57,65],asc:11,ascend:11,ask:[12,48],aspect:[7,33],asset1:2,asset:1,assets_id:2,assign:[6,25,31,33,49],assist:45,associ:[5,10,13,19,20,21,24,31,33,38,39,40,41,42,43,45,48,49,52,53,56,58,59,61,63,65,67,69,71,72],assum:[16,29,43,48,57],async:25,asynchron:25,atistophan:35,atom:15,atop:48,attach:[4,5],attack:[56,62],attempt:[38,52,57],attribut:14,audio:[5,33],auth:[27,29,41,45,49,60],authent:[13,15,23],author:[28,37,41,43,45,57,59,60,66,71],author_uuid:16,authorid:[14,16],authorimag:16,authornam:16,authoruuid:16,authrespons:60,auto:[26,27,29],automat:[5,6,13,15,21,22,29,31,33,34,52,58,60,61,64,65,66,70],avail
 :[13,15,20,22,24,26,28,33,39,41,43,53,58,69,71],avatar:[12,24,66,67,72],avoid:[16,69],awai:16,awar:[10,20],awssdks3binarystor:1,b0c6:67,b11217fc:6,b1f7:[13,53],b24e:6,b2bd:67,b2e4:15,b31d:59,b36a:[2,31],b379:[5,65],b3aad0a4:53,b3u68vghi6fmeekn9wlogtzz0a:36,b3u6aaabmqz:58,b3u6zuz5_u8i:36,b4c6:2,b690:67,b6dd:66,b77ec8addc0d:67,b90c:67,b93d:72,baa:[26,35,38,40,41,45,56],back:[14,16,28,32,33,43,50,69],backend:[12,25,26,31,40],backslash:40,bad:[38,58,63],badg:[40,43],banner:7,bar1234b:72,bar:[24,32],barnei:[67,70],base:[0,13,20],baseurl:[26,43],bash:26,batch:11,baz:24,bcc1:8,bcf7:[2,35,38,66],bcf8:[35,38],bd397ea1:64,be04:[13,53],be08a5f9:38,be09a5f9:38,bean:[1,26],bearer:[28,41,57],beca:38,becaus:[14,20,23,27,39,47,52,58,62,63,66,69],becom:[11,12,20,27,33,45,66,67,68],been:[6,16,39,40,43,47,48,52,57,60,61,62,66],bef8:[35,38],befor:[0,1,22,23,25,26,30,39,40,42,43,45,47],begin:[8,11,25,26,37],behalf:58,behav:69,behavior:33,behind:[22,49,60],belong:[28,31,40,49,66,68],below:[13,14,15,16,26
 ,27,29,35,39,40,42,48,53,54,60,66,67,69,72],beneath:69,benefici:30,benefit:[14,27],besid:65,best:[11,12],better:[16,58,63],bewar:29,beyond:66,bike:10,bin:[26,29],binari:[26,33,57,58,62,63],binarystor:1,bit:14,blank:[45,65],block:30,blog:65,blue:43,board:69,boat:10,boavijt0oyrkjf:36,bodi:[6,16,35,36,38,40,52,59,66,67,72],book:[11,33,53],bool:43,bootstrap:[26,29],border:51,both:[6,14,17,29,30,31,40,43,50,52,63,71],bottom:10,bounc:16,bouncer:16,bounci:[14,16],box:[21,23,40,48,65,69,71],bracket:15,bread:[13,15,53],brief:[30,60],broad:[57,58,63],brows:[26,32],browser:[26,27,35,39,42,60],bucketnam:1,bug:32,buildcurl:60,built:[16,24,26,27,48,66],bunch:26,bundl:[43,48],busi:20,button:[7,21,23,35,39,42,45,47,48,65,69,72],button_click:[6,8],c2v7n61dy90mcdg78xixprxfdq:38,c2v7wedxiutzwekwdyslct_lydfvmmn:38,c5e707256e71:[15,53],california:[35,67,68],call:8,callback:[30,43,60],campaign:33,can:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,31,33,35,36,37,38,39,40,41,42,4
 3],cancel:25,cannot:[13,15,24,30,31,34,63],capabl:62,captcha:[35,52,72],captur:[12,16,20,33],car:10,care:[42,44,45],carefulli:63,carri:[37,41,48],cassandra:[14,16,25],cassandra_cluster_nam:26,cassandra_host:26,cassandraavail:26,cassandrastatu:26,cassanrda:26,cast:51,castl:[14,16],cat:28,catalina:[26,29],catalog:33,categori:[14,35,38,52],caus:[0,15,52],caution:59,cautiou:[57,58,63],ccc:51,cd0c:[2,35,38,66],cd0d:[35,38],cd789b00:67,cd796d0a:67,cdf1ce04c1c0:12,cdn:33,cede5b7:38,cede5b8:38,cell:0,center:[20,39,42,48],central:[0,1],cer:45,certain:[15,16,31,40,61,71],certif:[25,39,41,42],certsigningrequest:45,cf3e981c:35,cf4d981c:[35,38],cf9b:8,cfed:[18,19],chain:6,challeng:[24,35,52,72],chang:[0,1,25,26,27,29,31,48,52,57],changelog:26,channel:60,channelurl:60,charact:[11,66,72],characterist:[42,43],charset:[35,72],check:[23,26,27,28,29,43,48,60,63,64,65,66],checkbox:65,checksum:[2,5],chicago:72,choic:48,choos:[16,40,41,45],chose:48,circl:[33,66],circumst:61,cite:15,citi:[11,35,72],clara:
 51,classpath:1,clean:[0,27,28,29,35],cli:27,click:[7,16,21,23,37,39,40,41,42,45,47,48,65,69],client:[9,11,13,14,15,16,24,25,26,27,29,30,33,35,36,37],client_credenti:[36,52,58],client_id:[36,38,52,57,58,60],client_secret:[36,38,52,57,58],climb:16,clone:[0,26,27,29],close:48,closer:16,cloud:[1,4,5,26,33,39,42,45,48],clue:27,cluster:[26,27,29],cluster_nam:[26,29],cn0wtdxxkxmqlgzvtmubcp20fulczq:58,code:[1,11,16,24,25,26,27,28,30,32,33,34,39,40,42,43,44,45,47,48],codesign:48,coffe:14,colleagu:66,colleciton:53,collect:[4,5,12],collection_nam:13,collectionid:52,color:[10,43],column:[14,16],com:[2,4,5,6,8,12,13,14,15,16,17,18,19,20,24,26,27,28,29,31,35,36,38,40,41,43,45,48,49,53,58,59,60,61,64,65,66,67,69,70,71,72],combin:[16,34,39,40,42,62,72],come:[23,25,26,27,29],comma:[12,26,40,53,60,64],comma_separated_list_of_permission_nam:60,command:[0,22,26,27,28,29,48,60,67],comment:[33,43,66],commit:0,committ:50,common:[12,62,66,72],commonli:65,commun:[26,42,44,69],compani:[37,38,69],compar:[12,4
 2],comparison:[10,65],compil:[48,57,58,62,63],complet:[12,25,27,30,31,33],completedsuccessfulli:[40,43],completemsg:52,completionhandl:40,complex:[15,16,25,33],compliant:33,complic:27,compon:[31,33],compris:26,compromis:57,concept:[14,22],config:[26,29],confim:52,confirm:[26,27,29,35,38,39,47,52,69],confirm_email:[35,38,52],conflict:69,conform:10,conjunct:[33,71],connect:[0,2,5,12,16],connected_collect:[17,18],connected_ent:[17,18],connecteeid:43,connectent:43,connectentitiesasync:43,connecting_collect:[17,18],connecting_ent:[17,18],connectorid:43,consid:[39,47,58,62,65],consider:[57,58,63],consol:25,consoleappend:26,constrain:14,constructor:1,consult:22,consum:[33,66],contact:45,contain:10,containslook:11,containswil:11,content_typ:4,context:[1,33,43],contextu:33,continu:[11,30,45,69],contrast:[16,70],contribut:[25,32],contributor:[32,50],control:[26,33,42,45,59,62,65,72],conveni:[9,57,67,69],convent:31,conversionpattern:26,cooki:60,coordin:40,copi:[0,16,26,27,45,69],core:[26,28,29
 ,33,48],cores:29,correct:[34,39,47,49,60,69],correctli:29,correl:[39,42,43,47],correspond:[12,13,15,24,31,43,45,48,52,53],cost:33,costli:16,could:[2,11,16,30,42,43,57,58,62,63,67,68,70,71],couldn:43,count:[7,8,12,13,14,15,26,52,53,66],counter_nam:[6,8],coupl:[32,42],cours:26,cpu:42,creat:[2,5],createact:25,createadminus:25,createcollect:53,createent:[25,30],createev:25,creategroup:25,createnotif:25,createorg:25,createus:25,creation:[49,52,59,68],credenti:[25,26,27,29],criteria:33,cross:66,css:[35,48,72],cumul:6,curiou:22,curl:[4,5,6,8,9,11,12,13,15,17,18,19,20,26,28,29,35,36,38],current:[6,13,20,31,32,34,39,43,52,64,66,72],custom:[9,13],custom_id:9,custompayload:40,d0d7d0ba:12,d16344f5a0e1:20,d20976ff:67,d28c:24,d503:[2,31],d7a8:[15,53],d86a:12,d878de4r:59,d87edec7:66,d9693ec3:66,da448955:66,da4a50dc:15,da67:72,da71:72,da83:66,dai:[7,8,59],daili:8,dashboard:[39,60],data:1,databas:[11,14,16,20,25],datacli:[9,40,43,53,58,61],datastax:26,date:[10,40],dave:51,david:51,db1e60a0:[17,67,72
 ],dbf5228024a7:[18,19],dbm:[11,12,14,16],dc5d478e9c029853fbd025bed0dc51f8:24,debug:[39,42,43,48],decim:10,declar:43,decompil:62,dedic:6,defin:[7,14,15,23,31,43,53,56,58,59,64,65,66,67,71,72],definit:[52,64],deflat:41,degre:[40,59],deleat:52,deleg:53,delet:[11,12],deletecollect:53,deleteent:53,delimit:[10,64,68],deliv:[33,40,45,48,52],deliveri:[33,40,52],denot:[67,70],depend:[24,26,41,43,44,67,68],deploi:25,deploy:25,deploywar:26,desc:11,descend:11,describ:[11,12,13,15,16,20,24,37,41,43,45,48,49,56,57,58,60,65,67,69],descript:[4,5,6,8,11,13,14,15,17,18,19,25,26,31,35,36,37,38,40,45,49,52,53,58,63,64,65,66],design:[14,16,20,27,33,34,48,66,67,68,69,71],desir:45,desktop:[41,45],destin:[1,40],destinationsingledevic:40,destroi:61,detail:[13,15,22,31,33,35,36,37,38,39,40,41,42,52,58,60,65,66,67,70,72],detect:[5,20],determin:[20,34,66,72],dev:[29,39,41,42],develop:[10,20,23,26,31,32,33,39,40,41,42,45,48,62,69,71],devic:[5,18,19,20,21,24,25,31,33,39],device_id:40,deviceid:[40,43,52],devicere
 gistrationcallback:43,devicetoken:43,deviceuuid:43,dfr4d5m1mjmoeeogvpncm:59,diagram:[39,42],dialog:[21,23,35,45,48],did:15,didfailtoregisterforremotenotificationswitherror:43,didfinishlaunchingwithopt:43,didregisterforremotenotificationswithdevicetoken:43,differenti:33,dimens:71,diner:11,dino:[24,70],dir:0,direct:[0,16],directli:[0,36,45],directori:[0,26,27,28,29,48,50,60,69],disabl:[23,27,35,38,49,52],disk:45,displai:[8,11,20,48,49,52,60,65,66,68,69],displayemail:52,displayemailaddress:[35,38],displaymessag:43,displaynam:[35,38,52,66],dist:26,distanc:20,distance_in_met:20,distinctli:32,distribut:[14,16,62],div:[35,72],dk88fh4r:19,dlog4j:26,doctyp:[35,72],doe:[0,15,24,26,31,39,47,49,52,53,57,58,59,60,66,67,72],doesn:[14,16,23,39,43,47,48],dog:[15,24,30,67,68,70],dogcreatecallback:30,doge:[67,68],domain:[45,60],don:[26,27,39,42,44,48,62,66,72],done:[0,26,27,29,33,41,43,45,52,60,62,63,72],dot:[6,10],doubl:[29,40,45],down:[10,21,26,32,40,43,45,65],download:[25,26],drive:[1,33],drop:[21
 ,40,45,65],dropdown:21,dskiptest:[27,28,29],dtd:[35,72],due:[11,12,16,58],duplic:16,durat:[2,5,6,8,12,13,14,15,16,17,18,19,24,26,27,35,36,38,52,53,59,61,64,65,66,67,72],dure:[62,65],duti:65,e13743a7f1db7f4246badd6fd6ff54ff:72,e694:67,e7127751:67,e7d0:66,e8f5:[15,53],e94123890c7a:[15,53],e978:72,e97b:12,each:[0,6,7,8,10,12,13,14,15,16,20,23,24,26,31,35,39,40,42,45,49,52,53,54,60,63,65,66,67,72],earlier:[39,41,42,48],eas:33,easi:[0,33,71],easier:[9,11,12,16,23,24,39,62,67,70],easiest:65,easili:[6,20,31,33,62,71],easist:26,east:27,easy_instal:0,eb20e5bce407:17,ebc6f49d1fc4:[15,53],ec2:26,ec39:24,edit:[0,1,25,26,27,45],edort1:35,ee912c4b:10,ef0b:[15,53],effb:[15,53],effect:33,effici:[12,16],either:[1,13,17,52,57,60,65],elast:26,elastic_search_host:26,elasticsearch_cluster_nam:26,elasticsearch_host:26,elev:62,elimin:[33,57,62],els:[30,43,60],email:[12,24,26,27,28,29,31,35,38,42,45,49,52,58,66,67,69,72],email_address:[24,72],embed:29,embed_cod:51,employe:67,empti:[13,53,69],emul:[39,42],e
 nabl:[20,27,33,39,42,43,44,45,48,49,60,62,65,66],enabledremotenotificationtyp:43,enabledtyp:43,enclos:[12,52],encod:[9,11,12,15,41],end:8,end_tim:8,endpoint:[0,6,18,25,36,39],engag:[20,33],engin:[26,32],enhanc:20,enough:[23,48],ensur:[10,16,24,26,33,39,40,42,45,48,56,58,62],enter:[21,23,35,40,41,45,48,60,65,69,72],entir:[11,40,52],entit:16,entiti:[0,2],entity_nam:15,entity_typ:[15,53],entity_uuid:15,entityid1:52,entityid2:52,entityid:[52,53,65],entityproperti:52,entitytyp:[35,38,52,65],entri:[11,40,60],environ:[22,41,48,62],equal:[10,12,43,59],equiv:[35,72],equival:10,err:[30,43,60],error:[6,25,26,29,30,38],errorcod:52,errormessag:52,escap:[40,53],essenti:[48,71],establish:[52,66,71],etag:[2,5],etc:[26,32,49],evalu:[10,27],even:[8,11,16,26,27,31,42,57,58,62,63,70],event:6,everi:[8,9,24,31,57,62,63,65,67,68],everyth:[0,24,26],exact:[20,71],exactli:11,examin:[8,62],exampl:[0,1],except:[15,39,43,47,57,62],exchang:45,execut:[9,11,12,29,30],exhaust:62,exist:[5,6,15,16,20,26,27,38,43,49,5
 2,53,59,60,66,67],expect:[10,20,35,38,44,53,71],experi:[14,20,33,71],experiment:[23,56],expir:25,expires_in:[52,58],explain:[0,26,27],explan:30,explicit:45,explicitli:[43,57,61,65],expos:28,express:[10,11,26],extend:70,extens:69,extern:50,extract:[27,28,29,57,58,60,63],f18e8f6fb3bc:72,f315e5aa568a:[15,53],f322:53,f34f4222:[5,6,8,13,15,24,53,64,65,67],f399:66,f3a8061a:[15,53],f3aa:66,f3be262a:[15,53],f3teeg:36,f42752aa:53,f8zemolceecubwbqvsaaca:58,f_gubelxeecfrgbqvsaaca:58,facebook:[24,25,33],facebookaccesstoken:60,facebooktoken:60,factor:[26,27],fail:[39,40,43],failur:[14,52],fals:[10,26,27,29,35,38,52],famili:[14,20],familiar:[16,22],faq:27,far:21,fast:14,favorit:[29,42,43,72],favoritecolor:43,fb_access_token:[49,60],fbasynchinit:60,fbasyncinit:60,fc4d:66,fdd3:38,fe80:35,fe90:[35,38],featur:[16,20,22,24,25],feed:[5,12,18,19,24,25,33],feel:29,few:[11,20,39,44,69,71],ffd79647:66,field:[1,11,15,33,35,40,41,45,52,65],fieldset:[35,72],file_loc:5,filenam:5,files:1,filter:[12,66,67,72],fi
 nd:[0,11,20,26,27,39,43],fine:[29,33],finish:[39,42,52,69],first:[0,10,11,12,13,16,22,24,29,30,35,39,41,44,45,47,48,49,53,62,65],first_nam:24,firstnam:[11,12,49],fish:28,fit:63,five_minut:8,fix:[39,47],flash:42,flexibl:[14,16,25,31],flow:[60,72],fluffi:28,fobnszewobnioerabnoiawegbrn:[5,65],focu:[24,33],folder:1,folk:26,follow:[0,2,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,28,29,30,31,37,39,40,41,42,43,45,47,48,49,52],foo9876a:72,foo:24,footprint:[42,44],forappl:43,force_refresh:29,ford:[18,19,70,71],forgot:72,fork:50,forkei:[40,53],form:[15,26,31,35,38,40,52,53],format:[0,2,12,13,14,15,20],fornotifi:43,fortun:8,forward:[39,41,42,43,60,67],found:[36,57,58],four:[58,63],foursquar:66,fragment:60,framebord:51,framework:[42,69],francisco:[20,35,67,68],fred:[11,67,70],free:[29,31,39],friend:[18,20,33,42,65,66],from:[0,4,9,11,12],full:[11,15,23,26,33,35,37,39,42,48,57,58,62,63,65,70],fulli:[24,29,53],further:[24,30,37,43,49,57,60,62],furthest:[11,20],futur:[15,62],g9qgaaaur
 v_lfq7uu6ayhjjjn7qcrgovnvu:59,gain:[57,62],game:[7,42],ganyo:48,gatewai:45,gaufeolxeecfrgbqvsaaca:58,gcm:25,gcm_sender_id:48,gcmregistrar:43,gcmsenderid:43,gener:[0,6,7,24,25,28,29,31,34],geo:25,geocoordin:20,geograph:11,geoloc:11,get:[2,4,8,11,12,13,14,15],getapigeedeviceid:43,getclient:43,getcollect:53,getconnect:43,getdatacli:43,getent:53,getloggedinus:43,getregistrationid:43,gettingstart:26,getuniquedeviceid:[40,43],getuuid:43,ggkaaqmaggkabge5ffm1aqcadqaq_9ewr_ozeeguwxixowauaqcadqaqablaovoaeeguwxixowauaqa:66,ggkaaqmaggkabge5mlfh7gcadqaqjikhxefqeegw9hixowbregcadqaqjnep6ufqeegw9hixowbrega:66,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz3soh_6qeegvybixoxisvga:38,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz4zbyf6qeegvybixoxisvga:35,ggkaaqmaggkabge7pehcgwcadqaqvj9dljfzeekg9wloguza3acadqaqvkvrctfzeekg9wloguza3aa:66,git:[0,26,50],github:[27,32,48,50],give:[6,16,23,24,32,33,42,45,59,64,65,71],given:[10,15,16,23,31,38,51,52,57,62],gladi:12,gmail:[29,35,66,72],goa
 l:[11,34],goe:[26,27],gold:28,good:[0,23,26,62],googl:[25,33,35],gool:[39,47],got:[39,42],gotten:[26,39,42],govern:[56,58,63,67],grain:33,grant:[24,52,57,58,60,62,63,65],grant_typ:[28,36,52,58,59],granular:[6,8],graph:[25,33],graph_async:29,graph_us:29,gravatar:[12,24,66,67,72],great:[33,49,65,67,68],greater:[10,11,59],greatest:63,green:26,groovi:0,group:[5,10,12,14,15,18,19,24,25,31],group_path:40,groupid:52,groupnam:[66,67],grouppath:67,groupproperti:52,gte:10,guarante:30,guest:[23,43,57,62,65,66,72],guid:9,guidanc:48,gzip:41,hacker:[57,58,62,63],had:40,half_hour:8,hand:16,handi:22,handl:[21,33,35,43,71],handlepushnotif:43,happen:[20,42],happi:[0,66],happy_cloud:5,hard:[1,63],hardwar:[39,42],hava:0,have:[0,12,14,15,16,19,22,24,26,29,31,32,36,38,39,40,41,42,43,48,49,52,58,59,60,62,63,65,66,67,68,69,71,72],haven:26,head:[35,72],header:[4,57],heap:26,heavi:42,hector:26,height:[51,52,66],hello:66,help:[7,11,14,26,29,31,33,56,58],her:[16,35,42],here:[2,12,16,20,24,26,27,28,29,31,42,50,
 60,66,67,69,72],hierarchi:[6,31,37,38,64,67],high:[14,16,40,42,43,44,56,59],higher:[28,63],highest:[37,38],highlight:16,hike:63,him:28,histori:40,hold:[5,53],home:20,homepag:6,host:[26,27,29,57,60],hostconfig:26,hostnam:[26,29],hotmail:38,hour:8,hous:16,howev:[8,11,12,13,15,29,30,31,39,42,48,49,60,62,65,66,69],href:[35,38,72],html4:[35,72],html5:[24,25,26,39],html:[0,26,35,45,48,52,60,69,72],htmldisplayemail:52,htmldisplayemailaddress:[35,38],http:[2,4,5,6,8,12,13,14,15,16,17,18,19,20],httpd:26,human:[35,72],hundr:11,hurrai:60,hystrix:29,icon:[45,66,69],idea:62,ident:[16,48],identif:[48,52],identifi:[9,16,31,35,41,43,45,49,53,72],ifram:51,illlustr:43,illustr:[14,39,40,42,43,56],imag:[2,4,5,14,33,39,42,48,52,66],imagemodel:25,imagin:[12,16,40,63],immedi:[33,40,65,72],immut:31,implement:[24,33,39,43,56,57,58,60,63,72],implicit:65,improv:[20,32,33],inact:[43,65],inbox:[49,66,68],includ:[6,11,12,14,15,16,21,22,23,24,26,31,33,35,39,40,41,42,43,48,52,53,57,58,59,60,62,65,67,72],incorpor:6
 9,incorrect:[24,35],increas:[13,20,33],increment_valu:6,index:[0,10,11,15,26,29,31,48,69],index_prefix:29,indic:[26,52,59,66,67],individu:[15,31,59,63],ineffici:[11,12,16],inflat:16,info:[26,35,52],inform:[4,8,11,12,13,14,15,16,20,22,24,27,31,33,35,37,39,40,41,42,43,45,48,49,50,53,56,57,60,62,66,67,69,70,72],infrastructur:[31,33],ing:66,inher:62,init:[26,40,53,60],initi:9,initwithobject:53,initwithorganizationid:43,inner:16,input:[35,72],insecur:62,insert:60,insid:24,instal:[0,9,22,24,25,26],instanc:[26,27,28,31,43,53,58,61,69],instead:[16,24,33,58,62,63],instruct:[0,26,27,39,60,69,72],integ:[11,52],integr:[20,24,33,39,60],intention:16,interact:[39,47],interest:[8,33],interfac:[27,69],intern:25,interpret:[24,64],intersect:10,intrins:24,introduct:[25,44],invalid:[49,60],invok:[39,42,43],iphon:69,isloggedin:43,isn:[14,22,24,43,56],iso:[35,72],isregisteredonserv:43,issu:[0,2],item:[10,12,13,15,24,40,53,66],items:13,itself:16,jan:26,jane:72,jar:[28,48],java:[0,26,27,28],java_opt:26,java
 script:[6,9,12,14,24,25,26,27,30,32,35,39],javscript:30,jdk:[26,27,28,29],jdoe57:31,jenni:16,jersei:34,jim:35,jin:51,jinm:35,job:65,joex:43,john:[24,31,58,66,67,72],johnson:51,join:16,jpeg:[2,4,5],jpg:[2,5,14,16],json:[10,12,14,15,16,19,24,26,28,31,35,36,40,41,53,60,66,67,71],json_arrai:15,json_object:15,just:[14,16,17,20,23,24,27,39,42,44,48,66,71],k88dh4f:18,kbundledsoundnamewithext:40,keep:[1,7,9,11,12,23,33,39,42,44,57,58,62,63],kei:[13,15,16,24,25,33,39,41,42,43,45,47],keychain:[45,48],keyspac:[27,29],keyword:15,kid:16,kind:[11,12,16],know:[8,26,42,45],knowledg:26,known:43,kravitz:12,kugclientresponsesuccess:43,label:35,lack:23,lag:30,languag:[10,14,15,24],larg:[0,10,11,66],last:[5,11,31,38,49,52],lastnam:[11,12,49],lat:40,latenc:30,later:[16,20,40,45],latest:[27,28,48],latitud:[11,20,40],latitude_coordin:20,launch:[8,26,39,42,43,45,47,48,62],launcher:25,launchopt:43,layer:28,layout:26,lceecubwbqvsaaca:58,learn:[22,23,25,33,39,42],least:[26,27],leav:[27,45,65],left:[21,32,40,41
 ,45,48,65,66,69],length:[2,5],less:[10,14,59,66],let:[8,26,28,33,40,42,65],letter:72,level:[6,8,14,15,21,22,23,25,26,28,31,33,36,37,38,39,40,43,48,56,57],leverag:[33,69],lib:[26,27,29,48],librari:[26,39,42,48],licens:26,lightweight:71,like:[0,2,5,8,10,14,16,17,18,19,23,26,27,29,30,33,35,39,40,42,49,60,62,64,65,66,68,69,70,71,72],liked_bi:70,limit:1,line:[0,16,26,27,28],linear:[14,27],linux:26,listen:42,live:[23,25,57],load:[28,60],localfilebinarystor:1,localhost:[26,27,28,29],localizeddescript:43,locat:5,log4:26,log4j:26,log:6,logger:26,login:[25,26],logincredenti:25,loginfacebook:60,loginus:43,logout:25,longer:[11,62],longitud:[11,20,40],longitude_coordin:20,look:[2,8,10,11,16,26,39,40,42,60,63,66,72],loos:[35,72],love:16,low:[42,44],lower:[6,10],lte:10,ltixndg0nduxndpvdjb0jwrevls1vcd0xvr3nwt0jrqq:11,lunch:42,mac:[39,42,45],machin:[26,45,48],made:[19,24,64,70],magic:16,mai:[0,6,9,10,13,15,23,26,31,40,41,43,48,52,61,62,65,67],mail:[27,29,31,67],mailer:[26,27,29],mailto:[35,38],main:
 [0,1,60],maintain:[16,60],mainten:32,make:[0,9,11,12,14,16,22,23,24,26,29,30,31,33,37,39,43,47,48,49,57,58,60,61,62,66,69,70,71,72],makefil:0,maker:14,malici:[56,57,58,63],manag:[5,11,12,22,23,25,26,27,28,29,31,32],managementappindexstatu:26,mandatori:[1,49,67,68,72],mani:[7,11,12,14,16,20,23,26,31,40,65,71],manual:[66,70],map:14,marginheight:51,marginwidth:51,market:42,massoddb:66,match:[11,15,26,29,39,47,48,53,64,72],matter:[33,39,42,48],mattress:14,maven:[0,27,28,29],max:29,maximum:[11,40,59],mayb:16,mean:[10,14,15,16,23,30,31,40,56,57,62,70,71],meant:66,meanwhil:30,measur:56,mechan:69,meet:27,member:[31,35,37,48,52,63,66,67,68],meme:[67,68],memori:[20,42],menu:[21,36,39,42,45,65,69],messag:[6,25,26,27,29,33,35],message:25,meta:[35,72],metadata:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,25,35,38],metadataproperti:52,meter:[11,20,40],method:[6,8,11,15,19],mfdsadfdsaoabl:66,microsecond:26,middl:49,middlenam:49,might:[7,8,9,11,12,14,15,16,22,26,27,29,31,33,36,39,40,42,43,45,47,62,65,
 67],mile:20,milk:[13,15,53],million:33,millisecond:[31,52,59],mimic:34,mind:[1,9,11,12,16,20,23,39,42],minim:[16,26,27,29,34],minimum:[31,36,38],minu:16,minut:[8,33],mix:24,moab:66,mobil:[14,16,20,23,25,36,39,41,42,43],model:14,modern:[31,66],modif:[49,68],modifi:[2,5,6,12,13,14,15,16,17,18,19,20,24,31,35,38,48,49,52,53,59,65,66,67,68,72],modul:6,monitor:[26,33],month:[8,33],more:[4,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,27,31,33,38,39,40,41,42,43],morn:8,most:[8,11,16,22,29,30,31,32,33,36,62,66,70,71,72],mountain:63,move:[26,43,48],much:[10,14,16,62,69],multi:[15,26,53],multipl:[0,11],must:[0,10,15,16,26,28,29,31,38,40,41,42,43,45,48,52,53,57,59,65,66,67,69,70,72],mustach:0,mvn:[27,28,29],my_app:[14,16,49,60],my_org:[14,16,49,60],myadmin:28,myapp:[12,28],myasset:2,mycollect:10,myfirstorg:28,mygroup:[66,67],mynewapp:[67,72],mynewgroup:67,mynewpassword:35,myorg:[12,67],mypassword:28,myself:[16,27,29],myuser:28,name:[1,2,4,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,23,24,26,27,28
 ,29,31,35,36,38,39,40,41,42,43,45,47,48,49,52,53,57,59,60,62,64,65,66,67,68,69,72],narrow:[10,65],nativ:[0,14,43,48],natur:[11,12],nav:[40,41,45],navig:[27,28,29,48],nearbi:20,nearest:[11,20],nearli:16,necessari:[16,33,39,42,43,48,65],need:[0,1,2,8,9,11,12,13,14,15,16,21,22,24,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,48,49,57,58,60,61,62,63,65,66,67,69,70,71,72],neg:6,nest:[15,31,53],net:[24,51],network:33,never:[23,25,36,57,58,59],new_password:[35,72],new_review_uuid:16,newdevicetoken:43,newent:53,newli:[45,52,64,66],neword:40,newpassword:[35,52,72],next:[10,11,13,21],nil:[43,53],node:[24,26,27,29,53,54,58,61],nodej:29,noisi:26,non:[14,16],none:65,normal:[4,15,16],nosql:[11,12,14],notat:[10,12,14],note__:72,notic:[5,16,19,26,60,66],notif:[20,22,25,26,27,29,31],notifc:52,notifi:[25,31,39],notificationid:52,notificationupd:25,notifier_nam:40,notifiernam:43,notify_sysadmin_of_new_admin_us:[26,27,29],notify_sysadmin_of_new_organ:[26,27,29],now:[26,27,28,29,40,42,48,60,69],nsarra
 i:53,nsdata:43,nsdictionari:[43,53],nserror:43,nsexcept:53,nslog:43,nsmutablearrai:53,nsmutabledictionari:[40,53],nsstring:[40,53],number:[6,7,11,12,13,14,26,31,33,39,42,45,47,48,52,62,65,66,72],number_of_replica:26,numebr:52,ob5ko:59,object:[5,9,10,12,14,15,24,25,31,33,35,36,38,40,43],objectforkei:43,objectproperti:52,objecttyp:[35,38,52],objectuuid:52,obtain:[49,57,59,60,62],occur:[7,20,39,47],occurr:11,octal:10,off:[27,40,43,60],offer:[20,23,24,33,62,70,71],offici:[26,69],often:[8,10,16,31,33,66],old:[35,52,72],old_password:[35,72],oldpassword:[35,72],omit:12,onc:[0,11,16,26,27,29,30,39,41,42,45,47,48,60,62,65,72],onexcept:43,ongo:[33,66],onli:[5,9,11,12,16,21,23,24,26,27,29,30,31,36,52,56,57,58,59,62,63,64,66,67,70,72],onlin:66,onrespons:43,oop:60,opdata:53,open:[14,16,23,25,29,32,48],optim:[11,12,14,16],option:[5,9,26,27,29,31,43,48,53,57,60],order:[2,10],orderl:11,org:[1,2,4,5,6,8,12,13,15,17,18,19,20,24,26,27,28,29,35,36,38,40,41,43,48,52],org_client_secret:58,org_clientid:58
 ,org_id:[15,52,66,67,72],org_nam:[36,38,59,61],org_uuid:[36,38],organ:[0,2,4,5,6,8,12,13,14,15,16,17,18,19,21,23,24,25,26,27,28,29],organizationnam:59,organizations_require_activ:[26,27,29],orgid:52,orgnam:[9,43,48,52,58,60],orguuid:52,origin:[45,67],originali:68,oscar:28,otherwis:26,our:[0,9,10,11,12,27,28,29,32,40,50,53,71],out:11,outbox:66,outgo:[26,29],outlin:5,output:[26,43,60],over:[8,42,59],overrid:[29,43,59],overrideurl:26,overview:[11,12,25,31],overwritten:15,own:[7,23,26,33,40,52,60,64,66,67,68,72],owner:[2,38,52,66,67],p12:[39,41,42],p12certif:41,packag:[26,27,60,69],page:[22,23,26,28,35,40,41,45,58,60],pair:[13,15,40,53],pane:[48,65],param:[2,5,6,8,12,13,14,15,16,17,18,19,24,43,53,59,64,65,66,67,72],paramet:[4,5,6,8,9],parenthes:10,pars:60,part:[9,11,12,16,20,24,26,40,45],parti:26,partial:[11,31],particular:[10,16,40,66],particularli:[14,16,64,66,70],partit:22,pass:[11,36,43],passiv:71,password:[24,25,26,27,28,29],path:[2,5,6,12,13,14,15,16,17,18,19,20,23,24,25,26,27,29,
 35,38,39,40,47,48,52,53,60],path_to_imag:16,pathnam:60,pattern:[43,52,64],patternlayout:26,payload:[40,48,52],peak:8,peopl:[7,31,66,67,68,69],per:[13,14,60,65],perceiv:30,perform:[4,5,13,14,16,18,26,30,33,35,37,39,49,57,58,63,64,66,68,72],period:[7,8,20,65],permiss:[5,12,18,19,23,24,25],persist:[24,28,29],person:[16,20,26,32,35,38,45,69],perspect:31,pertin:37,pet:28,phone:12,phone_numb:12,phone_typ:40,phonegap:25,photo:[20,71],physic:20,pictur:[4,5,12,20,24,49,52,67,72],pinterest:66,pip:0,place:[14,15,16,26,27,31,53,58,72],plai:[7,22,42],plain:4,plan:16,platform:[33,39,40,41,42,43,44,45,48],pleas:[10,35,40,57,59,65,70],plenti:0,plu:26,plug:[39,43,48],plugin:[43,48],plural:[13,15,31,52],png:16,point:[10,11,14,20,26,29,30,33,34,60,69],polici:[50,62],pop:69,popul:[67,69,71],popular:[33,69],popup:65,port:[26,27,28,29],portal:[21,22,23,25],portion:[40,52],pose:59,posit:[11,20],possibl:[16,39,42,43,47,62,70],post:[2,5,6,7,13,15,16,17,18,21,23,24,25,28,35,36,37,38,40,41,43,48,52],postal:11
 ,potenti:11,power:[20,28,31,33,51,58,63,70],practic:[11,12],precis:66,predefin:31,prefer:[11,24,27,39],prefix:36,prepar:62,present:[16,25],preserv:67,press:[39,47,48],prettyprint:26,prevent:[11,12],preview:0,previou:[45,66,69],previous:69,price:[10,13,15,53],primari:[16,49],prior:62,privaci:66,privat:33,privileg:38,probabali:26,probabl:[0,16,26,27,30],problem:29,process:[28,31,35,42,43,52,71],product:[14,16,21,23,25,26,27,31,40,41,45,56],product_uuid:[14,16],productid:16,productimag:16,productnam:16,productuuid:16,profil:[20,33,39,42],program:30,programat:21,programmat:[25,36],progress:40,project:[0,28,34,37,38,39,42,45,47,48,50,69],prompt:[27,48,60],prone:66,proof:[35,72],prop:53,proper:48,properit:20,properli:[28,30],properti:[1,4,5,6,9,10,11],properties____:27,property_1:[13,15],property_2:[13,15],property_nam:11,props1:53,props2:53,propti:35,protect:[56,58],protocol:[26,27,29,60,62],prototyp:60,provid:[6,8,11,13,14,15,20,21,24,26,29,31,33,35,36,38,40,41,42,43,45,48,49,52,53,54,5
 7,58,60,62,63,65,66,67,69,72],provis:[39,42],proxim:[11,20],pull:[32,42,43],pure:24,purpos:[10,23,26,27,31,36,65,71],push:[0,20,22,25],pushalert:40,pushapp:45,pushnotif:43,pushtest:48,pushtest_dev:41,put:[5,12,13,15],pw123:27,pwhere:29,python:0,qualifi:24,quantiti:10,query_stat:12,query_str:[67,72],querystat:52,querystr:53,queue:[40,52],queuedepth:26,quick:25,quicker:24,quickli:[11,12,16,31,33,71],quiet:26,quitwait:[27,29],quot:[12,40,52,53],radiu:40,raleigh:51,rang:8,rate:16,rather:[5,16,17,18,33,43,45],raw:0,rawrespons:[40,43],rdbm:[14,16],reach:[10,25,42],reactiv:25,read:[9,11,12,14,16,22,44,50,52,66],read_phone_st:48,readabl:16,readi:[11,22,26,29,69],readm:[0,39,43,50],real:52,reason:[42,67],recaptcha:[35,72],recaptcha_challeng:52,recaptcha_challenge_field:35,recaptcha_respons:52,recaptcha_response_field:35,recaptchaopt:35,receipt:[25,31],receiptid:52,receiv:[11,30,39,42,43,44,45,49,52,68,69,72],reciev:52,reciproc:70,recommend:[26,27,53,62],record:[31,33],recreat:[39,47],recurs:
 64,redefin:65,redirect:[26,27,29,48,60],redirect_root:[26,27,29],redirect_uri:60,reduc:[12,16],redund:16,regard:[6,31],regardless:15,regid:43,regionnam:1,regist:[25,33,39,41,42],registerdevic:43,registerdeviceforpushasync:43,registerforremotenotificationtyp:[39,42,43],registerpush:43,registerwithpushprovid:43,regularli:42,rel:[35,72],relat:[5,14],relationship:[16,17,18,19],releas:26,relev:[20,33,60,62,71],reli:16,rememb:[10,40,45,60,69],remind:16,remot:[20,43],remov:[23,25,27,35],removeent:53,renam:[26,31],repeat:69,replac:[1,16,48,60,69],replic:[26,27],replica:26,replication_factor:[27,29],repo:[26,27,29,50],report:[7,26,32],reposloc:1,repres:[11,14,21,24,31,33,35,38,39,41,43,52,63,64,66,67,72],represent:[11,15,24,31],request:2,requir:[0,6,13,17,18,20,23,25,26],resend:40,reserv:31,resetpw:[25,26,27,29,35],resetpwmsg:25,resolut:8,resourc:[0,1,24],resource_path:64,respect:57,respond:[39,47],respons:2,response_typ:60,restart:26,restaur:[11,20,42],restkit:69,restrict:[62,65],restructur
 edtext:0,result:[10,11,13],retri:40,revers:45,review_entity_json:16,review_uuid:16,reviewed_product_uuid:16,reviewedbi:16,reviewedin:16,revok:25,revoketoken:61,rich:[33,71],right:[16,24,26,30,42,65,66,69,71],rigid:31,risk:59,rock:10,rockadero:20,rocki:63,role:[5,10,12,18,19,21,23,24,25,31],roleid:52,rolenam:[5,12,18,19,24,49,52,65,67,68,72],roleproperti:52,roll:26,root:0,rootlogg:26,rout:[33,66],row:14,rpc:26,rubi:[24,53,54],rule:[10,23,56,58,62,63,64,65,67,72],run:[0,7,25,26],safe:63,sai:[8,57,58,66],sake:29,sale:42,same:[5,6,11,16,18,19,20,26,31,33,39,40,43,47,48,52,63,65,66,67,68,69],sampl:25,san:[20,35,67,68],sandbox:[5,15,22],santa:51,save:[5,15],scalabl:[14,16,27],scale:[16,26],scatter:16,scene:[49,60],schedul:[25,39],schema:[14,31,52,65],scope:[16,28,58,60,63],screen:[21,48,51],script:[0,26,35,63,72],scroll:51,sdk:[6,9,14,15,22],search:[8,11,26,33],second:[6,30,35,40,59,65,69],secondari:16,secret:[25,36,52],secretkei:1,section:[24,36,39,40,45,48,52,57,58,67,69,72],see:[2,4,8,
 9,10,11,12,13,14,15,19,20,21,22,23,24,26,27,28,29,31,33,35,36,37,38,39,40,41,42,43],seek:26,seen:66,segment:64,select:[10,11,12,16,21,23,24,40,41,45,48,65,67,69,72],self:[40,43,60],send:[1,4,9,11,12,19,20,25,28,33,35,38],sender:[39,42,45,47],senderid:48,sendmyselfapushnotif:40,sens:[16,33],sensit:[23,56],sent:[9,12,24,25,35,36,38],separ:[6,12,16,26,31,39,40,41,42,43,45,53,60,65],seri:[0,26],serv:[26,62,63,65],server:[11,23,26,27,30,33,36],servic:[1,12,20,23,24,25,26,28,33,35,37,38,39,40,41,42,43],servlet:26,session:[60,62],set:[0,4,5,6,8,11,12],setapiurl:43,setapplicationid:43,setdevicepushtoken:43,setenv:26,setlog:43,setobject:53,setorganizationid:43,settoken:60,setup:25,setvalu:40,sever:[1,24],share:[26,28,38,66,71],sharedappl:53,she:42,shell:[22,26],shoot:26,shorthand:11,should:[0,2,11,12,15,16,17,18,22,23,26,27,29,39,40,41,42,43,45,48,50,52,53,56,57,58,59,62,63,65,69],show:[12,13,16,39,40,53,65,69],shown:[9,10,11,12,13,15,19,26,35,39,40,42,47,48,57,60,66,67,72],side:[32,33,36,57
 ,58,60,62,63,69],sidebar:65,sign:[25,26,27,29,31,33],similar:[16,45,66,69],simpl:[0,14,16,23,27,31,33,39,69,71],simplest:26,simplestrategi:[27,29],simpli:[13,19,24,33,65,66,69],simplifi:[16,33],simultan:40,sinc:[10,11,30,57,63],singl:[8,12,14,15,16,26,27,31,33],singular:31,site:[41,45],six_dai:8,size:[10,26],skill:26,skim:[15,53],sku:[14,15,53],slash:[67,68],slate:65,slideshar:51,slideshow:51,slightli:14,slower:10,small:27,smith:11,smtp:[27,29],snippet:60,social:[20,25],softwar:[26,29],sojre5ywlkq7jrdcka:58,solid:51,solut:31,solv:33,some:[0,1,7,9,11,16,24,26,28,29,30,31,62,65,66,67,69],somegroup:67,someon:[8,40,65],somepassword:[27,59],somesubgroup:67,someth:[2,16,26,27],sometim:[0,14,39,47],someus:[24,27,59,61,65,67,72],soon:25,sort:[11,20,24],sound:[40,43],sourc:[0,14,16,25,26,32],space:16,span:[8,16],sparingli:63,special:[0,20,42,64,65,70],specif:[7,10,11,14,15,16,19,24,31,33,39,40,41,42,43,48,52,53,57,61,63,64,65,66,67,72],specifi:[6,11,12,13,15,17,18,19,20,24,26,27,37,38,40,41,
 43,52,53,57,58,59,64,66,67,69,72],split:8,sql:[10,16,33],squar:15,src:[0,1,35,48,51,72],ssl:[39,42],stack:[1,25],stage:29,standalon:28,standard:[20,24,26,43,48,62,63,72],standardengin:26,start:[8,11,12,14,16,22,24,25],start_tim:8,startintern:26,startup:[26,28],state:[24,35,43,52,60],statement:[12,30,52],statist:7,statu:[12,26,27,28,29,34,35,38,43,52,60,71],stdout:26,steventraut:[67,72],still:[22,39,47,62],stock:[13,15,27,42,53],stop:[11,40],store:[1,5,10,11,12],str:66,strateg:16,strategi:[27,29],stream:20,streamlin:[16,69],string:[9,10,11,12,13,15,16,31,35,36,38,40,43,49,52,53,57,60,66,67,68],stringifi:60,strong:35,stronger:20,structur:[16,24,28,37,70],struggl:66,style:[33,35,51,56,66,69,72],stylesheet:[35,72],sub_properti:15,subgroup:67,submit:[11,12,35,40,45,50,64,72],subproperti:53,subproperty1:53,subproperty2:53,subscrib:[66,67,68],subscript:[67,68,70],subsequ:[49,52,57,58,60],subset:[13,16,40],substitut:66,subtract:10,succe:[49,60,64],succeed:43,success:[26,27,30,48,52,53,62],s
 uccessfulli:[39,47],sudo:0,suffix:45,suggest:[20,23,32],suit:[58,63,65],summit:51,sungju:51,super_user_email:26,super_user_password:26,superadmin:27,superus:[26,27,29],suppli:[35,38,52,58],support:[0,8,10,14,16,20,22],suppos:15,supprt:48,sure:[21,23,26,29,39,42,47,48,56,62,69],swagger:[0,34],symbol:72,sync:25,synchron:25,sysadmin:[26,27,29],system:[0,14,26,27,29,31,43,45,49,50,52,59,66,67,69,72],tab:[39,41,42,48,65],tabbi:10,tag:[26,43,52,60],tail:26,take:[6,11,16,29,30,33,45,56,58,62],taken:[20,43,60],tale:[10,11],talk:[29,51,62,69],tap:48,tar:[26,60],target:[0,25,27,28,29,33,39],task:65,team:[37,38,48,69],technic:60,techniqu:[11,16],technolog:48,tell:[26,39,42],temp:1,templat:[0,26,48],temporari:1,tempt:[16,45],tend:[67,68],termin:48,test12345:[35,38],test1234:72,test123:[35,38],test:[5,11,23,26,27,29,38,39,42,48,62,63,67,69],test_admin_user_email:26,test_admin_user_password:26,testadmin:58,testadminpw:58,testapp1:[36,38],testapp2:38,tester123:38,tester:52,testorg:[36,38],testpw:5
 8,text:[4,10,11,33,35,40,66,69,72],text_field:35,than:[0,5,6,8,10,11,12,13,16,17,18,27,33,43,45,48,59,62],thank:33,thei:[0,10,11,12,15,16,20,31,38,42,43,44,56,57,58,62,63,65,66,67,68,72],them:[0,6,9,10,11,12,16,23,24,26,33,39,40,42,43,48,58,60,63,65,66],theme:[16,35],themselv:72,thereaft:56,thereof:40,thi:[0,1,2,6,8,9,10,11,12,13,14,15,16,20,21,22,24,26,27,28,29,30,31,32,33,34,35,36,39,40,41,42,43,44,45,47,48,49,50,52,53,56,57,58,59,60,61,62,63,65,66,67,68,69,70,71,72],thing:[7,10,22,23,26,32,39,42,44,51,56,67,68,72],think:66,those:[11,16,26,29,42,43,48,50,56,57,58,62,63,66,72],though:[10,11,16,40,45,52],thousand:14,threadpool:29,three:[6,11,26,27,29,39,63,65,69],through:[14,16,21,33,36,37,38,43,45,49,52,56,60,62,63,66,67,72],thumb:23,tier:28,time:[6,7],timeout:29,timer:26,timestamp:[2,5,6,8,10,12,13,14,15,16,17,18,19,24,26,27,31,35,36,38,40,49,52,53,59,61,64,65,66,67,68,72],timinglogg:26,tip:[40,41,43,48],titl:[10,11,16,35,38,40,43,52,65,67,68,72],tld:[26,27,29],tmp:1,toctre:0,toda
 i:20,togeth:[0,63],token:[9,13,15,23,24,25,28,35,36,37,38,39,40,42,43,49],token_to_revok:61,tom:64,tomcat7:26,tomcat:25,too:0,tool:[9,11,12,25,33],top:[21,28,39,40,48,60,69],topic:[11,32,40,53,54,58,67,68,72],topolog:27,tostr:43,track:[6,7,49],trail:63,transactionst:43,transfer:24,transform:0,transit:[35,72],transport:[27,29],treat:[15,25],trend:33,tri:26,trial:24,troubl:26,troubleshoot:25,truli:33,trust:45,tsefia:35,ttl:25,ttl_in_millisecond:59,tupl:14,turn:[40,42,60],tutori:[22,25],tweet:[33,66],twitter:[33,66,69],two:[10,11,12,28,30,31,35,41,43,53,57,69,70,71],type:[2,4,5,6],typic:[10,24,31,72],udpat:0,uffff:10,uiapplic:[43,53],uiapplicationlaunchoptionsremotenotificationkei:43,uiremotenotificationtyp:43,uiremotenotificationtypealert:43,uiremotenotificationtypesound:43,unauthent:65,under:[23,27,40,45,48,58,61,62,65,69],underli:[14,43],understand:[31,48],unencod:[9,11,12],unexpect:52,unfamiliar:14,unfortun:0,unicod:10,uninstal:[39,47],union:10,uniqu:[15,31,41,43,45,49,52,60,67,68,
 69,72],unit:26,univers:31,unix:[6,26,40,49,52,68],unix_timestamp:40,unless:[0,40,49,57,60,63,69],unlik:[14,15,31],unlock:[39,47],unnecesari:62,unregist:65,unreleas:29,unsecur:62,unsent:25,until:[30,39,47,52,65],untrust:62,untrustworthi:25,unus:65,upcom:20,updatecollect:53,updatedent:53,updateent:53,upon:24,uptim:26,upward:6,uri:[2,5,6,8,9,12,13,14,15,16,17,18,19,24],url:[9,11,12,13,15,16,19],usag:8,usegrid:[24,25,26],user:[5,7,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26],user_uuid:16,user_uuid_or_usernam:61,usergrid_appl:29,usergrid_cluster_nam:26,usergriddatacli:[58,61],usergridsdk:60,userid:52,userinfo:43,usernam:[11,12,15,17,18,19,24,26,27,28,29,31,35,38,39,40,43,48,49,52,56,58,59,62,63,64,65,66,67,69,70,72],username_or_email:72,useruuid:43,usingnotifi:40,usr:26,usual:27,utc:[31,52],util:[28,31,33],uuid:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,31,35,36,38,40,43,49,52,53,59,60,64,65,66,67,68,72],uuid_for_selected_review:16,vagrant:26,vagrantfil:26,val:60,valid:[1,13,15,26,31,
 35,36,38,40,41,48,49,57,59,60,62,64,65,66,67,68,72],valu:[1,6,8,10,11],valuabl:33,value_1:[13,15],value_2:[13,15],vari:8,variabl:[26,43,64],variei:26,varieti:[15,24,37,53,72],variety_1:53,variety_2:53,variety_3:53,variety_list:53,variou:[40,62],verb:[16,35,38,52,66],veri:[0,11,12,22,31,57,66],verifi:[41,45,48,56],version:[26,27,29,39,40,45,47,48,69],versu:66,via:[0,26,27,31,32,35,38,40,45],vibrat:48,video:[5,25,33,39,44],view:[8,16,26,27,29,39,40,42,45,48,63],virtual:[26,39,42],visit:[27,39,42,45],visitor:63,w3c:[35,72],wai:[6,11,12,14],wait:[11,30,39,43,47],walkthrough:[39,42,48],wall:66,want:[0,1,5,6,11],war:25,warn:[23,26,40,57,58,63,65],watch:[26,27,39],weakself:40,web:[12,14,16,26,27,28,36,39,41,42,45,48,49,58,60,62,63,71],webapp:[26,27,28],week:8,welcom:[26,27,29,32],well:[20,24,26,27,33,39,42,48,61,62,66,69,70,71,72],went:27,were:[11,12,20,48,67,68],what:[16,20,22],whatev:23,whatsoev:56,when:[0,5,9,10,11,12,15,16,17,20,23,24,25,26,27,29,30,31,33],whenev:60,where:[0,2,10,11,12
 ,16,20,22,23,24,26,29,31,39,40,45,48,49,60,62,66,72],whether:[41,49,52,57,71],which:[0,8,11,13,14,15,16,18,21,26,27,30,31,35,37,39,40,41,42,43,45,47,48,49,52,56,57,58,59,60,62,63,64,66,67,68,70,72],who:[16,32,33,50,52,56,58,62,65,66],whole:[15,52,53],whose:[11,12,19,24,39,42,43,47,65,72],why:27,wide:[63,72],width:[51,52,66],wiki:26,wildcard:[11,64],window:[22,26,43,45,48,60,69],wireless:20,wish:[13,26,31,40,72],within:[6,11,15,20,27,31,38,40,52,59,63,66,69],without:[11,29,57,65,72],won:[39,42,48,66],word:[11,13,14,15,16,39,42,66],work:[0,11,12,14,16,20,23,25,26,27,29,30,32,33,41],workflow:50,world:66,would:[4,8,9,11,16,19,20,26,27,35,57,59,60,62,63,64,66,67,68,70,72],wouldn:16,write:[14,16,56,69],written:[0,14,16,27,32,39,50],wrong:27,wrote:16,www:[12,24,26,35,48,51,60,66,67,72],xcode:[39,42,48],xcodeproj:48,xfbml:60,xml:[1,48],xput:26,yaml:0,yea:48,year:66,yellow:26,yet:[11,26,39,42,52,67],yhixpqk1cq:36,yml:29,you:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15],your:[0,1,4,5,6,7,8,9,10,11],y
 our_app_id:60,your_domain:60,your_redirect_url:60,your_response_typ:60,your_state_valu:60,yourapp:9,yourappnam:60,yourdomain:24,yourorg:9,yourorgnam:60,yourself:[26,39,47,48],ywmt4nqe8q9geelyjhixpsio4aaaato5fqfcg0ced2h9nwmdmrorknnreeqydof:35,ywmtfeewemyneektbnx3o4pu0qaaat8vzk3xz3utvzat0cosiym75c2qpigt79c:41,ywq6aaabmqz_xuyyeerokkjnzn7yqxxlpgml69fvaa:58,yxa65gylqja8ayysay8ox3vg5arzp48:36,yxa6aaabmq0d4mep_ugbza0:58,yxa7ygil:36,yxb7nad7em0meej989xixprxekq:58,yxb7nautv9krhhmr8ycw0qbozh2pxef:58,yxu6aaabmq0hdy4:58,zero:26,zip:60},titles:["Apache Usergrid Documentation","File storage configuration","Folders","&lt;no title&gt;","Retrieving assets","Uploading assets","Creating &amp; incrementing counters","Counters &amp; events","Retrieving counters","Advanced query usage","Query operators &amp; data types","Query parameters &amp; clauses","Querying your data","Collections","The Usergrid Data Store","Entities","Data Store Best Practices","Connecting entities","Disconnecting entities","Retrie
 ving connections","Geolocating your Entities","Creating a new application","Creating an Usergrid Account","Using a Sandbox Application","Using the API","Apache Usergrid Documentation","Usergrid 2.1.0 Deployment Guide","Usegrid 1: Deploying to Tomcat","Usegrid 1: Launcher Quick-start","Usergrid 2: Deploy to Tomcat","Async vs. sync calls","Usergrid Data model","Documentation Overview","Usergrid Features","jersey2skeleton","Admin user","Application","Organization &amp; application management","Organization","Adding push notifications support","Creating and managing notifications","Creating notifiers","Getting started with push notifications","Managing users and devices","Push notifications overview","Registering with a notification service","COMING IN USERGRID 2","Troubleshooting","Tutorial: Push notifications sample app","Users &amp; Devices","How to Contribute Code &amp; Docs","Presentations &amp; Videos","Methods","Usergrid iOS SDK","Usergrid SDK Documentation outline","COMING SOON.
 ..","Security &amp; token authentication","Authenticating API requests","Authenticating users &amp; app clients","Changing token expiration (time-to-live)","Facebook sign in","Revoking tokens (logout)","Security best practices","Authentication levels","Using permissions","Using roles","Activity","Working with group data","Groups","App Example - Messagee","Social Graph Connections","User management &amp; social graph","Working with User Data"],titleterms:{"default":[31,59,62,65],"new":[21,23],"return":72,"super":27,about:48,access:[24,52,57,62],accesstokenrespons:52,account:[22,69],acquir:62,action:52,activ:[33,35,38,52,53,54,66,71],activityfe:52,add:[26,27,60],addit:[26,48],addrol:52,admin:[35,38,40,41,52,53,54,58,61,63,65],advanc:9,all:[9,19,40],android:[39,42,43,47,48,69],apach:[0,25,51],api:[0,9,24,28,48,57],apn:[39,42,45],app:[20,39,44,45,47,48,51,52,53,54,58,60,62,69],appdata:52,appl:[39,41,42,45],applic:[21,23,31,33,36,37,38,52,53,54,58],asset:[2,4,5,33],assign:[53,54,64,65],a
 sync:30,asynchron:30,attach:9,audienc:26,authent:[24,33,53,54,56,57,58,63],backend:51,base:24,basic:12,batch:13,befor:48,begin:48,best:[16,62],between:0,build:[0,27,28,29,44,51,53,54],call:[9,30],can:44,cancel:40,cassandra:[26,27,51],certif:[45,48],chang:[59,72],claus:11,client:[38,44,53,54,57,58,62,69],code:50,collect:[13,24,31,52,53,54,68],come:[33,46,55],complet:35,complex:64,comput:16,configur:[1,26,27,48,63],connect:[17,19,39,43,53,54,70,71],consol:27,construct:24,contain:11,content:0,contribut:[50,51],counter:[6,7,8,53,54],creat:[6,13,15,21,22,23,35,36,38,40,41,44,45,48,53,54,59,60,65,66,67,69,70,72],createact:52,createadminus:52,createent:52,createev:52,creategroup:52,createnotif:52,createorg:52,createus:52,credenti:[36,38,52,53,54],curl:[40,43],cursor:11,custom:[15,27,53,54],data:[4,10,12,14,15,16,20,31,33,48,53,54,67,72],databas:[26,27],deal:0,decrement:6,delet:[13,15,40,53,54,67,72],denorm:16,deploi:[26,27,29],deploy:[26,29],descript:67,dev:48,devic:[40,43,44,49,52],dialog
 :60,differ:0,directli:48,disconnect:[18,53,54],displai:72,doc:[0,50],document:[0,25,32,50,54],download2:28,download:[27,28,48],draft:26,edit:62,elasticsearch:26,emul:47,end:26,endpoint:[40,41],enrich:20,entiti:[4,13,15,17,18,19,20,24,31,33,48,52,53,54],error:[39,47,52],event:[7,52,53,54],exampl:[4,5,6,8,13,15,26,27,29,35,36,38,53,54,58,59,60,61,64,65,66,67,69,72],expir:[40,59],facebook:[49,60],fail:47,featur:33,feed:[35,38,53,54,66,71],file:[0,1,26,27,29,33],find:44,flexibl:33,folder:2,follow:[53,54,66,70],form:72,format:24,from:[13,38,39,47,53,54,67],gcm:[39,42,45],gener:[36,38,45,48,53,54,68],geoloc:[20,33],get:[16,26,27,28,35,36,38,40,42,44,53,54,72],googl:[39,41,42,45],graph:[70,71],group:[33,40,52,53,54,66,67,68,71],guid:26,handl:72,hierarch:6,how:[0,39,42,50,51],html5:[43,69],http:[24,28,62],imagemodel:52,increment:[6,53,54],initi:[26,35],instal:[27,47,53,54],intend:26,intern:51,interv:[8,53,54],invalid_send:[39,47],invok:60,issu:24,itself:29,java:29,javascript:[43,60,69],jers
 ey2skeleton:34,kei:48,launcher:28,learn:44,let:72,level:[58,63],limit:11,link:2,list:2,live:59,local:[1,29],locat:[11,20,40],log:26,login:[27,33,53,54,58,60],logincredenti:52,logout:[53,54,61],manag:[33,37,40,43,44,53,54,71],markdown:0,messag:[39,40,47],message:69,metadata:52,method:[24,52],mismatchsenderid:[39,47],mobil:[51,62],model:[16,31,52],more:[44,48],multipl:[12,15,40,53,54],never:62,next:22,note:0,notif:[33,39,40,42,44,45,48,52],notifi:[40,41,44,48],notificast:40,notificationupd:52,oauth:[24,60],object:52,open:51,oper:10,order:11,org:[53,54],organ:[31,37,38,52,53,54,58],other:[0,48,53,54,70],out:16,outlin:54,overview:[32,42,44,51],p12:45,paramet:[11,40,67],parti:33,password:[35,53,54,72],path:64,permiss:[33,52,53,54,62,64],phonegap:[39,42,43,47,48],piec:39,portal:[26,29,40,41,65],post:[53,54,66],practic:[16,62],pre:16,preced:10,prerequisit:[0,42,44],prerequsit:26,present:51,product:62,profil:48,programmat:41,properti:[12,15,26,27,29,31,49,53,54,68],provis:48,publish:0,push:
 [33,39,42,44,47,48],put:16,queri:[9,10,11,12,16,20,24,33,53,54],quick:28,reach:44,reactiv:[35,38,53,54],receipt:[40,52],refer:[0,53,54],regist:[43,44,45,48],registr:33,relat:16,relationship:[33,49],relationshop:49,remov:[38,53,54,64,65,67],request:[4,5,6,8,12,13,15,17,18,19,24,35,36,38,40,57,58,59,61,64,65,66,67,72],requir:[27,28,29,39,41],reset:[6,35,53,54,72],resetpw:52,resetpwmsg:52,resourc:26,respons:[5,6,8,12,13,15,24,35,36,38,58,59,64,65,66,67,72],rest:[0,72],result:16,retriev:[2,4,8,12,13,15,16,19,38,53,54,66,67,72],review:[16,48,62],revok:[53,54,61],role:[33,52,53,54,62,65],root:26,rst:0,run:[27,28,29,48],sampl:[39,48],sandbox:[23,62],save:20,schedul:40,sdk:[24,29,53,54,58,60,69],secret:57,secur:[21,23,56,62],see:44,send:[39,44,47,48],sent:40,server:[39,47],servic:[45,48],set:[13,35,39,40,44,49,52,53,54,68],setup:[26,27,42,48,60],sign:[45,49,60],singl:40,social:[33,70,71],soon:[33,55],sourc:[51,53,54],sphinx:0,ssl:45,stack:[26,29],start:[26,27,28,42,44,53,54],step:[22,26,48,
 60,69,72],storag:[1,33],store:[14,16],stream:33,sub:[15,52,53,54],support:[24,39,44],sync:30,synchron:30,syntax:[4,5,6,8,12,13,15,17,18,19,58,59,61,64,65,67,72],tabl:0,target:40,third:33,time:[8,53,54,59],token:[52,53,54,56,57,59,61,62],tomcat:[26,27,29],tool:48,treat:62,tri:[39,47],troubleshoot:[39,44,47],ttl:59,tutori:[39,44,48],type:[10,19,52],unsent:40,untrustworthi:62,updat:[0,5,13,15,35,53,54,72],upload:5,uri:[35,36,38,66,67,72],url:[24,38],usag:[9,12],usegrid:[27,28],user:[27,33,35,38,40,43,44,49,52,53,54,58,61,63,66,67,69,71,72],usergrid:[0,14,22,25,26,27,29,31,33,46,48,51,53,54,69,72],valu:12,via:48,video:51,wai:[16,62],want:16,war:[26,27],websit:[0,50],what:[23,42,44],when:[39,47,59],work:[42,47,53,54,67,72],you:[16,44,48],your:[12,16,20,39,44,47,53,54,62]}})
\ No newline at end of file
+Search.setIndex({envversion:46,filenames:["README","assets-and-files/file-storage-configuration","assets-and-files/folders","assets-and-files/legacy-asset-support","assets-and-files/retrieving-assets","assets-and-files/uploading-assets","counters-and-events/creating-and-incrementing-counters","counters-and-events/events-and-counters","counters-and-events/retrieving-counters","data-queries/advanced-query-usage","data-queries/operators-and-types","data-queries/query-parameters","data-queries/querying-your-data","data-storage/collections","data-storage/data-store-dbms","data-storage/entities","data-storage/optimizing-access","entity-connections/connecting-entities","entity-connections/disconnecting-entities","entity-connections/retrieving-entities","geolocation/geolocation","getting-started/creating-a-new-application","getting-started/creating-account","getting-started/using-a-sandbox-app","getting-started/using-the-api","index","installation/deployment-guide","installation/ug1-deploy-
 to-tomcat","installation/ug1-launcher-quick-start","installation/ug2-deploy-to-tomcat","introduction/async-vs-sync","introduction/data-model","introduction/overview","introduction/usergrid-features","jersey2skeleton/README","orgs-and-apps/admin-user","orgs-and-apps/application","orgs-and-apps/managing","orgs-and-apps/organization","push-notifications/adding-push-support","push-notifications/creating-and-managing-notifications","push-notifications/creating-notifiers","push-notifications/getting-started","push-notifications/managing-users-and-devices","push-notifications/overview","push-notifications/registering","push-notifications/tbd","push-notifications/troubleshooting","push-notifications/tutorial","push-notifications/users-devices","reference/contribute-code","reference/presos-and-videos","rest-endpoints/api-docs","sdks/ios-new","sdks/sdk-outline","sdks/tbd","security-and-auth/app-security","security-and-auth/authenticating-api-requests","security-and-auth/authenticating-users-a
 nd-application-clients","security-and-auth/changing-token-time-live-ttl","security-and-auth/facebook-sign","security-and-auth/revoking-tokens-logout","security-and-auth/securing-your-app","security-and-auth/user-authentication-types","security-and-auth/using-permissions","security-and-auth/using-roles","user-management/activity","user-management/group","user-management/groups","user-management/messagee-example","user-management/user-connections","user-management/user-management","user-management/working-user-data"],objects:{},objnames:{},objtypes:{},terms:{"005056c00008":72,"00767101f6b4f2cf5d02ed510dbcf0b4":67,"02e81ac5a17b":[2,10],"02e81adcf3d0":[5,6,8,13,15,18,19,24,53,64,65,66,67],"02e81ae236e9":67,"02e81ae61238":67,"02e81ae640dc":[2,66],"02e81ae66238":67,"02e81aeb2129":67,"02e81aeb26e9":67,"02e9sjwsf3d0":[15,53],"03ae956a":20,"0455fc92de2636fc7a176cc5d298bb78":67,"08fe":53,"0abe":[13,53],"0d7cf92a":[15,53],"0d7e":38,"0d7f":38,"0f1ff3650d20":[17,67,72],"10e":10,"10e10":10,"11api
 geeapsdestination11":40,"11e0":[8,72],"11e1":[2,24,31,35,38,66,67,72],"11e2":[2,5,6,8,10,12,13,15,18,19,24,38,53,64,65,66,67],"11e3":[5,13,15,17,18,19,20,24,53,59,65,67,72],"1231380a0284":66,"12313b01d5c1":[2,24,31,66],"12313b06ae01":66,"12313b06d112":66,"12313b111c56":38,"12313b122c56":[35,38],"12313d027361":38,"12313d027471":38,"12313d14bde7":67,"12313d1520f1":66,"12313d1c4491":[2,35,38,66],"12313d1c44914":66,"12313d1c5591":38,"12313d288ee0":38,"12313d288ff0":38,"12313d331ae8":66,"12313f0204b":72,"12313f0204bb":[8,72],"12313f0204bb8":72,"12331b144c65":35,"12331d1c5591":[35,38],"12424d1c4491":35,"174785aa":17,"19a0":[15,53],"1a62":[13,53],"1a9356ba":[13,15,53],"1bd100b8059e":[13,53],"1c8f60e4":72,"1f3567aa":66,"1px":51,"1st":52,"20adr":72,"20c57d4f41cf51f2db44165eb058b3b2":12,"20employe":67,"20or":15,"20titl":67,"20uuid":15,"20where":[67,72],"22000a1c4e22":67,"22000a1c5a67":[67,72],"2440ca58":66,"2482a1c5":66,"249f":20,"2ac6":2,"2ac8":2,"2d00":66,"2d21":2,"2e1db7299b0a667ed80e674a0
 ef9d653":5,"2nd":52,"31847b9a":[13,53],"3192ac6a":[13,53],"327b527f":[35,38],"328b526e":35,"328fe64a":[15,53],"335b527f":[35,38],"33dd0563":[35,38],"3400ba10":[2,38,66],"348388de":65,"34e26bc9":66,"3500ba10":38,"37f3":66,"382d0991":65,"38dc":15,"3bee":43,"3c1e":65,"3d1a9356ba":15,"3rd":26,"410b213a":[5,65],"411c466c4f2c":12,"417f":[17,67,72],"4353136f":72,"438a1ca1":8,"477d":67,"48c92c73":38,"496ca1d42ce7":[13,53],"49ff":66,"4a1edb70":[15,53],"4d2664c8e0c3":67,"4f511f12a386":43,"5005a0fa":67,"503f17da":24,"50gb":1,"5111c463":66,"5373d7165c2d":59,"53fe3700":[13,53],"563f5d96":66,"58606d0a":[18,19],"58e8":[67,72],"595955dff9ee4a706de9d97b86c5f0636fe24b43":26,"5ae1fa7a":[13,53],"5bb76bca":[13,15,53],"5bcc47ca":[18,19],"5bd5fa5f701f":53,"5c0c1789":[2,31],"5de0bb69":38,"5f4a65c16193":[15,53],"5wugd":58,"61c9":66,"62de5d97":24,"62fd53c78ce7":64,"65c8":38,"6640a601":2,"6715d5ef47a6":[15,53],"67cb":67,"698b":67,"699740088e05":6,"6a42":66,"6b07e44495ef":65,"6be0003c809b":[13,53],"6c56ffda":1
 7,"6fbc8157":67,"6ldstnesaaaaakhdvglhmmu86_eoyxsjjqqd1ipz":[35,72],"74bb":65,"74d2d7da":67,"78c54a82":72,"7a0a1cba":43,"7bf47435":2,"7fb8d891":67,"802f":67,"81581bbaf055":[13,15,53],"8272c9b0":12,"83ceb9965c26":67,"83de":67,"83e9b7ea":[15,53],"84a5":72,"84c0":66,"84df":[15,53],"87b9":38,"884d":72,"89ab":[13,53],"8a2a":[15,53],"8a4c":64,"8ae3":43,"8ae8a6ea":72,"8bde":[18,19],"8cef":12,"8d05e96f700d":[13,53],"8d5c":24,"8dd1801e534c":17,"8e0cd3866ee20746c99e9a9825f38ad8":2,"8ea8":17,"903f":[13,15,53],"90f823ba15655b8cc8e3b4d63377576f":67,"917d":[15,53],"924d":10,"92c3":2,"92e2":12,"9501cda1":2,"95c8":[35,38],"96f6":66,"98b9":38,"9953085ea376":[5,65],"999e12039f87":53,"99a7":59,"99fd":17,"9a18":43,"9c1b":67,"9ce3":[15,53],"9d3a":6,"9de5":65,"9e75":17,"9e92":[15,53],"9efc8ad529d8":65,"9f80":20,"9ff6c621a7a4":[13,15,53],"9ffc":66,"____usergrid":27,"__weak":40,"_set":26,"boolean":[10,38,49,52],"byte":40,"case":[9,16,27,30,39,42,47,49,52,53,66,68,70],"catch":53,"class":[1,26,29,35,40,43,58,
 61,72],"default":[1,10,11,12,13,14,15,20,24,25,26,27,29],"export":[26,45,48,53],"final":[43,45],"float":10,"function":[6,30,33,43,60,63,66,67,68,69,71],"import":[23,24,30,31,33,39,42,43,48,56],"long":[10,31,40,49,68],"new":[6,9,13,15,16],"null":[6,43,60],"public":[35,43,45,72],"return":[10,11,12,13,16,19,20,24,28,30,35,38,43,45,49,52,58,59,60,61,64,66,67],"short":[22,66],"static":[26,27,43],"super":25,"throw":[39,47],"transient":29,"true":[10,12,18,19,24,26,27,28,29,35,38,40,43,52,60,65,67,72],"try":[22,23,28,35,39,40,47,53,56,60,64],"typeof":60,"var":[9,26,35,43,60],"void":[40,43],"while":[23,27,30,31,33,39,42,43,44,47,49,64,65],a065:66,a0dd:24,a0e5:[5,65],a0f7:66,a166:[5,6,8,13,15,18,19,24,53,64,65,67],a24f:[13,53],a407b1e7:[67,72],a51b:[15,53],a554b7fbd57a:24,a5c5:65,a668717b:67,a694:[18,19],a6e3:67,a71c:64,a72a:[13,15,53],a7e008061e10:[18,19],a7f7:[5,6,8,13,15,18,19,24,53,64,65,67],a9c1:53,abbrevi:[12,16,24,45],abil:[20,22,33,70,71],abl:[16,24,26,27,29,39,40,42,48,62,63,66,71,72
 ],about:[0,10,16,22,23,24,25,27,33,35,37,38,39,40,42,43,44],abov:[5,6,10,19,26,27,28,29,39,42,43,48,65,66],abstractbatch:26,abstractcomposit:26,ac46:[67,72],accept:[4,41,43,58,64],access:[2,13,14,15,16,19,21,22,23],access_token:[28,52,57,58,59,60],accessid:1,accesstokenrespons:25,accesstokenttl:59,accomplish:[40,61],accord:58,account:[12,15,16],achiev:70,acquaint:66,acquir:25,across:[8,16,40],act:[12,66,69],action:[2,5,6,7,8,12,13,14,15,16,17,18,19,24,25,26,27,33,35,36,38,39,40,48],activ:[5,10,12,18,19,20,22,24,25,26,27,29,31],activit:35,activityfe:25,actor:[35,38,52,66],actual:[16,39,42,48],add:[1,9,14,15,16,21,22,23,25],add_invoc:26,addit:[8,16,22,25],addobject:53,address:[12,24,26,27,35,38,39,42,45,49,52,58,72],addrol:25,adjust:[11,65],admin:[21,22,23,25,26,27,28,29],admin_password:58,admin_usernam:58,admin_users_require_activ:[26,27,29],admin_users_require_confirm:[26,27,29],admingmail:35,administr:[27,28,31,33,36,38,49,58,62,63,65],adminus:[35,38,52],adomain:72,adopt:[33,50],ad
 vantag:33,advertis:20,advis:62,ae1f:17,aec3:66,afad:66,affect:59,after:[6,10,24,28,30,39,40,42,43,48,58,60,62,65,69],again:[27,35,39,47],against:[18,29,36,57,58,62,64],aggreg:8,air:14,aizasyckxotbq7a9gojsslqzlod_yjefxxxxxxx:41,alert:[20,30,40,43,67,68],alerttext:40,alia:[65,72],all:[0,6,8],alloc:[40,43,53],allow:[7,10,12,20,24,26,27,29,31,33,38,40,43,45,48,49,60,63,64,65,66,67,68,70,71,72],allowajaxfilt:26,almost:71,alon:[39,42],along:[11,16,39,43,47],alreadi:[15,16,22,26,27,39,40,41,43,49,52,53,60,62,69],also:[1,2,6,7,8,11,13,15,16,21,26,28,29,31,33,35,36,38,39,40,41,42,43,48,49,52,58,60,61,62,64,66,67,68,69,70,72],alter:65,altern:[12,13,67,68],although:[13,15,35,40,66,67,72],alwai:[31,40],amazon:1,amazonaw:27,amount:[11,63,66],amuramoto:[5,15,53,59],analysi:33,analyt:22,analyz:[33,57,58,62,63],android:[24,25,30,32],androiddev:41,androidmanifest:48,anew:[39,47],ani:[5,6,8,10,12,14,15,16,20,26,29,30,31,33,35,37,40,43,48,52,56,57,58,59,62,63,64,65,66,67,69,70,71,72],annot:34,announc:
 44,anonym:[49,66,72],anoth:[12,16,23,39,40,42,47,48,57,66,69,70,72],answer:72,ant:64,anuff:51,anyon:[63,66],anyth:27,anytim:66,anywher:11,apachecon:51,apidocgener:0,apige:[24,39,40,43,44,45,48,51,53,67],apigeeapsdestin:40,apigeeapspayload:40,apigeecli:[43,53],apigeeclientrespons:[40,43,53],apigeecollect:53,apigeedatacli:40,apigeedataclientcompletionhandl:40,apigeemobileconfig:59,apikei:[41,60],apirequest:53,apirespons:43,apiresponsecallback:43,apn:25,app1:52,app2:52,app:[2,4,5,6,7,8,12,13,14,15,16,17,18,19],app_id:[15,52,66,67,72],app_nam:[36,59,61],app_uuid:[14,16],appdata:25,appdeleg:[40,43,48,53],appear:[19,29,41,45,52,66,69,70],append:[8,9,13,16,20,26,40,57,60],appid:[52,60],appl:[25,33],appledev:48,applenotifi:41,appleopt:43,appli:[24,29,59,62,64,65,70,71,72],applic:[2,4,5,6,7,8,12,13,14,15,16,17,18,19,20],application_client_secret:58,application_clientid:58,application_info:38,applicationdata:52,applicationdidbecomeact:43,applicationid:[35,38,43,52],applicationnam:[2,5,6,8,12,
 13,14,15,16,17,18,19,24,52,53,59,64,65,66,67,72],appnam:[9,43,48,58,60],appropri:[31,40,41,43,49,60],approv:[26,27,29],appservic:43,aps_develop:45,apspayload:40,arbitrari:[24,70],architectur:[14,27],archiv:26,area:[22,23,35,40,45,56,72],aren:[14,16],arg:[1,36,38,66,67],argument:[1,43],arm:62,around:[0,16,26],arrai:[10,12,14,15,16,19,24,52,53],arthur:[17,18,19,70,71],articl:[12,13,15,57,65],asc:11,ascend:11,ask:[12,48],aspect:[7,33],asset1:2,asset:1,assets_id:2,assign:[6,25,31,33,49],assist:45,associ:[5,10,13,19,20,21,24,31,33,38,39,40,41,42,43,45,48,49,52,53,56,58,59,61,63,65,67,69,71,72],assum:[16,29,43,48,57],async:25,asynchron:25,atistophan:35,atom:15,atop:48,attach:[4,5],attack:[56,62],attempt:[38,52,57],attribut:14,audienc:25,audio:[5,33],auth:[27,29,41,45,49,60],authent:[13,15,23],author:[28,37,41,43,45,57,59,60,66,71],author_uuid:16,authorid:[14,16],authorimag:16,authornam:16,authoruuid:16,authrespons:60,auto:[26,27,29],automat:[5,6,13,15,21,22,29,31,33,34,52,58,60,61,64,65,6
 6,70],avail:[13,15,20,22,24,26,28,33,39,41,43,53,58,69,71],avatar:[12,24,66,67,72],avoid:[16,69],awai:16,awar:[10,20],awssdks3binarystor:1,b0c6:67,b11217fc:6,b1f7:[13,53],b24e:6,b2bd:67,b2e4:15,b31d:59,b36a:[2,31],b379:[5,65],b3aad0a4:53,b3u68vghi6fmeekn9wlogtzz0a:36,b3u6aaabmqz:58,b3u6zuz5_u8i:36,b4c6:2,b690:67,b6dd:66,b77ec8addc0d:67,b90c:67,b93d:72,baa:[26,35,38,40,41,45,56],back:[14,16,28,32,33,43,50,69],backend:[12,25,26,31,40],backslash:40,bad:[38,58,63],badg:[40,43],banner:7,bar1234b:72,bar:[24,32],barnei:[67,70],base:[0,13,20],baseurl:[26,43],bash:26,batch:11,baz:24,bcc1:8,bcf7:[2,35,38,66],bcf8:[35,38],bd397ea1:64,be04:[13,53],be08a5f9:38,be09a5f9:38,bean:[1,26],bearer:[28,41,57],beca:38,becaus:[14,20,23,27,39,47,52,58,62,63,66,69],becom:[11,12,20,27,33,45,66,67,68],been:[6,16,39,40,43,47,48,52,57,60,61,62,66],bef8:[35,38],befor:[0,1,22,23,25,26,30,39,40,42,43,45,47],begin:[8,11,25,26,37],behalf:58,behav:69,behavior:33,behind:[22,49,60],belong:[28,31,40,49,66,68],below:[13,
 14,15,16,26,27,29,35,39,40,42,48,53,54,60,66,67,69,72],beneath:69,benefici:30,benefit:[14,27],besid:65,best:[11,12],better:[16,58,63],bewar:29,beyond:66,bike:10,bin:[26,29],binari:[26,33,57,58,62,63],binarystor:1,bit:14,blank:[45,65],block:30,blog:65,blue:43,board:69,boat:10,boavijt0oyrkjf:36,bodi:[6,16,35,36,38,40,52,59,66,67,72],book:[11,33,53],bool:43,bootstrap:[26,29],border:51,both:[6,14,17,29,30,31,40,43,50,52,63,71],bottom:10,bounc:16,bouncer:16,bounci:[14,16],box:[21,23,40,48,65,69,71],bracket:15,bread:[13,15,53],brief:[30,60],broad:[57,58,63],brows:[26,32],browser:[26,27,35,39,42,60],bucketnam:1,bug:32,buildcurl:60,built:[16,24,26,27,48,66],bunch:26,bundl:[43,48],busi:20,button:[7,21,23,35,39,42,45,47,48,65,69,72],button_click:[6,8],c2v7n61dy90mcdg78xixprxfdq:38,c2v7wedxiutzwekwdyslct_lydfvmmn:38,c5e707256e71:[15,53],california:[35,67,68],call:8,callback:[30,43,60],campaign:33,can:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,31,33,35,36,37,38,39
 ,40,41,42,43],cancel:25,cannot:[13,15,24,30,31,34,63],capabl:62,captcha:[35,52,72],captur:[12,16,20,33],car:10,care:[42,44,45],carefulli:63,carri:[37,41,48],cassandra:[14,16,25],cassandra_cluster_nam:26,cassandra_host:26,cassandraavail:26,cassandrastatu:26,cassanrda:26,cast:51,castl:[14,16],cat:28,catalina:[26,29],catalog:33,categori:[14,35,38,52],caus:[0,15,52],caution:59,cautiou:[57,58,63],ccc:51,cd0c:[2,35,38,66],cd0d:[35,38],cd789b00:67,cd796d0a:67,cdf1ce04c1c0:12,cdn:33,cede5b7:38,cede5b8:38,cell:0,center:[20,39,42,48],central:[0,1],cer:45,certain:[15,16,31,40,61,71],certif:[25,39,41,42],certsigningrequest:45,cf3e981c:35,cf4d981c:[35,38],cf9b:8,cfed:[18,19],chain:6,challeng:[24,35,52,72],chang:[0,1,25,26,27,29,31,48,52,57],changelog:26,channel:60,channelurl:60,charact:[11,66,72],characterist:[42,43],charset:[35,72],check:[23,26,27,28,29,43,48,60,63,64,65,66],checkbox:65,checksum:[2,5],chicago:72,choic:48,choos:[16,40,41,45],chose:48,circl:[33,66],circumst:61,cite:15,citi:[11,35
 ,72],clara:51,classpath:1,clean:[0,27,28,29,35],cli:27,click:[7,16,21,23,37,39,40,41,42,45,47,48,65,69],client:[9,11,13,14,15,16,24,25,26,27,29,30,33,35,36,37],client_credenti:[36,52,58],client_id:[36,38,52,57,58,60],client_secret:[36,38,52,57,58],climb:16,clone:[0,26,27,29],close:48,closer:16,cloud:[1,4,5,26,33,39,42,45,48],clue:27,cluster:[26,27,29],cluster_nam:[26,29],cn0wtdxxkxmqlgzvtmubcp20fulczq:58,code:[1,11,16,24,25,26,27,28,30,32,33,34,39,40,42,43,44,45,47,48],codesign:48,coffe:14,colleagu:66,colleciton:53,collect:[4,5,12],collection_nam:13,collectionid:52,color:[10,43],column:[14,16],com:[2,4,5,6,8,12,13,14,15,16,17,18,19,20,24,26,27,28,29,31,35,36,38,40,41,43,45,48,49,53,58,59,60,61,64,65,66,67,69,70,71,72],combin:[16,34,39,40,42,62,72],come:[23,25,26,27,29],comma:[12,26,40,53,60,64],comma_separated_list_of_permission_nam:60,command:[0,22,26,27,28,29,48,60,67],comment:[33,43,66],commit:0,committ:50,common:[12,62,66,72],commonli:65,commun:[26,42,44,69],compani:[37,38,69],c
 ompar:[12,42],comparison:[10,65],compil:[48,57,58,62,63],complet:[12,25,27,30,31,33],completedsuccessfulli:[40,43],completemsg:52,completionhandl:40,complex:[15,16,25,33],compliant:33,complic:27,compon:[31,33],compris:26,compromis:57,concept:[14,22],config:[26,29],confim:52,confirm:[26,27,29,35,38,39,47,52,69],confirm_email:[35,38,52],conflict:69,conform:10,conjunct:[33,71],connect:[0,2,5,12,16],connected_collect:[17,18],connected_ent:[17,18],connecteeid:43,connectent:43,connectentitiesasync:43,connecting_collect:[17,18],connecting_ent:[17,18],connectorid:43,consid:[39,47,58,62,65],consider:[57,58,63],consol:25,consoleappend:26,constrain:14,constructor:1,consult:22,consum:[33,66],contact:45,contain:10,containslook:11,containswil:11,content_typ:4,context:[1,33,43],contextu:33,continu:[11,30,45,69],contrast:[16,70],contribut:[25,32],contributor:[32,50],control:[26,33,42,45,59,62,65,72],conveni:[9,57,67,69],convent:31,conversionpattern:26,cooki:60,coordin:40,copi:[0,16,26,27,45,69],cor
 e:[26,28,29,33,48],cores:29,correct:[34,39,47,49,60,69],correctli:29,correl:[39,42,43,47],correspond:[12,13,15,24,31,43,45,48,52,53],cost:33,costli:16,could:[2,11,16,30,42,43,57,58,62,63,67,68,70,71],couldn:43,count:[7,8,12,13,14,15,26,52,53,66],counter_nam:[6,8],coupl:[32,42],cours:26,cpu:42,creat:[2,5],createact:25,createadminus:25,createcollect:53,createent:[25,30],createev:25,creategroup:25,createnotif:25,createorg:25,createus:25,creation:[49,52,59,68],credenti:[25,26,27,29],criteria:33,cross:66,css:[35,48,72],cumul:6,curiou:22,curl:[4,5,6,8,9,11,12,13,15,17,18,19,20,26,28,29,35,36,38],current:[6,13,20,31,32,34,39,43,52,64,66,72],custom:[9,13],custom_id:9,custompayload:40,d0d7d0ba:12,d16344f5a0e1:20,d20976ff:67,d28c:24,d503:[2,31],d7a8:[15,53],d86a:12,d878de4r:59,d87edec7:66,d9693ec3:66,da448955:66,da4a50dc:15,da67:72,da71:72,da83:66,dai:[7,8,59],daili:8,dashboard:[39,60],data:1,databas:[11,14,16,20,25],datacli:[9,40,43,53,58,61],datastax:26,date:[10,40],dave:51,david:51,db1e60a
 0:[17,67,72],dbf5228024a7:[18,19],dbm:[11,12,14,16],dc5d478e9c029853fbd025bed0dc51f8:24,debug:[39,42,43,48],decim:10,declar:43,decompil:62,dedic:6,defin:[7,14,15,23,31,43,53,56,58,59,64,65,66,67,71,72],definit:[52,64],deflat:41,degre:[40,59],deleat:52,deleg:53,delet:[11,12],deletecollect:53,deleteent:53,delimit:[10,64,68],deliv:[33,40,45,48,52],deliveri:[33,40,52],denot:[67,70],depend:[24,26,41,43,44,67,68],deploi:25,deploy:25,deploywar:26,desc:11,descend:11,describ:[11,12,13,15,16,20,24,37,41,43,45,48,49,56,57,58,60,65,67,69],descript:[4,5,6,8,11,13,14,15,17,18,19,25,26,31,35,36,37,38,40,45,49,52,53,58,63,64,65,66],design:[14,16,20,27,33,34,48,66,67,68,69,71],desir:45,desktop:[41,45],destin:[1,40],destinationsingledevic:40,destroi:61,detail:[13,15,22,31,33,35,36,37,38,39,40,41,42,52,58,60,65,66,67,70,72],detect:[5,20],determin:[20,34,66,72],dev:[29,39,41,42],develop:[10,20,23,26,31,32,33,39,40,41,42,45,48,62,69,71],devic:[5,18,19,20,21,24,25,31,33,39],device_id:40,deviceid:[40,43,5
 2],deviceregistrationcallback:43,devicetoken:43,deviceuuid:43,dfr4d5m1mjmoeeogvpncm:59,diagram:[39,42],dialog:[21,23,35,45,48],did:15,didfailtoregisterforremotenotificationswitherror:43,didfinishlaunchingwithopt:43,didregisterforremotenotificationswithdevicetoken:43,differenti:33,dimens:71,diner:11,dino:[24,70],dir:0,direct:[0,16],directli:[0,36,45],directori:[0,26,27,28,29,48,50,60,69],disabl:[23,27,35,38,49,52],disk:45,displai:[8,11,20,48,49,52,60,65,66,68,69],displayemail:52,displayemailaddress:[35,38],displaymessag:43,displaynam:[35,38,52,66],dist:26,distanc:20,distance_in_met:20,distinctli:32,distribut:[14,16,62],div:[35,72],dk88fh4r:19,dlog4j:26,doctyp:[35,72],doe:[0,15,24,26,31,39,47,49,52,53,57,58,59,60,66,67,72],doesn:[14,16,23,39,43,47,48],dog:[15,24,30,67,68,70],dogcreatecallback:30,doge:[67,68],domain:[45,60],don:[26,27,39,42,44,48,62,66,72],done:[0,26,27,29,33,41,43,45,52,60,62,63,72],dot:[6,10],doubl:[29,40,45],down:[10,21,26,32,40,43,45,65],download:[25,26],draft:25,d
 rive:[1,33],drop:[21,40,45,65],dropdown:21,dskiptest:[27,28,29],dtd:[35,72],due:[11,12,16,58],duplic:16,durat:[2,5,6,8,12,13,14,15,16,17,18,19,24,26,27,35,36,38,52,53,59,61,64,65,66,67,72],dure:[62,65],duti:65,e13743a7f1db7f4246badd6fd6ff54ff:72,e694:67,e7127751:67,e7d0:66,e8f5:[15,53],e94123890c7a:[15,53],e978:72,e97b:12,each:[0,6,7,8,10,12,13,14,15,16,20,23,24,26,31,35,39,40,42,45,49,52,53,54,60,63,65,66,67,72],earlier:[39,41,42,48],eas:33,easi:[0,33,71],easier:[9,11,12,16,23,24,39,62,67,70],easiest:65,easili:[6,20,31,33,62,71],easist:26,east:27,easy_instal:0,eb20e5bce407:17,ebc6f49d1fc4:[15,53],ec2:26,ec39:24,edit:[0,1,25,26,27,45],edort1:35,ee912c4b:10,ef0b:[15,53],effb:[15,53],effect:33,effici:[12,16],either:[1,13,17,52,57,60,65],elastic_search_host:26,elasticsearch_cluster_nam:26,elasticsearch_host:26,elev:62,elimin:[33,57,62],els:[30,43,60],email:[12,24,26,27,28,29,31,35,38,42,45,49,52,58,66,67,69,72],email_address:[24,72],embed:29,embed_cod:51,employe:67,empti:[13,53,69],emu
 l:[39,42],enabl:[20,27,33,39,42,43,44,45,48,49,60,62,65,66],enabledremotenotificationtyp:43,enabledtyp:43,enclos:[12,52],encod:[9,11,12,15,41],end:[8,25],end_tim:8,endpoint:[0,6,18,25,36,39],engag:[20,33],engin:[26,32],enhanc:20,enough:[23,48],ensur:[10,16,24,26,33,39,40,42,45,48,56,58,62],enter:[21,23,35,40,41,45,48,60,65,69,72],entir:[11,40,52],entit:16,entiti:[0,2],entity_nam:15,entity_typ:[15,53],entity_uuid:15,entityid1:52,entityid2:52,entityid:[52,53,65],entityproperti:52,entitytyp:[35,38,52,65],entri:[11,40,60],environ:[22,41,48,62],equal:[10,12,43,59],equiv:[35,72],equival:10,err:[30,43,60],error:[6,25,26,29,30,38],errorcod:52,errormessag:52,escap:[40,53],essenti:[48,71],establish:[52,66,71],etag:[2,5],etc:[26,32,49],evalu:[10,27],even:[8,11,16,26,27,31,42,57,58,62,63,70],event:6,everi:[8,9,24,31,57,62,63,65,67,68],everyth:[0,24,26],exact:[20,71],exactli:11,examin:[8,62],exampl:[0,1],except:[15,39,43,47,57,62],exchang:45,execut:[9,11,12,29,30],exhaust:62,exist:[5,6,15,16,20,
 26,27,38,43,49,52,53,59,60,66,67],expect:[10,20,35,38,44,53,71],experi:[14,20,33,71],experiment:[23,56],expir:25,expires_in:[52,58],explain:[0,26,27],explan:30,explicit:45,explicitli:[43,57,61,65],expos:28,express:[10,11,26],extend:70,extens:69,extern:50,extract:[27,28,29,57,58,60,63],f18e8f6fb3bc:72,f315e5aa568a:[15,53],f322:53,f34f4222:[5,6,8,13,15,24,53,64,65,67],f399:66,f3a8061a:[15,53],f3aa:66,f3be262a:[15,53],f3teeg:36,f42752aa:53,f8zemolceecubwbqvsaaca:58,f_gubelxeecfrgbqvsaaca:58,facebook:[24,25,33],facebookaccesstoken:60,facebooktoken:60,factor:[26,27],fail:[39,40,43],failur:[14,52],fals:[10,26,27,29,35,38,52],famili:[14,20],familiar:[16,22],faq:27,far:21,fast:14,favorit:[29,42,43,72],favoritecolor:43,fb_access_token:[49,60],fbasynchinit:60,fbasyncinit:60,fc4d:66,fdd3:38,fe80:35,fe90:[35,38],featur:[16,20,22,24,25],feed:[5,12,18,19,24,25,33],feel:29,few:[11,20,39,44,69,71],ffd79647:66,field:[1,11,15,33,35,40,41,45,52,65],fieldset:[35,72],file_loc:5,filenam:5,files:1,filter:
 [12,66,67,72],find:[0,11,20,26,27,39,43],fine:[29,33],finish:[39,42,52,69],first:[0,10,11,12,13,16,22,24,29,30,35,39,41,44,45,47,48,49,53,62,65],first_nam:24,firstnam:[11,12,49],fish:28,fit:63,five_minut:8,fix:[39,47],flash:42,flexibl:[14,16,25,31],flow:[60,72],fluffi:28,fobnszewobnioerabnoiawegbrn:[5,65],focu:[24,33],folder:1,folk:26,follow:[0,2,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,28,29,30,31,37,39,40,41,42,43,45,47,48,49,52],foo9876a:72,foo:24,footprint:[42,44],forappl:43,force_refresh:29,ford:[18,19,70,71],forgot:72,fork:50,forkei:[40,53],form:[15,26,31,35,38,40,52,53],format:[0,2,12,13,14,15,20],fornotifi:43,fortun:8,forward:[39,41,42,43,60,67],found:[36,57,58],four:[58,63],foursquar:66,fragment:60,framebord:51,framework:[42,69],francisco:[20,35,67,68],fred:[11,67,70],free:[29,31,39],friend:[18,20,33,42,65,66],from:[0,4,9,11,12],full:[11,15,23,26,33,35,37,39,42,48,57,58,62,63,65,70],fulli:[24,29,53],further:[24,30,37,43,49,57,60,62],furthest:[11,20],futur:[
 15,62],g9qgaaaurv_lfq7uu6ayhjjjn7qcrgovnvu:59,gain:[57,62],game:[7,42],ganyo:48,gatewai:45,gaufeolxeecfrgbqvsaaca:58,gcm:25,gcm_sender_id:48,gcmregistrar:43,gcmsenderid:43,gener:[0,6,7,24,25,28,29,31,34],geo:25,geocoordin:20,geograph:11,geoloc:11,get:[2,4,8,11,12,13,14,15],getapigeedeviceid:43,getclient:43,getcollect:53,getconnect:43,getdatacli:43,getent:53,getloggedinus:43,getregistrationid:43,getuniquedeviceid:[40,43],getuuid:43,ggkaaqmaggkabge5ffm1aqcadqaq_9ewr_ozeeguwxixowauaqcadqaqablaovoaeeguwxixowauaqa:66,ggkaaqmaggkabge5mlfh7gcadqaqjikhxefqeegw9hixowbregcadqaqjnep6ufqeegw9hixowbrega:66,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz3soh_6qeegvybixoxisvga:38,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz4zbyf6qeegvybixoxisvga:35,ggkaaqmaggkabge7pehcgwcadqaqvj9dljfzeekg9wloguza3acadqaqvkvrctfzeekg9wloguza3aa:66,git:[0,26,50],github:[27,32,48,50],give:[6,16,23,24,32,33,42,45,59,64,65,71],given:[10,15,16,23,31,38,51,52,57,62],gladi:12,gmail:[29,35,66,72],goa
 l:[11,34],goe:[26,27],gold:28,good:[0,23,26,62],googl:[25,33,35],gool:[39,47],got:[39,42],gotten:[26,39,42],govern:[56,58,63,67],grain:33,grant:[24,52,57,58,60,62,63,65],grant_typ:[28,36,52,58,59],granular:[6,8],graph:[25,33],graph_async:29,graph_us:29,gravatar:[12,24,66,67,72],great:[33,49,65,67,68],greater:[10,11,59],greatest:63,green:26,groovi:0,group:[5,10,12,14,15,18,19,24,25,31],group_path:40,groupid:52,groupnam:[66,67],grouppath:67,groupproperti:52,gte:10,guarante:30,guest:[23,43,57,62,65,66,72],guid:[9,25],guidanc:48,gzip:41,hacker:[57,58,62,63],had:40,half_hour:8,hand:16,handi:22,handl:[21,33,35,43,71],handlepushnotif:43,happen:[20,42],happi:[0,66],happy_cloud:5,hard:[1,63],hardwar:[39,42],hava:0,have:[0,12,14,15,16,19,22,24,26,29,31,32,36,38,39,40,41,42,43,48,49,52,58,59,60,62,63,65,66,67,68,69,71,72],haven:26,head:[35,72],header:[4,57],heap:26,heavi:42,hector:26,height:[51,52,66],hello:66,help:[7,11,14,26,29,31,33,56,58],her:[16,35,42],here:[2,12,16,20,24,26,27,28,29,31,4
 2,50,60,66,67,69,72],hierarchi:[6,31,37,38,64,67],high:[14,16,40,42,43,44,56,59],higher:[28,63],highest:[37,38],highlight:16,hike:63,him:28,histori:40,hold:[5,53],home:20,homepag:6,host:[26,27,29,57,60],hostconfig:26,hostnam:[26,29],hotmail:38,hour:8,hous:16,howev:[8,11,12,13,15,29,30,31,39,42,48,49,60,62,65,66,69],href:[35,38,72],html4:[35,72],html5:[24,25,26,39],html:[0,35,45,48,52,60,69,72],htmldisplayemail:52,htmldisplayemailaddress:[35,38],http:[2,4,5,6,8,12,13,14,15,16,17,18,19,20],httpd:26,human:[35,72],hundr:11,hurrai:60,hystrix:29,icon:[45,66,69],idea:62,ident:[16,48],identif:[48,52],identifi:[9,16,31,35,41,43,45,49,53,72],ifram:51,illlustr:43,illustr:[14,39,40,42,43,56],imag:[2,4,5,14,33,39,42,48,52,66],imagemodel:25,imagin:[12,16,40,63],immedi:[33,40,65,72],immut:31,implement:[24,33,39,43,56,57,58,60,63,72],implicit:65,improv:[20,32,33],inact:[43,65],inbox:[49,66,68],includ:[6,11,12,14,15,16,21,22,23,24,26,31,33,35,39,40,41,42,43,48,52,53,57,58,59,60,62,65,67,72],incorpor
 :69,incorrect:[24,35],increas:[13,20,33],increment_valu:6,index:[0,10,11,15,26,29,31,48,69],index_prefix:29,indic:[26,52,59,66,67],individu:[15,31,59,63],ineffici:[11,12,16],inflat:16,info:[26,35,52],inform:[4,8,11,12,13,14,15,16,20,22,24,27,31,33,35,37,39,40,41,42,43,45,48,49,50,53,56,57,60,62,66,67,69,70,72],infrastructur:[31,33],ing:66,inher:62,init:[26,40,53,60],initi:9,initwithobject:53,initwithorganizationid:43,inner:16,input:[35,72],insecur:62,insert:60,insid:24,instal:[0,9,22,24,25,26],instanc:[26,27,28,31,43,53,58,61,69],instead:[16,24,33,58,62,63],instruct:[0,26,27,39,60,69,72],integ:[11,52],integr:[20,24,33,39,60],intend:25,intention:16,interact:[39,47],interest:[8,33],interfac:[27,69],intern:25,interpret:[24,64],intersect:10,intrins:24,introduct:[25,44],invalid:[49,60],invok:[39,42,43],iphon:69,isloggedin:43,isn:[14,22,24,43,56],iso:[35,72],isregisteredonserv:43,issu:[0,2],item:[10,12,13,15,24,40,53,66],items:13,itself:16,jan:26,jane:72,jar:[28,48],java:[0,26,27,28],java
 _opt:26,javascript:[6,9,12,14,24,25,26,27,30,32,35,39],javscript:30,jdk:[26,27,28,29],jdoe57:31,jenni:16,jersei:34,jim:35,jin:51,jinm:35,job:65,joex:43,john:[24,31,58,66,67,72],johnson:51,join:16,jpeg:[2,4,5],jpg:[2,5,14,16],json:[10,12,14,15,16,19,24,26,28,31,35,36,40,41,53,60,66,67,71],json_arrai:15,json_object:15,just:[14,16,17,20,23,24,27,39,42,44,48,66,71],k88dh4f:18,kbundledsoundnamewithext:40,keep:[1,7,9,11,12,23,33,39,42,44,57,58,62,63],kei:[13,15,16,24,25,33,39,41,42,43,45,47],keychain:[45,48],keyspac:[27,29],keyword:15,kid:16,kind:[11,12,16],know:[8,26,42,45],knowledg:26,known:43,kravitz:12,kugclientresponsesuccess:43,label:35,lack:23,lag:30,languag:[10,14,15,24],larg:[0,10,11,66],last:[5,11,31,38,49,52],lastnam:[11,12,49],lat:40,latenc:30,later:[16,20,40,45],latest:[27,28,48],latitud:[11,20,40],latitude_coordin:20,launch:[8,26,39,42,43,45,47,48,62],launcher:25,launchopt:43,layer:28,layout:26,lceecubwbqvsaaca:58,learn:[22,23,25,33,39,42],least:[26,27],leav:[27,45,65],left:
 [21,32,40,41,45,48,65,66,69],length:[2,5],less:[10,14,59,66],let:[8,26,28,33,40,42,65],letter:72,level:[6,8,14,15,21,22,23,25,26,28,31,33,36,37,38,39,40,43,48,56,57],leverag:[33,69],lib:[26,27,29,48],librari:[26,39,42,48],licens:26,lightweight:71,like:[0,2,5,8,10,14,16,17,18,19,23,26,27,29,30,33,35,39,40,42,49,60,62,64,65,66,68,69,70,71,72],liked_bi:70,limit:1,line:[0,16,26,27,28],linear:[14,27],linux:26,listen:42,live:[23,25,57],load:[28,60],localfilebinarystor:1,localhost:[26,27,28,29],localizeddescript:43,locat:5,log4:26,log4j:26,log:6,logger:26,login:[25,26],logincredenti:25,loginfacebook:60,loginus:43,logout:25,longer:[11,62],longitud:[11,20,40],longitude_coordin:20,look:[2,8,10,11,16,26,39,40,42,60,63,66,72],loos:[35,72],love:16,low:[42,44],lower:[6,10],lte:10,ltixndg0nduxndpvdjb0jwrevls1vcd0xvr3nwt0jrqq:11,lunch:42,mac:[39,42,45],machin:[26,45,48],made:[19,24,64,70],magic:16,mai:[0,6,9,10,13,15,23,26,31,40,41,43,48,52,61,62,65,67],mail:[27,29,31,67],mailer:[26,27,29],mailto:[
 35,38],main:[0,1,60],maintain:[16,60],mainten:32,make:[0,9,11,12,14,16,22,23,24,26,29,30,31,33,37,39,43,47,48,49,57,58,60,61,62,66,69,70,71,72],makefil:0,maker:14,malici:[56,57,58,63],manag:[5,11,12,22,23,25,26,27,28,29,31,32],managementappindexstatu:26,mandatori:[1,49,67,68,72],mani:[7,11,12,14,16,20,23,26,31,40,65,71],manual:[66,70],map:14,marginheight:51,marginwidth:51,market:42,massoddb:66,match:[11,15,26,29,39,47,48,53,64,72],matter:[33,39,42,48],mattress:14,maven:[0,27,28,29],max:29,maximum:[11,40,59],mayb:16,mean:[10,14,15,16,23,30,31,40,56,57,62,70,71],meant:66,meanwhil:30,measur:56,mechan:69,meet:27,member:[31,35,37,48,52,63,66,67,68],meme:[67,68],memori:[20,42],menu:[21,36,39,42,45,65,69],messag:[6,25,26,27,29,33,35],message:25,meta:[35,72],metadata:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,25,35,38],metadataproperti:52,meter:[11,20,40],method:[6,8,11,15,19],mfdsadfdsaoabl:66,microsecond:26,middl:49,middlenam:49,might:[7,8,9,11,12,14,15,16,22,26,27,29,31,33,36,39,40,42,43,
 45,47,62,65,67],mile:20,milk:[13,15,53],million:33,millisecond:[31,52,59],mimic:34,mind:[1,9,11,12,16,20,23,39,42],minim:[16,26,27,29,34],minimum:[31,36,38],minu:16,minut:[8,33],mix:24,moab:66,mobil:[14,16,20,23,25,36,39,41,42,43],model:14,modern:[31,66],modif:[49,68],modifi:[2,5,6,12,13,14,15,16,17,18,19,20,24,31,35,38,48,49,52,53,59,65,66,67,68,72],modul:6,monitor:[26,33],month:[8,33],more:[4,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,27,31,33,38,39,40,41,42,43],morn:8,most:[8,11,16,22,29,30,31,32,33,36,62,66,70,71,72],mountain:63,move:[26,43,48],much:[10,14,16,62,69],multi:[15,26,53],multipl:[0,11],must:[0,10,15,16,26,28,29,31,38,40,41,42,43,45,48,52,53,57,59,65,66,67,69,70,72],mustach:0,mvn:[27,28,29],my_app:[14,16,49,60],my_org:[14,16,49,60],myadmin:28,myapp:[12,28],myasset:2,mycollect:10,myfirstorg:28,mygroup:[66,67],mynewapp:[67,72],mynewgroup:67,mynewpassword:35,myorg:[12,67],mypassword:28,myself:[16,27,29],myuser:28,name:[1,2,4,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,23
 ,24,26,27,28,29,31,35,36,38,39,40,41,42,43,45,47,48,49,52,53,57,59,60,62,64,65,66,67,68,69,72],narrow:[10,65],nativ:[0,14,43,48],natur:[11,12],nav:[40,41,45],navig:[27,28,29,48],nearbi:20,nearest:[11,20],nearli:16,necessari:[16,33,39,42,43,48,65],need:[0,1,2,8,9,11,12,13,14,15,16,21,22,24,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,48,49,57,58,60,61,62,63,65,66,67,69,70,71,72],neg:6,nest:[15,31,53],net:[24,51],network:33,never:[23,25,36,57,58,59],new_password:[35,72],new_review_uuid:16,newdevicetoken:43,newent:53,newli:[45,52,64,66],neword:40,newpassword:[35,52,72],next:[10,11,13,21],nil:[43,53],node:[24,26,27,29,53,54,58,61],nodej:29,noisi:26,non:[14,16],none:65,normal:[4,15,16],nosql:[11,12,14],notat:[10,12,14],note__:72,notic:[5,16,19,26,60,66],notif:[20,22,25,26,27,29,31],notifc:52,notifi:[25,31,39],notificationid:52,notificationupd:25,notifier_nam:40,notifiernam:43,notify_sysadmin_of_new_admin_us:[26,27,29],notify_sysadmin_of_new_organ:[26,27,29],now:[26,27,28,29,40,42,48,6
 0,69],nsarrai:53,nsdata:43,nsdictionari:[43,53],nserror:43,nsexcept:53,nslog:43,nsmutablearrai:53,nsmutabledictionari:[40,53],nsstring:[40,53],number:[6,7,11,12,13,14,26,31,33,39,42,45,47,48,52,62,65,66,72],number_of_replica:26,numebr:52,ob5ko:59,object:[5,9,10,12,14,15,24,25,31,33,35,36,38,40,43],objectforkei:43,objectproperti:52,objecttyp:[35,38,52],objectuuid:52,obtain:[49,57,59,60,62],occur:[7,20,39,47],occurr:11,octal:10,off:[27,40,43,60],offer:[20,23,24,33,62,70,71],offici:[26,69],often:[8,10,16,31,33,66],old:[35,52,72],old_password:[35,72],oldpassword:[35,72],omit:12,onc:[0,11,16,26,27,29,30,39,41,42,45,47,48,60,62,65,72],onexcept:43,ongo:[33,66],onli:[5,9,11,12,16,21,23,24,26,27,29,30,31,36,52,56,57,58,59,62,63,64,66,67,70,72],onlin:66,onrespons:43,oop:60,opdata:53,open:[14,16,23,25,29,32,48],optim:[11,12,14,16],option:[5,9,26,27,29,31,43,48,53,57,60],order:[2,10],orderl:11,org:[1,2,4,5,6,8,12,13,15,17,18,19,20,24,26,27,28,29,35,36,38,40,41,43,48,52],org_client_secret:58,org
 _clientid:58,org_id:[15,52,66,67,72],org_nam:[36,38,59,61],org_uuid:[36,38],organ:[0,2,4,5,6,8,12,13,14,15,16,17,18,19,21,23,24,25,26,27,28,29],organizationnam:59,organizations_require_activ:[26,27,29],orgid:52,orgnam:[9,43,48,52,58,60],orguuid:52,origin:[45,67],originali:68,oscar:28,otherwis:26,our:[0,9,10,11,12,27,28,29,32,40,50,53,71],out:11,outbox:66,outgo:[26,29],outlin:5,output:[26,43,60],over:[8,42,59],overrid:[29,43,59],overrideurl:26,overview:[11,12,25,31],overwritten:15,own:[7,23,26,33,40,52,60,64,66,67,68,72],owner:[2,38,52,66,67],p12:[39,41,42],p12certif:41,packag:[26,27,60,69],pag

<TRUNCATED>

[44/50] [abbrv] usergrid git commit: Add DRAFT Usergrid 2.1.0 deployment guide and upgrade website to use Nanoc 4.

Posted by sn...@apache.org.
Add DRAFT Usergrid 2.1.0 deployment guide and upgrade website to use Nanoc 4.


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

Branch: refs/heads/asf-site
Commit: 3fbb7d47cb98c69f1a173e0c6ebff67826c471b3
Parents: 8bead20
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Feb 3 21:22:47 2016 -0800
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Feb 3 21:22:47 2016 -0800

----------------------------------------------------------------------
 .gitignore                                      |    3 +-
 content/community/index.html                    |    2 +-
 .../data-queries/operators-and-types.txt        |   25 +-
 .../_sources/installation/deployment-guide.txt  |  451 ++
 content/docs/_sources/introduction/overview.txt |    4 +-
 .../docs/data-queries/operators-and-types.html  |   39 +-
 content/docs/installation/deployment-guide.html |  758 ++
 content/docs/introduction/overview.html         |    9 +-
 content/docs/searchindex.js                     |    2 +-
 content/img/miked.jpg                           |  Bin 0 -> 36443 bytes
 docs/installation/deployment-guide.md           |  451 ++
 website/README.md                               |    4 +-
 website/crash.log                               |  143 -
 website/lib/default.rb                          |    4 +-
 website/nanoc.yaml                              |    2 +
 website/run.sh                                  |    2 +-
 website/tmp/checksums                           |    2 -
 website/tmp/compiled_content                    | 7076 ------------------
 website/tmp/dependencies                        |    6 -
 website/tmp/rule_memory                         |  Bin 5163 -> 0 bytes
 20 files changed, 1727 insertions(+), 7256 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index fd7cab0..dcf923b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ target
 # Icon must ends with two \r.
 Icon
 
+/website/tmp
 
 # Thumbnails
 ._*
@@ -89,4 +90,4 @@ sdks/dotnet/samples/notifications/packages/*
 
 
 /stack/rest_integration_tests/node_modules
-/stack/rest_integration_tests/config/override.js
\ No newline at end of file
+/stack/rest_integration_tests/config/override.js

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/community/index.html
----------------------------------------------------------------------
diff --git a/content/community/index.html b/content/community/index.html
index 20da571..2ff02f8 100644
--- a/content/community/index.html
+++ b/content/community/index.html
@@ -403,7 +403,7 @@
 				<p>George Reyes</p>
 			</div>
 			<div class="col-md-2 text-center">
-				<img src="/img/mike_d.jpg" />
+				<img src="/img/miked.jpg" />
 				<p>Mike Dunker</p>
 			</div>
 			<div class="col-md-2 text-center">

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/_sources/data-queries/operators-and-types.txt
----------------------------------------------------------------------
diff --git a/content/docs/_sources/data-queries/operators-and-types.txt b/content/docs/_sources/data-queries/operators-and-types.txt
index bb42107..8c0bb6a 100644
--- a/content/docs/_sources/data-queries/operators-and-types.txt
+++ b/content/docs/_sources/data-queries/operators-and-types.txt
@@ -41,6 +41,11 @@ The following operators and data types are supported by the SQL-like query langu
         <td>select * where quantity < '4000' and not quantity = '2000'</td>
     </tr>
     <tr>
+        <td>contains</td>
+        <td>Narrow by contained text</td>
+        <td>select * where title contains 'tale'</td>
+    </tr>
+    <tr>
         <td>and</td>
         <td>Union of results</td>
         <td>select * where quantity > '1000' and quantity < '4000'</td>
@@ -50,14 +55,24 @@ The following operators and data types are supported by the SQL-like query langu
         <td>Intersection of results</td>
         <td>select * where quantity = '1000' or quantity = '4000'</td>
     </tr>
-    <tr>
-        <td>contains</td>
-        <td>Narrow by contained text</td>
-        <td>select * where title contains 'tale'</td>
-    </tr>
 </table>
 
 
+### Precedence 
+
+The operators at the bottom of the above table are the ones with lower precedence. 
+When a query is evaluated the comparison operators (=, > , <, <= and >=) will be evaluated first.
+And next "not", "contains" and "or" will be evaluated and in that order.
+
+Though they are not shown above, parentheses are allowed and may be used to group query expressions.
+
+For example, given our rules of precedence, these two queries are equivalent:
+
+    select * where age > 6 or size = 'large' and color = 'tabby'
+    
+    select * where (age > 6 or size = 'large') and color = 'tabby'
+
+
 ## Data types
 
 As you develop queries, remember that entity properties each conform to a particular data type. For example, in the default entity User, the name property is stored as a string, the created date as a long, and metadata is stored as a JSON object. Your queries must be data type-aware to ensure that query results are as you expect them to be.

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/_sources/installation/deployment-guide.txt
----------------------------------------------------------------------
diff --git a/content/docs/_sources/installation/deployment-guide.txt b/content/docs/_sources/installation/deployment-guide.txt
new file mode 100644
index 0000000..86a7506
--- /dev/null
+++ b/content/docs/_sources/installation/deployment-guide.txt
@@ -0,0 +1,451 @@
+# Usergrid 2.1.0 Deployment Guide
+
+## DRAFT 
+
+This document explains how to deploy the Usergrid Backend-as-a-Service (BaaS), 
+which comprises the Usergrid Stack, a Java web application, and the Usergrid Portal,
+which is an HTML5/JavaScript application. 
+
+
+## Intended audience
+
+You should be able to follow this guide if you are a developer, system admin or 
+operations person with some knowledge of Java application deployment and good 
+knowledge of Linux and the bash shell.
+
+This guide is a starting point and does NOT explain everything you need to know to 
+run Usergrid at-scale and in production. To do that you will need some additional 
+skills and knowledge around running, monitoring and trouble-shooting Tomcat 
+applications, multi-node Cassandra & ElasticSearch clusters and more.
+
+
+## Prerequsites
+
+Below are the software requirements for Usergrid 2.1.0 Stack and Portal. 
+You can install them all on one computer for development purposes, and for 
+deployment you can deploy them separately using clustering.
+
+   * Linux or a UNIX-like system (Usergrid may run on Windows, but we haven't tried it)
+   
+   * [Java SE 8 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
+   
+   * [Apache Tomcat 7+](https://tomcat.apache.org/download-70.cgi)
+   
+   * [Apache Cassandra 1.2.1+](http://cassandra.apache.org/download/)
+   
+   * [ElasticSearch 1.4+](https://www.elastic.co/downloads/elasticsearch)  
+   
+Optional but helpful:
+
+   * An HTTP or REST client, such as [curl](http://curl.haxx.se)
+   * A web server such as [Apache HTTPD](https://httpd.apache.org) for running the Usergrid Portal
+      
+   
+## Getting Started
+
+Deploying Usergrid starts with downloaded the Apache Usergrid release. There are three ways to go:
+
+1. Clone the Usergrid Git repo, get the `usergrid-2.1.0` tag (not available yet) and build Usergrid yourself.
+2. Download the official Apache Usergrid 2.1.0 source-code release (not available yet) and build Usergrid
+3. Download the Apache Usergrid 2.1.0 binary release (not available).
+
+The easist way to go is option #3 and so that's what we will do in this document. 
+
+__Get started by downloading the Apache Usergrid 2.1.0__ binary release from the Usergrid releases page:
+
+* [Apache Usergrid Releases](https://usergrid.apache.org/releases)
+
+When you un-tar the Usergrid binary release, you will see a directory layout like this:
+
+    +-- apache-usergrid-2.1.0
+        |
+        +-- LICENSE
+        |
+        +-- NOTICE
+        |
+        +-- CHANGELOG
+        |
+        +-- stack
+        |   | 
+        |   + ROOT.war
+        |
+        +-- portal
+        |   |
+        |   +-- dist
+        |       |
+        |       + usergrid-portal.tar    
+        |
+        +-- sdks
+        |   |
+        |   +-- html5-javascript (JavaScript SDK and source)
+        |   | 
+        |   +-- java (Java SDK and source)
+        
+The files that you need for deploying Usergrid Stack and Portal are `ROOT.war` and `usergrid-portal.tar`.
+                    
+
+## Deploying the Usergrid Stack
+
+The Usergrid Stack is a Java EE web application that runs on Tomcat, 
+uses the Cassandra database for storage and the ElasticSearch search-engine for queries.
+ 
+Before installing the Usegrid Stack into Tomcat, you'll start by setting up the 
+required database and search engine nodes. 
+ 
+   
+### Stack STEP #1: Setup Cassandra 
+
+Usergrid needs access to at least one Apache Cassandra node. You can setup a single node of
+Cassandra on your computer for development and testing. For production deployment, 
+a three or more node cluster is recommended.
+
+__Use the right Java.__ Cassandra requires Java and we recommend that you use the same version of Java 
+for Cassandra as you use to run Tomcat and ElasticSearch.
+
+__Refer to the [Apache Cassandra documentation](http://wiki.apache.org/cassandra/GettingStarted) 
+for instructions on how to install Cassandra__. The [Datastax documentation for Cassandra 1.2](http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html) is also helpful. 
+Once you are up and running make a note of these things:
+
+   * The name of the Cassandra cluster
+   * Hostname or IP address of each Cassandra node
+   * Port number used for Cassandra RPC (the default is 9160)
+   * Replication factor of Cassandra cluster
+   
+
+### Stack STEP #2: Setup ElasticSearch
+
+Usergrid also needs access to at least one ElasticSearch node. As with Cassandra, 
+you can setup single ElasticSearch node on your computer, and you should run 
+a cluster in production.
+
+__Use the right Java__. ElasticSearch requires Java and you *must* ensure that you use the 
+same version of Java for ElasticSearch as you do for running Tomcat.
+
+__Refer to the 
+[ElasticSearch 1.4 documentation](https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html) 
+for instructions on how to install__. Once you are up and running make a note of these things:
+
+   * The name of the ElasticSearch cluster
+   * Hostname or IP address of each ElasticSearch node
+   * Port number used for ElasticSearch protocol (the default is 9200)
+
+__Running a single-node?__ If you are running a single-node ElasticSearch cluster then 
+you should set the number of replicas to zero, otherwise the cluster will report status YELLOW. 
+  
+    curl -XPUT 'localhost:9200/_settings' -d '{"index" : { "number_of_replicas" : 0}}'
+    
+
+### Stack STEP #3: Setup Tomcat
+
+The Usergrid Stack is contained in a file named ROOT.war, a standard Java EE WAR
+ready for deployment to Tomcat. On each machine that will run the Usergrid Stack 
+you must install the Java SE 8 JDK and Tomcat 7+. 
+
+__Refer to the [Apache Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/setup.html) documentation for  instructions on how to install__. Once Tomcat installed, you need to create and edit some configuration files.
+
+
+### Stack STEP #4: Configure Usergrid Stack & Logging
+
+You must create a Usergrid properties file called `usergrid-deployment.properties`. 
+The properties in this file tell Usergrid how to communicate with Cassandra and
+ElasticSearch, and how to form URLs using the hostname you wish to use for Usegrid.
+There are many properties that you can set to configure Usergrid. 
+
+Once you have created your Usergrid properties file, place it in the Tomcat lib directory.
+On a Linux system, that directory is probably located at `/usr/share/tomcat7/lib`.
+
+__What goes in a properties file?__
+
+The default properties file that is built into Usergrid contains the full list of properties, defaults and some documentation:
+   
+   * [The Default Usergrid Properties File](https://github.com/apache/usergrid/blob/master/stack/config/src/main/resources/usergrid-default.properties)
+
+You should review the defaults in the above file. To get you started, let's look at a minimal example properties file that you can edit and use as your own.
+
+
+#### Example Usergrid Stack Properties File
+
+Below is an minimal example Usergrid properties file with the parts you need to change indicated like 
+shell variables, e.g. `${USERGRID_CLUSTER_NAME}`. Here's a guide to the things you need to set:
+
+__Table 1: Values to set in Example Properties file:__
+
+| Value       | Description |
+|-------------|-------------|
+| __BASEURL__ | This is the base URL for the Usergrid installation, e.g. `https://api.example.com`. |
+| __USERGRID_CLUSTER_NAME__ | This is your name for your Usergrid installation. |
+| __CASSANDRA_CLUSTER_NAME__ | Name of Cassandra cluster, must match what's in Cassandra configuration. |
+| __CASSANDRA_HOSTS__ | Comma-separated lists of Cassandra hosts, with port numbers if you are not using the default 9120. The default for this property is `localhost:9120` |
+| __ELASTICSEARCH_CLUSTER_NAME__ | Name of ElasticSearch cluster, must match what's in ElasticSearch configuration. |
+| __ELASTICSEARCH_HOSTS__ | Comma-separated lists of ElasticSearch hosts, with port numbers if you are not using the default 9300. The default for this property is `localhost:9300` |
+| __SUPER_USER_EMAIL__ | Email address of person responsible for the superuser account. |
+| __SUPER_USER_PASSWORD__ | Password for the superuser account. |
+| __TEST_ADMIN_USER_EMAIL__ | If `usergrid.setup-test-account=true`, as shown below, Usergrid will create a test account and you should specify a valid email here. |
+| __TEST_ADMIN_USER_PASSWORD__ | Password for the username 'test' account. |
+   
+   
+Make sure you set all of the above properties when you edit this example for your installation.   
+   
+Example 1: usergrid-deployment.properties file
+
+    usergrid.cluster_name=${USERGRID_CLUSTER_NAME}
+
+    cassandra.url=${CASSANDRA_HOSTS}
+    cassanrda.cluster=${CASSANDRA_CLUSTER_NAME}
+
+    elasticsearch.cluster_name=${ELASTICSEARCH_CLUSTER_NAME}
+    elasticsearch.hosts=${ELASTIC_SEARCH_HOSTS}
+
+    ######################################################
+    # Admin and test user setup
+
+    usergrid.sysadmin.login.allowed=true
+    usergrid.sysadmin.login.name=superuser
+    usergrid.sysadmin.login.password=${SUPER_USER_PASSWORD}
+    usergrid.sysadmin.login.email=${SUPER_USER_EMAIL}
+
+    usergrid.sysadmin.email=${SUPER_USER_EMAIL}
+    usergrid.sysadmin.approve.users=true
+    usergrid.sysadmin.approve.organizations=true
+
+    # Base mailer account - default for all outgoing messages
+    usergrid.management.mailer=Admin <${SUPER_USER_EMAIL}>
+
+    usergrid.setup-test-account=true
+    usergrid.test-account.app=test-app
+    usergrid.test-account.organization=test-organization
+    usergrid.test-account.admin-user.username=test
+    usergrid.test-account.admin-user.name=Test User
+    usergrid.test-account.admin-user.email=${TEST_ADMIN_USER_EMAIL}
+    usergrid.test-account.admin-user.password=${TEST_ADMIN_USER_PASSWORD}
+
+    ######################################################
+    # Auto-confirm and sign-up notifications settings
+
+    usergrid.management.admin_users_require_confirmation=false
+    usergrid.management.admin_users_require_activation=false
+
+    usergrid.management.organizations_require_activation=false
+    usergrid.management.notify_sysadmin_of_new_organizations=true
+    usergrid.management.notify_sysadmin_of_new_admin_users=true
+
+    ######################################################
+    # URLs
+
+    # Redirect path when request come in for TLD
+    usergrid.redirect_root=${BASEURL}/status
+
+    usergrid.view.management.organizations.organization.activate=${BASEURL}/accounts/welcome
+    usergrid.view.management.organizations.organization.confirm=${BASEURL}/accounts/welcome
+    
+    usergrid.view.management.users.user.activate=${BASEURL}/accounts/welcome
+    usergrid.view.management.users.user.confirm=${BASEURL}/accounts/welcome
+
+    usergrid.admin.confirmation.url=${BASEURL}/management/users/%s/confirm
+    usergrid.user.confirmation.url=${BASEURL}/%s/%s/users/%s/confirm
+    usergrid.organization.activation.url=${BASEURL}/management/organizations/%s/activate
+    usergrid.admin.activation.url=${BASEURL}/management/users/%s/activate
+    usergrid.user.activation.url=${BASEURL}%s/%s/users/%s/activate
+
+    usergrid.admin.resetpw.url=${BASEURL}/management/users/%s/resetpw
+    usergrid.user.resetpw.url=${BASEURL}/%s/%s/users/%s/resetpw
+    
+
+#### Configure Logging
+
+Usegrid includes the Apache Log4j logging system and you can control the levels of logs for each
+Usergrid package and even down to the class level by providing your own __log4j.properties__ file.
+
+To configure logging you need to:
+
+1. Create a __log4j.properties__ file and place it on the computer where Tomcat is running
+2. Add __-D__ system property to Tomcat so that Tomcat can find your Log4j properties file.
+
+
+##### Example Logging Configuration
+
+The Log4j properties file below is a good starting point for Usergrid. It configures ERROR level
+logging for the 3rd party libraries that Usergrid depends on, and INFO level logging for Usergrid.
+Plus, it configures some noisy parts of Usergrid to be quiet.
+
+Example 2: log4.properties file
+
+    # output messages into a rolling log file as well as stdout
+    log4j.rootLogger=ERROR,stdout
+
+    # stdout
+    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+    log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
+
+    log4j.logger.org.apache.usergrid=INFO
+    
+    log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN
+    log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN
+    log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR
+    
+    
+##### Add Logging Configuration to Tomcat
+
+You can configure Tomcat to use your Log4j properties file but adding a system property to Tomcat
+named `log4j.configuration` which must be set to a `file:/` URL that points to your
+properties file. One way to add the above property to the Tomcat start-up is to add a line to a 
+Tomcat `setenv.sh` script in Tomcat's bin directory. If that file does not exist, then create it.
+
+For example, if your property file is in `/usr/share/tomcat7/lib/log4j.properties`, then you 
+would add the following line to `setenv.sh`:
+
+    export JAVA_OPTS="-Dlog4j.configuration=file:///usr/share/tomcat7/lib/log4j.properties"
+    
+If the file already exists and already sets the JAVA_OPTS variable, then you'll have to 
+add your `-D` option to ones already there. Also note, you might want set other `-D` and `-X` 
+options in that setenv file, e.g. Java heap size.
+
+
+### Stack STEP #5: Deploy ROOT.war to Tomcat
+
+The next step is to deploy the Usergrid Stack software to Tomcat. There are a variey of ways 
+of doing this and the simplest is probably to place the Usergrid Stack `ROOT.war` file into
+the Tomcat `webapps` directory, then restart Tomcat.
+
+
+__For example, on Linux...__
+
+You would probabaly copy the ROOT.war file like so:
+
+    cp ROOT.war /usr/share/tomcat7/webapps
+    
+And you would restart Tomcat 7 like so:
+
+    /etc/init.d/tomcat7 restart
+    
+You can watch the Tomcat log in `/var/log/tomcat7/catalina.out` for errors:
+
+    tail -f /var/log/tomcat7/catalina.out
+    
+ Look for messages like this, which indicate that the ROOT.war file was deployed:
+ 
+    INFO: Starting service Catalina
+    Jan 29, 2016 1:00:32 PM org.apache.catalina.core.StandardEngine startInternal
+    INFO: Starting Servlet Engine: Apache Tomcat/7.0.59
+    Jan 29, 2016 1:00:32 PM org.apache.catalina.startup.HostConfig deployWAR
+    INFO: Deploying web application archive /usr/share/tomcat7/webapps/ROOT.war
+    
+    
+__Does it work?__
+
+Check to see if Usergrid is up and running by calling the status end-point. 
+If your web browser is running on the same computer as Tomcat (and Tomcat is on port 8080), 
+then you can browse to [http://localhost:8080/status](http://localhost:8080/status) 
+to view the Usergrid status page. 
+
+Or you can use curl:
+
+    curl http://localhost:8080/status
+    
+If you get a JSON file of status data, then you're ready to move to the next step.
+You should see a response that begins like this:
+
+    {
+      "timestamp" : 1454090178953,
+        "duration" : 10,
+        "status" : {
+          "started" : 1453957327516,
+          "uptime" : 132851437,
+          "version" : "201601240200-595955dff9ee4a706de9d97b86c5f0636fe24b43",
+          "cassandraAvailable" : true,
+          "cassandraStatus" : "GREEN",
+          "managementAppIndexStatus" : "GREEN",
+          "queueDepth" : 0,
+          "org.apache.usergrid.count.AbstractBatcher" : {
+            "add_invocation" : {
+              "type" : "timer",
+              "unit" : "microseconds",
+              
+     ... etc. ...
+ 
+
+#### Initialize the Usergrid Database
+
+Next, you must initialize the Usergrid database, index and query systems.
+
+To do this you must issue a series of HTTP operations using the superuser credentials.
+You can only do this if Usergrid is configured to allow superused login via
+this property `usergrid.sysadmin.login.allowed=true` and if you used the 
+above example properties file, it is allowed.
+
+The three operation you must perform are expressed by the curl commands below and,
+of course, you will have ot change the password 'test' to match the superuser password 
+that you set in your Usergrid properties file.
+
+    curl -X PUT http://localhost:8080/system/database/setup     -u superuser:test
+    curl -X PUT http://localhost:8080/system/database/bootstrap -u superuser:test
+    curl -X GET http://localhost:8080/system/superuser/setup    -u superuser:test
+    
+When you issue each of those curl commands, you should see a success message like this:
+
+    {
+        "action" : "cassandra setup",
+        "status" : "ok",
+        "timestamp" : 1454100922067,
+        "duration" : 374
+    }    
+
+If you don't see a success message, then refer to the Tomcat logs for error message and
+seek help from the Usergrid community.
+
+Now that you've gotten Usergrid up and running, you're ready to deploy the Usergrid Portal.
+
+
+## Deploying the Usergrid Portal
+
+The Usergrid Portal is an HTML5/JavaScript application, a bunch of static files that 
+can be deployed to any web server, e.g. Apache HTTPD or Tomcat.
+
+To deploy the Portal to a web server, you will un-tar the `usergrid-portal.tar` file into 
+directory that serves as the root directory of your web pages. 
+
+For example, with Tomcat on Linux you might do something like this:
+
+    cp usergrid-portal.tar /usr/share/tomcat7/webapps
+    cd /usr/share/tomcat7/webapps
+    tar xf usergrid-portal.tar
+    
+Then you will probably want to rename the Portal directory to something that will work
+well in a URL. For example, if you want your Portal to exist at the path `/portal` then:
+
+    mv usergrid-portal.2.0.18 portal
+    
+Once you have done that there is one more step. You need to configure the portal so that 
+it can find the Usergrid stack. You do that by editing the `portal/config.js` and changing
+this line:
+
+    Usergrid.overrideUrl = 'http://localhost:8080/';
+
+To set the hostname that you will be using for your Usergrid installation. 
+
+Start your web server and Portal should be up and running!
+
+
+## Additional Resources
+
+Resources that might be useful to those deploying Usergrid:
+
+[Usergrid-Vagrant](https://github.com/snoopdave/usergrid-vagrant): A VagrantFile and set of bash scripts that will launch a Linux Virtual Machine running Cassandra, ElasticSearch, Tomcat and the Usergrid 2.1 Stack and Portal. 
+
+[Usergrid AWS Cluster](https://github.com/apache/usergrid/tree/master/deployment/aws): An AWS Cloud Formation template and supporting scripts that create a set of multiple EC2 instances running Usergrid Stack/Portal and a set of EC2 instances running Cassandra and ElasticSearch.
+
+
+## The End
+
+That's all folks.
+
+
+
+
+
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/_sources/introduction/overview.txt
----------------------------------------------------------------------
diff --git a/content/docs/_sources/introduction/overview.txt b/content/docs/_sources/introduction/overview.txt
index e9c6968..5d45bfb 100644
--- a/content/docs/_sources/introduction/overview.txt
+++ b/content/docs/_sources/introduction/overview.txt
@@ -6,8 +6,8 @@ The Usergrid documentation is written for a couple of distinctly different audie
 
 
 * __Deployment/Operations Engineer__: this is for you if you are the person who will be installing Usergrid, setting up the required Cassandra database and other things that Usergrid needs. Currently, we have limited docs for installation, deployment and maintenance of Usergrid:
-    * [Deploying to Tomcat](../ug1-deploy-to-tomacat): How to build and deploy Usergrid to Tomcat and Cassandra.
-    * [Launcher Quick Start](../ug1-launcher-quick-start): How to build and run Usergrid via the Usergrid Launcher.
+    * [Deploying to Tomcat](../installation/ug1-deploy-to-tomcat): How to build and deploy Usergrid to Tomcat and Cassandra.
+    * [Launcher Quick Start](../installation/ug1-launcher-quick-start): How to build and run Usergrid via the Usergrid Launcher.
     
     
 * __Open Source Contributor__: How to "give back" and contribute to Usergrid. Usergrid welcomes code and documentation contributions, GitHub pull-requests, bug reports and suggestions for improvement.  

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/data-queries/operators-and-types.html
----------------------------------------------------------------------
diff --git a/content/docs/data-queries/operators-and-types.html b/content/docs/data-queries/operators-and-types.html
index 1a16fd6..5017206 100644
--- a/content/docs/data-queries/operators-and-types.html
+++ b/content/docs/data-queries/operators-and-types.html
@@ -106,7 +106,10 @@
 <li class="toctree-l1"><a class="reference internal" href="querying-your-data.html">Querying your data</a></li>
 <li class="toctree-l1"><a class="reference internal" href="query-parameters.html">Query parameters &amp; clauses</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="">Query operators &amp; data types</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#operators">Operators</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#operators">Operators</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#precedence">Precedence</a></li>
+</ul>
+</li>
 <li class="toctree-l2"><a class="reference internal" href="#data-types">Data types</a></li>
 </ul>
 </li>
@@ -300,6 +303,14 @@ query language in Usergrid.</p>
 </td>
     </tr>
     <tr>
+        <td><p>contains</p>
+</td>
+        <td><p>Narrow by contained text</p>
+</td>
+        <td><p>select * where title contains &#8216;tale&#8217;</p>
+</td>
+    </tr>
+    <tr>
         <td><p>and</p>
 </td>
         <td><p>Union of results</p>
@@ -315,15 +326,23 @@ query language in Usergrid.</p>
         <td><p>select * where quantity = &#8216;1000&#8217; or quantity = &#8216;4000&#8217;</p>
 </td>
     </tr>
-    <tr>
-        <td><p>contains</p>
-</td>
-        <td><p>Narrow by contained text</p>
-</td>
-        <td><p>select * where title contains &#8216;tale&#8217;</p>
-</td>
-    </tr>
-</table></div>
+</table><div class="section" id="precedence">
+<h3>Precedence<a class="headerlink" href="#precedence" title="Permalink to this headline">¶</a></h3>
+<p>The operators at the bottom of the above table are the ones with lower
+precedence. When a query is evaluated the comparison operators (=, &gt; ,
+&lt;, &lt;= and &gt;=) will be evaluated first. And next &#8220;not&#8221;, &#8220;contains&#8221; and
+&#8220;or&#8221; will be evaluated and in that order.</p>
+<p>Though they are not shown above, parentheses are allowed and may be used
+to group query expressions.</p>
+<p>For example, given our rules of precedence, these two queries are
+equivalent:</p>
+<div class="highlight-python"><div class="highlight"><pre>select * where age &gt; 6 or size = &#39;large&#39; and color = &#39;tabby&#39;
+
+select * where (age &gt; 6 or size = &#39;large&#39;) and color = &#39;tabby&#39;
+</pre></div>
+</div>
+</div>
+</div>
 <div class="section" id="data-types">
 <h2>Data types<a class="headerlink" href="#data-types" title="Permalink to this headline">¶</a></h2>
 <p>As you develop queries, remember that entity properties each conform to

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/installation/deployment-guide.html
----------------------------------------------------------------------
diff --git a/content/docs/installation/deployment-guide.html b/content/docs/installation/deployment-guide.html
new file mode 100644
index 0000000..d958109
--- /dev/null
+++ b/content/docs/installation/deployment-guide.html
@@ -0,0 +1,758 @@
+
+
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Usergrid 2.1.0 Deployment Guide &mdash; Apache Usergrid 1.0 documentation</title>
+  
+
+  
+  
+
+  
+
+  
+  
+    
+
+  
+
+  
+  
+    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  
+
+  
+
+  
+    <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/> 
+
+  
+  <script src="../_static/js/modernizr.min.js"></script>
+
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-nav-search">
+        
+
+        
+          <a href="../index.html" class="icon icon-home"> Apache Usergrid
+        
+
+        
+        </a>
+
+        
+          
+          
+            <div class="version">
+              1.0
+            </div>
+          
+        
+
+        
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        
+          
+          
+              <p class="caption"><span class="caption-text">Introduction</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../introduction/overview.html">Documentation Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../introduction/usergrid-features.html">Usergrid Features</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../introduction/data-model.html">Usergrid Data model</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../introduction/async-vs-sync.html">Async vs. sync calls</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Getting Started</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../getting-started/creating-account.html">Creating an Usergrid Account</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../getting-started/creating-a-new-application.html">Creating a new application</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../getting-started/using-a-sandbox-app.html">Using a Sandbox Application</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../getting-started/using-the-api.html">Using the API</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Data Storage</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../data-storage/data-store-dbms.html">The Usergrid Data Store</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data-storage/optimizing-access.html">Data Store Best Practices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data-storage/collections.html">Collections</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data-storage/entities.html">Entities</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Data Queries</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../data-queries/querying-your-data.html">Querying your data</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data-queries/query-parameters.html">Query parameters &amp; clauses</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data-queries/operators-and-types.html">Query operators &amp; data types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data-queries/advanced-query-usage.html">Advanced query usage</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Entity Connections</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../entity-connections/connecting-entities.html">Connecting entities</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../entity-connections/retrieving-entities.html">Retrieving connections</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../entity-connections/disconnecting-entities.html">Disconnecting entities</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Push Notifications</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/overview.html">Push notifications overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/adding-push-support.html">Adding push notifications support</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/getting-started.html">Getting started with push notifications</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/tutorial.html">Tutorial: Push notifications sample app</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/registering.html">Registering with a notification service</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/creating-notifiers.html">Creating notifiers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/managing-users-and-devices.html">Managing users and devices</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/creating-and-managing-notifications.html">Creating and managing notifications</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../push-notifications/troubleshooting.html">Troubleshooting</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Security &amp; Authentication</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/app-security.html">Security &amp; token authentication</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/using-permissions.html">Using permissions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/using-roles.html">Using roles</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/authenticating-users-and-application-clients.html">Authenticating users &amp; app clients</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/user-authentication-types.html">Authentication levels</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/changing-token-time-live-ttl.html">Changing token expiration (time-to-live)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/authenticating-api-requests.html">Authenticating API requests</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/revoking-tokens-logout.html">Revoking tokens (logout)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/facebook-sign.html">Facebook sign in</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security-and-auth/securing-your-app.html">Security best practices</a></li>
+</ul>
+<p class="caption"><span class="caption-text">User Management &amp; Social Graph</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/user-management.html">User management &amp; social graph</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/working-user-data.html">Working with User Data</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/group.html">Working with group data</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/activity.html">Activity</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/user-connections.html">Social Graph Connections</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/user-connections.html#creating-other-connections">Creating other connections</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-management/messagee-example.html">App Example - Messagee</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Geo-location</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../geolocation/geolocation.html">Geolocating your Entities</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Assets &amp; Files</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../assets-and-files/uploading-assets.html">Uploading assets</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../assets-and-files/retrieving-assets.html">Retrieving assets</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../assets-and-files/folders.html">Folders</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Counters &amp; Events</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/events-and-counters.html">Counters &amp; events</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/creating-and-incrementing-counters.html">Creating &amp; incrementing counters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/creating-and-incrementing-counters.html#decrementing-resetting-counters">Decrementing/resetting counters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/creating-and-incrementing-counters.html#using-counters-hierarchically">Using counters hierarchically</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../counters-and-events/retrieving-counters.html">Retrieving counters</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Organizations &amp; Applications</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/managing.html">Organization &amp; application management</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/organization.html">Organization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/application.html">Application</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../orgs-and-apps/admin-user.html">Admin user</a></li>
+</ul>
+<p class="caption"><span class="caption-text">API Reference</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../rest-endpoints/api-docs.html">Methods</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../rest-endpoints/api-docs.html#models">Models</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../rest-endpoints/api-docs.html#sub-types">Sub-Types</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Client SDKs</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../sdks/tbd.html">COMING SOON...</a></li>
+</ul>
+<p class="caption"><span class="caption-text">Installing the Stack</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+</ul>
+<p class="caption"><span class="caption-text">More about Usergrid</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../reference/presos-and-videos.html">Presentations &amp; Videos</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/contribute-code.html">How to Contribute Code &amp; Docs</a></li>
+</ul>
+
+          
+        
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href="../index.html">Apache Usergrid</a>
+      </nav>
+
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../index.html">Docs</a> &raquo;</li>
+      
+    <li>Usergrid 2.1.0 Deployment Guide</li>
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/installation/deployment-guide.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="usergrid-2-1-0-deployment-guide">
+<h1>Usergrid 2.1.0 Deployment Guide<a class="headerlink" href="#usergrid-2-1-0-deployment-guide" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="draft">
+<h2>DRAFT<a class="headerlink" href="#draft" title="Permalink to this headline">¶</a></h2>
+<p>This document explains how to deploy the Usergrid Backend-as-a-Service
+(BaaS), which comprises the Usergrid Stack, a Java web application, and
+the Usergrid Portal, which is an HTML5/JavaScript application.</p>
+</div>
+<div class="section" id="intended-audience">
+<h2>Intended audience<a class="headerlink" href="#intended-audience" title="Permalink to this headline">¶</a></h2>
+<p>You should be able to follow this guide if you are a developer, system
+admin or operations person with some knowledge of Java application
+deployment and good knowledge of Linux and the bash shell.</p>
+<p>This guide is a starting point and does NOT explain everything you need
+to know to run Usergrid at-scale and in production. To do that you will
+need some additional skills and knowledge around running, monitoring and
+trouble-shooting Tomcat applications, multi-node Cassandra &amp;
+ElasticSearch clusters and more.</p>
+</div>
+<div class="section" id="prerequsites">
+<h2>Prerequsites<a class="headerlink" href="#prerequsites" title="Permalink to this headline">¶</a></h2>
+<p>Below are the software requirements for Usergrid 2.1.0 Stack and Portal.
+You can install them all on one computer for development purposes, and
+for deployment you can deploy them separately using clustering.</p>
+<ul class="simple">
+<li>Linux or a UNIX-like system (Usergrid may run on Windows, but we
+haven&#8217;t tried it)</li>
+<li><a class="reference external" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java SE 8
+JDK</a></li>
+<li><a class="reference external" href="https://tomcat.apache.org/download-70.cgi">Apache Tomcat 7+</a></li>
+<li><a class="reference external" href="http://cassandra.apache.org/download/">Apache Cassandra 1.2.1+</a></li>
+<li><a class="reference external" href="https://www.elastic.co/downloads/elasticsearch">ElasticSearch
+1.4+</a></li>
+</ul>
+<p>Optional but helpful:</p>
+<ul class="simple">
+<li>An HTTP or REST client, such as <a class="reference external" href="http://curl.haxx.se">curl</a></li>
+<li>A web server such as <a class="reference external" href="https://httpd.apache.org">Apache HTTPD</a> for
+running the Usergrid Portal</li>
+</ul>
+</div>
+<div class="section" id="getting-started">
+<h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h2>
+<p>Deploying Usergrid starts with downloaded the Apache Usergrid release.
+There are three ways to go:</p>
+<ol class="arabic simple">
+<li>Clone the Usergrid Git repo, get the <code class="docutils literal"><span class="pre">usergrid-2.1.0</span></code> tag (not
+available yet) and build Usergrid yourself.</li>
+<li>Download the official Apache Usergrid 2.1.0 source-code release (not
+available yet) and build Usergrid</li>
+<li>Download the Apache Usergrid 2.1.0 binary release (not available).</li>
+</ol>
+<p>The easist way to go is option #3 and so that&#8217;s what we will do in this
+document.</p>
+<p><strong>Get started by downloading the Apache Usergrid 2.1.0</strong> binary release
+from the Usergrid releases page:</p>
+<ul class="simple">
+<li><a class="reference external" href="https://usergrid.apache.org/releases">Apache Usergrid Releases</a></li>
+</ul>
+<p>When you un-tar the Usergrid binary release, you will see a directory
+layout like this:</p>
+<div class="highlight-python"><div class="highlight"><pre>+-- apache-usergrid-2.1.0
+    |
+    +-- LICENSE
+    |
+    +-- NOTICE
+    |
+    +-- CHANGELOG
+    |
+    +-- stack
+    |   |
+    |   + ROOT.war
+    |
+    +-- portal
+    |   |
+    |   +-- dist
+    |       |
+    |       + usergrid-portal.tar
+    |
+    +-- sdks
+    |   |
+    |   +-- html5-javascript (JavaScript SDK and source)
+    |   |
+    |   +-- java (Java SDK and source)
+</pre></div>
+</div>
+<p>The files that you need for deploying Usergrid Stack and Portal are
+<code class="docutils literal"><span class="pre">ROOT.war</span></code> and <code class="docutils literal"><span class="pre">usergrid-portal.tar</span></code>.</p>
+</div>
+<div class="section" id="deploying-the-usergrid-stack">
+<h2>Deploying the Usergrid Stack<a class="headerlink" href="#deploying-the-usergrid-stack" title="Permalink to this headline">¶</a></h2>
+<p>The Usergrid Stack is a Java EE web application that runs on Tomcat,
+uses the Cassandra database for storage and the ElasticSearch
+search-engine for queries.</p>
+<p>Before installing the Usegrid Stack into Tomcat, you&#8217;ll start by setting
+up the required database and search engine nodes.</p>
+<div class="section" id="stack-step-1-setup-cassandra">
+<h3>Stack STEP #1: Setup Cassandra<a class="headerlink" href="#stack-step-1-setup-cassandra" title="Permalink to this headline">¶</a></h3>
+<p>Usergrid needs access to at least one Apache Cassandra node. You can
+setup a single node of Cassandra on your computer for development and
+testing. For production deployment, a three or more node cluster is
+recommended.</p>
+<p><strong>Use the right Java.</strong> Cassandra requires Java and we recommend that
+you use the same version of Java for Cassandra as you use to run Tomcat
+and ElasticSearch.</p>
+<p><strong>Refer to the `Apache Cassandra
+documentation &lt;http://wiki.apache.org/cassandra/GettingStarted&gt;`__ for
+instructions on how to install Cassandra</strong>. The <a class="reference external" href="http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html">Datastax documentation
+for Cassandra
+1.2</a>
+is also helpful. Once you are up and running make a note of these
+things:</p>
+<ul class="simple">
+<li>The name of the Cassandra cluster</li>
+<li>Hostname or IP address of each Cassandra node</li>
+<li>Port number used for Cassandra RPC (the default is 9160)</li>
+<li>Replication factor of Cassandra cluster</li>
+</ul>
+</div>
+<div class="section" id="stack-step-2-setup-elasticsearch">
+<h3>Stack STEP #2: Setup ElasticSearch<a class="headerlink" href="#stack-step-2-setup-elasticsearch" title="Permalink to this headline">¶</a></h3>
+<p>Usergrid also needs access to at least one ElasticSearch node. As with
+Cassandra, you can setup single ElasticSearch node on your computer, and
+you should run a cluster in production.</p>
+<p><strong>Use the right Java</strong>. ElasticSearch requires Java and you <em>must</em>
+ensure that you use the same version of Java for ElasticSearch as you do
+for running Tomcat.</p>
+<p><strong>Refer to the `ElasticSearch 1.4
+documentation &lt;https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html&gt;`__
+for instructions on how to install</strong>. Once you are up and running make a
+note of these things:</p>
+<ul class="simple">
+<li>The name of the ElasticSearch cluster</li>
+<li>Hostname or IP address of each ElasticSearch node</li>
+<li>Port number used for ElasticSearch protocol (the default is 9200)</li>
+</ul>
+<p><strong>Running a single-node?</strong> If you are running a single-node
+ElasticSearch cluster then you should set the number of replicas to
+zero, otherwise the cluster will report status YELLOW.</p>
+<div class="highlight-python"><div class="highlight"><pre>curl -XPUT &#39;localhost:9200/_settings&#39; -d &#39;{&quot;index&quot; : { &quot;number_of_replicas&quot; : 0}}&#39;
+</pre></div>
+</div>
+</div>
+<div class="section" id="stack-step-3-setup-tomcat">
+<h3>Stack STEP #3: Setup Tomcat<a class="headerlink" href="#stack-step-3-setup-tomcat" title="Permalink to this headline">¶</a></h3>
+<p>The Usergrid Stack is contained in a file named ROOT.war, a standard
+Java EE WAR ready for deployment to Tomcat. On each machine that will
+run the Usergrid Stack you must install the Java SE 8 JDK and Tomcat 7+.</p>
+<p><strong>Refer to the `Apache Tomcat
+7 &lt;https://tomcat.apache.org/tomcat-7.0-doc/setup.html&gt;`__ documentation
+for instructions on how to install</strong>. Once Tomcat installed, you need to
+create and edit some configuration files.</p>
+</div>
+<div class="section" id="stack-step-4-configure-usergrid-stack-logging">
+<h3>Stack STEP #4: Configure Usergrid Stack &amp; Logging<a class="headerlink" href="#stack-step-4-configure-usergrid-stack-logging" title="Permalink to this headline">¶</a></h3>
+<p>You must create a Usergrid properties file called
+<code class="docutils literal"><span class="pre">usergrid-deployment.properties</span></code>. The properties in this file tell
+Usergrid how to communicate with Cassandra and ElasticSearch, and how to
+form URLs using the hostname you wish to use for Usegrid. There are many
+properties that you can set to configure Usergrid.</p>
+<p>Once you have created your Usergrid properties file, place it in the
+Tomcat lib directory. On a Linux system, that directory is probably
+located at <code class="docutils literal"><span class="pre">/usr/share/tomcat7/lib</span></code>.</p>
+<p><strong>What goes in a properties file?</strong></p>
+<p>The default properties file that is built into Usergrid contains the
+full list of properties, defaults and some documentation:</p>
+<ul class="simple">
+<li><a class="reference external" href="https://github.com/apache/usergrid/blob/master/stack/config/src/main/resources/usergrid-default.properties">The Default Usergrid Properties
+File</a></li>
+</ul>
+<p>You should review the defaults in the above file. To get you started,
+let&#8217;s look at a minimal example properties file that you can edit and
+use as your own.</p>
+<div class="section" id="example-usergrid-stack-properties-file">
+<h4>Example Usergrid Stack Properties File<a class="headerlink" href="#example-usergrid-stack-properties-file" title="Permalink to this headline">¶</a></h4>
+<p>Below is an minimal example Usergrid properties file with the parts you
+need to change indicated like shell variables, e.g.
+<code class="docutils literal"><span class="pre">${USERGRID_CLUSTER_NAME}</span></code>. Here&#8217;s a guide to the things you need to
+set:</p>
+<p><strong>Table 1: Values to set in Example Properties file:</strong></p>
+<p>| Value | Description | |&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;-| |
+<strong>BASEURL</strong> | This is the base URL for the Usergrid installation, e.g.
+<code class="docutils literal"><span class="pre">https://api.example.com</span></code>. | | <strong>USERGRID_CLUSTER_NAME</strong> | This
+is your name for your Usergrid installation. | |
+<strong>CASSANDRA_CLUSTER_NAME</strong> | Name of Cassandra cluster, must match
+what&#8217;s in Cassandra configuration. | | <strong>CASSANDRA_HOSTS</strong> |
+Comma-separated lists of Cassandra hosts, with port numbers if you are
+not using the default 9120. The default for this property is
+<code class="docutils literal"><span class="pre">localhost:9120</span></code> | | <strong>ELASTICSEARCH_CLUSTER_NAME</strong> | Name of
+ElasticSearch cluster, must match what&#8217;s in ElasticSearch configuration.
+| | <strong>ELASTICSEARCH_HOSTS</strong> | Comma-separated lists of ElasticSearch
+hosts, with port numbers if you are not using the default 9300. The
+default for this property is <code class="docutils literal"><span class="pre">localhost:9300</span></code> | |
+<strong>SUPER_USER_EMAIL</strong> | Email address of person responsible for the
+superuser account. | | <strong>SUPER_USER_PASSWORD</strong> | Password for the
+superuser account. | | <strong>TEST_ADMIN_USER_EMAIL</strong> | If
+<code class="docutils literal"><span class="pre">usergrid.setup-test-account=true</span></code>, as shown below, Usergrid will
+create a test account and you should specify a valid email here. | |
+<strong>TEST_ADMIN_USER_PASSWORD</strong> | Password for the username &#8216;test&#8217;
+account. |</p>
+<p>Make sure you set all of the above properties when you edit this example
+for your installation.</p>
+<p>Example 1: usergrid-deployment.properties file</p>
+<div class="highlight-python"><div class="highlight"><pre>usergrid.cluster_name=${USERGRID_CLUSTER_NAME}
+
+cassandra.url=${CASSANDRA_HOSTS}
+cassanrda.cluster=${CASSANDRA_CLUSTER_NAME}
+
+elasticsearch.cluster_name=${ELASTICSEARCH_CLUSTER_NAME}
+elasticsearch.hosts=${ELASTIC_SEARCH_HOSTS}
+
+######################################################
+# Admin and test user setup
+
+usergrid.sysadmin.login.allowed=true
+usergrid.sysadmin.login.name=superuser
+usergrid.sysadmin.login.password=${SUPER_USER_PASSWORD}
+usergrid.sysadmin.login.email=${SUPER_USER_EMAIL}
+
+usergrid.sysadmin.email=${SUPER_USER_EMAIL}
+usergrid.sysadmin.approve.users=true
+usergrid.sysadmin.approve.organizations=true
+
+# Base mailer account - default for all outgoing messages
+usergrid.management.mailer=Admin &lt;${SUPER_USER_EMAIL}&gt;
+
+usergrid.setup-test-account=true
+usergrid.test-account.app=test-app
+usergrid.test-account.organization=test-organization
+usergrid.test-account.admin-user.username=test
+usergrid.test-account.admin-user.name=Test User
+usergrid.test-account.admin-user.email=${TEST_ADMIN_USER_EMAIL}
+usergrid.test-account.admin-user.password=${TEST_ADMIN_USER_PASSWORD}
+
+######################################################
+# Auto-confirm and sign-up notifications settings
+
+usergrid.management.admin_users_require_confirmation=false
+usergrid.management.admin_users_require_activation=false
+
+usergrid.management.organizations_require_activation=false
+usergrid.management.notify_sysadmin_of_new_organizations=true
+usergrid.management.notify_sysadmin_of_new_admin_users=true
+
+######################################################
+# URLs
+
+# Redirect path when request come in for TLD
+usergrid.redirect_root=${BASEURL}/status
+
+usergrid.view.management.organizations.organization.activate=${BASEURL}/accounts/welcome
+usergrid.view.management.organizations.organization.confirm=${BASEURL}/accounts/welcome
+
+usergrid.view.management.users.user.activate=${BASEURL}/accounts/welcome
+usergrid.view.management.users.user.confirm=${BASEURL}/accounts/welcome
+
+usergrid.admin.confirmation.url=${BASEURL}/management/users/%s/confirm
+usergrid.user.confirmation.url=${BASEURL}/%s/%s/users/%s/confirm
+usergrid.organization.activation.url=${BASEURL}/management/organizations/%s/activate
+usergrid.admin.activation.url=${BASEURL}/management/users/%s/activate
+usergrid.user.activation.url=${BASEURL}%s/%s/users/%s/activate
+
+usergrid.admin.resetpw.url=${BASEURL}/management/users/%s/resetpw
+usergrid.user.resetpw.url=${BASEURL}/%s/%s/users/%s/resetpw
+</pre></div>
+</div>
+</div>
+<div class="section" id="configure-logging">
+<h4>Configure Logging<a class="headerlink" href="#configure-logging" title="Permalink to this headline">¶</a></h4>
+<p>Usegrid includes the Apache Log4j logging system and you can control the
+levels of logs for each Usergrid package and even down to the class
+level by providing your own <strong>log4j.properties</strong> file.</p>
+<p>To configure logging you need to:</p>
+<ol class="arabic simple">
+<li>Create a <strong>log4j.properties</strong> file and place it on the computer where
+Tomcat is running</li>
+<li>Add <strong>-D</strong> system property to Tomcat so that Tomcat can find your
+Log4j properties file.</li>
+</ol>
+<div class="section" id="example-logging-configuration">
+<h5>Example Logging Configuration<a class="headerlink" href="#example-logging-configuration" title="Permalink to this headline">¶</a></h5>
+<p>The Log4j properties file below is a good starting point for Usergrid.
+It configures ERROR level logging for the 3rd party libraries that
+Usergrid depends on, and INFO level logging for Usergrid. Plus, it
+configures some noisy parts of Usergrid to be quiet.</p>
+<p>Example 2: log4.properties file</p>
+<div class="highlight-python"><div class="highlight"><pre># output messages into a rolling log file as well as stdout
+log4j.rootLogger=ERROR,stdout
+
+# stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
+
+log4j.logger.org.apache.usergrid=INFO
+
+log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN
+log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN
+log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR
+</pre></div>
+</div>
+</div>
+<div class="section" id="add-logging-configuration-to-tomcat">
+<h5>Add Logging Configuration to Tomcat<a class="headerlink" href="#add-logging-configuration-to-tomcat" title="Permalink to this headline">¶</a></h5>
+<p>You can configure Tomcat to use your Log4j properties file but adding a
+system property to Tomcat named <code class="docutils literal"><span class="pre">log4j.configuration</span></code> which must be
+set to a <code class="docutils literal"><span class="pre">file:/</span></code> URL that points to your properties file. One way to
+add the above property to the Tomcat start-up is to add a line to a
+Tomcat <code class="docutils literal"><span class="pre">setenv.sh</span></code> script in Tomcat&#8217;s bin directory. If that file does
+not exist, then create it.</p>
+<p>For example, if your property file is in
+<code class="docutils literal"><span class="pre">/usr/share/tomcat7/lib/log4j.properties</span></code>, then you would add the
+following line to <code class="docutils literal"><span class="pre">setenv.sh</span></code>:</p>
+<div class="highlight-python"><div class="highlight"><pre>export JAVA_OPTS=&quot;-Dlog4j.configuration=file:///usr/share/tomcat7/lib/log4j.properties&quot;
+</pre></div>
+</div>
+<p>If the file already exists and already sets the JAVA_OPTS variable,
+then you&#8217;ll have to add your <code class="docutils literal"><span class="pre">-D</span></code> option to ones already there. Also
+note, you might want set other <code class="docutils literal"><span class="pre">-D</span></code> and <code class="docutils literal"><span class="pre">-X</span></code> options in that setenv
+file, e.g. Java heap size.</p>
+</div>
+</div>
+</div>
+<div class="section" id="stack-step-5-deploy-root-war-to-tomcat">
+<h3>Stack STEP #5: Deploy ROOT.war to Tomcat<a class="headerlink" href="#stack-step-5-deploy-root-war-to-tomcat" title="Permalink to this headline">¶</a></h3>
+<p>The next step is to deploy the Usergrid Stack software to Tomcat. There
+are a variey of ways of doing this and the simplest is probably to place
+the Usergrid Stack <code class="docutils literal"><span class="pre">ROOT.war</span></code> file into the Tomcat <code class="docutils literal"><span class="pre">webapps</span></code>
+directory, then restart Tomcat.</p>
+<p><strong>For example, on Linux...</strong></p>
+<p>You would probabaly copy the ROOT.war file like so:</p>
+<div class="highlight-python"><div class="highlight"><pre>cp ROOT.war /usr/share/tomcat7/webapps
+</pre></div>
+</div>
+<p>And you would restart Tomcat 7 like so:</p>
+<div class="highlight-python"><div class="highlight"><pre>/etc/init.d/tomcat7 restart
+</pre></div>
+</div>
+<p>You can watch the Tomcat log in <code class="docutils literal"><span class="pre">/var/log/tomcat7/catalina.out</span></code> for
+errors:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">tail</span> <span class="o">-</span><span class="n">f</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">log</span><span class="o">/</span><span class="n">tomcat7</span><span class="o">/</span><span class="n">catalina</span><span class="o">.</span><span class="n">out</span>
+</pre></div>
+</div>
+<p>Look for messages like this, which indicate that the ROOT.war file was
+deployed:</p>
+<div class="highlight-python"><div class="highlight"><pre>INFO: Starting service Catalina
+Jan 29, 2016 1:00:32 PM org.apache.catalina.core.StandardEngine startInternal
+INFO: Starting Servlet Engine: Apache Tomcat/7.0.59
+Jan 29, 2016 1:00:32 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive /usr/share/tomcat7/webapps/ROOT.war
+</pre></div>
+</div>
+<p><strong>Does it work?</strong></p>
+<p>Check to see if Usergrid is up and running by calling the status
+end-point. If your web browser is running on the same computer as Tomcat
+(and Tomcat is on port 8080), then you can browse to
+<a class="reference external" href="http://localhost:8080/status">http://localhost:8080/status</a> to view the Usergrid status page.</p>
+<p>Or you can use curl:</p>
+<div class="highlight-python"><div class="highlight"><pre>curl http://localhost:8080/status
+</pre></div>
+</div>
+<p>If you get a JSON file of status data, then you&#8217;re ready to move to the
+next step. You should see a response that begins like this:</p>
+<div class="highlight-python"><div class="highlight"><pre>{
+  &quot;timestamp&quot; : 1454090178953,
+    &quot;duration&quot; : 10,
+    &quot;status&quot; : {
+      &quot;started&quot; : 1453957327516,
+      &quot;uptime&quot; : 132851437,
+      &quot;version&quot; : &quot;201601240200-595955dff9ee4a706de9d97b86c5f0636fe24b43&quot;,
+      &quot;cassandraAvailable&quot; : true,
+      &quot;cassandraStatus&quot; : &quot;GREEN&quot;,
+      &quot;managementAppIndexStatus&quot; : &quot;GREEN&quot;,
+      &quot;queueDepth&quot; : 0,
+      &quot;org.apache.usergrid.count.AbstractBatcher&quot; : {
+        &quot;add_invocation&quot; : {
+          &quot;type&quot; : &quot;timer&quot;,
+          &quot;unit&quot; : &quot;microseconds&quot;,
+
+ ... etc. ...
+</pre></div>
+</div>
+<div class="section" id="initialize-the-usergrid-database">
+<h4>Initialize the Usergrid Database<a class="headerlink" href="#initialize-the-usergrid-database" title="Permalink to this headline">¶</a></h4>
+<p>Next, you must initialize the Usergrid database, index and query
+systems.</p>
+<p>To do this you must issue a series of HTTP operations using the
+superuser credentials. You can only do this if Usergrid is configured to
+allow superused login via this property
+<code class="docutils literal"><span class="pre">usergrid.sysadmin.login.allowed=true</span></code> and if you used the above
+example properties file, it is allowed.</p>
+<p>The three operation you must perform are expressed by the curl commands
+below and, of course, you will have ot change the password &#8216;test&#8217; to
+match the superuser password that you set in your Usergrid properties
+file.</p>
+<div class="highlight-python"><div class="highlight"><pre>curl -X PUT http://localhost:8080/system/database/setup     -u superuser:test
+curl -X PUT http://localhost:8080/system/database/bootstrap -u superuser:test
+curl -X GET http://localhost:8080/system/superuser/setup    -u superuser:test
+</pre></div>
+</div>
+<p>When you issue each of those curl commands, you should see a success
+message like this:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="p">{</span>
+    <span class="s">&quot;action&quot;</span> <span class="p">:</span> <span class="s">&quot;cassandra setup&quot;</span><span class="p">,</span>
+    <span class="s">&quot;status&quot;</span> <span class="p">:</span> <span class="s">&quot;ok&quot;</span><span class="p">,</span>
+    <span class="s">&quot;timestamp&quot;</span> <span class="p">:</span> <span class="mi">1454100922067</span><span class="p">,</span>
+    <span class="s">&quot;duration&quot;</span> <span class="p">:</span> <span class="mi">374</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>If you don&#8217;t see a success message, then refer to the Tomcat logs for
+error message and seek help from the Usergrid community.</p>
+<p>Now that you&#8217;ve gotten Usergrid up and running, you&#8217;re ready to deploy
+the Usergrid Portal.</p>
+</div>
+</div>
+</div>
+<div class="section" id="deploying-the-usergrid-portal">
+<h2>Deploying the Usergrid Portal<a class="headerlink" href="#deploying-the-usergrid-portal" title="Permalink to this headline">¶</a></h2>
+<p>The Usergrid Portal is an HTML5/JavaScript application, a bunch of
+static files that can be deployed to any web server, e.g. Apache HTTPD
+or Tomcat.</p>
+<p>To deploy the Portal to a web server, you will un-tar the
+<code class="docutils literal"><span class="pre">usergrid-portal.tar</span></code> file into directory that serves as the root
+directory of your web pages.</p>
+<p>For example, with Tomcat on Linux you might do something like this:</p>
+<div class="highlight-python"><div class="highlight"><pre>cp usergrid-portal.tar /usr/share/tomcat7/webapps
+cd /usr/share/tomcat7/webapps
+tar xf usergrid-portal.tar
+</pre></div>
+</div>
+<p>Then you will probably want to rename the Portal directory to something
+that will work well in a URL. For example, if you want your Portal to
+exist at the path <code class="docutils literal"><span class="pre">/portal</span></code> then:</p>
+<div class="highlight-python"><div class="highlight"><pre>mv usergrid-portal.2.0.18 portal
+</pre></div>
+</div>
+<p>Once you have done that there is one more step. You need to configure
+the portal so that it can find the Usergrid stack. You do that by
+editing the <code class="docutils literal"><span class="pre">portal/config.js</span></code> and changing this line:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">Usergrid</span><span class="o">.</span><span class="n">overrideUrl</span> <span class="o">=</span> <span class="s">&#39;http://localhost:8080/&#39;</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>To set the hostname that you will be using for your Usergrid
+installation.</p>
+<p>Start your web server and Portal should be up and running!</p>
+</div>
+<div class="section" id="additional-resources">
+<h2>Additional Resources<a class="headerlink" href="#additional-resources" title="Permalink to this headline">¶</a></h2>
+<p>Resources that might be useful to those deploying Usergrid:</p>
+<p><a class="reference external" href="https://github.com/snoopdave/usergrid-vagrant">Usergrid-Vagrant</a>: A
+VagrantFile and set of bash scripts that will launch a Linux Virtual
+Machine running Cassandra, ElasticSearch, Tomcat and the Usergrid 2.1
+Stack and Portal.</p>
+<p><a class="reference external" href="https://github.com/apache/usergrid/tree/master/deployment/aws">Usergrid AWS
+Cluster</a>:
+An AWS Cloud Formation template and supporting scripts that create a set
+of multiple EC2 instances running Usergrid Stack/Portal and a set of EC2
+instances running Cassandra and ElasticSearch.</p>
+</div>
+<div class="section" id="the-end">
+<h2>The End<a class="headerlink" href="#the-end" title="Permalink to this headline">¶</a></h2>
+<p>That&#8217;s all folks.</p>
+</div>
+</div>
+
+
+           </div>
+          </div>
+          <footer>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &copy; Copyright 2013-2015, Apache Usergrid.
+
+    </p>
+  </div>
+  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+
+</footer>
+
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+
+  
+
+    <script type="text/javascript">
+        var DOCUMENTATION_OPTIONS = {
+            URL_ROOT:'../',
+            VERSION:'1.0',
+            COLLAPSE_INDEX:false,
+            FILE_SUFFIX:'.html',
+            HAS_SOURCE:  true
+        };
+    </script>
+      <script type="text/javascript" src="../_static/jquery.js"></script>
+      <script type="text/javascript" src="../_static/underscore.js"></script>
+      <script type="text/javascript" src="../_static/doctools.js"></script>
+
+  
+
+  
+  
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+  
+
+  
+  
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.StickyNav.enable();
+      });
+  </script>
+   
+
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/introduction/overview.html
----------------------------------------------------------------------
diff --git a/content/docs/introduction/overview.html b/content/docs/introduction/overview.html
index a58df23..e6fa544 100644
--- a/content/docs/introduction/overview.html
+++ b/content/docs/introduction/overview.html
@@ -247,10 +247,11 @@ person who will be installing Usergrid, setting up the required
 Cassandra database and other things that Usergrid needs. Currently,
 we have limited docs for installation, deployment and maintenance of
 Usergrid:<ul>
-<li><a class="reference external" href="../ug1-deploy-to-tomacat">Deploying to Tomcat</a>: How to build
-and deploy Usergrid to Tomcat and Cassandra.</li>
-<li><a class="reference external" href="../ug1-launcher-quick-start">Launcher Quick Start</a>: How to
-build and run Usergrid via the Usergrid Launcher.</li>
+<li><a class="reference external" href="../installation/ug1-deploy-to-tomcat">Deploying to Tomcat</a>:
+How to build and deploy Usergrid to Tomcat and Cassandra.</li>
+<li><a class="reference external" href="../installation/ug1-launcher-quick-start">Launcher Quick
+Start</a>: How to build
+and run Usergrid via the Usergrid Launcher.</li>
 </ul>
 </li>
 <li><strong>Open Source Contributor</strong>: How to &#8220;give back&#8221; and contribute to


[11/50] [abbrv] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid

Posted by sn...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid


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

Branch: refs/heads/asf-site
Commit: 84916d53d2094d3ab8768d7128ba9c6b3a4ddfa1
Parents: 05bf43c d478adb
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Jan 27 09:48:41 2016 -0500
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Jan 27 09:48:41 2016 -0500

----------------------------------------------------------------------
 deployment/aws/README.md                        |  172 ++
 deployment/aws/assembly.xml                     |   74 +
 deployment/aws/aws-sample.properties            |   19 +
 deployment/aws/gatling-cluster-cf.json          |  386 ++++
 deployment/aws/pom.xml                          |  238 ++
 deployment/aws/src/main/cql/update_locks.cql    |   23 +
 deployment/aws/src/main/cql/update_usergrid.cql |   27 +
 .../main/cql/update_usergrid_applications.cql   |   46 +
 .../src/main/dist/init_instance/create_raid0.sh |   54 +
 .../main/dist/init_instance/init_db_server.sh   |   76 +
 .../main/dist/init_instance/init_es_server.sh   |   71 +
 .../dist/init_instance/init_graphite_server.sh  |   69 +
 .../dist/init_instance/init_opscenter_server.sh |  287 +++
 .../main/dist/init_instance/init_rest_server.sh |  257 +++
 .../dist/init_instance/install_cassandra.sh     |   51 +
 .../main/dist/init_instance/install_collectd.sh |  350 +++
 .../dist/init_instance/install_elasticsearch.sh |  123 ++
 .../init_instance/install_opscenter_agent.sh    |   42 +
 .../dist/init_instance/install_oraclejdk.sh     |   55 +
 .../main/dist/init_instance/install_yourkit.sh  |   39 +
 .../main/dist/init_instance/update_keyspaces.sh |   75 +
 .../aws/src/main/dist/lib/log4j.properties      |   53 +
 deployment/aws/src/main/dist/update.sh          |   35 +
 .../aws/src/main/groovy/NodeRegistry.groovy     |  227 ++
 .../src/main/groovy/configure_cassandra.groovy  |  125 ++
 .../main/groovy/configure_elasticsearch.groovy  |  169 ++
 .../groovy/configure_opscenter_agent.groovy     |   50 +
 .../groovy/configure_opscenter_cassandra.groovy |  120 +
 .../groovy/configure_opscenter_usergrid.groovy  |   58 +
 .../src/main/groovy/configure_portal_new.groovy |   28 +
 .../src/main/groovy/configure_usergrid.groovy   |  193 ++
 .../aws/src/main/groovy/create_dashboard.groovy |   79 +
 .../src/main/groovy/get_first_instance.groovy   |   46 +
 .../src/main/groovy/registry_register.groovy    |   38 +
 .../aws/src/main/groovy/tag_instance.groovy     |   55 +
 .../src/main/groovy/wait_for_instances.groovy   |   47 +
 deployment/aws/ugcluster-cf.json                | 2062 ++++++++++++++++++
 stack/awscluster/README.md                      |  163 --
 stack/awscluster/assembly.xml                   |   74 -
 stack/awscluster/aws-sample.properties          |   19 -
 stack/awscluster/gatling-cluster-cf.json        |  386 ----
 stack/awscluster/pom.xml                        |  237 --
 stack/awscluster/src/main/cql/update_locks.cql  |   23 -
 .../awscluster/src/main/cql/update_usergrid.cql |   27 -
 .../main/cql/update_usergrid_applications.cql   |   46 -
 .../src/main/dist/init_instance/create_raid0.sh |   54 -
 .../main/dist/init_instance/init_db_server.sh   |   76 -
 .../main/dist/init_instance/init_es_server.sh   |   71 -
 .../dist/init_instance/init_graphite_server.sh  |   69 -
 .../dist/init_instance/init_opscenter_server.sh |  287 ---
 .../main/dist/init_instance/init_rest_server.sh |  257 ---
 .../dist/init_instance/install_cassandra.sh     |   51 -
 .../main/dist/init_instance/install_collectd.sh |  350 ---
 .../dist/init_instance/install_elasticsearch.sh |  123 --
 .../init_instance/install_opscenter_agent.sh    |   42 -
 .../dist/init_instance/install_oraclejdk.sh     |   55 -
 .../main/dist/init_instance/install_yourkit.sh  |   39 -
 .../main/dist/init_instance/update_keyspaces.sh |   75 -
 .../src/main/dist/lib/log4j.properties          |   53 -
 stack/awscluster/src/main/dist/update.sh        |   35 -
 .../awscluster/src/main/dist/webapps/dummy.txt  |    0
 .../src/main/groovy/NodeRegistry.groovy         |  227 --
 .../src/main/groovy/configure_cassandra.groovy  |  129 --
 .../main/groovy/configure_elasticsearch.groovy  |  169 --
 .../groovy/configure_opscenter_agent.groovy     |   50 -
 .../groovy/configure_opscenter_cassandra.groovy |  120 -
 .../groovy/configure_opscenter_usergrid.groovy  |   58 -
 .../src/main/groovy/configure_portal_new.groovy |   28 -
 .../src/main/groovy/configure_usergrid.groovy   |  193 --
 .../src/main/groovy/create_dashboard.groovy     |   79 -
 .../src/main/groovy/get_first_instance.groovy   |   46 -
 .../src/main/groovy/registry_register.groovy    |   38 -
 .../src/main/groovy/tag_instance.groovy         |   55 -
 .../src/main/groovy/wait_for_instances.groovy   |   47 -
 stack/awscluster/ugcluster-cf.json              | 2062 ------------------
 75 files changed, 5919 insertions(+), 5913 deletions(-)
----------------------------------------------------------------------



[26/50] [abbrv] usergrid git commit: USERGRID-1243: logging overhaul, pt. 1

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
index a49e217..9427be1 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexBatchImpl.java
@@ -19,7 +19,6 @@
 package org.apache.usergrid.persistence.index.impl;
 
 
-import java.util.List;
 import java.util.UUID;
 
 import org.apache.usergrid.persistence.index.*;
@@ -31,12 +30,11 @@ import org.apache.usergrid.persistence.core.util.ValidationUtils;
 import org.apache.usergrid.persistence.index.utils.IndexValidationUtils;
 import org.apache.usergrid.persistence.model.entity.Entity;
 import org.apache.usergrid.persistence.model.entity.Id;
-import rx.Observable;
 
 
 public class EsEntityIndexBatchImpl implements EntityIndexBatch {
 
-    private static final Logger log = LoggerFactory.getLogger( EsEntityIndexBatchImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( EsEntityIndexBatchImpl.class );
 
 
     private final IndexAlias alias;
@@ -70,9 +68,9 @@ public class EsEntityIndexBatchImpl implements EntityIndexBatch {
 
         final String writeAlias = alias.getWriteAlias();
 
-        if ( log.isDebugEnabled() ) {
-            log.debug( "Indexing to alias {} with scope {} on edge {} with entity data {}",
-                    new Object[] { writeAlias, applicationScope, indexEdge, entity } );
+        if ( logger.isDebugEnabled() ) {
+            logger.debug( "Indexing to alias {} with scope {} on edge {} with entity data {}",
+                    writeAlias, applicationScope, indexEdge, entity );
         }
 
         //add app id for indexing
@@ -94,9 +92,9 @@ public class EsEntityIndexBatchImpl implements EntityIndexBatch {
             throw new IllegalStateException("No indexes exist for " + indexLocationStrategy.getAlias().getWriteAlias());
         }
 
-        if ( log.isDebugEnabled() ) {
-            log.debug( "Deindexing to indexes {} with scope {} on edge {} with id {} and version {} ",
-                new Object[] { indexes, applicationScope, searchEdge, id, version } );
+        if ( logger.isDebugEnabled() ) {
+            logger.debug( "Deindexing to indexes {} with scope {} on edge {} with id {} and version {} ",
+                indexes, applicationScope, searchEdge, id, version );
         }
 
 
@@ -113,9 +111,9 @@ public class EsEntityIndexBatchImpl implements EntityIndexBatch {
             throw new IllegalStateException("No indexes exist for " + indexLocationStrategy.getAlias().getWriteAlias());
         }
 
-        if ( log.isDebugEnabled() ) {
-            log.debug( "Deindexing to indexes {} with with documentId {} ",
-                new Object[] { indexes, docId } );
+        if ( logger.isDebugEnabled() ) {
+            logger.debug( "Deindexing to indexes {} with with documentId {} ",
+                indexes, docId );
         }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
index 0cfa18b..ba3af95 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsEntityIndexImpl.java
@@ -293,7 +293,9 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
         // to receive documents. Occasionally we see errors.
         // See this post: http://s.apache.org/index-missing-exception
 
-        logger.debug("Testing new index name: read {} write {}", alias.getReadAlias(), alias.getWriteAlias());
+        if (logger.isTraceEnabled()) {
+            logger.trace("Testing new index name: read {} write {}", alias.getReadAlias(), alias.getWriteAlias());
+        }
 
         final RetryOperation retryOperation = () -> {
             final String tempId = UUIDGenerator.newTimeUUID().toString();
@@ -301,15 +303,18 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
             esProvider.getClient().prepareIndex( alias.getWriteAlias(), VERIFY_TYPE, tempId )
                  .setSource(DEFAULT_PAYLOAD).get();
 
-            logger.info( "Successfully created new document with docId {} "
-                 + "in index read {} write {} and type {}",
-                    tempId, alias.getReadAlias(), alias.getWriteAlias(), VERIFY_TYPE );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Successfully created new document with docId {} in index read {} write {} and type {}",
+                        tempId, alias.getReadAlias(), alias.getWriteAlias(), VERIFY_TYPE);
+            }
 
             // delete all types, this way if we miss one it will get cleaned up
             esProvider.getClient().prepareDelete( alias.getWriteAlias(), VERIFY_TYPE, tempId).get();
 
-            logger.info( "Successfully deleted  documents in read {} write {} and type {} with id {}",
-                    alias.getReadAlias(), alias.getWriteAlias(), VERIFY_TYPE, tempId );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Successfully deleted  documents in read {} write {} and type {} with id {}",
+                        alias.getReadAlias(), alias.getWriteAlias(), VERIFY_TYPE, tempId);
+            }
 
             return true;
         };
@@ -359,7 +364,9 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
 
         String[] indexes = getIndexes();
         if (indexes.length == 0) {
-            logger.debug("Not refreshing indexes. none found");
+            if (logger.isTraceEnabled()) {
+                logger.trace("Not refreshing indexes. none found");
+            }
         }
         //Added For Graphite Metrics
         RefreshResponse response =
@@ -372,8 +379,10 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
                 logger.error("Failed to refresh index:{} reason:{}", sfe.index(), sfe.reason());
             }
         }
-        logger.debug("Refreshed indexes: {},success:{} failed:{} ", StringUtils.join(indexes, ", "),
-            successfulShards, failedShards);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Refreshed indexes: {},success:{} failed:{} ", StringUtils.join(indexes, ", "),
+                    successfulShards, failedShards);
+        }
 
         IndexRefreshCommandInfo refreshResults = new IndexRefreshCommandInfo(failedShards == 0,
             System.currentTimeMillis() - start);
@@ -647,10 +656,10 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
             final ShardOperationFailedException[] failures = indexDeleteByQueryResponse.getFailures();
 
             for ( ShardOperationFailedException failedException : failures ) {
-                logger.error( String.format( "Unable to delete by query %s. "
-                        + "Failed with code %d and reason %s on shard %s in index %s", query.toString(),
+                logger.error("Unable to delete by query {}. Failed with code {} and reason {} on shard {} in index {}",
+                    query.toString(),
                     failedException.status().getStatus(), failedException.reason(),
-                    failedException.shardId(), failedException.index() ) );
+                    failedException.shardId(), failedException.index() );
             }
         }
     }
@@ -665,7 +674,9 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
         final SearchHits searchHits = searchResponse.getHits();
         final SearchHit[] hits = searchHits.getHits();
 
-        logger.debug( "   Hit count: {} Total hits: {}", hits.length, searchHits.getTotalHits() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("   Hit count: {} Total hits: {}", hits.length, searchHits.getTotalHits());
+        }
 
         List<CandidateResult> candidates = new ArrayList<>( hits.length );
 
@@ -706,8 +717,8 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
 
                 if(candidateResult.getVersion().timestamp() <= markedVersion.timestamp()){
 
-                    if(logger.isDebugEnabled()){
-                        logger.debug("Candidate version {} is <= provided entity version {} for entityId {}",
+                    if(logger.isTraceEnabled()){
+                        logger.trace("Candidate version {} is <= provided entity version {} for entityId {}",
                             candidateResult.getVersion(),
                             markedVersion,
                             candidateResult.getId()
@@ -717,8 +728,8 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
                     candidates.add(candidateResult);
 
                 }else{
-                    if(logger.isDebugEnabled()){
-                        logger.debug("Candidate version {} is > provided entity version {} for entityId {}. Not" +
+                    if(logger.isTraceEnabled()){
+                        logger.trace("Candidate version {} is > provided entity version {} for entityId {}. Not" +
                                 "adding to candidate results",
                             candidateResult.getVersion(),
                             markedVersion,
@@ -732,7 +743,9 @@ public class EsEntityIndexImpl implements EntityIndex,VersionedData {
             }
         }
 
-        logger.debug( "Aggregated {} out of {} hits ",candidates.size(),searchHits.getTotalHits() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Aggregated {} out of {} hits ", candidates.size(), searchHits.getTotalHits());
+        }
 
         return  candidates;
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexProducerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexProducerImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexProducerImpl.java
index f9dd114..4782bea 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexProducerImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsIndexProducerImpl.java
@@ -51,7 +51,7 @@ import rx.Observable;
  */
 @Singleton
 public class EsIndexProducerImpl implements IndexProducer {
-    private static final Logger log = LoggerFactory.getLogger( EsIndexProducerImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( EsIndexProducerImpl.class );
 
     private final IndexFig config;
     private final FailureMonitorImpl failureMonitor;
@@ -116,7 +116,9 @@ public class EsIndexProducerImpl implements IndexProducer {
         final int indexOperationSetSize = indexOperationSet.size();
         final int deIndexOperationSetSize = deIndexOperationSet.size();
 
-        log.debug("Emitting {} add and {} remove operations", indexOperationSetSize, deIndexOperationSetSize);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Emitting {} add and {} remove operations", indexOperationSetSize, deIndexOperationSetSize);
+        }
 
         indexSizeCounter.dec(indexOperationSetSize);
         indexSizeCounter.dec(deIndexOperationSetSize);
@@ -133,7 +135,9 @@ public class EsIndexProducerImpl implements IndexProducer {
             .flatMap(individualOps -> Observable.from(individualOps)
                 //collect them
                 .collect(() -> initRequest(), (bulkRequestBuilder, batchOperation) -> {
-                    log.debug("adding operation {} to bulkRequestBuilder {}", batchOperation, bulkRequestBuilder);
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("adding operation {} to bulkRequestBuilder {}", batchOperation, bulkRequestBuilder);
+                    }
                     batchOperation.doOperation(client, bulkRequestBuilder);
                 }))
                 //write them
@@ -188,7 +192,7 @@ public class EsIndexProducerImpl implements IndexProducer {
         try {
             responses = bulkRequest.execute().actionGet( );
         } catch ( Throwable t ) {
-            log.error( "Unable to communicate with elasticsearch", t );
+            logger.error( "Unable to communicate with elasticsearch", t );
             failureMonitor.fail( "Unable to execute batch", t );
             throw t;
         }finally{
@@ -206,7 +210,7 @@ public class EsIndexProducerImpl implements IndexProducer {
 
             if ( response.isFailed() ) {
                 // log error and continue processing
-                log.error( "Unable to index id={}, type={}, index={}, failureMessage={} ", response.getId(),
+                logger.error( "Unable to index id={}, type={}, index={}, failureMessage={} ", response.getId(),
                     response.getType(), response.getIndex(),  response.getFailureMessage() );
                 //if index is overloaded on the queue fail.
                 if(response.getFailure()!=null && response.getFailure().getStatus() == RestStatus.TOO_MANY_REQUESTS){
@@ -221,8 +225,8 @@ public class EsIndexProducerImpl implements IndexProducer {
         if ( error ) {
             if(hasTooManyRequests){
                 try{
-                    log.warn("Encountered Queue Capacity Exception from ElasticSearch slowing by "
-                        + indexFig.getSleepTimeForQueueError() );
+                    logger.warn("Encountered Queue Capacity Exception from ElasticSearch slowing by {}",
+                        indexFig.getSleepTimeForQueueError() );
                     Thread.sleep(indexFig.getSleepTimeForQueueError());
                 }catch (Exception e){
                     //move on

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
index 096bd17..60c41f6 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
@@ -46,7 +46,7 @@ import com.google.inject.Singleton;
 @Singleton
 public class EsProvider {
 
-    private static final Logger log = LoggerFactory.getLogger( EsProvider.class );
+    private static final Logger logger = LoggerFactory.getLogger( EsProvider.class );
 
     private final IndexFig indexFig;
     private static Client client;
@@ -135,7 +135,7 @@ public class EsProvider {
             }
             catch ( UnknownHostException ex ) {
                 nodeName = "client-" + RandomStringUtils.randomAlphabetic( 8 );
-                log.warn( "Couldn't get hostname to use as ES node name, using " + nodeName );
+                logger.warn( "Couldn't get hostname to use as ES node name, using {}", nodeName );
             }
         }
 
@@ -196,7 +196,9 @@ public class EsProvider {
 
                 .build();
 
-        log.debug( "Creating ElasticSearch client with settings: {}",  settings.getAsMap() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Creating ElasticSearch client with settings: {}", settings.getAsMap());
+        }
 
         Node node = NodeBuilder.nodeBuilder().settings( settings ).client( true ).data( false ).node();
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/FailureMonitorImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/FailureMonitorImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/FailureMonitorImpl.java
index 7de3a7c..943eabb 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/FailureMonitorImpl.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/FailureMonitorImpl.java
@@ -37,7 +37,7 @@ import org.apache.usergrid.persistence.index.IndexFig;
  */
 public class FailureMonitorImpl implements FailureMonitor {
 
-    private static final Logger LOG = LoggerFactory.getLogger( FailureMonitorImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( FailureMonitorImpl.class );
 
     /**
      * Exceptions that will cause us to increment our count and restart
@@ -74,9 +74,8 @@ public class FailureMonitorImpl implements FailureMonitor {
         final int maxCount = indexFig.getFailRefreshCount();
 
         if ( fails > maxCount ) {
-            LOG.error( "Unable to connect to elasticsearch.  Reason is {}", message, throwable );
-            LOG.warn( "We have failed to connect to Elastic Search {} times.  "
-                    + "Max allowed is {}.  Resetting connection", fails, maxCount );
+            logger.error( "Unable to connect to elasticsearch.  Reason is {}", message, throwable );
+            logger.warn( "We have failed to connect to Elastic Search {} times.  Max allowed is {}.  Resetting connection", fails, maxCount );
 
             esProvider.releaseClient();
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java
index e29ed81..246c448 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexMappingMigrationPlugin.java
@@ -70,7 +70,7 @@ public class EsIndexMappingMigrationPlugin implements MigrationPlugin {
         final int version = migrationInfoSerialization.getVersion(getName());
 
         if (version == getMaxVersion()) {
-            logger.debug("Skipping Migration Plugin: " + getName());
+            logger.debug("Skipping Migration Plugin: {}", getName());
             return;
         }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/query/ParsedQueryBuilder.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/query/ParsedQueryBuilder.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/query/ParsedQueryBuilder.java
index bb79e37..4b15332 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/query/ParsedQueryBuilder.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/query/ParsedQueryBuilder.java
@@ -53,7 +53,9 @@ public class ParsedQueryBuilder {
         if ( StringUtils.isEmpty( ql ) ) {
             return null;
         }
-        logger.debug( "Processing raw query: " + ql );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Processing raw query: {}", ql);
+        }
 
         final String trimmedLowercaseQuery = ql.trim().toLowerCase();
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ConversionUtils.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ConversionUtils.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ConversionUtils.java
index 503d597..1aaf380 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ConversionUtils.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ConversionUtils.java
@@ -643,7 +643,7 @@ public class ConversionUtils {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get object from bytes for type " + type.getName(), e );
+            logger.error( "Unable to get object from bytes for type {}", type.getName(), e );
         }
         return null;
     }
@@ -683,7 +683,7 @@ public class ConversionUtils {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get object from bytes for type " + type.getName(), e );
+            logger.error( "Unable to get object from bytes for type {}", type.getName(), e );
         }
         return null;
     }
@@ -748,7 +748,7 @@ public class ConversionUtils {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get object from bytes for type " + type.getName(), e );
+            logger.error( "Unable to get object from bytes for type {}", type.getName(), e );
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ListUtils.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ListUtils.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ListUtils.java
index 26395b4..c93428e 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ListUtils.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/utils/ListUtils.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 
 
 public class ListUtils extends org.apache.commons.collections.ListUtils {
-    private static final Logger LOG = LoggerFactory.getLogger( ListUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( ListUtils.class );
 
 
     public static <A> A first( List<A> list ) {
@@ -69,7 +69,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return NumberUtils.toInt( ( String ) a );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to int", a, e );
+            logger.warn( "Could not convert list item {} to int", a, e );
         }
         return null;
     }
@@ -89,7 +89,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return NumberUtils.toLong( ( String ) a );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to long", a, e );
+            logger.warn( "Could not convert list item {} to long", a, e );
         }
         return null;
     }
@@ -109,7 +109,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return Boolean.parseBoolean( ( String ) a );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to boolean", a, e );
+            logger.warn( "Could not convert list item {} to boolean", a, e );
         }
         return null;
     }
@@ -129,7 +129,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return UUIDUtils.tryGetUUID( ( String ) i );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to UUID", i, e );
+            logger.warn( "Could not convert list item {} to UUID", i, e );
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/GeoPagingTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/GeoPagingTest.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/GeoPagingTest.java
index d71c47e..eb6651f 100644
--- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/GeoPagingTest.java
+++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/GeoPagingTest.java
@@ -58,7 +58,6 @@ import static org.junit.Assert.fail;
 /**
  * // TODO: Document this
  *
- * @author ApigeeCorporation
  * @since 4.0
  */
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueScopeImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueScopeImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueScopeImpl.java
index 09a0bcd..fa50b49 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueScopeImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/QueueScopeImpl.java
@@ -20,9 +20,6 @@ package org.apache.usergrid.persistence.queue.impl;
 import org.apache.usergrid.persistence.model.entity.Id;
 import org.apache.usergrid.persistence.queue.QueueScope;
 
-/**
- * Created by ApigeeCorporation on 10/3/14.
- */
 public class QueueScopeImpl implements QueueScope {
 
     private final String name;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
index 31b478d..3a1f045 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SNSQueueManagerImpl.java
@@ -183,27 +183,27 @@ public class SNSQueueManagerImpl implements QueueManager {
 
         String primaryTopicArn = AmazonNotificationUtils.getTopicArn( sns, queueName, true );
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "SNS/SQS Setup: primaryTopicArn=" + primaryTopicArn );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "SNS/SQS Setup: primaryTopicArn={}", primaryTopicArn );
         }
 
         String queueUrl = AmazonNotificationUtils.getQueueUrlByName( sqs, queueName );
         String primaryQueueArn = AmazonNotificationUtils.getQueueArnByName( sqs, queueName );
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "SNS/SQS Setup: primaryQueueArn=" + primaryQueueArn );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "SNS/SQS Setup: primaryQueueArn={}", primaryQueueArn );
         }
 
         if ( primaryQueueArn == null ) {
-            if ( logger.isDebugEnabled() ) {
-                logger.debug( "SNS/SQS Setup: primaryQueueArn is null, creating queue..." );
+            if ( logger.isTraceEnabled() ) {
+                logger.trace( "SNS/SQS Setup: primaryQueueArn is null, creating queue..." );
             }
 
             queueUrl = AmazonNotificationUtils.createQueue( sqs, queueName, fig );
             primaryQueueArn = AmazonNotificationUtils.getQueueArnByUrl( sqs, queueUrl );
 
-            if ( logger.isDebugEnabled() ) {
-                logger.debug( "SNS/SQS Setup: New Queue URL=[{}] ARN=[{}]", queueUrl, primaryQueueArn );
+            if ( logger.isTraceEnabled() ) {
+                logger.trace( "SNS/SQS Setup: New Queue URL=[{}] ARN=[{}]", queueUrl, primaryQueueArn );
             }
         }
 
@@ -219,15 +219,15 @@ public class SNSQueueManagerImpl implements QueueManager {
         }
         catch ( AmazonServiceException e ) {
             logger.error(
-                String.format( "Unable to subscribe PRIMARY queue=[%s] to topic=[%s]", queueUrl, primaryTopicArn ), e );
+                "Unable to subscribe PRIMARY queue=[{}] to topic=[{}]", queueUrl, primaryTopicArn, e );
         }
 
         if ( fig.isMultiRegion() && scope.getRegionImplementation() == QueueScope.RegionImplementation.ALL ) {
 
             String multiRegion = fig.getRegionList();
 
-            if ( logger.isDebugEnabled() ) {
-                logger.debug( "MultiRegion Setup specified, regions: [{}]", multiRegion );
+            if ( logger.isTraceEnabled() ) {
+                logger.trace( "MultiRegion Setup specified, regions: [{}]", multiRegion );
             }
 
             String[] regionNames = multiRegion.split( "," );
@@ -261,7 +261,9 @@ public class SNSQueueManagerImpl implements QueueManager {
                 arrQueueArns.put( queueArn, regionName );
             }
 
-            logger.debug( "Creating Subscriptions..." );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Creating Subscriptions...");
+            }
 
             for ( Map.Entry<String, String> queueArnEntry : arrQueueArns.entrySet() ) {
                 String queueARN = queueArnEntry.getKey();
@@ -297,20 +299,21 @@ public class SNSQueueManagerImpl implements QueueManager {
 
                         SubscribeResult subscribeResult = subscribeSnsClient.subscribe( subscribeRequest );
                         String subscriptionARN = subscribeResult.getSubscriptionArn();
-                        if ( logger.isDebugEnabled() ) {
-                            logger.debug(
+                        if ( logger.isTraceEnabled() ) {
+                            logger.trace(
                                 "Successfully subscribed Queue ARN=[{}] to Topic ARN=[{}], subscription ARN=[{}]",
                                 queueARN, topicARN, subscriptionARN );
                         }
                     }
                     catch ( Exception e ) {
-                        logger.error( String
-                            .format( "ERROR Subscribing Queue ARN/Region=[%s / %s] and Topic ARN/Region=[%s / %s]",
-                                queueARN, strSqsRegion, topicARN, strSnsRegion ), e );
+                        logger.error( "ERROR Subscribing Queue ARN/Region=[{} / {}] and Topic ARN/Region=[{} / {}]",
+                                queueARN, strSqsRegion, topicARN, strSnsRegion , e );
                     }
                 }
 
-                logger.info( "Adding permission to receive messages..." );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Adding permission to receive messages...");
+                }
                 // add permission to each queue, providing a list of topics that it's subscribed to
                 AmazonNotificationUtils
                     .setQueuePermissionsToReceive( subscribeSqsClient, subscribeQueueUrl, topicArnList );
@@ -409,8 +412,8 @@ public class SNSQueueManagerImpl implements QueueManager {
 
         String url = getReadQueue().getUrl();
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Getting up to {} messages from {}", limit, url );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Getting up to {} messages from {}", limit, url );
         }
 
         ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest( url );
@@ -422,8 +425,8 @@ public class SNSQueueManagerImpl implements QueueManager {
             ReceiveMessageResult result = sqs.receiveMessage( receiveMessageRequest );
             List<Message> messages = result.getMessages();
 
-            if ( logger.isDebugEnabled() ) {
-                logger.debug( "Received {} messages from {}", messages.size(), url );
+            if ( logger.isTraceEnabled() ) {
+                logger.trace( "Received {} messages from {}", messages.size(), url );
             }
 
             List<QueueMessage> queueMessages = new ArrayList<>( messages.size() );
@@ -452,7 +455,7 @@ public class SNSQueueManagerImpl implements QueueManager {
                     }
                 }
                 catch ( Exception e ) {
-                    logger.error( String.format( "failed to deserialize message: %s", message.getBody() ), e );
+                    logger.error( "failed to deserialize message: {}", message.getBody(), e );
                     throw new RuntimeException( e );
                 }
 
@@ -465,10 +468,10 @@ public class SNSQueueManagerImpl implements QueueManager {
             return  queueMessages ;
         }
         catch ( com.amazonaws.services.sqs.model.QueueDoesNotExistException dne ) {
-            logger.error( String.format( "Queue does not exist! [%s]", url ), dne );
+            logger.error( "Queue does not exist! [{}]", url , dne );
         }
         catch ( Exception e ) {
-            logger.error( String.format( "Programming error getting messages from queue=[%s] exist!", url ), e );
+            logger.error( "Programming error getting messages from queue=[{}] exist!", url, e );
         }
 
         return  new ArrayList<>( 0 ) ;
@@ -516,8 +519,8 @@ public class SNSQueueManagerImpl implements QueueManager {
 
         String topicArn = getWriteTopicArn();
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Publishing Message...{} to arn: {}", stringBody, topicArn );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Publishing Message...{} to arn: {}", stringBody, topicArn );
         }
 
         PublishRequest publishRequest = new PublishRequest( topicArn, stringBody );
@@ -531,8 +534,8 @@ public class SNSQueueManagerImpl implements QueueManager {
 
             @Override
             public void onSuccess( PublishRequest request, PublishResult result ) {
-                if ( logger.isDebugEnabled() ) {
-                    logger.debug( "Successfully published... messageID=[{}],  arn=[{}]", result.getMessageId(),
+                if ( logger.isTraceEnabled() ) {
+                    logger.trace( "Successfully published... messageID=[{}],  arn=[{}]", result.getMessageId(),
                         request.getTopicArn() );
                 }
             }
@@ -566,8 +569,8 @@ public class SNSQueueManagerImpl implements QueueManager {
 
         String url = getReadQueue().getUrl();
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Publishing Message...{} to url: {}", stringBody, url );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Publishing Message...{} to url: {}", stringBody, url );
         }
 
         SendMessageRequest request = new SendMessageRequest( url, stringBody );
@@ -583,8 +586,8 @@ public class SNSQueueManagerImpl implements QueueManager {
 
             @Override
             public void onSuccess( final SendMessageRequest request, final SendMessageResult sendMessageResult ) {
-                if ( logger.isDebugEnabled() ) {
-                    logger.debug( "Successfully send... messageBody=[{}],  url=[{}]", request.getMessageBody(),
+                if ( logger.isTraceEnabled() ) {
+                    logger.trace( "Successfully send... messageBody=[{}],  url=[{}]", request.getMessageBody(),
                         request.getQueueUrl() );
                 }
             }
@@ -604,8 +607,8 @@ public class SNSQueueManagerImpl implements QueueManager {
     @Override
     public void commitMessage( final QueueMessage queueMessage ) {
         String url = getReadQueue().getUrl();
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Commit message {} to queue {}", queueMessage.getMessageId(), url );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Commit message {} to queue {}", queueMessage.getMessageId(), url );
         }
 
         sqs.deleteMessage(
@@ -617,8 +620,8 @@ public class SNSQueueManagerImpl implements QueueManager {
     public void commitMessages( final List<QueueMessage> queueMessages ) {
         String url = getReadQueue().getUrl();
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Commit messages {} to queue {}", queueMessages.size(), url );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Commit messages {} to queue {}", queueMessages.size(), url );
         }
 
         List<DeleteMessageBatchRequestEntry> entries = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
index d57870d..b6b1aaa 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/util/AmazonNotificationUtils.java
@@ -131,7 +131,7 @@ public class AmazonNotificationUtils {
             return null;
         }
         catch ( Exception e ) {
-            logger.error( String.format( "Failed to get URL for Queue [%s] from SQS", queueName ), e );
+            logger.error( "Failed to get URL for Queue [{}] from SQS", queueName, e );
             throw e;
         }
 
@@ -177,8 +177,8 @@ public class AmazonNotificationUtils {
     public static String getTopicArn( final AmazonSNSClient sns, final String queueName, final boolean createOnMissing )
         throws Exception {
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Looking up Topic ARN: {}", queueName );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Looking up Topic ARN: {}", queueName );
         }
 
         ListTopicsResult listTopicsResult = sns.listTopics();
@@ -190,25 +190,31 @@ public class AmazonNotificationUtils {
             if ( queueName.equals( arn.substring( arn.lastIndexOf( ':' ) ) ) ) {
                 topicArn = arn;
 
-                logger.info( "Found existing topic arn=[{}] for queue=[{}]", topicArn, queueName );
+                if (logger.isTraceEnabled()) {
+                    logger.trace( "Found existing topic arn=[{}] for queue=[{}]", topicArn, queueName );
+                }
             }
         }
 
         if ( topicArn == null && createOnMissing ) {
-            logger.info( "Creating topic for queue=[{}]...", queueName );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Creating topic for queue=[{}]...", queueName);
+            }
 
             CreateTopicResult createTopicResult = sns.createTopic( queueName );
             topicArn = createTopicResult.getTopicArn();
 
-            logger.info( "Successfully created topic with name {} and arn {}", queueName, topicArn );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Successfully created topic with name {} and arn {}", queueName, topicArn);
+            }
         }
         else {
             logger.error( "Error looking up topic ARN for queue=[{}] and createOnMissing=[{}]", queueName,
                 createOnMissing );
         }
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Returning Topic ARN=[{}] for Queue=[{}]", topicArn, queueName );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Returning Topic ARN=[{}] for Queue=[{}]", topicArn, queueName );
         }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index e97e16e..a72e6f3 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -115,7 +115,7 @@
         <log4j-version>1.2.16</log4j-version>
         <org.springframework.version>3.2.13.RELEASE</org.springframework.version>
         <shiro-version>1.2.4</shiro-version>
-        <slf4j-version>1.6.1</slf4j-version>
+        <slf4j-version>1.7.2</slf4j-version>
         <snakeyaml-version>1.9</snakeyaml-version>
         <tomcat-version>7.0.64</tomcat-version>
         <antlr.version>3.4</antlr.version>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
index 68c894b..da41b59 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
@@ -116,8 +116,8 @@ public abstract class AbstractContextResource {
 
 
     public <T extends AbstractContextResource> T getSubResource(Class<T> t) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("getSubResource: " + t.getCanonicalName());
+        if (logger.isTraceEnabled()) {
+            logger.trace("getSubResource: {}", t.getCanonicalName());
         }
         T subResource = resourceContext.getResource(t);
         subResource.setParent(this);
@@ -175,13 +175,13 @@ public abstract class AbstractContextResource {
 
         if (StringUtils.isNotBlank(redirect_url)) {
             if (logger.isDebugEnabled()) {
-                logger.debug("Redirecting to URL: ", redirect_url);
+                logger.debug("Redirecting to URL: {}", redirect_url);
             }
             sendRedirect(redirect_url);
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Dispatching to viewable with template: {}", template, template_property);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Dispatching to viewable with template: {}  property: {}", template, template_property);
         }
 
         Viewable viewable = new Viewable(template, model);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
index 4b30010..b7118a3 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/RootResource.java
@@ -102,7 +102,9 @@ public class RootResource extends AbstractContextResource implements MetricProce
         @QueryParam("deleted") @DefaultValue("false") Boolean deleted,
         @QueryParam("callback") @DefaultValue("callback") String callback ) throws URISyntaxException {
 
-        logger.info( "RootResource.getData" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("RootResource.getData");
+        }
 
         ApiResponse response = createApiResponse();
         response.setAction( "get applications" );
@@ -340,8 +342,8 @@ public class RootResource extends AbstractContextResource implements MetricProce
     @Path("orgs/{organizationName}")
     public OrganizationResource getOrganizationByName3( @PathParam("organizationName") String organizationName )
             throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("getOrganizationByName3");
+        if (logger.isTraceEnabled()) {
+            logger.trace("getOrganizationByName3");
         }
 
         return getOrganizationByName( organizationName );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/SwaggerServlet.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/SwaggerServlet.java b/stack/rest/src/main/java/org/apache/usergrid/rest/SwaggerServlet.java
index e7fad4d..f272c6b 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/SwaggerServlet.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/SwaggerServlet.java
@@ -62,7 +62,9 @@ public class SwaggerServlet extends HttpServlet implements Filter {
     @Override
     public void init( ServletConfig config ) throws ServletException {
         super.init( config );
-        logger.info( "init(ServletConfig config)" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("init(ServletConfig config)");
+        }
         if ( sc == null ) {
             sc = config.getServletContext();
         }
@@ -73,7 +75,9 @@ public class SwaggerServlet extends HttpServlet implements Filter {
 
     @Override
     public void init( FilterConfig config ) throws ServletException {
-        logger.info( "init(FilterConfig paramFilterConfig)" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("init(FilterConfig paramFilterConfig)");
+        }
         if ( sc == null ) {
             sc = config.getServletContext();
         }
@@ -107,7 +111,9 @@ public class SwaggerServlet extends HttpServlet implements Filter {
 
 
     public void loadSwagger() {
-        logger.info( "loadSwagger()" );
+        if (logger.isTraceEnabled()) {
+            logger.trace( "loadSwagger()" );
+        }
         pathToJson.put( "/resources.json", loadTempate( "/swagger/resources.json" ) );
         pathToJson.put( "/applications.json", loadTempate( "/swagger/applications.json" ) );
         pathToJson.put( "/management.json", loadTempate( "/swagger/management.json" ) );
@@ -120,7 +126,9 @@ public class SwaggerServlet extends HttpServlet implements Filter {
 
         String path = request.getServletPath();
 
-        logger.info( "Swagger request: " + path );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Swagger request: {}" + path);
+        }
 
         handleJsonOutput( request, response );
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
index 5d76b3b..d384cb6 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
@@ -153,8 +153,8 @@ public class ApplicationResource extends ServiceResource {
     @RequireApplicationAccess
     @Path("assets")
     public AssetsResource getAssetsResource( @Context UriInfo ui ) throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("in assets n applicationResource");
+        if (logger.isTraceEnabled()) {
+            logger.trace("in assets n applicationResource");
         }
         addParameter( getServiceParameters(), "assets" );
 
@@ -171,8 +171,8 @@ public class ApplicationResource extends ServiceResource {
     @Path("asset")
     public AssetsResource getAssetResource( @Context UriInfo ui ) throws Exception {
         // TODO change to singular
-        if (logger.isDebugEnabled()) {
-            logger.debug("in asset in applicationResource");
+        if (logger.isTraceEnabled()) {
+            logger.trace("in asset in applicationResource");
         }
         return getAssetsResource( ui );
     }
@@ -180,8 +180,8 @@ public class ApplicationResource extends ServiceResource {
 
     @Path("users")
     public UsersResource getUsers( @Context UriInfo ui ) throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("ApplicationResource.getUsers");
+        if (logger.isTraceEnabled()) {
+            logger.trace("ApplicationResource.getUsers");
         }
         addParameter( getServiceParameters(), "users" );
 
@@ -210,8 +210,8 @@ public class ApplicationResource extends ServiceResource {
                                     @QueryParam("ttl") long ttl, @QueryParam("redirect_uri") String redirect_uri,
                                     @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("ApplicationResource.getAccessToken");
+        if (logger.isTraceEnabled()) {
+            logger.trace("ApplicationResource.getAccessToken");
         }
 
         User user = null;
@@ -273,7 +273,7 @@ public class ApplicationResource extends ServiceResource {
             if ( user == null ) {
 
                 if (logger.isDebugEnabled()) {
-                    logger.debug("Returning 400 bad request due to: " + errorDescription);
+                    logger.debug("Returning 400 bad request due to: {}", errorDescription);
                 }
 
                 OAuthResponse response =
@@ -313,8 +313,8 @@ public class ApplicationResource extends ServiceResource {
                                         @FormParam("redirect_uri") String redirect_uri,
                                         @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("ApplicationResource.getAccessTokenPost");
+        if (logger.isTraceEnabled()) {
+            logger.trace("ApplicationResource.getAccessTokenPost");
         }
 
         return getAccessToken( ui, authorization, grant_type, username, password, pin, client_id, client_secret, code,
@@ -363,8 +363,8 @@ public class ApplicationResource extends ServiceResource {
                                     @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("AuthResource.keys");
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.keys");
         }
 
         if ( !isApplicationAdmin( Identifier.fromUUID( applicationId ) ) ) {
@@ -387,8 +387,8 @@ public class ApplicationResource extends ServiceResource {
     public ApiResponse generateKeys( @Context UriInfo ui,
         @QueryParam("callback") @DefaultValue("callback") String callback ) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("AuthResource.keys");
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.keys");
         }
 
         if ( !isApplicationAdmin( Identifier.fromUUID( applicationId ) ) ) {
@@ -451,8 +451,8 @@ public class ApplicationResource extends ServiceResource {
             @FormParam("username") String username,
             @FormParam("password") String password ) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("ApplicationResource /authorize: {}/{}", username, password);
+        if (logger.isTraceEnabled()) {
+            logger.trace("ApplicationResource /authorize: {}/{}", username, password);
         }
 
         try {
@@ -564,8 +564,8 @@ public class ApplicationResource extends ServiceResource {
 
         Class cls = Class.forName( "org.apache.usergrid.rest.applications.notifiers.NotifiersResource" );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("NotifiersResource.getNotifiersResource");
+        if (logger.isTraceEnabled()) {
+            logger.trace("NotifiersResource.getNotifiersResource");
         }
         addParameter( getServiceParameters(), "notifiers" );
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/AuthResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/AuthResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/AuthResource.java
index d90a44c..e5464de 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/AuthResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/AuthResource.java
@@ -94,7 +94,9 @@ public class AuthResource extends AbstractContextResource {
                                 @QueryParam("ttl") long ttl, @QueryParam("callback") @DefaultValue("") String callback )
             throws Exception {
 
-        logger.info( "AuthResource.authFBPost" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.authFBPost");
+        }
 
         return authFB( ui, fb_access_token, ttl, callback );
     }
@@ -105,7 +107,9 @@ public class AuthResource extends AbstractContextResource {
     @Path("pingident")
     public Response authPingIdent( @Context UriInfo ui, @QueryParam("ping_access_token") String pingToken,
                                    @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
-        logger.info( "AuthResource.pingIdent" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.pingIdent");
+        }
         try {
             if ( StringUtils.isEmpty( pingToken ) ) {
                 missingTokenFail( callback );
@@ -178,7 +182,9 @@ public class AuthResource extends AbstractContextResource {
                             @QueryParam("ttl") long ttl, @QueryParam("callback") @DefaultValue("") String callback )
             throws Exception {
 
-        logger.info( "AuthResource.authFB" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.authFB");
+        }
 
         try {
             if ( StringUtils.isEmpty( fb_access_token ) ) {
@@ -214,7 +220,9 @@ public class AuthResource extends AbstractContextResource {
                                 @QueryParam("ttl") long ttl, @QueryParam("callback") @DefaultValue("") String callback )
             throws Exception {
 
-        logger.info( "AuthResource.authFQPost" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.authFQPost");
+        }
 
         return authFQ( ui, fq_access_token, ttl, callback );
     }
@@ -227,7 +235,9 @@ public class AuthResource extends AbstractContextResource {
                             @QueryParam("ttl") long ttl, @QueryParam("callback") @DefaultValue("") String callback )
             throws Exception {
 
-        logger.info( "AuthResource.authFQ" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("AuthResource.authFQ");
+        }
 
         try {
             if ( StringUtils.isEmpty( fq_access_token ) ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
index 70adf35..78d0e2a 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
@@ -183,8 +183,8 @@ public class ServiceResource extends AbstractContextResource {
     @Path("file")
     public AbstractContextResource getFileResource( @Context UriInfo ui ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.getFileResource" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.getFileResource" );
         }
 
         ServiceParameter.addParameter( getServiceParameters(), "assets" );
@@ -202,8 +202,8 @@ public class ServiceResource extends AbstractContextResource {
     public AbstractContextResource addIdParameter( @Context UriInfo ui, @PathParam("entityId") PathSegment entityId )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.addIdParameter" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.addIdParameter" );
         }
 
         UUID itemId = UUID.fromString( entityId.getPath() );
@@ -219,9 +219,9 @@ public class ServiceResource extends AbstractContextResource {
     @Path("{itemName}")
     public AbstractContextResource addNameParameter( @Context UriInfo ui, @PathParam("itemName") PathSegment itemName )
             throws Exception {
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.addNameParameter" );
-            logger.debug( "Current segment is {}", itemName.getPath() );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.addNameParameter" );
+            logger.trace( "Current segment is {}", itemName.getPath() );
         }
 
 
@@ -243,8 +243,8 @@ public class ServiceResource extends AbstractContextResource {
 
     public ServiceResults executeServiceRequest( UriInfo ui, ApiResponse response, ServiceAction action,
                                                  ServicePayload payload ) throws Exception {
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executeServiceRequest" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executeServiceRequest" );
         }
 
 
@@ -334,8 +334,8 @@ public class ServiceResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executeGet" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executeGet" );
         }
 
         ApiResponse response = createApiResponse();
@@ -385,8 +385,8 @@ public class ServiceResource extends AbstractContextResource {
     public ApiResponse executePostWithObject( @Context UriInfo ui, Object json,
             @QueryParam("callback") @DefaultValue("callback") String callback ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executePostWithMap" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executePostWithMap" );
         }
 
         ApiResponse response = createApiResponse();
@@ -434,8 +434,8 @@ public class ServiceResource extends AbstractContextResource {
     public ApiResponse executePost( @Context UriInfo ui, String body,
             @QueryParam("callback") @DefaultValue("callback") String callback ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executePost: body = " + body );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executePost: body = {}", body );
         }
 
         Object json;
@@ -470,8 +470,8 @@ public class ServiceResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executePut" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executePut" );
         }
 
         ObjectMapper mapper = new ObjectMapper();
@@ -491,8 +491,8 @@ public class ServiceResource extends AbstractContextResource {
         @QueryParam("app_delete_confirm") String confirmAppDelete )
         throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executeDelete" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executeDelete" );
         }
 
         ApiResponse response = createApiResponse();
@@ -610,8 +610,8 @@ public class ServiceResource extends AbstractContextResource {
                                                  @QueryParam("callback") @DefaultValue("callback") String callback,
                                                  FormDataMultiPart multiPart ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executeMultiPartPost" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executeMultiPartPost" );
         }
         return executeMultiPart( ui, callback, multiPart, ServiceAction.POST );
     }
@@ -626,8 +626,8 @@ public class ServiceResource extends AbstractContextResource {
                                                 @QueryParam("callback") @DefaultValue("callback") String callback,
                                                 FormDataMultiPart multiPart ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executeMultiPartPut" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executeMultiPartPut" );
         }
         return executeMultiPart( ui, callback, multiPart, ServiceAction.PUT );
     }
@@ -655,7 +655,9 @@ public class ServiceResource extends AbstractContextResource {
                 data.put( bodyPart.getName(), bodyPart.getValue() );
             }
             else {
-                logger.info( "skipping bodyPart {} of media type {}", bodyPart.getName(), bodyPart.getMediaType() );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("skipping bodyPart {} of media type {}", bodyPart.getName(), bodyPart.getMediaType());
+                }
             }
         }
 
@@ -754,8 +756,8 @@ public class ServiceResource extends AbstractContextResource {
                                       @HeaderParam("range") String rangeHeader,
                                       @HeaderParam("if-modified-since") String modifiedSince ) throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.executeStreamGet" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.executeStreamGet" );
         }
 
         //Needed for testing
@@ -773,9 +775,9 @@ public class ServiceResource extends AbstractContextResource {
         ServiceResults serviceResults = executeServiceRequest( ui, response, ServiceAction.GET, null );
         Entity entity = serviceResults.getEntity();
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "In ServiceResource.executeStreamGet with id: {}, range: {}, modifiedSince: {}",
-                new Object[] { entityId, rangeHeader, modifiedSince } );
+        if(logger.isTraceEnabled()){
+            logger.trace( "In ServiceResource.executeStreamGet with id: {}, range: {}, modifiedSince: {}",
+                entityId, rangeHeader, modifiedSince );
         }
 
         Map<String, Object> fileMetadata = AssetUtils.getFileMetadata( entity );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
index 6eb6307..b894205 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
@@ -71,9 +71,13 @@ public class AssetsResource extends ServiceResource {
     @Path("{itemName}")
     public AbstractContextResource addNameParameter( @Context UriInfo ui, @PathParam("itemName") PathSegment itemName )
             throws Exception {
-        logger.info( "in AssetsResource.addNameParameter" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("in AssetsResource.addNameParameter");
+        }
         super.addNameParameter( ui, itemName );
-        logger.info( "serviceParamters now has: {}", getServiceParameters() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("serviceParamters now has: {}", getServiceParameters());
+        }
         // HTF to work w/ the ../data endpoint when we are looking up by path?
         return getSubResource( AssetsResource.class );
     }
@@ -87,7 +91,9 @@ public class AssetsResource extends ServiceResource {
     public ApiResponse executeGet( @Context UriInfo ui,
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
-        logger.info( "In AssetsResource.executeGet with ui: {} and callback: {}", ui, callback );
+        if (logger.isTraceEnabled()) {
+            logger.trace("In AssetsResource.executeGet with ui: {} and callback: {}", ui, callback);
+        }
         return super.executeGet( ui, callback );
     }
 
@@ -164,12 +170,16 @@ public class AssetsResource extends ServiceResource {
         }
 
         UUID assetId = UUID.fromString( entityId.getPath() );
-        logger.info( "In AssetsResource.uploadDataStream with id: {}", assetId );
+        if (logger.isTraceEnabled()) {
+            logger.trace("In AssetsResource.uploadDataStream with id: {}", assetId);
+        }
         EntityManager em = emf.getEntityManager( getApplicationId() );
         Asset asset = em.get( assetId, Asset.class );
 
         binaryStore.write( getApplicationId(), asset, uploadedInputStream );
-        logger.info( "uploadDataStream written, returning response" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("uploadDataStream written, returning response");
+        }
         em.update( asset );
         return Response.status( 200 ).build();
     }
@@ -189,8 +199,10 @@ public class AssetsResource extends ServiceResource {
         }
 
         UUID assetId = UUID.fromString( entityId.getPath() );
-        logger.info( "In AssetsResource.findAsset with id: {}, range: {}, modifiedSince: {}",
-                new Object[] { assetId, range, modifiedSince } );
+        if (logger.isTraceEnabled()) {
+            logger.trace("In AssetsResource.findAsset with id: {}, range: {}, modifiedSince: {}",
+                    assetId, range, modifiedSince);
+        }
         EntityManager em = emf.getEntityManager( getApplicationId() );
 
         Asset asset = em.get( assetId, Asset.class );
@@ -217,7 +229,9 @@ public class AssetsResource extends ServiceResource {
             return Response.status( Response.Status.NOT_FOUND ).build();
         }
 
-        logger.info( "AssetResource.findAsset read inputStream, composing response" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("AssetResource.findAsset read inputStream, composing response");
+        }
         Response.ResponseBuilder responseBuilder =
                 Response.ok( is ).type( fileMetadata.get( "content-type" ).toString() )
                         .lastModified( new Date( asset.getModified() ) );
@@ -225,7 +239,9 @@ public class AssetsResource extends ServiceResource {
             responseBuilder.tag( ( String ) fileMetadata.get( AssetUtils.E_TAG ) );
         }
         if ( StringUtils.isNotBlank( range ) ) {
-            logger.info( "Range header was not blank, sending back Content-Range" );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Range header was not blank, sending back Content-Range");
+            }
             // TODO build content range header if needed
             //responseBuilder.header("Content-Range", );
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java
index 4e4a3b1..2049983 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifierResource.java
@@ -65,8 +65,8 @@ public class NotifierResource extends ServiceResource {
         @QueryParam("callback") @DefaultValue("callback") String callback,
         FormDataMultiPart multiPart) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("NotifierResource.executeMultiPartPut");
+        if (logger.isTraceEnabled()) {
+            logger.trace("NotifierResource.executeMultiPartPut");
         }
 
         String certInfoParam = getValueOrNull(multiPart, "certInfo");

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java
index 53b29b4..b92e775 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/notifiers/NotifiersResource.java
@@ -56,8 +56,8 @@ public class NotifiersResource extends ServiceResource {
     public AbstractContextResource addIdParameter(@Context UriInfo ui,
             @PathParam("entityId") PathSegment entityId) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("NotifiersResource.addIdParameter");
+        if (logger.isTraceEnabled()) {
+            logger.trace("NotifiersResource.addIdParameter");
         }
 
         UUID itemId = UUID.fromString(entityId.getPath());
@@ -74,9 +74,9 @@ public class NotifiersResource extends ServiceResource {
     public AbstractContextResource addNameParameter(@Context UriInfo ui,
             @PathParam("itemName") PathSegment itemName) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("NotifiersResource.addNameParameter");
-            logger.debug("Current segment is " + itemName.getPath());
+        if (logger.isTraceEnabled()) {
+            logger.trace("NotifiersResource.addNameParameter");
+            logger.trace("Current segment is {}", itemName.getPath());
         }
 
         if (itemName.getPath().startsWith("{")) {
@@ -113,8 +113,8 @@ public class NotifiersResource extends ServiceResource {
             FormDataMultiPart multiPart)
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Notifiers.executeMultiPartPost");
+        if (logger.isTraceEnabled()) {
+            logger.trace("Notifiers.executeMultiPartPost");
         }
 
         String certInfoParam = getValueOrNull(multiPart, "certInfo");

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueResource.java
index 609b860..ac177aa 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueResource.java
@@ -65,7 +65,9 @@ public class QueueResource extends AbstractContextResource {
     @Path("{subPath}")
     public QueueResource getSubPath( @Context UriInfo ui, @PathParam("subPath") String subPath ) throws Exception {
 
-        logger.info( "QueueResource.getSubPath" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.getSubPath");
+        }
 
         return getSubResource( QueueResource.class ).init( mq, queuePath + "/" + subPath );
     }
@@ -75,7 +77,9 @@ public class QueueResource extends AbstractContextResource {
     @Path("subscribers")
     public QueueSubscriberResource getSubscribers( @Context UriInfo ui ) throws Exception {
 
-        logger.info( "QueueResource.getSubscribers" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.getSubscribers");
+        }
 
         return getSubResource( QueueSubscriberResource.class ).init( mq, queuePath );
     }
@@ -85,7 +89,9 @@ public class QueueResource extends AbstractContextResource {
     @Path("subscriptions")
     public QueueSubscriptionResource getSubscriptions( @Context UriInfo ui ) throws Exception {
 
-        logger.info( "QueueResource.getSubscriptions" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.getSubscriptions");
+        }
 
         return getSubResource( QueueSubscriptionResource.class ).init( mq, queuePath );
     }
@@ -100,7 +106,9 @@ public class QueueResource extends AbstractContextResource {
                                           @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueResource.getProperties" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.getProperties");
+        }
 
         return mq.getQueue( queuePath );
     }
@@ -116,7 +124,9 @@ public class QueueResource extends AbstractContextResource {
                                           @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueResource.putProperties" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.putProperties");
+        }
 
         return mq.updateQueue( queuePath, json );
     }
@@ -132,14 +142,18 @@ public class QueueResource extends AbstractContextResource {
             throws Exception {
 
         if ( StringUtils.isNotBlank( queuePath ) ) {
-            logger.info( "QueueResource.executeGet: " + queuePath );
+            if (logger.isTraceEnabled()) {
+                logger.trace("QueueResource.executeGet: {}", queuePath);
+            }
 
             QueueQuery query = QueueQuery.fromQueryParams( ui.getQueryParameters() );
             QueueResults results = mq.getFromQueue( queuePath, query );
             return results;
         }
 
-        logger.info( "QueueResource.executeGet" );
+        if (logger.isTraceEnabled()) {
+            logger.trace( "QueueResource.executeGet" );
+        }
 
         return  mq.getQueues( firstQueuePath, limit );
     }
@@ -155,7 +169,9 @@ public class QueueResource extends AbstractContextResource {
                                         @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueResource.executePost: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.executePost: {}", queuePath);
+        }
         Object json = body;
 
         if ( json instanceof Map ) {
@@ -178,7 +194,9 @@ public class QueueResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueResource.executePut: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.executePut: {}", queuePath);
+        }
 
         Map<String, Object> results = new HashMap<String, Object>();
 
@@ -200,7 +218,9 @@ public class QueueResource extends AbstractContextResource {
     @Path("transactions")
     public QueueTransactionsResource getTransactions( @Context UriInfo ui ) throws Exception {
 
-        logger.info( "QueueResource.getSubscriptions" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueResource.getSubscriptions");
+        }
 
         return getSubResource( QueueTransactionsResource.class ).init( mq, queuePath );
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriberResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriberResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriberResource.java
index b264e8f..54cc8ab 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriberResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriberResource.java
@@ -74,7 +74,9 @@ public class QueueSubscriberResource extends AbstractContextResource {
     public QueueSubscriberResource getSubPath( @Context UriInfo ui, @PathParam("subPath") String subPath )
             throws Exception {
 
-        logger.info( "QueueSubscriberResource.getSubPath" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriberResource.getSubPath");
+        }
 
         return getSubResource( QueueSubscriberResource.class ).init( mq, queuePath, subscriberPath + "/" + subPath );
     }
@@ -89,7 +91,9 @@ public class QueueSubscriberResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriberResource.executeGet: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriberResource.executeGet: {}", queuePath);
+        }
 
         QueueSet results = mq.getSubscribers( queuePath, firstSubscriberQueuePath, limit );
 
@@ -106,7 +110,9 @@ public class QueueSubscriberResource extends AbstractContextResource {
                                         @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriberResource.executePost: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriberResource.executePost: {}", queuePath);
+        }
 
         return executePut( ui, body, callback );
     }
@@ -121,7 +127,9 @@ public class QueueSubscriberResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriberResource.executePut: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriberResource.executePut: {}", queuePath);
+        }
 
         Map<String, Object> json = body;
         if ( StringUtils.isNotBlank( subscriberPath ) ) {
@@ -148,7 +156,9 @@ public class QueueSubscriberResource extends AbstractContextResource {
                                           @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriberResource.executeDelete: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriberResource.executeDelete: {}", queuePath);
+        }
 
         if ( StringUtils.isNotBlank( subscriberPath ) ) {
             return mq.unsubscribeFromQueue( queuePath, subscriberPath );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriptionResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriptionResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriptionResource.java
index 778b57d..acc13a3 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriptionResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/queues/QueueSubscriptionResource.java
@@ -75,7 +75,9 @@ public class QueueSubscriptionResource extends AbstractContextResource {
     public QueueSubscriptionResource getSubPath( @Context UriInfo ui, @PathParam("subPath") String subPath )
             throws Exception {
 
-        logger.info( "QueueSubscriptionResource.getSubPath" );
+        if (logger.isTraceEnabled()) {
+            logger.info("QueueSubscriptionResource.getSubPath");
+        }
 
         return getSubResource( QueueSubscriptionResource.class )
                 .init( mq, queuePath, subscriptionPath + "/" + subPath );
@@ -91,7 +93,9 @@ public class QueueSubscriptionResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriptionResource.executeGet: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriptionResource.executeGet: {}", queuePath);
+        }
 
         QueueSet results = mq.getSubscriptions( queuePath, firstSubscriptionQueuePath, limit );
 
@@ -108,7 +112,9 @@ public class QueueSubscriptionResource extends AbstractContextResource {
                                         @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriptionResource.executePost: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriptionResource.executePost: {}", queuePath);
+        }
 
         return executePut( ui, body, callback );
     }
@@ -123,7 +129,9 @@ public class QueueSubscriptionResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriptionResource.executePut: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriptionResource.executePut: {}", queuePath);
+        }
 
         Map<String, Object> json = body;
         if ( StringUtils.isNotBlank( subscriptionPath ) ) {
@@ -150,7 +158,9 @@ public class QueueSubscriptionResource extends AbstractContextResource {
                                           @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "QueueSubscriptionResource.executeDelete: " + queuePath );
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueSubscriptionResource.executeDelete: {}", queuePath);
+        }
 
         if ( StringUtils.isNotBlank( subscriptionPath ) ) {
             return  mq.unsubscribeFromQueue( subscriptionPath, queuePath );


[05/50] [abbrv] usergrid git commit: Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/ugcluster-cf.json
----------------------------------------------------------------------
diff --git a/stack/awscluster/ugcluster-cf.json b/stack/awscluster/ugcluster-cf.json
deleted file mode 100644
index e9db671..0000000
--- a/stack/awscluster/ugcluster-cf.json
+++ /dev/null
@@ -1,2062 +0,0 @@
-{
-    "AWSTemplateFormatVersion": "2010-09-09",
-    "Description": "Usergrid AWS Cluster",
-    "Parameters": {
-        "DnsSubDomain": {
-            "Description": "DNS name for stack, must not already exist in Route53.",
-            "Type": "String",
-            "Default": "ugtest"
-        },
-        "DnsDomain": {
-            "Description": "DNS domain for stack, must already exist in Route53",
-            "Type": "String",
-            "Default": "usergrid.com"
-        },
-        "ReleaseBucket": {
-            "Description": "S3 Bucket where Usergrid assembly is to be found.",
-            "Type": "String",
-            "Default": "ug-cloudformation"
-        },
-        "RestMinServers": {
-            "Description": "Minimum number of REST servers.",
-            "Type": "Number",
-            "Default": "1",
-            "MinValue": "1"
-        },
-        "RestMaxServers": {
-            "Description": "Maximum number REST servers.",
-            "Type": "Number",
-            "Default": "3",
-            "MinValue": "1"
-        },
-        "RestInstanceType": {
-            "Description": "Instance type for REST servers",
-            "Type": "String",
-            "Default": "c3.xlarge",
-            "AllowedValues": [
-                "m1.small",
-                "m1.medium",
-                "m1.large",
-                "m1.xlarge",
-                "m3.xlarge",
-                "m3.large",
-                "c3.xlarge",
-                "c3.2xlarge",
-                "c3.4xlarge"
-            ],
-            "ConstraintDescription": "must be valid instance type."
-        },
-      "RestIndexWorkers":{
-        "Description": "The number of index workers to ingest ElasticSearch batch operations per tomcat",
-        "Type": "Number",
-        "Default": "8",
-        "MinValue": "3"
-      },
-      "TomcatThreadsPerCore": {
-        "Description": "Number of threads to configure tomcat for per core",
-        "Type": "Number",
-        "Default": "50",
-        "MinValue": "1"
-      },
-        "KeyPair": {
-          "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instance",
-          "Type": "AWS::EC2::KeyPair::KeyName",
-          "Default": "ug-cloudformation",
-          "ConstraintDescription": "must be the name of an existing EC2 KeyPair."
-        },
-        "CassClusterName": {
-            "Description": "Name to be used for Cassandra cluster.",
-            "Type": "String",
-            "Default": "usergrid"
-        },
-        "CassNumServers": {
-            "Description": "Number of Cass servers to start.",
-            "Type": "Number",
-            "Default": "6",
-            "MinValue": "2"
-        },
-        "CassInstanceType": {
-            "Description": "Instance type for Cass servers",
-            "Type": "String",
-            "Default": "c3.4xlarge",
-            "AllowedValues": [
-                "c3.large",
-                "c3.xlarge",
-                "c3.2xlarge",
-                "c3.4xlarge"
-            ],
-            "ConstraintDescription": "must be valid instance type."
-        },
-        "CassReplicationFactor": {
-            "Description": "Cassandra replication factor",
-            "Type": "Number",
-            "Default": "2",
-            "MinValue": "1"
-        },
-
-      "CassReadConsistency": {
-                "Description": "Cassandra replication factor for Astyanax",
-                "Type": "String",
-                "Default": "CL_ONE"
-            },
-      "CassWriteConsistency": {
-                "Description": "Cassandra replication factor for Astyanax",
-                "Type": "String",
-                "Default": "CL_ONE"
-            },
-        "ESClusterName": {
-            "Description": "Name to be used for Elasticsearch cluster.",
-            "Type": "String",
-            "Default": "usergrid"
-        },
-        "ESNumServers": {
-            "Description": "Number of ES servers to start.",
-            "Type": "Number",
-            "Default": "6",
-            "MinValue": "2"
-        },
-        "ESNumMasterServers": {
-                   "Description": "Number of ES master servers to start.",
-                   "Type": "Number",
-                   "Default": "1",
-                   "MinValue": "1"
-               },
-
-
-        "ESInstanceType": {
-            "Description": "Instance type for ES servers",
-            "Type": "String",
-            "Default": "c3.4xlarge",
-            "AllowedValues": [
-                "c3.large",
-                "c3.xlarge",
-                "c3.2xlarge",
-                "c3.4xlarge"
-            ],
-            "ConstraintDescription": "must be valid instance type."
-        },
-        "SuperUserEmail": {
-            "Description": "Email for superuser user",
-            "Type": "String",
-            "Default": "tnine+super@apigee.com"
-        },
-        "TestAdminUserEmail": {
-            "Description": "Email for test admin user",
-            "Type": "String",
-            "Default": "tnine+admin@apigee.com"
-        },
-        "NotificationEmail": {
-            "Description": "Email for notifications",
-            "Type": "String",
-            "Default": "tnine+super@apigee.com"
-        },
-        "GraphiteInstanceType": {
-            "Description": "Instance type for Graphite server",
-            "Type": "String",
-            "Default": "m3.large",
-            "AllowedValues": [
-                "t1.micro",
-                "m1.small",
-                "m1.medium",
-                "m1.large",
-                "m3.large",
-                "m1.xlarge",
-                "m3.xlarge",
-                "m3.2xlarge",
-                "c3.4xlarge"
-            ],
-            "ConstraintDescription": "must be valid instance type."
-        },
-        "GraphiteNumServers": {
-            "Description": "Minimum number of graphite servers. There should only be one",
-            "Type": "Number",
-            "Default": "1",
-            "MinValue": "1"
-        },
-        "OpsCenterInstanceType": {
-                   "Description": "Instance type for Opscenter server",
-                   "Type": "String",
-                   "Default": "c3.large",
-                   "AllowedValues": [
-                       "c3.large",
-                       "c3.xlarge",
-                       "c3.2xlarge",
-                       "c3.4xlarge"
-                   ],
-                   "ConstraintDescription": "must be valid instance type."
-               },
-               "OpsCenterNumServers": {
-                   "Description": "Minimum number of opscenter servers. There should only be one",
-                   "Type": "Number",
-                   "Default": "1",
-                   "MinValue": "1"
-               },
-        "InstallYourkit": {
-            "Description": "Install the yourkit remote profiling agent into tomcat.  Valid values are 'true' or 'false'",
-            "Type": "String",
-            "Default": "false"
-        }
-    },
-    "Mappings": {
-        "AWSInstanceType2Arch": {
-            "t1.micro": {
-                "Arch": "64"
-            },
-            "m1.small": {
-                "Arch": "64"
-            },
-            "m1.medium": {
-                "Arch": "64"
-            },
-            "m1.large": {
-                "Arch": "64"
-            },
-            "m1.xlarge": {
-                "Arch": "64"
-            },
-            "m3.large": {
-                "Arch": "64"
-            },
-            "m3.xlarge": {
-                "Arch": "64"
-            },
-            "c3.large": {
-                "Arch": "64"
-            },
-            "c3.xlarge": {
-                "Arch": "64"
-            },
-            "c3.2xlarge": {
-                "Arch": "64"
-            },
-            "c3.4xlarge": {
-                "Arch": "64"
-            }
-        },
-        "AWSRegionArch2AMI": {
-            "ap-southeast-2": {
-                "64": "ami-c1335ffb"
-            },
-            "us-east-1": {
-                "64": "ami-b89f18d0"
-            },
-            "us-west-2": {
-                "64": "ami-194a0429"
-            }
-        },
-        "FourAZs": {
-            "ap-southeast-2": {
-                "AZ1": "ap-southeast-2a",
-                "AZ2": "ap-southeast-2b",
-                "AZ3": "ap-southeast-2a",
-                "AZ4": "ap-southeast-2b"
-            },
-            "us-east-1": {
-                "AZ1": "us-east-1b",
-                "AZ2": "us-east-1c",
-                "AZ3": "us-east-1d",
-                "AZ4": "us-east-1e"
-            },
-            "us-west-2": {
-                "AZ1": "us-west-2a",
-                "AZ2": "us-west-2b",
-                "AZ3": "us-west-2c",
-                "AZ4": "us-west-2a"
-            }
-        }
-    },
-    "Resources": {
-        "GraphiteUser": {
-            "Type": "AWS::IAM::User",
-            "Properties": {
-                "Path": "/",
-                "Policies": [
-                    {
-                        "PolicyName": "root",
-                        "PolicyDocument": {
-                            "Statement": [
-                                {
-                                    "Effect": "Allow",
-                                    "Action": "*",
-                                    "Resource": "*"
-
-                                }
-                            ]
-                        }
-                    }
-                ]
-            }
-        },
-        "GraphiteKey": {
-            "Type": "AWS::IAM::AccessKey",
-            "Properties": {
-                "UserName": {
-                    "Ref": "GraphiteUser"
-                }
-            }
-        },
-        "GraphiteAutoScalingLaunchConfiguration":{
-         "Type":"AWS::AutoScaling::LaunchConfiguration",
-         "Properties":{
-            "UserData":{
-               "Fn::Base64":{
-                  "Fn::Join":[
-                     "",
-                     [
-                      "#!/bin/bash -x\n",
-                      "sudo git clone https://github.com/hopsoft/docker-graphite-statsd.git \n",
-                      "sudo ./docker-graphite-statsd/bin/start \n",
-                      "sudo git clone https://github.com/dotcloud/collectd-graphite.git \n",
-                      "sudo collectd-graphite/docker build -t collectd-graphite . \n",
-
-                      "#!/bin/bash -ex\n",
-                      "# REST SERVER STARTUP \n",
-                      "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
-                      "\n",
-                      "mkdir -p /usr/share/usergrid\n",
-                      "\n",
-                      "# create script that sets our environment variables\n",
-                      "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
-                      "alias sudo='sudo -E'\n",
-                      "\n",
-                      "export TYPE=graphite\n",
-                      "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n",
-                      "\n",
-                      "export DNS_NAME=", { "Ref":"DnsSubDomain" }, "\n",
-                      "export DNS_DOMAIN=", { "Ref":"DnsDomain" },
-                      "\n",
-                      "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
-                      "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
-                      "export ELB_NAME=", { "Ref":"RestElasticLoadBalancer" }, "\n",
-                      "\n",
-                      "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
-                      "export EC2_REGION=", { "Ref":"AWS::Region" },
-                      "\n",
-                      "export EC2_URL=https://ec2.amazonaws.com/\n",
-                      "\n",
-                      "export REST_SECURITY_GROUP_NAME=", { "Ref":"RestSecurityGroup" }, "\n",
-                      "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
-                      "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
-                      "EOF\n",
-                      "\n",
-                      "# put AWS creds in environment\n",
-                      "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
-                      "export AWS_ACCESS_KEY=", { "Ref":"RestKey" }, "\n",
-                      "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
-                      "EOF\n",
-                      "\n",
-                      "# setup s3cmd (will be installed by init script) \n",
-                      "cat >/etc/s3cfg <<EOF\n",
-                      "access_key=", { "Ref":"RestKey" }, "\n",
-                      "secret_key=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
-                      "EOF\n",
-                      "chmod 644 /etc/s3cfg\n",
-                      "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
-                      "ln -s /etc/s3cfg ~root/.s3cfg\n",
-                      "\n",
-                      "# download usergrid and init script bundle from S3\n",
-                      "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
-                      "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
-                      "apt-get update\n",
-                      "apt-get -y install s3cmd\n",
-                      "cd /usr/share/usergrid\n",
-                      "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                      "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                      "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                      "chmod 755 ./init_instance/*.sh\n",
-                      "cd ./init_instance\n",
-                      "# Init as a REST intance \n",
-                      "sh ./init_graphite_server.sh\n"
-                   ]
-                  ]
-
-               }
-            },
-            "KeyName":{
-               "Ref":"KeyPair"
-            },
-            "ImageId":{
-               "Fn::FindInMap":[
-                  "AWSRegionArch2AMI",
-                  {
-                     "Ref":"AWS::Region"
-                  },
-                  {
-                     "Fn::FindInMap":[
-                        "AWSInstanceType2Arch",
-                        {
-                           "Ref":"GraphiteInstanceType"
-                        },
-                        "Arch"
-                     ]
-                  }
-               ]
-            },
-            "InstanceType":{
-               "Ref":"GraphiteInstanceType"
-            },
-            "IamInstanceProfile":{
-               "Ref":"RootInstanceProfile"
-            },
-            "SecurityGroups":[
-                            {
-                               "Ref":"GraphiteSecurityGroup"
-                            }
-                         ]
-
-         }
-      },
-        "GraphiteAutoScalingGroup": {
-            "Type": "AWS::AutoScaling::AutoScalingGroup",
-            "Version": "2014-07-24",
-            "Properties": {
-                "AvailabilityZones": [
-                    {
-                        "Fn::FindInMap": [
-                            "FourAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ1"
-                        ]
-                    },
-                    {
-                        "Fn::FindInMap": [
-                            "FourAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ2"
-                        ]
-                    },
-                    {
-                         "Fn::FindInMap": [
-                             "FourAZs",
-                             {
-                                 "Ref": "AWS::Region"
-                             },
-                             "AZ3"
-                         ]
-                     },
-                    {
-                         "Fn::FindInMap": [
-                             "FourAZs",
-                             {
-                                 "Ref": "AWS::Region"
-                             },
-                             "AZ4"
-                         ]
-                     }
-                ],
-                "LaunchConfigurationName": {
-                    "Ref": "GraphiteAutoScalingLaunchConfiguration"
-                },
-                "MinSize": {
-                    "Ref": "GraphiteNumServers"
-                },
-                "MaxSize": {
-                    "Ref": "GraphiteNumServers"
-                },
-                "NotificationConfiguration": {
-                    "TopicARN": {
-                        "Ref": "NotificationTopic"
-                    },
-                    "NotificationTypes": [
-                        "autoscaling:EC2_INSTANCE_LAUNCH",
-                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
-                        "autoscaling:EC2_INSTANCE_TERMINATE",
-                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
-                    ]
-                }
-            }
-        },
-        "OpsCenterUser": {
-                        "Type": "AWS::IAM::User",
-                        "Properties": {
-                            "Path": "/",
-                            "Policies": [
-                                {
-                                    "PolicyName": "root",
-                                    "PolicyDocument": {
-                                        "Statement": [
-                                            {
-                                                "Effect": "Allow",
-                                                "Action": "*",
-                                                "Resource": "*"
-
-                                            }
-                                        ]
-                                    }
-                                }
-                            ]
-                        }
-                    },
-        "OpsCenterKey": {
-                        "Type": "AWS::IAM::AccessKey",
-                        "Properties": {
-                            "UserName": {
-                                "Ref": "OpsCenterUser"
-                            }
-                        }
-                    },
-        "OpsCenterAutoScalingLaunchConfiguration":{
-                     "Type":"AWS::AutoScaling::LaunchConfiguration",
-                     "Properties":{
-                        "UserData":{
-                           "Fn::Base64":{
-                              "Fn::Join":[
-                                 "",
-                                 [
-                                    "#!/bin/bash -ex\n",
-                                    "# OPSCENTER NODE STARTUP \n",
-                                    "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
-                                    "\n",
-                                    "mkdir -p /usr/share/usergrid\n",
-                                    "\n",
-                                    "# create script that sets our environment variables\n",
-                                    "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
-                                    "alias sudo='sudo -E'\n", "\n",
-                                    "export TYPE=opscenter\n",
-                                    "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
-                                    "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
-                                    "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
-                                    "\n",
-                                    "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
-                                    "export EC2_REGION=", { "Ref":"AWS::Region" },
-                                    "\n",
-                                    "export EC2_URL=https://ec2.amazonaws.com/\n",
-                                    "\n",
-                                    "export OPSCENTER_SECURITY_GROUP_NAME=", { "Ref":"OpsCenterSecurityGroup" }, "\n",
-                                    "\n",
-                                    "\n",
-                                    "export CASSANDRA_CLUSTER_NAME=", { "Ref":"CassClusterName" }, "\n",
-                                    "export CASSANDRA_NUM_SERVERS=", { "Ref":"CassNumServers" }, "\n",
-                                    "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
-                                    "export CASSANDRA_KEYSPACE_NAME=usergrid", "\n",
-                                    "export CASSANDRA_REPLICATION_FACTOR=", { "Ref":"CassReplicationFactor" }, "\n",
-                                    "\n",
-                                    "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
-                                    "\n",
-                                    "EOF\n",
-                                    "\n",
-                                    "# put AWS creds in environment\n",
-                                    "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
-                                    "export AWS_ACCESS_KEY=", { "Ref":"CassKey" }, "\n",
-                                    "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] }, "\n",
-                                    "EOF\n",
-                                    "\n",
-                                    "# put AWS creds Priam's config file\n",
-                                    "cat >/etc/awscredential.properties <<EOF\n",
-                                    "AWSACCESSID=", { "Ref":"CassKey" }, "\n",
-                                    "AWSKEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
-                                    "\n",
-                                    "EOF\n",
-                                    "\n",
-                                    "# setup s3cmd (will be installed by init script) \n",
-                                    "cat >/etc/s3cfg <<EOF\n",
-                                    "access_key=", { "Ref":"CassKey" }, "\n",
-                                    "secret_key=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
-                                    "\n",
-                                    "EOF\n",
-                                    "chmod 644 /etc/s3cfg\n",
-                                    "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
-                                    "ln -s /etc/s3cfg ~root/.s3cfg\n",
-                                    "\n",
-                                    "# download usergrid and init script bundle from S3\n",
-                                    "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
-                                    "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
-                                    "apt-get update\n",
-                                    "apt-get -y install s3cmd\n",
-                                    "cd /usr/share/usergrid\n",
-                                    "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                    "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                    "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                    "chmod 755 ./init_instance/*.sh\n",
-                                    "cd ./init_instance\n",
-                                    "# init as an opscenter node \n",
-                                    "sh ./init_opscenter_server.sh\n"
-                               ]
-                              ]
-
-                           }
-                        },
-                        "KeyName":{
-                           "Ref":"KeyPair"
-                        },
-                        "ImageId":{
-                           "Fn::FindInMap":[
-                              "AWSRegionArch2AMI",
-                              {
-                                 "Ref":"AWS::Region"
-                              },
-                              {
-                                 "Fn::FindInMap":[
-                                    "AWSInstanceType2Arch",
-                                    {
-                                       "Ref":"OpsCenterInstanceType"
-                                    },
-                                    "Arch"
-                                 ]
-                              }
-                           ]
-                        },
-                        "InstanceType":{
-                           "Ref":"OpsCenterInstanceType"
-                        },
-                        "IamInstanceProfile":{
-                           "Ref":"RootInstanceProfile"
-                        },
-                        "SecurityGroups":[
-                                        {
-                                           "Ref":"OpsCenterSecurityGroup"
-                                        }
-                                     ],
-
-                         "BlockDeviceMappings": [
-                             {
-                                 "DeviceName": "/dev/sdb",
-                                 "VirtualName": "ephemeral0"
-                             },
-                             {
-                                 "DeviceName": "/dev/sdc",
-                                 "VirtualName": "ephemeral1"
-                              }
-                            ]
-
-                     }
-                  },
-        "OpsCenterAutoScalingGroup": {
-                        "Type": "AWS::AutoScaling::AutoScalingGroup",
-                        "Version": "2014-07-24",
-                        "Properties": {
-                          "AvailabilityZones": [
-                                {
-                                    "Fn::FindInMap": [
-                                        "FourAZs",
-                                        {
-                                            "Ref": "AWS::Region"
-                                        },
-                                        "AZ1"
-                                    ]
-                                },
-                                {
-                                    "Fn::FindInMap": [
-                                        "FourAZs",
-                                        {
-                                            "Ref": "AWS::Region"
-                                        },
-                                        "AZ2"
-                                    ]
-                                },
-                                {
-                                     "Fn::FindInMap": [
-                                         "FourAZs",
-                                         {
-                                             "Ref": "AWS::Region"
-                                         },
-                                         "AZ3"
-                                     ]
-                                 },
-                                {
-                                     "Fn::FindInMap": [
-                                         "FourAZs",
-                                         {
-                                             "Ref": "AWS::Region"
-                                         },
-                                         "AZ4"
-                                     ]
-                                 }
-                            ],
-                            "LaunchConfigurationName": {
-                                "Ref": "OpsCenterAutoScalingLaunchConfiguration"
-                            },
-                            "MinSize": {
-                                "Ref": "OpsCenterNumServers"
-                            },
-                            "MaxSize": {
-                                "Ref": "OpsCenterNumServers"
-                            },
-                            "NotificationConfiguration": {
-                                "TopicARN": {
-                                    "Ref": "NotificationTopic"
-                                },
-                                "NotificationTypes": [
-                                    "autoscaling:EC2_INSTANCE_LAUNCH",
-                                    "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
-                                    "autoscaling:EC2_INSTANCE_TERMINATE",
-                                    "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
-                                ]
-                            }
-                        }
-                    },
-        "RestUser": {
-            "Type": "AWS::IAM::User",
-            "Properties": {
-                "Path": "/",
-                "Policies": [
-                    {
-                        "PolicyName": "root",
-                        "PolicyDocument": {
-                            "Statement": [
-                                {
-                                    "Effect": "Allow",
-                                    "Action": "*",
-                                    "Resource": "*"
-                                }
-                            ]
-                        }
-                    }
-                ]
-            }
-        },
-        "RestKey": {
-            "Type": "AWS::IAM::AccessKey",
-            "Properties": {
-                "UserName": {
-                    "Ref": "RestUser"
-                }
-            }
-        },
-        "CassUser": {
-            "Type": "AWS::IAM::User",
-            "Properties": {
-                "Path": "/",
-                "Policies": [
-                    {
-                        "PolicyName": "root",
-                        "PolicyDocument": {
-                            "Statement": [
-                                {
-                                    "Effect": "Allow",
-                                    "Action": "*",
-                                    "Resource": "*"
-                                }
-                            ]
-                        }
-                    }
-                ]
-            }
-        },
-        "CassKey": {
-            "Type": "AWS::IAM::AccessKey",
-            "Properties": {
-                "UserName": {
-                    "Ref": "CassUser"
-                }
-            }
-        },
-        "ESUser": {
-            "Type": "AWS::IAM::User",
-            "Properties": {
-                "Path": "/",
-                "Policies": [
-                    {
-                        "PolicyName": "root",
-                        "PolicyDocument": {
-                            "Statement": [
-                                {
-                                    "Effect": "Allow",
-                                    "Action": "*",
-                                    "Resource": "*"
-                                }
-                            ]
-                        }
-                    }
-                ]
-            }
-        },
-        "ESKey": {
-            "Type": "AWS::IAM::AccessKey",
-            "Properties": {
-                "UserName": {
-                    "Ref": "CassUser"
-                }
-            }
-        },
-        "CassAutoScalingLaunchConfiguration":{
-         "Type":"AWS::AutoScaling::LaunchConfiguration",
-         "Properties":{
-            "UserData":{
-               "Fn::Base64":{
-                  "Fn::Join":[
-                     "",
-                     [
-                        "#!/bin/bash -ex\n",
-                        "# CASSANDRA NODE STARTUP \n",
-                        "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
-                        "\n",
-                        "mkdir -p /usr/share/usergrid\n",
-                        "\n",
-                        "# create script that sets our environment variables\n",
-                        "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
-                        "alias sudo='sudo -E'\n", "\n",
-                        "export TYPE=cass\n",
-                        "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
-                        "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
-                        "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
-                        "\n",
-                        "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
-                        "export EC2_REGION=", { "Ref":"AWS::Region" },
-                        "\n",
-                        "export EC2_URL=https://ec2.amazonaws.com/\n",
-                        "\n",
-                        "export CASS_SECURITY_GROUP_NAME=", { "Ref":"CassSecurityGroup" }, "\n",
-                        "\n",
-                        "\n",
-                        "export CASSANDRA_CLUSTER_NAME=", { "Ref":"CassClusterName" }, "\n",
-                        "export CASSANDRA_NUM_SERVERS=", { "Ref":"CassNumServers" }, "\n",
-                        "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
-                        "export CASSANDRA_KEYSPACE_NAME=usergrid", "\n",
-                        "export CASSANDRA_REPLICATION_FACTOR=", { "Ref":"CassReplicationFactor" }, "\n",
-                        "\n",
-                        "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
-                        "\n",
-                        "EOF\n",
-                        "\n",
-                        "# put AWS creds in environment\n",
-                        "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
-                        "export AWS_ACCESS_KEY=", { "Ref":"CassKey" }, "\n",
-                        "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] }, "\n",
-                        "EOF\n",
-                        "\n",
-                        "# put AWS creds Priam's config file\n",
-                        "cat >/etc/awscredential.properties <<EOF\n",
-                        "AWSACCESSID=", { "Ref":"CassKey" }, "\n",
-                        "AWSKEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
-                        "\n",
-                        "EOF\n",
-                        "\n",
-                        "# setup s3cmd (will be installed by init script) \n",
-                        "cat >/etc/s3cfg <<EOF\n",
-                        "access_key=", { "Ref":"CassKey" }, "\n",
-                        "secret_key=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
-                        "\n",
-                        "EOF\n",
-                        "chmod 644 /etc/s3cfg\n",
-                        "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
-                        "ln -s /etc/s3cfg ~root/.s3cfg\n",
-                        "\n",
-                        "# download usergrid and init script bundle from S3\n",
-                        "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
-                        "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
-                        "apt-get update\n",
-                        "apt-get -y install s3cmd\n",
-                        "cd /usr/share/usergrid\n",
-                        "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "chmod 755 ./init_instance/*.sh\n",
-                        "cd ./init_instance\n",
-                        "# init as a Cassandra node \n",
-                        "sh ./init_db_server.sh\n"
-                     ]
-                  ]
-               }
-            },
-                "KeyName": {
-                    "Ref": "KeyPair"
-                },
-                "ImageId": {
-                    "Fn::FindInMap": [
-                        "AWSRegionArch2AMI",
-                        {
-                            "Ref": "AWS::Region"
-                        },
-                        {
-                            "Fn::FindInMap": [
-                                "AWSInstanceType2Arch",
-                                {
-                                    "Ref": "CassInstanceType"
-                                },
-                                "Arch"
-                            ]
-                        }
-                    ]
-                },
-                "InstanceType": {
-                    "Ref": "CassInstanceType"
-                },
-                "IamInstanceProfile": {
-                    "Ref": "RootInstanceProfile"
-                },
-                "SecurityGroups": [
-                    {
-                        "Ref": "CassSecurityGroup"
-                    }
-                ],
-
-                 "BlockDeviceMappings": [
-                     {
-                         "DeviceName": "/dev/sdb",
-                         "VirtualName": "ephemeral0"
-                     },
-                     {
-                         "DeviceName": "/dev/sdc",
-                         "VirtualName": "ephemeral1"
-                      }
-                    ]
-            }
-      },
-        "CassAutoScalingGroup": {
-            "Type": "AWS::AutoScaling::AutoScalingGroup",
-            "Version": "2009-05-15",
-            "Properties": {
-              "AvailabilityZones": [
-                    {
-                        "Fn::FindInMap": [
-                            "FourAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ1"
-                        ]
-                    },
-                    {
-                        "Fn::FindInMap": [
-                            "FourAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ2"
-                        ]
-                    },
-                    {
-                         "Fn::FindInMap": [
-                             "FourAZs",
-                             {
-                                 "Ref": "AWS::Region"
-                             },
-                             "AZ3"
-                         ]
-                     },
-                    {
-                         "Fn::FindInMap": [
-                             "FourAZs",
-                             {
-                                 "Ref": "AWS::Region"
-                             },
-                             "AZ4"
-                         ]
-                     }
-                ],
-                "LaunchConfigurationName": {
-                    "Ref": "CassAutoScalingLaunchConfiguration"
-                },
-                "MinSize": {
-                    "Ref": "CassNumServers"
-                },
-                "MaxSize": {
-                    "Ref": "CassNumServers"
-                },
-                "NotificationConfiguration": {
-                    "TopicARN": {
-                        "Ref": "NotificationTopic"
-                    },
-                    "NotificationTypes": [
-                        "autoscaling:EC2_INSTANCE_LAUNCH",
-                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
-                        "autoscaling:EC2_INSTANCE_TERMINATE",
-                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
-                    ]
-                }
-            }
-        },
-        "ESMasterAutoScalingLaunchConfiguration":{
-         "Type":"AWS::AutoScaling::LaunchConfiguration",
-         "Properties":{
-            "UserData":{
-               "Fn::Base64":{
-                  "Fn::Join":[
-                     "",
-                     [
-                        "#!/bin/bash -ex\n",
-                        "# ES NODE STARTUP \n",
-                        "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
-                        "\n",
-                        "mkdir -p /usr/share/usergrid\n",
-                        "\n",
-                        "# create script that sets our environment variables\n",
-                        "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
-                        "alias sudo='sudo -E'\n", "\n",
-                        "export TYPE=es\n",
-                        "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
-                        "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
-                        "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
-                        "\n",
-                        "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
-                        "export EC2_REGION=", { "Ref":"AWS::Region" },
-                        "\n",
-                        "export EC2_URL=https://ec2.amazonaws.com/\n",
-                        "\n",
-                        "export ES_SECURITY_GROUP_NAME=", { "Ref":"ESSecurityGroup" }, "\n",
-                        "\n",
-                        "\n",
-                        "export ES_CLUSTER_NAME=", { "Ref":"ESClusterName" }, "\n",
-                        "export ES_NUM_SERVERS=", { "Ref":"ESNumServers" }, "\n",
-                         "export ES_MASTER=true", "\n",
-
-                        "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
-
-                        "\n",
-                        "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
-                        "\n",
-                        "EOF\n",
-                        "\n",
-                        "# put AWS creds in environment\n",
-                        "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
-                        "export AWS_ACCESS_KEY=", { "Ref":"ESKey" }, "\n",
-                        "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] }, "\n",
-                        "EOF\n",
-                        "\n",
-                        "# setup s3cmd (will be installed by init script) \n",
-                        "cat >/etc/s3cfg <<EOF\n",
-                        "access_key=", { "Ref":"ESKey" }, "\n",
-                        "secret_key=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] },
-                        "\n",
-                        "EOF\n",
-                        "chmod 644 /etc/s3cfg\n",
-                        "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
-                        "ln -s /etc/s3cfg ~root/.s3cfg\n",
-                        "\n",
-                        "# download usergrid and init script bundle from S3\n",
-                        "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
-                        "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
-                        "apt-get update\n",
-                        "apt-get -y install s3cmd\n",
-                        "cd /usr/share/usergrid\n",
-                        "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "chmod 755 ./init_instance/*.sh\n",
-                        "cd ./init_instance\n",
-                        "# init as an ES node \n",
-                        "sh ./init_es_server.sh\n"
-                     ]
-                  ]
-               }
-            },
-                "KeyName": {
-                    "Ref": "KeyPair"
-                },
-                "ImageId": {
-                    "Fn::FindInMap": [
-                        "AWSRegionArch2AMI",
-                        {
-                            "Ref": "AWS::Region"
-                        },
-                        {
-                            "Fn::FindInMap": [
-                                "AWSInstanceType2Arch",
-                                {
-                                    "Ref": "CassInstanceType"
-                                },
-                                "Arch"
-                            ]
-                        }
-                    ]
-                },
-                "InstanceType": {
-                    "Ref": "ESInstanceType"
-                },
-                "IamInstanceProfile": {
-                    "Ref": "RootInstanceProfile"
-                },
-                "SecurityGroups": [
-                    {
-                        "Ref": "ESSecurityGroup"
-                    }
-                ],
-
-                 "BlockDeviceMappings": [
-                     {
-                         "DeviceName": "/dev/sdb",
-                         "VirtualName": "ephemeral0"
-                     },
-                     {
-                         "DeviceName": "/dev/sdc",
-                         "VirtualName": "ephemeral1"
-                      }
-                    ]
-            }
-      },
-        "ESMasterAutoScalingGroup": {
-            "Type": "AWS::AutoScaling::AutoScalingGroup",
-            "Version": "2009-05-15",
-            "Properties": {
-              "AvailabilityZones": [
-                      {
-                          "Fn::FindInMap": [
-                              "FourAZs",
-                              {
-                                  "Ref": "AWS::Region"
-                              },
-                              "AZ1"
-                          ]
-                      },
-                      {
-                          "Fn::FindInMap": [
-                              "FourAZs",
-                              {
-                                  "Ref": "AWS::Region"
-                              },
-                              "AZ2"
-                          ]
-                      },
-                      {
-                           "Fn::FindInMap": [
-                               "FourAZs",
-                               {
-                                   "Ref": "AWS::Region"
-                               },
-                               "AZ3"
-                           ]
-                       },
-                      {
-                           "Fn::FindInMap": [
-                               "FourAZs",
-                               {
-                                   "Ref": "AWS::Region"
-                               },
-                               "AZ4"
-                           ]
-                       }
-                  ],
-                "LaunchConfigurationName": {
-                    "Ref": "ESMasterAutoScalingLaunchConfiguration"
-                },
-                "MinSize": {
-                    "Ref": "ESNumMasterServers"
-                },
-                "MaxSize": {
-                    "Ref": "ESNumMasterServers"
-                },
-                "NotificationConfiguration": {
-                    "TopicARN": {
-                        "Ref": "NotificationTopic"
-                    },
-                    "NotificationTypes": [
-                        "autoscaling:EC2_INSTANCE_LAUNCH",
-                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
-                        "autoscaling:EC2_INSTANCE_TERMINATE",
-                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
-                    ]
-                }
-            }
-        },
-        "ESAutoScalingLaunchConfiguration":{
-                 "Type":"AWS::AutoScaling::LaunchConfiguration",
-                 "Properties":{
-                    "UserData":{
-                       "Fn::Base64":{
-                          "Fn::Join":[
-                             "",
-                             [
-                                "#!/bin/bash -ex\n",
-                                "# ES NODE STARTUP \n",
-                                "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
-                                "\n",
-                                "mkdir -p /usr/share/usergrid\n",
-                                "\n",
-                                "# create script that sets our environment variables\n",
-                                "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
-                                "alias sudo='sudo -E'\n", "\n",
-                                "export TYPE=es\n",
-                                "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
-                                "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
-                                "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
-                                "\n",
-                                "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
-                                "export EC2_REGION=", { "Ref":"AWS::Region" },
-                                "\n",
-                                "export EC2_URL=https://ec2.amazonaws.com/\n",
-                                "\n",
-                                "export ES_SECURITY_GROUP_NAME=", { "Ref":"ESSecurityGroup" }, "\n",
-                                "\n",
-                                "\n",
-                                "export ES_CLUSTER_NAME=", { "Ref":"ESClusterName" }, "\n",
-                                "export ES_NUM_SERVERS=", { "Ref":"ESNumServers" }, "\n",
-                                 "export ES_MASTER=false","\n",
-                                "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
-                                "\n",
-                                "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
-                                "\n",
-                                "EOF\n",
-                                "\n",
-                                "# put AWS creds in environment\n",
-                                "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
-                                "export AWS_ACCESS_KEY=", { "Ref":"ESKey" }, "\n",
-                                "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] }, "\n",
-                                "EOF\n",
-                                "\n",
-                                "# setup s3cmd (will be installed by init script) \n",
-                                "cat >/etc/s3cfg <<EOF\n",
-                                "access_key=", { "Ref":"ESKey" }, "\n",
-                                "secret_key=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] },
-                                "\n",
-                                "EOF\n",
-                                "chmod 644 /etc/s3cfg\n",
-                                "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
-                                "ln -s /etc/s3cfg ~root/.s3cfg\n",
-                                "\n",
-                                "# download usergrid and init script bundle from S3\n",
-                                "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
-                                "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
-                                "apt-get update\n",
-                                "apt-get -y install s3cmd\n",
-                                "cd /usr/share/usergrid\n",
-                                "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                "chmod 755 ./init_instance/*.sh\n",
-                                "cd ./init_instance\n",
-                                "# init as an ES node \n",
-                                "sh ./init_es_server.sh\n"
-                             ]
-                          ]
-                       }
-                    },
-                        "KeyName": {
-                            "Ref": "KeyPair"
-                        },
-                        "ImageId": {
-                            "Fn::FindInMap": [
-                                "AWSRegionArch2AMI",
-                                {
-                                    "Ref": "AWS::Region"
-                                },
-                                {
-                                    "Fn::FindInMap": [
-                                        "AWSInstanceType2Arch",
-                                        {
-                                            "Ref": "CassInstanceType"
-                                        },
-                                        "Arch"
-                                    ]
-                                }
-                            ]
-                        },
-                        "InstanceType": {
-                            "Ref": "ESInstanceType"
-                        },
-                        "IamInstanceProfile": {
-                            "Ref": "RootInstanceProfile"
-                        },
-                        "SecurityGroups": [
-                            {
-                                "Ref": "ESSecurityGroup"
-                            }
-                        ],
-
-                         "BlockDeviceMappings": [
-                             {
-                                 "DeviceName": "/dev/sdb",
-                                 "VirtualName": "ephemeral0"
-                             },
-                             {
-                                 "DeviceName": "/dev/sdc",
-                                 "VirtualName": "ephemeral1"
-                              }
-                            ]
-                    }
-              },
-        "ESAutoScalingGroup": {
-                    "Type": "AWS::AutoScaling::AutoScalingGroup",
-                    "Version": "2009-05-15",
-                    "Properties": {
-                      "AvailabilityZones": [
-                              {
-                                  "Fn::FindInMap": [
-                                      "FourAZs",
-                                      {
-                                          "Ref": "AWS::Region"
-                                      },
-                                      "AZ1"
-                                  ]
-                              },
-                              {
-                                  "Fn::FindInMap": [
-                                      "FourAZs",
-                                      {
-                                          "Ref": "AWS::Region"
-                                      },
-                                      "AZ2"
-                                  ]
-                              },
-                              {
-                                   "Fn::FindInMap": [
-                                       "FourAZs",
-                                       {
-                                           "Ref": "AWS::Region"
-                                       },
-                                       "AZ3"
-                                   ]
-                               },
-                              {
-                                   "Fn::FindInMap": [
-                                       "FourAZs",
-                                       {
-                                           "Ref": "AWS::Region"
-                                       },
-                                       "AZ4"
-                                   ]
-                               }
-                          ],
-                        "LaunchConfigurationName": {
-                            "Ref": "ESAutoScalingLaunchConfiguration"
-                        },
-                        "MinSize": {
-                            "Ref": "ESNumServers"
-                        },
-                        "MaxSize": {
-                            "Ref": "ESNumServers"
-                        },
-                        "NotificationConfiguration": {
-                            "TopicARN": {
-                                "Ref": "NotificationTopic"
-                            },
-                            "NotificationTypes": [
-                                "autoscaling:EC2_INSTANCE_LAUNCH",
-                                "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
-                                "autoscaling:EC2_INSTANCE_TERMINATE",
-                                "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
-                            ]
-                        }
-                    }
-                },
-        "RestAutoScalingLaunchConfiguration":{
-                 "Type":"AWS::AutoScaling::LaunchConfiguration",
-                 "Properties":{
-                    "UserData":{
-                       "Fn::Base64":{
-                          "Fn::Join":[
-                             "",
-                             [
-                                "#!/bin/bash -ex\n",
-                                "# REST SERVER STARTUP \n",
-                                "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
-                                "\n",
-                                "mkdir -p /usr/share/usergrid\n",
-                                "\n",
-                                "# create script that sets our environment variables\n",
-                                "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
-                                "alias sudo='sudo -E'\n",
-                                "\n",
-                                "export TYPE=rest\n",
-                                "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n",
-                                "export YOURKIT=", { "Ref":"InstallYourkit" }, "\n",
-                                "export DNS_NAME=", { "Ref":"DnsSubDomain" }, "\n",
-                                "export DNS_DOMAIN=", { "Ref":"DnsDomain" }, "\n",
-                                "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
-                                "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
-                                "export ELB_NAME=", { "Ref":"RestElasticLoadBalancer" }, "\n",
-                                "\n",
-                                "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
-                                "export EC2_REGION=", { "Ref":"AWS::Region" }, "\n",
-                                "export EC2_URL=https://ec2.amazonaws.com/\n", "\n",
-                                "export REST_SECURITY_GROUP_NAME=", { "Ref":"RestSecurityGroup" }, "\n",
-                                "export DB_SECURITY_GROUP_NAME=", { "Ref":"CassSecurityGroup" }, "\n",
-                                "\n",
-                                "export CASSANDRA_CLUSTER_NAME=", { "Ref":"CassClusterName" }, "\n",
-                                "export CASSANDRA_KEYSPACE_NAME=usergrid", "\n",
-                                "export CASSANDRA_NUM_SERVERS=", { "Ref":"CassNumServers" }, "\n",
-                                "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
-                                "export TOMCAT_NUM_SERVERS=", { "Ref":"RestMinServers" }, "\n",
-                                "\n",
-                                "export CASSANDRA_REPLICATION_FACTOR=", { "Ref":"CassReplicationFactor" }, "\n",
-                                "\n",
-                                "export CASSANDRA_READ_CONSISTENCY=", { "Ref":"CassReadConsistency" }, "\n",
-                                "\n",
-                                "export CASSANDRA_WRITE_CONSISTENCY=", { "Ref":"CassWriteConsistency" }, "\n",
-                                "\n",
-                               "export INDEX_WORKER_COUNT=", { "Ref":"RestIndexWorkers" }, "\n",
-
-                                "export ES_CLUSTER_NAME=", { "Ref":"ESClusterName" }, "\n",
-                                "export ES_NUM_SERVERS=", { "Ref":"ESNumServers" }, "\n",
-                                 "\n",
-                                "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
-                                "\n",
-                                "export NUM_THREAD_PROC=", { "Ref":"TomcatThreadsPerCore" }, "\n",
-                                "\n",
-                                "export SUPER_USER_EMAIL=", { "Ref":"SuperUserEmail" }, "\n",
-                                "export TEST_ADMIN_USER_EMAIL=", { "Ref":"TestAdminUserEmail" }, "\n",
-                                "\n",
-                                "EOF\n",
-                                "\n",
-                                "# put AWS creds in environment\n",
-                                "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
-                                "export AWS_ACCESS_KEY=", { "Ref":"RestKey" }, "\n",
-                                "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
-                                "EOF\n",
-                                "\n",
-                                "# setup s3cmd (will be installed by init script) \n",
-                                "cat >/etc/s3cfg <<EOF\n",
-                                "access_key=", { "Ref":"RestKey" }, "\n",
-                                "secret_key=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
-                                "EOF\n",
-                                "chmod 644 /etc/s3cfg\n",
-                                "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
-                                "ln -s /etc/s3cfg ~root/.s3cfg\n",
-                                "\n",
-                                "# download usergrid and init script bundle from S3\n",
-                                "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
-                                "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
-                                "apt-get update\n",
-                                "apt-get -y install s3cmd\n",
-                                "cd /usr/share/usergrid\n",
-                                "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/ROOT.war\n",
-                                "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                                "mv ROOT.war webapps/ROOT.war\n",
-                                "chmod 755 ./init_instance/*.sh\n",
-                                "cd ./init_instance\n",
-                                "# Init as a REST intance \n",
-                                "sh ./init_rest_server.sh\n"
-                             ]
-                          ]
-                       }
-                    },
-                    "KeyName":{
-                       "Ref":"KeyPair"
-                    },
-                    "ImageId":{
-                       "Fn::FindInMap":[
-                          "AWSRegionArch2AMI",
-                          {
-                             "Ref":"AWS::Region"
-                          },
-                          {
-                             "Fn::FindInMap":[
-                                "AWSInstanceType2Arch",
-                                {
-                                   "Ref":"RestInstanceType"
-                                },
-                                "Arch"
-                             ]
-                          }
-                       ]
-                    },
-                    "InstanceType":{
-                       "Ref":"RestInstanceType"
-                    },
-                    "IamInstanceProfile":{
-                       "Ref":"RootInstanceProfile"
-                    },
-                    "SecurityGroups":[
-                       {
-                          "Ref":"RestSecurityGroup"
-                       }
-                    ]
-                 }
-              },
-        "RestAutoScalingGroup": {
-            "Type": "AWS::AutoScaling::AutoScalingGroup",
-            "Version": "2009-05-15",
-            "Properties": {
-              "AvailabilityZones": [
-                      {
-                          "Fn::FindInMap": [
-                              "FourAZs",
-                              {
-                                  "Ref": "AWS::Region"
-                              },
-                              "AZ1"
-                          ]
-                      },
-                      {
-                          "Fn::FindInMap": [
-                              "FourAZs",
-                              {
-                                  "Ref": "AWS::Region"
-                              },
-                              "AZ2"
-                          ]
-                      },
-                      {
-                           "Fn::FindInMap": [
-                               "FourAZs",
-                               {
-                                   "Ref": "AWS::Region"
-                               },
-                               "AZ3"
-                           ]
-                       },
-                      {
-                           "Fn::FindInMap": [
-                               "FourAZs",
-                               {
-                                   "Ref": "AWS::Region"
-                               },
-                               "AZ4"
-                           ]
-                       }
-                  ],
-                "LaunchConfigurationName": {
-                    "Ref": "RestAutoScalingLaunchConfiguration"
-                },
-                "MinSize": {
-                    "Ref": "RestMinServers"
-                },
-                "MaxSize": {
-                    "Ref": "RestMaxServers"
-                },
-                "HealthCheckType": "ELB",
-                "HealthCheckGracePeriod": "1800",
-                "LoadBalancerNames": [
-                    {
-                        "Ref": "RestElasticLoadBalancer"
-                    }
-                ],
-                "NotificationConfiguration": {
-                    "TopicARN": {
-                        "Ref": "NotificationTopic"
-                    },
-                    "NotificationTypes": [
-                        "autoscaling:EC2_INSTANCE_LAUNCH",
-                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
-                        "autoscaling:EC2_INSTANCE_TERMINATE",
-                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
-                    ]
-                }
-            }
-        },
-        "RestServerScaleUpPolicy": {
-            "Type": "AWS::AutoScaling::ScalingPolicy",
-            "Properties": {
-                "AdjustmentType": "ChangeInCapacity",
-                "AutoScalingGroupName": {
-                    "Ref": "RestAutoScalingGroup"
-                },
-                "Cooldown": "60",
-                "ScalingAdjustment": "1"
-            }
-        },
-        "RestServerScaleDownPolicy": {
-            "Type": "AWS::AutoScaling::ScalingPolicy",
-            "Properties": {
-                "AdjustmentType": "ChangeInCapacity",
-                "AutoScalingGroupName": {
-                    "Ref": "RestAutoScalingGroup"
-                },
-                "Cooldown": "60",
-                "ScalingAdjustment": "-1"
-            }
-        },
-        "CPUAlarmHigh": {
-            "Type": "AWS::CloudWatch::Alarm",
-            "Properties": {
-                "AlarmDescription": "Scale-up if CPU > 60% for 10 minutes",
-                "MetricName": "CPUUtilization",
-                "Namespace": "AWS/EC2",
-                "Statistic": "Average",
-                "Period": "600",
-                "EvaluationPeriods": "2",
-                "Threshold": "60",
-                "AlarmActions": [
-                    {
-                        "Ref": "RestServerScaleUpPolicy"
-                    }
-                ],
-                "Dimensions": [
-                    {
-                        "Name": "AutoScalingGroupName",
-                        "Value": {
-                            "Ref": "RestAutoScalingGroup"
-                        }
-                    }
-                ],
-                "ComparisonOperator": "GreaterThanThreshold"
-            }
-        },
-        "CPUAlarmLow": {
-            "Type": "AWS::CloudWatch::Alarm",
-            "Properties": {
-                "AlarmDescription": "Scale-down if CPU < 10% for 10 minutes",
-                "MetricName": "CPUUtilization",
-                "Namespace": "AWS/EC2",
-                "Statistic": "Average",
-                "Period": "600",
-                "EvaluationPeriods": "2",
-                "Threshold": "10",
-                "AlarmActions": [
-                    {
-                        "Ref": "RestServerScaleDownPolicy"
-                    }
-                ],
-                "Dimensions": [
-                    {
-                        "Name": "AutoScalingGroupName",
-                        "Value": {
-                            "Ref": "RestAutoScalingGroup"
-                        }
-                    }
-                ],
-                "ComparisonOperator": "LessThanThreshold"
-            }
-        },
-        "RestElasticLoadBalancer": {
-            "Type": "AWS::ElasticLoadBalancing::LoadBalancer",
-            "Properties": {
-              "AvailabilityZones": [
-                    {
-                        "Fn::FindInMap": [
-                            "FourAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ1"
-                        ]
-                    },
-                    {
-                        "Fn::FindInMap": [
-                            "FourAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ2"
-                        ]
-                    },
-                    {
-                         "Fn::FindInMap": [
-                             "FourAZs",
-                             {
-                                 "Ref": "AWS::Region"
-                             },
-                             "AZ3"
-                         ]
-                     },
-                    {
-                         "Fn::FindInMap": [
-                             "FourAZs",
-                             {
-                                 "Ref": "AWS::Region"
-                             },
-                             "AZ4"
-                         ]
-                     }
-                ],
-                "Listeners": [
-                    {
-                        "LoadBalancerPort": "80",
-                        "InstancePort": "8080",
-                        "Protocol": "HTTP"
-                    }
-                ],
-                "HealthCheck": {
-                    "Target": "HTTP:8080/status",
-                    "HealthyThreshold": "2",
-                    "UnhealthyThreshold": "8",
-                    "Interval": "10",
-                    "Timeout": "5"
-                },
-                "CrossZone": "true"
-            }
-        },
-        "NotificationTopic": {
-            "Type": "AWS::SNS::Topic",
-            "Properties": {
-                "Subscription": [
-                    {
-                        "Endpoint": {
-                            "Ref": "NotificationEmail"
-                        },
-                        "Protocol": "email"
-                    }
-                ]
-            }
-        },
-        "DnsRecord": {
-            "Type": "AWS::Route53::RecordSetGroup",
-            "Properties": {
-                "HostedZoneName": {
-                    "Fn::Join": [
-                        ".",
-                        [
-                            {
-                                "Ref": "DnsDomain"
-                            },
-                            ""
-                        ]
-                    ]
-                },
-                "RecordSets": [
-                    {
-                        "Name": {
-                            "Fn::Join": [
-                                ".",
-                                [
-                                    {
-                                        "Ref": "DnsSubDomain"
-                                    },
-                                    {
-                                        "Ref": "DnsDomain"
-                                    }
-                                ]
-                            ]
-                        },
-                        "Type": "A",
-                        "AliasTarget": {
-                            "HostedZoneId": {
-                                "Fn::GetAtt": [
-                                    "RestElasticLoadBalancer",
-                                    "CanonicalHostedZoneNameID"
-                                ]
-                            },
-                            "DNSName": {
-                                "Fn::GetAtt": [
-                                    "RestElasticLoadBalancer",
-                                    "CanonicalHostedZoneName"
-                                ]
-                            }
-                        }
-                    }
-                ]
-            }
-        },
-        "RootRole": {
-            "Type": "AWS::IAM::Role",
-            "Properties": {
-                "AssumeRolePolicyDocument": {
-                    "Statement": [
-                        {
-                            "Effect": "Allow",
-                            "Principal": {
-                                "Service": [
-                                    "ec2.amazonaws.com"
-                                ]
-                            },
-                            "Action": [
-                                "sts:AssumeRole"
-                            ]
-                        }
-                    ]
-                },
-                "Path": "/"
-            }
-        },
-        "RolePolicies": {
-            "Type": "AWS::IAM::Policy",
-            "Properties": {
-                "PolicyName": "root",
-                "PolicyDocument": {
-                    "Statement": [
-                        {
-                            "Effect": "Allow",
-                            "Action": "*",
-                            "Resource": "*"
-                        }
-                    ]
-                },
-                "Roles": [
-                    {
-                        "Ref": "RootRole"
-                    }
-                ]
-            }
-        },
-        "RootInstanceProfile": {
-            "Type": "AWS::IAM::InstanceProfile",
-            "Properties": {
-                "Path": "/",
-                "Roles": [
-                    {
-                        "Ref": "RootRole"
-                    }
-                ]
-            }
-        },
-        "ESSecurityGroup": {
-            "Type": "AWS::EC2::SecurityGroup",
-            "Properties": {
-                "GroupDescription": "ElasticSearch Machines",
-                "SecurityGroupIngress": [
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "22",
-                        "ToPort": "22",
-                        "CidrIp": "0.0.0.0/0"
-                    },
-
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "9200",
-                        "ToPort": "9200",
-                        "CidrIp": "0.0.0.0/0"
-                    }
-                ]
-            }
-        },
-        "AllowCassToESOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "ESSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "1",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "CassSecurityGroup"
-                }
-            }
-        },
-        "AllowRestToESOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "ESSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "1",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "RestSecurityGroup"
-                }
-            }
-        },
-        "CassSecurityGroup": {
-            "Type": "AWS::EC2::SecurityGroup",
-            "Properties": {
-                "GroupDescription": "Database Machines",
-                "SecurityGroupIngress": [
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "22",
-                        "ToPort": "22",
-                        "CidrIp": "0.0.0.0/0"
-                    }
-                ]
-            }
-        },
-        "AllowCassToCassOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "CassSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "1",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "CassSecurityGroup"
-                }
-            }
-        },
-        "AllowESToCassOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "CassSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "1",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "ESSecurityGroup"
-                }
-            }
-        },
-        "AllowESToESOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "ESSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "1",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "ESSecurityGroup"
-                }
-            }
-        },
-        "AllowRestToCassOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "CassSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "1",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "RestSecurityGroup"
-                }
-            }
-        },
-        "AllowCassToRestOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "RestSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "CassSecurityGroup"
-                }
-            }
-        },
-        "AllowESToRestOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "RestSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "ESSecurityGroup"
-                }
-            }
-        },
-        "AllowCassToCassOnAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "CassSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "CassSecurityGroup"
-                }
-            }
-        },
-        "AllowOpsCenterToCassOnAllPorts": {
-                "Type": "AWS::EC2::SecurityGroupIngress",
-                "Properties": {
-                    "GroupName": {
-                        "Ref": "CassSecurityGroup"
-                    },
-                    "IpProtocol": "tcp",
-                    "FromPort": "1",
-                    "ToPort": "65535",
-                    "SourceSecurityGroupName": {
-                        "Ref": "OpsCenterSecurityGroup"
-                    }
-                }
-            },
-
-        "RestSecurityGroup": {
-            "Type": "AWS::EC2::SecurityGroup",
-            "Properties": {
-                "GroupDescription": "REST Machines",
-                "SecurityGroupIngress": [
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "22",
-                        "ToPort": "22",
-                        "CidrIp": "0.0.0.0/0"
-                    },
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "8080",
-                        "ToPort": "8080",
-                        "CidrIp": "0.0.0.0/0"
-                    }
-                ]
-            }
-        },
-        "GraphiteSecurityGroup": {
-            "Type": "AWS::EC2::SecurityGroup",
-            "Properties": {
-                "GroupDescription": "Graphic Machines",
-                "SecurityGroupIngress": [
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "22",
-                        "ToPort": "22",
-                        "CidrIp": "0.0.0.0/0"
-                    },
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "80",
-                        "ToPort": "80",
-                        "CidrIp": "0.0.0.0/0"
-                    }
-                ]
-            }
-        },
-        "AllowESToGraphiteAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "GraphiteSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "ESSecurityGroup"
-                }
-            }
-        },
-        "AllowCassToGraphiteAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "GraphiteSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "CassSecurityGroup"
-                }
-            }
-        },
-        "AllowRestToGraphiteAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "GraphiteSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "RestSecurityGroup"
-                }
-            }
-        },
-        "OpsCenterSecurityGroup": {
-            "Type": "AWS::EC2::SecurityGroup",
-            "Properties": {
-                "GroupDescription": "Opscenter Machines",
-                "SecurityGroupIngress": [
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "22",
-                        "ToPort": "22",
-                        "CidrIp": "0.0.0.0/0"
-                    },
-                    {
-                        "IpProtocol": "tcp",
-                        "FromPort": "8888",
-                        "ToPort": "8888",
-                        "CidrIp": "0.0.0.0/0"
-                    }
-                ]
-            }
-        },
-        "AllowCassToOpscenterAllPorts": {
-            "Type": "AWS::EC2::SecurityGroupIngress",
-            "Properties": {
-                "GroupName": {
-                    "Ref": "OpsCenterSecurityGroup"
-                },
-                "IpProtocol": "tcp",
-                "FromPort": "0",
-                "ToPort": "65535",
-                "SourceSecurityGroupName": {
-                    "Ref": "CassSecurityGroup"
-                }
-            }
-        }
-
-    }
-}


[33/50] [abbrv] usergrid git commit: Added message id for tracking, doesn't affect anything except that one log

Posted by sn...@apache.org.
Added message id for tracking, doesn't affect anything except that one log


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

Branch: refs/heads/asf-site
Commit: 4aac68ececd065ecd0aebaada224a587387a8cc2
Parents: 548334b
Author: George Reyes <gr...@apache.org>
Authored: Mon Feb 1 13:00:02 2016 -0800
Committer: George Reyes <gr...@apache.org>
Committed: Mon Feb 1 13:00:02 2016 -0800

----------------------------------------------------------------------
 stack/core/src/main/java/org/apache/usergrid/utils/MailUtils.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/4aac68ec/stack/core/src/main/java/org/apache/usergrid/utils/MailUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/MailUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/MailUtils.java
index becd669..6210297 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/MailUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/MailUtils.java
@@ -125,7 +125,7 @@ public class MailUtils {
 
             transport.sendMessage( msg, msg.getAllRecipients() );
             transport.close();
-            logger.info( String.format( LOG_PREFIX_OK, to ) );
+            logger.info( String.format( LOG_PREFIX_OK + " Message-id: "+msg.getMessageID(), to ) );
         }
         catch ( AddressException ae ) {
             logger.error( createErrorMessage( "could not send to bad address", to ), ae );


[14/50] [abbrv] usergrid git commit: Fixing scm url in parent pom.

Posted by sn...@apache.org.
Fixing scm url in parent pom.


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

Branch: refs/heads/asf-site
Commit: 07edc8bf66479cc5a4ac38aa1ec6043ad69b0fa4
Parents: 84916d5
Author: Michael Russo <mi...@gmail.com>
Authored: Thu Jan 28 04:27:49 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Thu Jan 28 04:27:49 2016 -0800

----------------------------------------------------------------------
 stack/pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/07edc8bf/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index c15ea4b..3dca4d4 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1575,10 +1575,10 @@
     </repositories>
 
     <scm>
-        <url>https://git-wip-us.apache.org/repos/asf/incubator-usergrid.git</url>
-        <connection>scm:git:http://git-wip-us.apache.org/repos/asf/incubator-usergrid.git</connection>
+        <url>https://git-wip-us.apache.org/repos/asf/usergrid.git</url>
+        <connection>scm:git:http://git-wip-us.apache.org/repos/asf/usergrid.git</connection>
         <tag>HEAD</tag>
-        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-usergrid.git
+        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/usergrid.git
         </developerConnection>
     </scm>
 


[18/50] [abbrv] usergrid git commit: Merge branch 'release'

Posted by sn...@apache.org.
Merge branch 'release'


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

Branch: refs/heads/asf-site
Commit: f3effd2adf2b5cb41f348677165e7bca0f142fda
Parents: 07edc8b 379541b
Author: Michael Russo <mi...@gmail.com>
Authored: Thu Jan 28 18:23:30 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Thu Jan 28 18:23:30 2016 -0800

----------------------------------------------------------------------
 .../MvccEntitySerializationStrategyImpl.java    |   2 +-
 .../MvccEntitySerializationStrategyV3Impl.java  |   2 +-
 ...-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 619559 -> 0 bytes
 ...-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 161970 -> 0 bytes
 ...astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar | Bin 224466 -> 0 bytes
 ...astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom | 112 ---------------
 .../astyanax-cassandra/maven-metadata-local.xml |  12 --
 ...ax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 33178 -> 0 bytes
 ...ax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 2314 -> 0 bytes
 .../astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar  | Bin 4842 -> 0 bytes
 .../astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom  | 112 ---------------
 .../astyanax-contrib/maven-metadata-local.xml   |  12 --
 ...yanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 522906 -> 0 bytes
 ...yanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 141910 -> 0 bytes
 .../astyanax-core-1.56.49-SNAPSHOT-UG-1.jar     | Bin 212858 -> 0 bytes
 .../astyanax-core-1.56.49-SNAPSHOT-UG-1.pom     |  88 ------------
 .../astyanax-core/maven-metadata-local.xml      |  12 --
 ...ity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 97513 -> 0 bytes
 ...ity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 30591 -> 0 bytes
 ...anax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar | Bin 68952 -> 0 bytes
 ...anax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom | 118 ----------------
 .../maven-metadata-local.xml                    |  12 --
 ...x-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 38284 -> 0 bytes
 ...x-examples-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 4457 -> 0 bytes
 .../astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar | Bin 8506 -> 0 bytes
 .../astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom | 106 ---------------
 .../astyanax-examples/maven-metadata-local.xml  |  12 --
 ...anax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 180462 -> 0 bytes
 ...anax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 44057 -> 0 bytes
 .../astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar    | Bin 86586 -> 0 bytes
 .../astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom    | 112 ---------------
 .../astyanax-queue/maven-metadata-local.xml     |  12 --
 ...ax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 204424 -> 0 bytes
 ...ax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 58161 -> 0 bytes
 .../astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar  | Bin 100246 -> 0 bytes
 .../astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom  | 106 ---------------
 .../astyanax-recipes/maven-metadata-local.xml   |  12 --
 ...nax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 197342 -> 0 bytes
 ...nax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 76509 -> 0 bytes
 .../astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar   | Bin 239007 -> 0 bytes
 .../astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom   | 112 ---------------
 .../astyanax-thrift/maven-metadata-local.xml    |  12 --
 .../astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar  | Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar  | Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1.jar          | Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1.pom          | 136 -------------------
 .../astyanax/astyanax/maven-metadata-local.xml  |  12 --
 stack/corepersistence/pom.xml                   |  10 +-
 48 files changed, 3 insertions(+), 1121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/f3effd2a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f3effd2a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyV3Impl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/f3effd2a/stack/corepersistence/pom.xml
----------------------------------------------------------------------


[24/50] [abbrv] usergrid git commit: Remove local repo configuration from parent pom.

Posted by sn...@apache.org.
Remove local repo configuration from parent pom.


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

Branch: refs/heads/asf-site
Commit: 3d7a8f1c12645dfcfffe7681f4fe72873f5ac8fa
Parents: 6066ea3
Author: Michael Russo <mi...@gmail.com>
Authored: Fri Jan 29 16:08:43 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Fri Jan 29 16:08:43 2016 -0800

----------------------------------------------------------------------
 stack/pom.xml | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/3d7a8f1c/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index e97e16e..e26693a 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -1566,14 +1566,7 @@
             </build>
         </profile>
     </profiles>
-    <repositories>
-        <repository>
-            <id>local-dependencies</id>
-            <name>local-depedendencies</name>
-            <url>file://${project.basedir}/../m2/repository</url>
-        </repository>
-    </repositories>
-
+    
     <scm>
         <url>https://git-wip-us.apache.org/repos/asf/usergrid.git</url>
         <connection>scm:git:http://git-wip-us.apache.org/repos/asf/usergrid.git</connection>


[12/50] [abbrv] usergrid git commit: USERGRID-1241: org-specific redirection handling

Posted by sn...@apache.org.
USERGRID-1241: org-specific redirection handling


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

Branch: refs/heads/asf-site
Commit: fbac7e84802459be44d588465ceb97817e40f560
Parents: 586dad0
Author: Mike Dunker <md...@apigee.com>
Authored: Wed Jan 27 16:24:54 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Wed Jan 27 16:24:54 2016 -0800

----------------------------------------------------------------------
 .../main/resources/usergrid-default.properties  |  5 ++
 .../usergrid/rest/AbstractContextResource.java  | 52 +++++++++++++++-
 .../rest/applications/ApplicationResource.java  | 10 ++--
 .../rest/applications/ServiceResource.java      | 12 ++--
 .../rest/applications/users/UserResource.java   | 41 ++++++-------
 .../rest/applications/users/UsersResource.java  | 14 ++---
 .../rest/management/ManagementResource.java     |  5 +-
 .../organizations/OrganizationResource.java     | 14 ++---
 .../rest/management/users/UserResource.java     | 62 ++++++++++++--------
 .../usergrid/management/ManagementService.java  | 13 ++++
 .../usergrid/management/OrganizationConfig.java | 27 +++++----
 .../management/OrganizationConfigProps.java     |  4 ++
 .../cassandra/ManagementServiceImpl.java        | 44 ++++++++++++--
 .../cassandra/OrganizationConfigPropsImpl.java  | 45 +++++++++++---
 14 files changed, 252 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/config/src/main/resources/usergrid-default.properties
----------------------------------------------------------------------
diff --git a/stack/config/src/main/resources/usergrid-default.properties b/stack/config/src/main/resources/usergrid-default.properties
index 915d798..94d02ff 100644
--- a/stack/config/src/main/resources/usergrid-default.properties
+++ b/stack/config/src/main/resources/usergrid-default.properties
@@ -658,6 +658,11 @@ usergrid.admin.sysadmin.email=
 usergrid.api.url.base=http://localhost:8080/ROOT
 
 
+# org config property name regex
+# don't use backslashes in the regex, as they don't play well in properties files
+# instead, use character class ([.] instead of backslash-period)
+usergrid.org.config.property.regex=usergrid[.]view[.].*
+
 
 
 ###########################  Usergrid Email Templates  ########################

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
index 68c894b..1d86631 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
@@ -25,6 +25,7 @@ import net.tanesha.recaptcha.ReCaptcha;
 import net.tanesha.recaptcha.ReCaptchaFactory;
 import org.apache.commons.lang.StringUtils;
 import org.apache.usergrid.management.ManagementService;
+import org.apache.usergrid.management.OrganizationConfig;
 import org.apache.usergrid.mq.QueueManagerFactory;
 import org.apache.usergrid.persistence.EntityManagerFactory;
 import org.apache.usergrid.rest.exceptions.RedirectionException;
@@ -43,6 +44,7 @@ import javax.xml.ws.spi.http.HttpContext;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 
 public abstract class AbstractContextResource {
@@ -163,6 +165,51 @@ public abstract class AbstractContextResource {
 
 
     public Viewable handleViewable(String template, Object model) {
+        return handleViewable(template, model, management.getOrganizationConfigDefaultsOnly());
+    }
+
+
+    public Viewable handleViewable(String template, Object model, String organizationName) {
+        OrganizationConfig orgConfig;
+        try {
+            if (!StringUtils.isBlank(organizationName)) {
+                orgConfig = management.getOrganizationConfigByName(organizationName);
+            } else {
+                orgConfig = management.getOrganizationConfigDefaultsOnly();
+            }
+        }
+        catch (Exception e) {
+            // fall back to non-org
+            if (logger.isInfoEnabled()) {
+                logger.info("handleViewable: unable to retrieve org config by org name: " + organizationName);
+            }
+            orgConfig = management.getOrganizationConfigDefaultsOnly();
+        }
+        return handleViewable(template, model, orgConfig);
+    }
+
+
+    public Viewable handleViewable(String template, Object model, UUID organizationId) {
+        OrganizationConfig orgConfig;
+        try {
+            if (organizationId != null) {
+                orgConfig = management.getOrganizationConfigByUuid(organizationId);
+            } else {
+                orgConfig = management.getOrganizationConfigDefaultsOnly();
+            }
+        }
+        catch (Exception e) {
+            // fall back to non-org
+            if (logger.isInfoEnabled() && organizationId != null) {
+                logger.info("handleViewable: unable to retrieve org config by org UUID: " + organizationId.toString());
+            }
+            orgConfig = management.getOrganizationConfigDefaultsOnly();
+        }
+        return handleViewable(template, model, orgConfig);
+    }
+
+
+    public Viewable handleViewable(String template, Object model, OrganizationConfig orgConfig) {
 
         String className = this.getClass().getName().toLowerCase();
         String packageName = AbstractContextResource.class.getPackage().getName();
@@ -171,7 +218,7 @@ public abstract class AbstractContextResource {
             StringUtils.removeEnd(className.toLowerCase(), "resource")
                 .substring(packageName.length()) + "." + template.toLowerCase();
 
-        String redirect_url = properties.getProperty(template_property);
+        String redirect_url = orgConfig.getProperty(template_property);
 
         if (StringUtils.isNotBlank(redirect_url)) {
             if (logger.isDebugEnabled()) {
@@ -184,8 +231,7 @@ public abstract class AbstractContextResource {
             logger.debug("Dispatching to viewable with template: {}", template, template_property);
         }
 
-        Viewable viewable = new Viewable(template, model);
-        return viewable;
+        return new Viewable(template, model);
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
index 5d76b3b..cc111eb 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
@@ -44,12 +44,10 @@ import org.apache.usergrid.rest.applications.events.EventsResource;
 import org.apache.usergrid.rest.applications.queues.QueueResource;
 import org.apache.usergrid.rest.applications.users.UsersResource;
 import org.apache.usergrid.rest.exceptions.AuthErrorInfo;
-import org.apache.usergrid.rest.exceptions.NotFoundExceptionMapper;
 import org.apache.usergrid.rest.exceptions.RedirectionException;
 import org.apache.usergrid.rest.exceptions.UnsupportedRestOperationException;
 import org.apache.usergrid.rest.security.annotations.RequireApplicationAccess;
 import org.apache.usergrid.rest.security.annotations.RequireOrganizationAccess;
-import org.apache.usergrid.rest.security.annotations.RequireSystemAccess;
 import org.apache.usergrid.security.oauth.AccessInfo;
 import org.apache.usergrid.security.oauth.ClientCredentialsInfo;
 import org.glassfish.jersey.server.mvc.Viewable;
@@ -429,13 +427,13 @@ public class ApplicationResource extends ServiceResource {
             ApplicationInfo app = management.getApplicationInfo( applicationId );
             applicationName = app.getName();
 
-            return handleViewable( "authorize_form", this );
+            return handleViewable( "authorize_form", this, getOrganizationName() );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, getOrganizationName() );
         }
     }
 
@@ -491,14 +489,14 @@ public class ApplicationResource extends ServiceResource {
             ApplicationInfo app = management.getApplicationInfo( applicationId );
             applicationName = app.getName();
 
-            return Response.ok( handleViewable( "authorize_form", this ) ).build() ;
+            return Response.ok( handleViewable( "authorize_form", this, getOrganizationName() ) ).build() ;
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
             logger.error("handleAuthorizeForm failed", e);
-            return Response.ok( handleViewable( "error", this ) ).build() ;
+            return Response.ok( handleViewable( "error", this, getOrganizationName() ) ).build() ;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
index 70adf35..af6ec44 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
@@ -17,7 +17,6 @@
 package org.apache.usergrid.rest.applications;
 
 
-import com.amazonaws.AmazonClientException;
 import com.amazonaws.AmazonServiceException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.jaxrs.json.annotation.JSONP;
@@ -130,6 +129,11 @@ public class ServiceResource extends AbstractContextResource {
     }
 
 
+    public String getOrganizationName() {
+        return services.getApplication().getOrganizationName();
+    }
+
+
     public List<ServiceParameter> getServiceParameters() {
         if ( serviceParameters != null ) {
             return serviceParameters;
@@ -137,7 +141,7 @@ public class ServiceResource extends AbstractContextResource {
         if ( getServiceResourceParent() != null ) {
             return getServiceResourceParent().getServiceParameters();
         }
-        serviceParameters = new ArrayList<ServiceParameter>();
+        serviceParameters = new ArrayList<>();
         return serviceParameters;
     }
 
@@ -648,7 +652,7 @@ public class ServiceResource extends AbstractContextResource {
 
         // collect form data values
         List<BodyPart> bodyParts = multiPart.getBodyParts();
-        HashMap<String, Object> data = new HashMap<String, Object>();
+        HashMap<String, Object> data = new HashMap<>();
         for ( BodyPart bp : bodyParts ) {
             FormDataBodyPart bodyPart = ( FormDataBodyPart ) bp;
             if ( bodyPart.getMediaType().equals( MediaType.TEXT_PLAIN_TYPE ) ) {
@@ -791,7 +795,7 @@ public class ServiceResource extends AbstractContextResource {
 
         boolean range = StringUtils.isNotBlank( rangeHeader );
         long start = 0, end = 0, contentLength = 0;
-        InputStream inputStream = null;
+        InputStream inputStream;
 
         if ( range ) { // honor range request, calculate start & end
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
index 77ba756..6de65f1 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
@@ -71,9 +71,7 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
 import static javax.servlet.http.HttpServletResponse.SC_FORBIDDEN;
 import static javax.servlet.http.HttpServletResponse.SC_OK;
 
-import static org.apache.usergrid.security.shiro.utils.SubjectUtils.getSubjectUserId;
-import static org.apache.usergrid.security.shiro.utils.SubjectUtils.isApplicationAdmin;
-import static org.apache.usergrid.security.shiro.utils.SubjectUtils.isApplicationUser;
+import static org.apache.usergrid.security.shiro.utils.SubjectUtils.*;
 import static org.apache.usergrid.utils.ConversionUtils.string;
 
 
@@ -222,6 +220,8 @@ public class UserResource extends ServiceResource {
 
         ApiResponse response = createApiResponse();
         response.setAction( "set user credentials" );
+
+        @SuppressWarnings("unchecked")
         Map<String, Object> credentialsJson = ( Map<String, Object> ) json.get( "credentials" );
 
 
@@ -398,17 +398,17 @@ public class UserResource extends ServiceResource {
         this.token = token;
         try {
             if ( management.checkPasswordResetTokenForAppUser( getApplicationId(), getUserUuid(), token ) ) {
-                return handleViewable( "resetpw_set_form", this );
+                return handleViewable( "resetpw_set_form", this, getOrganizationName() );
             }
             else {
-                return handleViewable( "resetpw_email_form", this );
+                return handleViewable( "resetpw_email_form", this, getOrganizationName() );
             }
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, getOrganizationName() );
         }
     }
 
@@ -433,22 +433,22 @@ public class UserResource extends ServiceResource {
                     if ( ( password1 != null ) && password1.equals( password2 ) ) {
                         management.setAppUserPassword( getApplicationId(), getUser().getUuid(), password1 );
                         management.revokeAccessTokenForAppUser( token );
-                        return handleViewable( "resetpw_set_success", this );
+                        return handleViewable( "resetpw_set_success", this, getOrganizationName() );
                     }
                     else {
                         errorMsg = "Passwords didn't match, let's try again...";
-                        return handleViewable( "resetpw_set_form", this );
+                        return handleViewable( "resetpw_set_form", this, getOrganizationName() );
                     }
                 }
                 else {
                     errorMsg = "Sorry, you have an invalid token. Let's try again...";
-                    return handleViewable( "resetpw_email_form", this );
+                    return handleViewable( "resetpw_email_form", this, getOrganizationName() );
                 }
             }
 
             if ( !useReCaptcha() ) {
                 management.startAppUserPasswordResetFlow( getApplicationId(), getUser() );
-                return handleViewable( "resetpw_email_success", this );
+                return handleViewable( "resetpw_email_success", this, getOrganizationName() );
             }
 
             ReCaptchaImpl reCaptcha = new ReCaptchaImpl();
@@ -459,18 +459,18 @@ public class UserResource extends ServiceResource {
 
             if ( reCaptchaResponse.isValid() ) {
                 management.startAppUserPasswordResetFlow( getApplicationId(), getUser() );
-                return handleViewable( "resetpw_email_success", this );
+                return handleViewable( "resetpw_email_success", this, getOrganizationName() );
             }
             else {
                 errorMsg = "Incorrect Captcha";
-                return handleViewable( "resetpw_email_form", this );
+                return handleViewable( "resetpw_email_form", this, getOrganizationName() );
             }
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, getOrganizationName() );
         }
     }
 
@@ -515,16 +515,16 @@ public class UserResource extends ServiceResource {
 
         try {
             management.handleActivationTokenForAppUser( getApplicationId(), getUserUuid(), token );
-            return handleViewable( "activate", this );
+            return handleViewable( "activate", this, getOrganizationName() );
         }
         catch ( TokenException e ) {
-            return handleViewable( "bad_activation_token", this );
+            return handleViewable( "bad_activation_token", this, getOrganizationName() );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, getOrganizationName() );
         }
     }
 
@@ -538,18 +538,18 @@ public class UserResource extends ServiceResource {
             ActivationState state =
                     management.handleConfirmationTokenForAppUser( getApplicationId(), getUserUuid(), token );
             if ( state == ActivationState.CONFIRMED_AWAITING_ACTIVATION ) {
-                return handleViewable( "confirm", this );
+                return handleViewable( "confirm", this, getOrganizationName() );
             }
-            return handleViewable( "activate", this );
+            return handleViewable( "activate", this, getOrganizationName() );
         }
         catch ( TokenException e ) {
-            return handleViewable( "bad_confirmation_token", this );
+            return handleViewable( "bad_confirmation_token", this, getOrganizationName() );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, getOrganizationName() );
         }
     }
 
@@ -684,6 +684,7 @@ public class UserResource extends ServiceResource {
             extensionResource = getSubResource( extensionCls );
         }
         catch ( Exception e ) {
+            // intentionally empty
         }
         if ( extensionResource != null ) {
             return extensionResource;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
index 81cf59a..e224cfc 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
@@ -120,7 +120,7 @@ public class UsersResource extends ServiceResource {
     @Path("resetpw")
     @Produces(MediaType.TEXT_HTML)
     public Viewable showPasswordResetForm( @Context UriInfo ui ) {
-        return handleViewable( "resetpw_email_form", this );
+        return handleViewable( "resetpw_email_form", this, getOrganizationName() );
     }
 
 
@@ -141,30 +141,30 @@ public class UsersResource extends ServiceResource {
 
             if ( isBlank( email ) ) {
                 errorMsg = "No email provided, try again...";
-                return handleViewable( "resetpw_email_form", this );
+                return handleViewable( "resetpw_email_form", this, getOrganizationName() );
             }
 
             if ( !useReCaptcha() || reCaptchaResponse.isValid() ) {
                 user = management.getAppUserByIdentifier( getApplicationId(), Identifier.fromEmail( email ) );
                 if ( user != null ) {
                     management.startAppUserPasswordResetFlow( getApplicationId(), user );
-                    return handleViewable( "resetpw_email_success", this );
+                    return handleViewable( "resetpw_email_success", this, getOrganizationName() );
                 }
                 else {
                     errorMsg = "We don't recognize that email, try again...";
-                    return handleViewable( "resetpw_email_form", this );
+                    return handleViewable( "resetpw_email_form", this, getOrganizationName() );
                 }
             }
             else {
                 errorMsg = "Incorrect Captcha, try again...";
-                return handleViewable( "resetpw_email_form", this );
+                return handleViewable( "resetpw_email_form", this, getOrganizationName() );
             }
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "resetpw_email_form", e );
+            return handleViewable( "resetpw_email_form", e, getOrganizationName() );
         }
     }
 
@@ -249,7 +249,7 @@ public class UsersResource extends ServiceResource {
             }
         }
 
-        ApiResponse response = ( ApiResponse ) super.executePostWithObject( ui, json, callback );
+        ApiResponse response = super.executePostWithObject( ui, json, callback );
 
         if ( ( response.getEntities() != null ) && ( response.getEntities().size() == 1 ) ) {
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
index 11fd897..721235e 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
@@ -268,7 +268,7 @@ public class ManagementResource extends AbstractContextResource {
                     }
                     catch ( UnconfirmedAdminUserException uaue ) {
                         errorDescription = "User must be confirmed to authenticate";
-                        logger.warn( "Responding with HTTP 403 forbidden response for unconfirmed user {}" , user);
+                        logger.warn("Responding with HTTP 403 forbidden response for unconfirmed user");
 
                         OAuthResponse response = OAuthResponse.errorResponse( SC_FORBIDDEN )
                                                               .setError( OAuthError.TokenResponse.INVALID_GRANT )
@@ -469,6 +469,7 @@ public class ManagementResource extends AbstractContextResource {
                 user = management.verifyAdminUserPasswordCredentials( username, password );
             }
             catch ( Exception e1 ) {
+                // intentionally empty
             }
             if ( ( user != null ) && isNotBlank( redirect_uri ) ) {
                 if ( !redirect_uri.contains( "?" ) ) {
@@ -584,7 +585,7 @@ public class ManagementResource extends AbstractContextResource {
         if ( ttl == -1 ) {
             throw new IllegalArgumentException("ttl must be specified");
         }
-        AccessInfo accessInfo = null;
+        AccessInfo accessInfo;
 
         Timer processingTimer = getMetricsFactory().getTimer(
             ManagementResource.class, SSO_PROCESSING_TIME );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
index f777637..77239f3 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
@@ -130,16 +130,16 @@ public class OrganizationResource extends AbstractContextResource {
 
         try {
             management.handleActivationTokenForOrganization( organization.getUuid(), token );
-            return handleViewable( "activate", this );
+            return handleViewable( "activate", this, organization.getName() );
         }
         catch ( TokenException e ) {
-            return handleViewable( "bad_activation_token", this );
+            return handleViewable( "bad_activation_token", this, organization.getName() );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, organization.getName() );
         }
     }
 
@@ -152,18 +152,18 @@ public class OrganizationResource extends AbstractContextResource {
         try {
             ActivationState state = management.handleActivationTokenForOrganization( organization.getUuid(), token );
             if ( state == ActivationState.CONFIRMED_AWAITING_ACTIVATION ) {
-                return handleViewable( "confirm", this );
+                return handleViewable( "confirm", this, organization.getName() );
             }
-            return handleViewable( "activate", this );
+            return handleViewable( "activate", this, organization.getName() );
         }
         catch ( TokenException e ) {
-            return handleViewable( "bad_activation_token", this );
+            return handleViewable( "bad_activation_token", this, organization.getName() );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, organization.getName() );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
index 188567b..a968508 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
@@ -29,7 +29,7 @@ import org.apache.usergrid.rest.exceptions.RedirectionException;
 import org.apache.usergrid.rest.management.ManagementResource;
 import org.apache.usergrid.rest.management.users.organizations.OrganizationsResource;
 import org.apache.usergrid.rest.security.annotations.RequireAdminUserAccess;
-import org.apache.usergrid.security.shiro.utils.SubjectUtils;
+import org.apache.usergrid.security.tokens.TokenInfo;
 import org.apache.usergrid.security.tokens.exceptions.TokenException;
 import org.apache.usergrid.services.ServiceResults;
 import org.glassfish.jersey.server.mvc.Viewable;
@@ -191,7 +191,7 @@ public class UserResource extends AbstractContextResource {
         ApiResponse response = createApiResponse();
         response.setAction( "get admin user" );
 
-        String token = management.getAccessTokenForAdminUser( SubjectUtils.getUser().getUuid(), ttl );
+        String token = management.getAccessTokenForAdminUser( user.getUuid(), ttl );
         Map<String, Object> userOrganizationData = management.getAdminUserOrganizationData( user, !shallow );
         userOrganizationData.put( "token", token );
         response.setData( userOrganizationData );
@@ -214,21 +214,25 @@ public class UserResource extends AbstractContextResource {
                     properties.getProperty( ManagementResource.USERGRID_CENTRAL_URL ) );
         }
 
+        UUID organizationId = null;
+
         try {
             this.token = token;
+            TokenInfo tokenInfo = management.getPasswordResetTokenInfoForAdminUser(token);
+            organizationId = tokenInfo.getWorkflowOrgId();
 
-            if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), token ) ) {
-                return handleViewable( "resetpw_set_form", this );
+            if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), tokenInfo ) ) {
+                return handleViewable( "resetpw_set_form", this, organizationId );
             }
             else {
-                return handleViewable( "resetpw_email_form", this );
+                return handleViewable( "resetpw_email_form", this, organizationId );
             }
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, organizationId );
         }
     }
 
@@ -255,8 +259,12 @@ public class UserResource extends AbstractContextResource {
                     properties.getProperty( ManagementResource.USERGRID_CENTRAL_URL ) );
         }
 
+        UUID organizationId = null;
+
         try {
             this.token = token;
+            TokenInfo tokenInfo = management.getPasswordResetTokenInfoForAdminUser(token);
+            organizationId = tokenInfo.getWorkflowOrgId();
 
             //      if(user == null) {
             //        errorMsg = "Incorrect username entered";
@@ -264,26 +272,26 @@ public class UserResource extends AbstractContextResource {
             //      }
 
             if ( ( password1 != null ) || ( password2 != null ) ) {
-                if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), token ) ) {
+                if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), tokenInfo ) ) {
                     if ( ( password1 != null ) && password1.equals( password2 ) ) {
                         management.setAdminUserPassword( user.getUuid(), password1 );
                         management.revokeAccessTokenForAdminUser( user.getUuid(), token );
-                        return handleViewable( "resetpw_set_success", this );
+                        return handleViewable( "resetpw_set_success", this, organizationId );
                     }
                     else {
                         errorMsg = "Passwords didn't match, let's try again...";
-                        return handleViewable( "resetpw_set_form", this );
+                        return handleViewable( "resetpw_set_form", this, organizationId );
                     }
                 }
                 else {
                     errorMsg = "Sorry, you have an invalid token. Let's try again...";
-                    return handleViewable( "resetpw_email_form", this );
+                    return handleViewable( "resetpw_email_form", this, organizationId );
                 }
             }
 
             if ( !useReCaptcha() ) {
                 management.startAdminUserPasswordResetFlow( null, user );
-                return handleViewable( "resetpw_email_success", this );
+                return handleViewable( "resetpw_email_success", this, organizationId );
             }
 
             ReCaptchaImpl reCaptcha = new ReCaptchaImpl();
@@ -294,18 +302,18 @@ public class UserResource extends AbstractContextResource {
 
             if ( reCaptchaResponse.isValid() ) {
                 management.startAdminUserPasswordResetFlow( null, user );
-                return handleViewable( "resetpw_email_success", this );
+                return handleViewable( "resetpw_email_success", this, organizationId );
             }
             else {
                 errorMsg = "Incorrect Captcha";
-                return handleViewable( "resetpw_email_form", this );
+                return handleViewable( "resetpw_email_form", this, organizationId );
             }
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, organizationId );
         }
     }
 
@@ -338,18 +346,22 @@ public class UserResource extends AbstractContextResource {
                     properties.getProperty( ManagementResource.USERGRID_CENTRAL_URL ) );
         }
 
+        UUID organizationId = null;
+
         try {
-            management.handleActivationTokenForAdminUser( user.getUuid(), token );
-            return handleViewable( "activate", this );
+            TokenInfo tokenInfo = management.getActivationTokenInfoForAdminUser(token) ;
+            organizationId = tokenInfo.getWorkflowOrgId();
+            management.handleActivationTokenForAdminUser( user.getUuid(), tokenInfo );
+            return handleViewable( "activate", this, organizationId );
         }
         catch ( TokenException e ) {
-            return handleViewable( "bad_activation_token", this );
+            return handleViewable( "bad_activation_token", this, organizationId );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return handleViewable( "error", e );
+            return handleViewable( "error", e, organizationId );
         }
     }
 
@@ -367,21 +379,25 @@ public class UserResource extends AbstractContextResource {
                     properties.getProperty( ManagementResource.USERGRID_CENTRAL_URL ) );
         }
 
+        UUID organizationId = null;
+
         try {
-            ActivationState state = management.handleConfirmationTokenForAdminUser( user.getUuid(), token );
+            TokenInfo tokenInfo = management.getConfirmationTokenInfoForAdminUser(token) ;
+            organizationId = tokenInfo.getWorkflowOrgId();
+            ActivationState state = management.handleConfirmationTokenForAdminUser( user.getUuid(), tokenInfo );
             if ( state == ActivationState.CONFIRMED_AWAITING_ACTIVATION ) {
-                return handleViewable( "confirm", this );
+                return handleViewable( "confirm", this, organizationId );
             }
-            return handleViewable( "activate", this );
+            return handleViewable( "activate", this, organizationId );
         }
         catch ( TokenException e ) {
-            return handleViewable( "bad_confirmation_token", this );
+            return handleViewable( "bad_confirmation_token", this, organizationId );
         }
         catch ( RedirectionException e ) {
             throw e;
         }
         catch ( Exception e ) {
-            return new Viewable( "error", e );
+            return handleViewable( "error", e, organizationId );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
index 1352dad..2f2d10f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java
@@ -33,6 +33,7 @@ import org.apache.usergrid.persistence.entities.User;
 import org.apache.usergrid.persistence.model.entity.Id;
 import org.apache.usergrid.security.oauth.AccessInfo;
 import org.apache.usergrid.security.shiro.PrincipalCredentialsToken;
+import org.apache.usergrid.security.tokens.TokenInfo;
 import org.apache.usergrid.services.ServiceResults;
 
 import com.google.common.collect.BiMap;
@@ -50,12 +51,24 @@ public interface ManagementService {
 
 	AccessInfo authorizeClient( String clientId, String clientSecret, long ttl ) throws Exception;
 
+	TokenInfo getConfirmationTokenInfoForAdminUser( String token ) throws Exception;
+
 	ActivationState handleConfirmationTokenForAdminUser( UUID userId, String token ) throws Exception;
 
+	ActivationState handleConfirmationTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception;
+
+	TokenInfo getActivationTokenInfoForAdminUser( String token ) throws Exception;
+
 	ActivationState handleActivationTokenForAdminUser( UUID userId, String token ) throws Exception;
 
+	ActivationState handleActivationTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception;
+
 	ActivationState handleActivationTokenForOrganization( UUID organizationId, String token ) throws Exception;
 
+	TokenInfo getPasswordResetTokenInfoForAdminUser( String token ) throws Exception;
+
+	boolean checkPasswordResetTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception;
+
 	boolean checkPasswordResetTokenForAdminUser( UUID userId, String token ) throws Exception;
 
 	UserInfo createAdminUser( UUID organizationId, String username, String name, String email, String password,

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfig.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfig.java b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfig.java
index 2730eac..b327682 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfig.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfig.java
@@ -28,10 +28,8 @@ import java.util.*;
 public class OrganizationConfig {
 
     private OrganizationConfigProps configProps;
-    //private Map<String, String> defaultProperties;
     private UUID id;
     private String name;
-    //private Map<String, String> orgProperties;
 
 
     // shouldn't use the default constructor
@@ -52,10 +50,8 @@ public class OrganizationConfig {
 
     public OrganizationConfig(OrganizationConfigProps configFileProperties, UUID id, String name) {
         this.configProps = new OrganizationConfigPropsImpl(configFileProperties);
-        //defaultProperties = configFileProperties.getOrgPropertyMap();
         this.id = id;
         this.name = name;
-        //this.orgProperties = new HashMap<>();
     }
 
     public OrganizationConfig(OrganizationConfigProps configFileProperties) {
@@ -78,24 +74,33 @@ public class OrganizationConfig {
     }
 
     private void orgPropertyValidate(Map<String, Object> entityProperties) throws IllegalArgumentException {
-        Set<String> entityPropertyKeys = new HashSet<>(entityProperties.keySet());
-        entityPropertyKeys.removeAll(configProps.getOrgPropertyNames());
-        // if anything remains in the key set, it is not a valid property
-        if (entityPropertyKeys.size() > 0) {
-            throw new IllegalArgumentException("Invalid organization config keys: " + String.join(", ", entityPropertyKeys));
+        Set<String> invalidKeys = new HashSet<>();
+        entityProperties.keySet().forEach((k) -> {
+           if (!configProps.orgPropertyNameValid(k)) {
+               invalidKeys.add(k);
+           }
+        });
+
+        if (invalidKeys.size() > 0) {
+            throw new IllegalArgumentException("Invalid organization config keys: " + String.join(", ", invalidKeys));
         }
 
+        invalidKeys.clear();
         entityProperties.forEach((k,v) -> {
             if (!v.getClass().equals(String.class)) {
-                throw new IllegalArgumentException("Organization config values must be strings.");
+                invalidKeys.add(k);
             }
         });
+
+        if (invalidKeys.size() > 0) {
+            throw new IllegalArgumentException("Organization config value(s) not strings: " + String.join(", ", invalidKeys));
+        }
     }
 
     private void addOrgProperties(Map<String, Object> newOrgProperties) {
         newOrgProperties.forEach((k,v) -> {
             // only take valid properties, validation (if required) happened earlier
-            if (configProps.getOrgPropertyNames().contains(k)) {
+            if (configProps.orgPropertyNameValid(k)) {
                 // ignore non-strings, validation happened earlier
                 if (v.getClass().equals(String.class)) {
                     this.configProps.setProperty(k, v.toString());

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java
index f50705f..226e3a3 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java
@@ -50,6 +50,8 @@ public interface OrganizationConfigProps {
 
     Map<String, String> getOrgPropertiesMap();
 
+    String getOrgPropertyNameRegex();
+
     String getProperty(String name);
 
     String getProperty(String name, String defaultValue);
@@ -66,4 +68,6 @@ public interface OrganizationConfigProps {
 
     String getFullUrl(WorkflowUrl urlType, Object ... arguments);
 
+    boolean orgPropertyNameValid(String name);
+
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index 558b718..cc5fc9c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -2197,10 +2197,22 @@ public class ManagementServiceImpl implements ManagementService {
 
 
     @Override
+    public TokenInfo getPasswordResetTokenInfoForAdminUser( String token ) throws Exception {
+        return getTokenInfoFromAccessToken(token, TOKEN_TYPE_PASSWORD_RESET, ADMIN_USER);
+    }
+
+
+    @Override
     public boolean checkPasswordResetTokenForAdminUser( UUID userId, String token ) throws Exception {
+        return checkPasswordResetTokenForAdminUser(userId, getPasswordResetTokenInfoForAdminUser(token));
+    }
+
+
+    @Override
+    public boolean checkPasswordResetTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception {
         AuthPrincipalInfo principal = null;
         try {
-            principal = getPrincipalFromAccessToken( token, TOKEN_TYPE_PASSWORD_RESET, ADMIN_USER );
+            principal = tokenInfo.getPrincipal();
         }
         catch ( Exception e ) {
             logger.error( "Unable to verify token", e );
@@ -2470,9 +2482,20 @@ public class ManagementServiceImpl implements ManagementService {
 
 
     @Override
-    // token may contain the workflow organization id
+    public TokenInfo getConfirmationTokenInfoForAdminUser( String token ) throws Exception {
+        return getTokenInfoFromAccessToken(token, TOKEN_TYPE_CONFIRM, ADMIN_USER);
+    }
+
+
+    @Override
     public ActivationState handleConfirmationTokenForAdminUser( UUID userId, String token ) throws Exception {
-        TokenInfo tokenInfo = getTokenInfoFromAccessToken(token, TOKEN_TYPE_CONFIRM, ADMIN_USER);
+        return handleConfirmationTokenForAdminUser(userId, getConfirmationTokenInfoForAdminUser(token));
+    }
+
+
+    @Override
+    // token may contain the workflow organization id
+    public ActivationState handleConfirmationTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception {
         if (tokenInfo != null) {
             AuthPrincipalInfo principal = tokenInfo.getPrincipal();
             if ((principal != null) && userId.equals(principal.getUuid())) {
@@ -2496,9 +2519,20 @@ public class ManagementServiceImpl implements ManagementService {
 
 
     @Override
-    // token may contain the workflow organization id
+    public TokenInfo getActivationTokenInfoForAdminUser( String token ) throws Exception {
+        return getTokenInfoFromAccessToken(token, TOKEN_TYPE_ACTIVATION, ADMIN_USER);
+    }
+
+
+    @Override
     public ActivationState handleActivationTokenForAdminUser( UUID userId, String token ) throws Exception {
-        TokenInfo tokenInfo = getTokenInfoFromAccessToken(token, TOKEN_TYPE_ACTIVATION, ADMIN_USER);
+        return handleActivationTokenForAdminUser(userId, getActivationTokenInfoForAdminUser(token));
+    }
+
+
+    @Override
+    // token may contain the workflow organization id
+    public ActivationState handleActivationTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception {
         if (tokenInfo != null) {
             AuthPrincipalInfo principal = tokenInfo.getPrincipal();
             if ((principal != null) && userId.equals(principal.getUuid())) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/fbac7e84/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java
index 56c1e12..5d2c256 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java
@@ -18,13 +18,21 @@ package org.apache.usergrid.management.cassandra;
 
 
 import org.apache.usergrid.management.OrganizationConfigProps;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.*;
+import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
 
 import static org.apache.commons.lang.StringUtils.isBlank;
 
 
 public class OrganizationConfigPropsImpl implements OrganizationConfigProps {
+    private static final Logger logger = LoggerFactory.getLogger( OrganizationConfigPropsImpl.class );
+
+    private static final String REGEX_PROPERTY_NAME = "usergrid.org.config.property.regex";
+    private static final String DEFAULT_REGEX = "usergrid[.]view[.].*";
 
     private static final String DEFAULTVALUE_API_URL_BASE = "http://localhost:8080";
     private static final String DEFAULTVALUE_DEFAULT_CONNECTION_PARAM = "all";
@@ -61,6 +69,9 @@ public class OrganizationConfigPropsImpl implements OrganizationConfigProps {
     protected final Map<String, String> defaultProperties;
     protected final Map<String, String> orgProperties;
 
+    protected final String propertyNameRegex;
+    protected Pattern propertyNameRegexPattern;
+
 
     public OrganizationConfigPropsImpl(Properties properties) {
         this(properties, null);
@@ -70,29 +81,42 @@ public class OrganizationConfigPropsImpl implements OrganizationConfigProps {
         this.properties = new Properties(properties);
         this.properties.putAll(properties);
 
+        String regex = properties.getProperty(REGEX_PROPERTY_NAME);
+        this.propertyNameRegex = !regex.isEmpty() ? regex : DEFAULT_REGEX;
+        try {
+            this.propertyNameRegexPattern = Pattern.compile(this.propertyNameRegex);
+        }
+        catch(PatternSyntaxException e) {
+            if (logger.isInfoEnabled()) {
+                logger.info("Invalid regex in " + REGEX_PROPERTY_NAME + " property: " + propertyNameRegex);
+            }
+            this.propertyNameRegexPattern = null;
+        }
+
         this.defaultProperties = new HashMap<>(noConfigDefaults);
-        // add any corresponding properties to default props map
-        noConfigDefaults.keySet().forEach((k) -> {
-            String value = properties.getProperty(k);
 
-            // ok if value is empty string
-            if (value != null) {
-                this.defaultProperties.put(k, value);
+        // add any corresponding properties to default props map
+        this.properties.forEach((k,v) -> {
+            if (orgPropertyNameValid(k.toString()) && v != null) {
+                this.defaultProperties.put(k.toString(), v.toString());
             }
         });
 
         this.orgProperties = map != null ? new HashMap<>(map) : new HashMap<>();
-        //noConfigDefaults.forEach((k,v) -> map.put(k, properties.getProperty(k, v)));
     }
 
     public OrganizationConfigPropsImpl(OrganizationConfigProps orgConfigProps) {
         this.properties = orgConfigProps.getPropertiesMap();
         this.defaultProperties = orgConfigProps.getDefaultPropertiesMap();
         this.orgProperties = orgConfigProps.getOrgPropertiesMap();
+        this.propertyNameRegex = orgConfigProps.getOrgPropertyNameRegex();
+        this.propertyNameRegexPattern = Pattern.compile(this.propertyNameRegex);
     }
 
+    @Override
     public boolean orgPropertyNameValid(String name) {
-        return noConfigDefaults.containsKey(name);
+        return noConfigDefaults.containsKey(name) ||
+                (propertyNameRegexPattern != null && propertyNameRegexPattern.matcher(name).matches());
     }
 
     @Override
@@ -117,6 +141,11 @@ public class OrganizationConfigPropsImpl implements OrganizationConfigProps {
         return new HashMap<>(orgProperties);
     }
 
+    @Override
+    public String getOrgPropertyNameRegex() {
+        return propertyNameRegex;
+    }
+
     //
     // 1. return from orgProperties (if it exists)
     // 2. return from properties (if it exists)


[34/50] [abbrv] usergrid git commit: USERGRID-1243: logging overhaul, pt. 2

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
index 47a99c0..458d9a5 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
@@ -105,7 +105,7 @@ public class  AwsSdkS3BinaryStore implements BinaryStore {
 
         this.bucketName = properties.getProperty( "usergrid.binary.bucketname" );
         if(bucketName == null){
-            logger.error( "usergrid.binary.bucketname  not properly set so amazon bucket is null" );
+            logger.error( "usergrid.binary.bucketname not properly set so amazon bucket is null" );
             throw new AwsPropertiesNotFoundException( "usergrid.binary.bucketname" );
 
         }
@@ -213,7 +213,7 @@ public class  AwsSdkS3BinaryStore implements BinaryStore {
 
                     if(written> maxSizeBytes){
                         overSizeLimit = true;
-                        logger.error( "OVERSIZED FILE. STARTING ABORT" );
+                        logger.error( "OVERSIZED FILE ({}). STARTING ABORT", written );
                         break;
                         //set flag here and break out of loop to run abort
                     }
@@ -268,7 +268,7 @@ public class  AwsSdkS3BinaryStore implements BinaryStore {
                     timesIterated--;
                     listResult = getS3Client().listMultipartUploads( listRequest );
                     if (logger.isDebugEnabled()) {
-                        logger.debug("Files that haven't been aborted are: ", listResult.getMultipartUploads().listIterator().toString());
+                        logger.debug("Files that haven't been aborted are: {}", listResult.getMultipartUploads().listIterator().toString());
                     }
 
                 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
index b167d13..d829016 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
@@ -39,7 +39,7 @@ import java.util.UUID;
 /** A binary store implementation using the local file system */
 public class LocalFileBinaryStore implements BinaryStore {
 
-    private static final Logger LOG = LoggerFactory.getLogger( LocalFileBinaryStore.class );
+    private static final Logger logger = LoggerFactory.getLogger( LocalFileBinaryStore.class );
 
     private String reposLocation = FileUtils.getTempDirectoryPath();
 
@@ -102,7 +102,7 @@ public class LocalFileBinaryStore implements BinaryStore {
                 em.update( entity );
 
             } catch ( Exception e ) {
-                LOG.error( "Error updating entity with error message", e);
+                logger.error( "Error updating entity with error message", e);
             }
             return;
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/assets/data/S3BinaryStore.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/S3BinaryStore.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/S3BinaryStore.java
index 8c5c180..2929d93 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/S3BinaryStore.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/S3BinaryStore.java
@@ -54,7 +54,7 @@ public class S3BinaryStore implements BinaryStore {
     private static final Iterable<? extends Module> MODULES = ImmutableSet
             .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(), new NettyPayloadModule() );
 
-    private static final Logger LOG = LoggerFactory.getLogger( S3BinaryStore.class );
+    private static final Logger logger = LoggerFactory.getLogger( S3BinaryStore.class );
     private static final long FIVE_MB = ( FileUtils.ONE_MB * 5 );
     private static String WORKERS_PROP_NAME = "usergrid.binary.upload-workers";
 
@@ -158,7 +158,7 @@ public class S3BinaryStore implements BinaryStore {
                 if ( StringUtils.isNumeric( workersString ) ) {
                     workers = Integer.parseInt( workersString );
                 } else if ( !StringUtils.isEmpty( workersString )) {
-                    LOG.error("Ignoring invalid setting for {}", WORKERS_PROP_NAME);
+                    logger.error("Ignoring invalid setting for {}", WORKERS_PROP_NAME);
                 }
                 executorService = Executors.newFixedThreadPool( workers );
             }
@@ -218,8 +218,8 @@ public class S3BinaryStore implements BinaryStore {
         @Override
         public Void call() {
 
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Writing temp file for S3 upload");
+            if (logger.isTraceEnabled()) {
+                logger.trace("Writing temp file for S3 upload");
             }
 
             // determine max size file allowed, default to 50mb
@@ -245,8 +245,8 @@ public class S3BinaryStore implements BinaryStore {
                 written += data.length;
                 written += IOUtils.copyLarge( inputStream, os, 0, maxSizeBytes + 1 );
 
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Write temp file {} length {}", tempFile.getName(), written);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Write temp file {} length {}", tempFile.getName(), written);
                 }
 
             } catch ( IOException e ) {
@@ -257,7 +257,7 @@ public class S3BinaryStore implements BinaryStore {
                     try {
                         os.flush();
                     } catch (IOException e) {
-                        LOG.error( "Error flushing data to temporary upload file", e );
+                        logger.error( "Error flushing data to temporary upload file", e );
                     }
                     IOUtils.closeQuietly( os );
                 }
@@ -268,9 +268,9 @@ public class S3BinaryStore implements BinaryStore {
             Map<String, Object> fileMetadata = AssetUtils.getFileMetadata( entity );
 
             if ( tempFile.length() > maxSizeBytes ) {
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("File too large. Temp file size (bytes) = {}, " +
-                        "Max file size (bytes) = {} ", tempFile.length(), maxSizeBytes);
+                if (logger.isDebugEnabled()) {
+                    logger.debug("File too large. Temp file size (bytes) = {}, Max file size (bytes) = {}",
+                            tempFile.length(), maxSizeBytes);
                 }
                 try {
                     EntityManager em = emf.getEntityManager( appId );
@@ -280,7 +280,7 @@ public class S3BinaryStore implements BinaryStore {
                     tempFile.delete();
 
                 } catch ( Exception e ) {
-                    LOG.error( "Error updating entity with error message", e);
+                    logger.error( "Error updating entity with error message", e);
                 }
                 return null;
             }
@@ -290,8 +290,8 @@ public class S3BinaryStore implements BinaryStore {
 
             try {  // start the upload
 
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("S3 upload thread started");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("S3 upload thread started");
                 }
 
                 BlobStore blobStore = getContext().getBlobStore();
@@ -314,14 +314,14 @@ public class S3BinaryStore implements BinaryStore {
                 String md5sum = Hex.encodeHexString( blob.getMetadata().getContentMetadata().getContentMD5() );
                 fileMetadata.put( AssetUtils.CHECKSUM, md5sum );
 
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("S3 upload starting");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("S3 upload starting");
                 }
 
                 String eTag = blobStore.putBlob( bucketName, blob );
 
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("S3 upload complete eTag=" + eTag);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("S3 upload complete eTag=" + eTag);
                 }
 
                 // update entity with eTag
@@ -332,7 +332,7 @@ public class S3BinaryStore implements BinaryStore {
                 em.update( entity );
             }
             catch ( Exception e ) {
-                LOG.error( "error uploading", e );
+                logger.error( "error uploading", e );
             }
 
             if ( tempFile != null && tempFile.exists() ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java b/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
index 7404dca..f57a03a 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
@@ -44,16 +44,16 @@ public class DevicesService extends AbstractCollectionService {
 
     public DevicesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/devices");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/devices");
         }
     }
 
 
     @Override
     public ServiceResults putItemById( ServiceContext context, UUID id ) throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Registering device {}", id);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Registering device {}", id);
         }
         return super.putItemById( context, id );
     }
@@ -61,7 +61,9 @@ public class DevicesService extends AbstractCollectionService {
 
     @Override
     public ServiceResults postItemById( ServiceContext context, UUID id ) throws Exception {
-        logger.info("Attempting to connect an entity to device {}", id);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Attempting to connect an entity to device {}", id);
+        }
         return super.postItemById( context, id );
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/devices/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/devices/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/devices/notifications/NotificationsService.java
index c766c72..8999f05 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/devices/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/devices/notifications/NotificationsService.java
@@ -26,7 +26,9 @@ public class NotificationsService extends
             .getLogger(NotificationsService.class);
 
     public NotificationsService() {
-        logger.info("/devices/*/notifications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/devices/*/notifications");
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
index c8ac153..01012aa 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/GroupsService.java
@@ -51,8 +51,8 @@ public class GroupsService extends AbstractPathBasedColllectionService {
 
     public GroupsService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/groups");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups");
         }
 
         // rolenames is the one case of Entity Dictionary name not equal to path segment
@@ -71,8 +71,8 @@ public class GroupsService extends AbstractPathBasedColllectionService {
             throw new IllegalArgumentException( "You must provide a 'path' property when creating a group" );
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Creating group with path {}", path);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Creating group with path {}", path);
         }
 
         Preconditions.checkArgument( matcher.matchesAllOf( path ), "Illegal characters found in group name: " + path );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/activities/ActivitiesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/activities/ActivitiesService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/activities/ActivitiesService.java
index bed22aa..4b04edf 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/activities/ActivitiesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/activities/ActivitiesService.java
@@ -38,8 +38,8 @@ public class ActivitiesService extends GenericCollectionService {
 
     public ActivitiesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/groups/*/activities");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/activities");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/notifications/NotificationsService.java
index 9e965b5..e5949ef 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/notifications/NotificationsService.java
@@ -26,7 +26,9 @@ public class NotificationsService extends
             .getLogger(NotificationsService.class);
 
     public NotificationsService() {
-        logger.info("/groups/*/notifications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/notifications");
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/roles/RolesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/roles/RolesService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/roles/RolesService.java
index e01d15f..4915e51 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/roles/RolesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/roles/RolesService.java
@@ -28,8 +28,8 @@ public class RolesService extends org.apache.usergrid.services.roles.RolesServic
 
     public RolesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/groups/*/roles");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/roles");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/users/UsersService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/UsersService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/UsersService.java
index c3fd452..cb9709f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/UsersService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/UsersService.java
@@ -28,8 +28,8 @@ public class UsersService extends org.apache.usergrid.services.users.UsersServic
 
     public UsersService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/groups/*/users");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/users");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/users/activities/ActivitiesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/activities/ActivitiesService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/activities/ActivitiesService.java
index d815c10..7de9d8e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/activities/ActivitiesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/activities/ActivitiesService.java
@@ -40,8 +40,8 @@ public class ActivitiesService extends GenericCollectionService {
 
     public ActivitiesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/groups/*/users/*/activities");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/users/*/activities");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/DevicesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/DevicesService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/DevicesService.java
index e9f8845..8ab4b67 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/DevicesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/DevicesService.java
@@ -28,8 +28,8 @@ public class DevicesService extends org.apache.usergrid.services.devices.Devices
 
     public DevicesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/groups/*/users/*/devices");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/users/*/devices");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/notifications/NotificationsService.java
index 7587bd0..1a432c8 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/groups/users/devices/notifications/NotificationsService.java
@@ -26,7 +26,9 @@ public class NotificationsService extends
             .getLogger(NotificationsService.class);
 
     public NotificationsService() {
-        logger.info("/groups/*/users/*/devices/*/notifications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/groups/*/users/*/devices/*/notifications");
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/messages/MessagesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/messages/MessagesService.java b/stack/services/src/main/java/org/apache/usergrid/services/messages/MessagesService.java
index e55c9b2..53c2475 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/messages/MessagesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/messages/MessagesService.java
@@ -29,8 +29,8 @@ public class MessagesService extends AbstractCollectionService {
 
     public MessagesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/messages");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/messages");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
index 2ce381d..836bfc7 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
 
 public class ApplicationQueueMessage implements Serializable {
 
-    private static final Logger log = LoggerFactory.getLogger(ApplicationQueueMessage.class);
+    private static final Logger logger = LoggerFactory.getLogger(ApplicationQueueMessage.class);
     private UUID applicationId;
     private UUID notificationId;
     private UUID deviceId;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/InactiveDeviceManager.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/InactiveDeviceManager.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/InactiveDeviceManager.java
index 5ab16ba..37650c5 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/InactiveDeviceManager.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/InactiveDeviceManager.java
@@ -37,7 +37,7 @@ import java.util.Map;
  * remove inactive devices.
  */
 public class InactiveDeviceManager {
-    private static final Logger LOG = LoggerFactory.getLogger(InactiveDeviceManager.class);
+    private static final Logger logger = LoggerFactory.getLogger(InactiveDeviceManager.class);
     private final Notifier notifier;
     private EntityManager entityManager;
 
@@ -48,8 +48,8 @@ public class InactiveDeviceManager {
     public void removeInactiveDevices( Map<String,Date> inactiveDeviceMap  ){
         final String notfierPostFix = ApplicationQueueManagerImpl.NOTIFIER_ID_POSTFIX;
         if (inactiveDeviceMap != null && inactiveDeviceMap.size() > 0) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("processing {} inactive devices", inactiveDeviceMap.size());
+            if (logger.isDebugEnabled()) {
+                logger.debug("processing {} inactive devices", inactiveDeviceMap.size());
             }
             Map<String, Object> clearPushtokenMap = new HashMap<String, Object>( 2);
             clearPushtokenMap.put(notifier.getName() + notfierPostFix,  "");
@@ -71,7 +71,7 @@ public class InactiveDeviceManager {
                         entityManager.updateProperties(e, clearPushtokenMap);
                     }
                 }catch (Exception e){
-                    LOG.error("failed to remove token",e);
+                    logger.error("failed to remove token",e);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/JobScheduler.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/JobScheduler.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/JobScheduler.java
index f9fe8b8..0f40d66 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/JobScheduler.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/JobScheduler.java
@@ -46,7 +46,9 @@ public class JobScheduler{
         SchedulerService scheduler = getSchedulerService();
         scheduler.createJob("notificationBatchJob", soonestPossible, jobData);
 
-        logger.info("notification {} batch scheduled for delivery", notification.getUuid());
+        if (logger.isTraceEnabled()) {
+            logger.trace("notification {} batch scheduled for delivery", notification.getUuid());
+        }
     }
     public boolean scheduleQueueJob(Notification notification) throws Exception {
         return scheduleQueueJob(notification,false);
@@ -70,7 +72,9 @@ public class JobScheduler{
             jobData.setProperty("deliver", notification.getDeliver());
             SchedulerService scheduler = getSchedulerService();
             scheduler.createJob("queueJob", scheduleAt, jobData);
-            logger.info("notification {} scheduled for queuing", notification.getUuid());
+            if (logger.isTraceEnabled()) {
+                logger.trace("notification {} scheduled for queuing", notification.getUuid());
+            }
         }
         return scheduled;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index ee4a491..bbdec7a 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -86,7 +86,9 @@ public class NotificationsService extends AbstractCollectionService {
     private QueueManagerFactory queueManagerFactory;
 
     public NotificationsService() {
-        logger.info("/notifications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/notifications");
+        }
     }
 
     @Override
@@ -129,7 +131,9 @@ public class NotificationsService extends AbstractCollectionService {
 
     @Override
     public ServiceResults postCollection(ServiceContext context) throws Exception {
-        logger.info("NotificationService: start request.");
+        if (logger.isTraceEnabled()) {
+            logger.trace("NotificationService: start request.");
+        }
         Timer.Context timer = postTimer.time();
         postMeter.mark();
         try {
@@ -149,12 +153,16 @@ public class NotificationsService extends AbstractCollectionService {
                 properties.put("started", notification.getStarted());
                 properties.put("state", notification.getState());
                 notification.addProperties(properties);
-                logger.info("ApplicationQueueMessage: notification {} properties updated in duration {} ms", notification.getUuid(), System.currentTimeMillis() - now);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("ApplicationQueueMessage: notification {} properties updated in duration {} ms", notification.getUuid(), System.currentTimeMillis() - now);
+                }
             }
 
             long now = System.currentTimeMillis();
             notificationQueueManager.queueNotification(notification, null);
-            logger.info("NotificationService: notification {} post queue duration {} ms ", notification.getUuid(), System.currentTimeMillis() - now);
+            if (logger.isTraceEnabled()) {
+                logger.trace("NotificationService: notification {} post queue duration {} ms ", notification.getUuid(), System.currentTimeMillis() - now);
+            }
             // future: somehow return 202?
             return results;
         }catch (Exception e){

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
index c6f4a17..245a36f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueJob.java
@@ -63,7 +63,9 @@ public class QueueJob extends OnlyOnceJob {
 
 
     public QueueJob() {
-        logger.info( "QueueJob created: " + this );
+        if (logger.isTraceEnabled()) {
+            logger.trace( "QueueJob created" );
+        }
     }
 
 
@@ -80,7 +82,9 @@ public class QueueJob extends OnlyOnceJob {
     public void doJob( JobExecution jobExecution ) throws Exception {
         Timer.Context timer = execution.time();
         requests.mark();
-        logger.info( "execute QueueJob {}", jobExecution );
+        if (logger.isTraceEnabled()) {
+            logger.trace("execute QueueJob {}", jobExecution);
+        }
 
         JobData jobData = jobExecution.getJobData();
         UUID applicationId = ( UUID ) jobData.getProperty( "applicationId" );
@@ -97,7 +101,9 @@ public class QueueJob extends OnlyOnceJob {
             UUID notificationId = ( UUID ) jobData.getProperty( "notificationId" );
             Notification notification = em.get( notificationId, Notification.class );
             if ( notification == null ) {
-                logger.info( "notificationId {} no longer exists", notificationId );
+                if (logger.isDebugEnabled()) {
+                    logger.trace("notificationId {} no longer exists", notificationId);
+                }
                 return;
             }
 
@@ -118,7 +124,9 @@ public class QueueJob extends OnlyOnceJob {
             timer.stop();
         }
 
-        logger.info( "execute QueueJob completed normally" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("execute QueueJob completed normally");
+        }
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
index 6d6123c..0a0e982 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/QueueListener.java
@@ -92,7 +92,9 @@ public class QueueListener  {
 //        boolean shouldRun = new Boolean(properties.getProperty("usergrid.notifications.listener.run", "false"));
 
 
-            logger.info("QueueListener: starting.");
+            if (logger.isDebugEnabled()) {
+                logger.debug("QueueListener: starting.");
+            }
             int threadCount = 0;
 
             try {
@@ -112,7 +114,9 @@ public class QueueListener  {
                 pool = Executors.newFixedThreadPool(maxThreads);
 
                 while (threadCount++ < maxThreads) {
-                    logger.info("QueueListener: Starting thread {}.", threadCount);
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("QueueListener: Starting thread {}.", threadCount);
+                    }
                     final int threadNumber = threadCount;
                     Runnable task = new Runnable() {
                         @Override
@@ -134,7 +138,9 @@ public class QueueListener  {
             } catch (Exception e) {
                 logger.error("QueueListener: failed to start:", e);
             }
-            logger.info("QueueListener: done starting.");
+            if (logger.isTraceEnabled()) {
+                logger.trace("QueueListener: done starting.");
+            }
     }
 
     private void execute(int threadNumber){
@@ -144,11 +150,15 @@ public class QueueListener  {
         Thread.currentThread().setName(getClass().getSimpleName()+"_PushNotifications-"+threadNumber);
 
         final AtomicInteger consecutiveExceptions = new AtomicInteger();
-        logger.info("QueueListener: Starting execute process.");
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueListener: Starting execute process.");
+        }
         Meter meter = metricsService.getMeter(QueueListener.class, "execute.commit");
         com.codahale.metrics.Timer timer = metricsService.getTimer(QueueListener.class, "execute.dequeue");
         svcMgr = smf.getServiceManager(smf.getManagementAppId());
-        logger.info("getting from queue {} ", queueName);
+        if (logger.isTraceEnabled()) {
+            logger.trace("getting from queue {} ", queueName);
+        }
         QueueScope queueScope = new QueueScopeImpl( queueName, QueueScope.RegionImplementation.LOCAL);
         QueueManager queueManager = queueManagerFactory.getQueueManager(queueScope);
         // run until there are no more active jobs
@@ -164,7 +174,9 @@ public class QueueListener  {
                     .doOnNext(messages -> {
 
                         try {
-                            logger.info("retrieved batch of {} messages from queue {} ", messages.size(),queueName);
+                            if (logger.isTraceEnabled()) {
+                                logger.trace("retrieved batch of {} messages from queue {}", messages.size(), queueName);
+                            }
 
                             if (messages.size() > 0) {
                                 HashMap<UUID, List<QueueMessage>> messageMap = new HashMap<>(messages.size());
@@ -193,7 +205,9 @@ public class QueueListener  {
                                 for (Map.Entry<UUID, List<QueueMessage>> entry : messageMap.entrySet()) {
                                     UUID applicationId = entry.getKey();
                                     ApplicationQueueManager manager = queueManagerMap.get(applicationId);
-                                    logger.info("send batch for app {} of {} messages", entry.getKey(), entry.getValue().size());
+                                    if (logger.isTraceEnabled()) {
+                                        logger.trace("send batch for app {} of {} messages", entry.getKey(), entry.getValue().size());
+                                    }
                                     Observable current = manager.sendBatchToProviders(entry.getValue(),queueName);
 
                                     if(merge == null)
@@ -209,10 +223,14 @@ public class QueueListener  {
                                 queueManager.commitMessages(messages);
 
                                 meter.mark(messages.size());
-                                logger.info("sent batch {} messages duration {} ms", messages.size(),System.currentTimeMillis() - now);
+                                if (logger.isTraceEnabled()) {
+                                    logger.trace("sent batch {} messages duration {} ms", messages.size(), System.currentTimeMillis() - now);
+                                }
 
                                 if(sleepBetweenRuns > 0) {
-                                    logger.info("sleep between rounds...sleep...{}", sleepBetweenRuns);
+                                    if (logger.isTraceEnabled()) {
+                                        logger.trace("sleep between rounds...sleep...{}", sleepBetweenRuns);
+                                    }
                                     Thread.sleep(sleepBetweenRuns);
                                 }
 
@@ -230,7 +248,9 @@ public class QueueListener  {
                             }
 
                             else{
-                                logger.info("no messages...sleep...{}", sleepWhenNoneFound);
+                                if (logger.isTraceEnabled()) {
+                                    logger.trace("no messages...sleep...{}", sleepWhenNoneFound);
+                                }
                                 Thread.sleep(sleepWhenNoneFound);
                             }
                             timerContext.stop();
@@ -245,7 +265,9 @@ public class QueueListener  {
                                 logger.info("sleeping due to failures {} ms", sleeptime);
                                 Thread.sleep(sleeptime);
                             }catch (InterruptedException ie){
-                                logger.info("sleep interrupted");
+                                if (logger.isTraceEnabled()) {
+                                    logger.info("sleep interrupted");
+                                }
                             }
                         }
                     })
@@ -293,7 +315,9 @@ public class QueueListener  {
     }
 
     public void stop(){
-        logger.info("stop processes");
+        if (logger.isDebugEnabled()) {
+            logger.debug("stop processes");
+        }
 
         if(futures == null){
             return;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
index 6c7e53c..4f051e6 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/TaskManager.java
@@ -53,41 +53,41 @@ public class TaskManager {
         completed(notifier,null,deviceUUID,null);
     }
     public void completed(Notifier notifier, Receipt receipt, UUID deviceUUID, String newProviderId) throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("REMOVED {}", deviceUUID);
+        if (logger.isTraceEnabled()) {
+            logger.trace("REMOVED {}", deviceUUID);
         }
         try {
-            if (logger.isDebugEnabled()) {
-                logger.debug("notification {} removing device {} from remaining", notification.getUuid(), deviceUUID);
+            if (logger.isTraceEnabled()) {
+                logger.trace("notification {} removing device {} from remaining", notification.getUuid(), deviceUUID);
             }
 
             EntityRef deviceRef = new SimpleEntityRef(Device.ENTITY_TYPE, deviceUUID);
             if (receipt != null) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("notification {} sent to device {}. saving receipt.", notification.getUuid(), deviceUUID);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("notification {} sent to device {}. saving receipt.", notification.getUuid(), deviceUUID);
                 }
                 receipt.setSent(System.currentTimeMillis());
                 this.saveReceipt(notification, deviceRef, receipt,false);
-                if (logger.isDebugEnabled()) {
-                    logger.debug("notification {} receipt saved for device {}", notification.getUuid(), deviceUUID);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("notification {} receipt saved for device {}", notification.getUuid(), deviceUUID);
                 }
                 successes.incrementAndGet();
             }
 
             if (newProviderId != null) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("notification {} replacing device {} notifierId", notification.getUuid(), deviceUUID);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("notification {} replacing device {} notifierId", notification.getUuid(), deviceUUID);
                 }
                 replaceProviderId(deviceRef, notifier, newProviderId);
             }
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("notification {} completed device {}", notification.getUuid(), deviceUUID);
+            if (logger.isTraceEnabled()) {
+                logger.trace("notification {} completed device {}", notification.getUuid(), deviceUUID);
             }
 
         } finally {
-            if (logger.isDebugEnabled()) {
-                logger.debug("COUNT is: {}", successes.get());
+            if (logger.isTraceEnabled()) {
+                logger.trace("COUNT is: {}", successes.get());
             }
             if (hasFinished) { //process has finished but notifications are still coming in
                 finishedBatch();
@@ -100,11 +100,7 @@ public class TaskManager {
 
         try {
             if (logger.isDebugEnabled()) {
-                StringBuilder sb = new StringBuilder();
-                sb.append("notification ").append(notification.getUuid());
-                sb.append(" for device ").append(deviceUUID);
-                sb.append(" got error ").append(code);
-                logger.debug(sb.toString());
+                logger.debug("notification {} for device {} got error {}", notification.getUuid(), deviceUUID, code);
             }
 
             failures.incrementAndGet();
@@ -194,7 +190,7 @@ public class TaskManager {
             notification.addProperties(properties);
 
             long latency = notification.getFinished() - notification.getStarted();
-            logger.info("notification finished batch: {} of {} devices in " + latency + "ms", notification.getUuid(), totals);
+            logger.info("notification finished batch: {} of {} devices in {} ms", notification.getUuid(), totals, latency);
 
             em.update(notification);
 //        Set<Notifier> notifiers = new HashSet<>(proxy.getAdapterMap().values()); // remove dups

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsAdapter.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsAdapter.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsAdapter.java
index 3549777..3d4911d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsAdapter.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/APNsAdapter.java
@@ -139,9 +139,7 @@ public class APNsAdapter implements ProviderAdapter {
                     pushManager.start();
                 }
             } catch (IllegalStateException ise) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("failed to start", ise);//could have failed because its started
-                }
+                logger.warn("getPushManager: failed to start", ise);//could have failed because its started
             }
         }
         return pushManager;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/RejectedAPNsListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/RejectedAPNsListener.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/RejectedAPNsListener.java
index 545dc0c..dc842e7 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/RejectedAPNsListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/apns/RejectedAPNsListener.java
@@ -28,6 +28,8 @@ import org.slf4j.LoggerFactory;
  */
 public class RejectedAPNsListener implements RejectedNotificationListener<SimpleApnsPushNotification>{
 
+    private static final Logger logger = LoggerFactory.getLogger(RejectedAPNsListener.class);
+
     @Override
     public void handleRejectedNotification(PushManager<? extends SimpleApnsPushNotification> pushManager, SimpleApnsPushNotification notification, RejectedNotificationReason rejectionReason) {
         try {
@@ -48,6 +50,4 @@ public class RejectedAPNsListener implements RejectedNotificationListener<Simple
         }
         System.out.format("%s was rejected with rejection reason %s\n", notification, rejectionReason);
     }
-
-    private static final Logger logger = LoggerFactory.getLogger(RejectedAPNsListener.class);
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
index 18c193f..f267fab 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/gcm/GCMAdapter.java
@@ -39,7 +39,7 @@ import java.util.concurrent.ConcurrentHashMap;
 
 public class GCMAdapter implements ProviderAdapter {
 
-    private static final Logger LOG = LoggerFactory.getLogger(GCMAdapter.class);
+    private static final Logger logger = LoggerFactory.getLogger(GCMAdapter.class);
     private static final int SEND_RETRIES = 3;
     private static int BATCH_SIZE = 1000;
     private final Notifier notifier;
@@ -65,10 +65,14 @@ public class GCMAdapter implements ProviderAdapter {
         ids.add("device_token");
         try {
             MulticastResult result = sender.send(message, ids, 1);
-            LOG.debug("testConnection result: {}", result);
+            if (logger.isTraceEnabled()) {
+                logger.trace("testConnection result: {}", result);
+            }
         } catch (InvalidRequestException e){
             // do nothing, we don't have a valid device token to test with
-            LOG.debug("here for testing only");
+            if (logger.isTraceEnabled()) {
+                logger.trace("no valid device token");
+            }
         }
         catch (IOException e) {
             if(isInvalidRequestException(e)){
@@ -164,7 +168,7 @@ public class GCMAdapter implements ProviderAdapter {
                 }
             }
         }catch (Exception e){
-            LOG.error("error while trying to send on stop",e);
+            logger.error("error while trying to send on stop",e);
         }
     }
 
@@ -265,7 +269,9 @@ public class GCMAdapter implements ProviderAdapter {
                 }
 
 
-                LOG.debug("sendNotification result: {}", multicastResult);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("sendNotification result: {}", multicastResult);
+                }
 
                 for (int i = 0; i < multicastResult.getResults().size(); i++) {
                     Result result = multicastResult.getResults().get(i);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index 22b7d51..42ef433 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -83,14 +83,18 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
         long startTime = System.currentTimeMillis();
 
         if (notification.getCanceled() == Boolean.TRUE) {
-            logger.info("notification " + notification.getUuid() + " canceled");
+            if (logger.isDebugEnabled()) {
+                logger.debug("notification " + notification.getUuid() + " canceled");
+            }
             if (jobExecution != null) {
                 jobExecution.killed();
             }
             return;
         }
 
-        logger.info("notification {} start queuing", notification.getUuid());
+        if (logger.isTraceEnabled()) {
+            logger.trace("notification {} start queuing", notification.getUuid());
+        }
 
         final PathQuery<Device> pathQuery = notification.getPathQuery().buildPathQuery() ; //devices query
         final AtomicInteger deviceCount = new AtomicInteger(); //count devices so you can make a judgement on batching
@@ -100,7 +104,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
         //get devices in querystring, and make sure you have access
         if (pathQuery != null) {
             final HashMap<Object,ProviderAdapter> notifierMap =  getAdapterMap();
-            logger.info("notification {} start query", notification.getUuid());
+            if (logger.isTraceEnabled()) {
+                logger.trace("notification {} start query", notification.getUuid());
+            }
             final Iterator<Device> iterator = pathQuery.iterator(em);
             //if there are more pages (defined by PAGE_SIZE) you probably want this to be async, also if this is already a job then don't reschedule
             if (iterator instanceof ResultsIterator && ((ResultsIterator) iterator).hasPages() && jobExecution == null) {
@@ -119,13 +125,19 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                     long now = System.currentTimeMillis();
                     List<EntityRef> devicesRef = getDevices(entity); // resolve group
 
-                    logger.info("notification {} queue  {} devices, duration "+(System.currentTimeMillis()-now)+" ms", notification.getUuid(), devicesRef.size());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("notification {} queue  {} devices, duration {} ms", notification.getUuid(), devicesRef.size(), (System.currentTimeMillis() - now));
+                    }
 
                     for (EntityRef deviceRef : devicesRef) {
-                        logger.info("notification {} starting to queue device {} ", notification.getUuid(), deviceRef.getUuid());
+                        if (logger.isTraceEnabled()) {
+                            logger.trace("notification {} starting to queue device {} ", notification.getUuid(), deviceRef.getUuid());
+                        }
                         long hash = MurmurHash.hash(deviceRef.getUuid());
                         if (sketch.estimateCount(hash) > 0) { //look for duplicates
-                            logger.warn("Maybe Found duplicate device: {}", deviceRef.getUuid());
+                            if (logger.isDebugEnabled()) {
+                                logger.debug("Maybe Found duplicate device: {}", deviceRef.getUuid());
+                            }
                             continue;
                         } else {
                             sketch.add(hash, 1);
@@ -143,7 +155,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                                 notifierKey = entry.getKey().toLowerCase();
                                 break;
                             }
-                            logger.info("Provider query for notification {} device {} took "+(System.currentTimeMillis()-now)+" ms",notification.getUuid(),deviceRef.getUuid());
+                            if (logger.isTraceEnabled()) {
+                                logger.trace("Provider query for notification {} device {} took {} ms", notification.getUuid(), deviceRef.getUuid(), (System.currentTimeMillis() - now));
+                            }
                         }
 
                         if (notifierId == null) {
@@ -156,11 +170,15 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                             // update queued time
                             now = System.currentTimeMillis();
                             notification.setQueued(System.currentTimeMillis());
-                            logger.info("notification {} device {} queue time set. duration "+(System.currentTimeMillis()-now)+" ms", notification.getUuid(), deviceRef.getUuid());
+                            if (logger.isTraceEnabled()) {
+                                logger.trace("notification {} device {} queue time set. duration {} ms", notification.getUuid(), deviceRef.getUuid(), (System.currentTimeMillis() - now));
+                            }
                         }
                         now = System.currentTimeMillis();
                         qm.sendMessage(message);
-                        logger.info("notification {} post-queue to device {} duration " + (System.currentTimeMillis() - now) + " ms "+queueName+" queue", notification.getUuid(), deviceRef.getUuid());
+                        if (logger.isTraceEnabled()) {
+                            logger.trace("notification {} post-queue to device {} duration {} ms, {} queue", notification.getUuid(), deviceRef.getUuid(), (System.currentTimeMillis() - now), queueName);
+                        }
                         deviceCount.incrementAndGet();
                         queueMeter.mark();
                     }
@@ -185,11 +203,13 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                                             , 10);
 
             o.toBlocking().lastOrDefault( null );
-            logger.info( "notification {} done queueing duration {} ms", notification.getUuid(), System.currentTimeMillis() - now);
+            if (logger.isTraceEnabled()) {
+                logger.trace("notification {} done queueing duration {} ms", notification.getUuid(), System.currentTimeMillis() - now);
+            }
         }
 
         // update queued time
-        Map<String, Object> properties = new HashMap<String, Object>(2);
+        Map<String, Object> properties = new HashMap<>(2);
         properties.put("queued", notification.getQueued());
         properties.put("state", notification.getState());
         if(errorMessages.size()>0){
@@ -215,7 +235,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
         }
 
         long elapsed = notification.getQueued() != null ? notification.getQueued() - startTime : 0;
-        logger.info("notification {} done queuing to {} devices in " + elapsed + " ms", notification.getUuid().toString(), deviceCount.get());
+        if (logger.isTraceEnabled()) {
+            logger.trace("notification {} done queuing to {} devices in {} ms", notification.getUuid().toString(), deviceCount.get(), elapsed);
+        }
     }
 
     /**
@@ -260,7 +282,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
      */
     @Override
     public Observable sendBatchToProviders(final List<QueueMessage> messages, final String queuePath) {
-        logger.info("sending batch of {} notifications.", messages.size());
+        if (logger.isTraceEnabled()) {
+            logger.trace("sending batch of {} notifications.", messages.size());
+        }
 
         final Map<Object, ProviderAdapter> notifierMap = getAdapterMap();
         final ApplicationQueueManagerImpl proxy = this;
@@ -274,7 +298,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                 ApplicationQueueMessage message = null;
                 try {
                     message = (ApplicationQueueMessage) queueMessage.getBody();
-                    logger.info("start sending notification for device {} for Notification: {} on thread "+Thread.currentThread().getId(), message.getDeviceId(), message.getNotificationId());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("start sending notification for device {} for Notification: {} on thread {}", message.getDeviceId(), message.getNotificationId(), Thread.currentThread().getId());
+                    }
 
                     UUID deviceUUID = message.getDeviceId();
 
@@ -292,7 +318,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
 
                     final Map<String, Object> payloads = notification.getPayloads();
                     final Map<String, Object> translatedPayloads = translatePayloads(payloads, notifierMap);
-                    logger.info("sending notification for device {} for Notification: {}", deviceUUID, notification.getUuid());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("sending notification for device {} for Notification: {}", deviceUUID, notification.getUuid());
+                    }
 
                     try {
                         String notifierName = message.getNotifierKey().toLowerCase();
@@ -315,7 +343,9 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
                                 } catch (Exception e) {
                                     tracker.failed(0, e.getMessage());
                                 } finally {
-                                    logger.info("sending to device {} for Notification: {} duration " + (System.currentTimeMillis() - now) + " ms", deviceUUID, notification.getUuid());
+                                    if (logger.isTraceEnabled()) {
+                                        logger.trace("sending to device {} for Notification: {} duration {} ms", deviceUUID, notification.getUuid(), (System.currentTimeMillis() - now));
+                                    }
                                 }
                             }
                         }
@@ -448,13 +478,13 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
         for (final ProviderAdapter providerAdapter : providerAdapters) {
             try {
                 if (providerAdapter != null) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("checking notifier {} for inactive devices", providerAdapter.getNotifier());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("checking notifier {} for inactive devices", providerAdapter.getNotifier());
                     }
                     providerAdapter.removeInactiveDevices();
 
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("finished checking notifier {} for inactive devices", providerAdapter.getNotifier());
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("finished checking notifier {} for inactive devices", providerAdapter.getNotifier());
                     }
                 }
             } catch (Exception e) {
@@ -470,18 +500,24 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
     private boolean isOkToSend(Notification notification) {
         Map<String,Long> stats = notification.getStatistics();
         if (stats != null && notification.getExpectedCount() == (stats.get("sent")+ stats.get("errors"))) {
-            logger.info("notification {} already processed. not sending.",
-                    notification.getUuid());
+            if (logger.isDebugEnabled()) {
+                logger.debug("notification {} already processed. not sending.",
+                        notification.getUuid());
+            }
             return false;
         }
         if (notification.getCanceled() == Boolean.TRUE) {
-            logger.info("notification {} canceled. not sending.",
-                    notification.getUuid());
+            if (logger.isDebugEnabled()) {
+                logger.debug("notification {} canceled. not sending.",
+                        notification.getUuid());
+            }
             return false;
         }
         if (notification.isExpired()) {
-            logger.info("notification {} expired. not sending.",
-                    notification.getUuid());
+            if (logger.isDebugEnabled()) {
+                logger.debug("notification {} expired. not sending.",
+                        notification.getUuid());
+            }
             return false;
         }
         return true;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
index 3e9ca3e..54a9dc4 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifiers/NotifiersService.java
@@ -32,7 +32,9 @@ public class NotifiersService extends AbstractCollectionService {
 
     public NotifiersService() {
         super();
-        logger.info("/notifiers");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/notifiers");
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueListener.java
index 975b368..a95475d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/queues/ImportQueueListener.java
@@ -73,8 +73,8 @@ public class ImportQueueListener extends QueueListener {
          * of the message and typecast it into a model called ApplicationQueueMessage.  Then it does
          * work on the message.
          */
-        if (logger.isDebugEnabled()) {
-            logger.debug("Doing work in onMessage in ImportQueueListener");
+        if (logger.isTraceEnabled()) {
+            logger.trace("Doing work in onMessage in ImportQueueListener");
         }
         for (QueueMessage message : messages) {
             ImportQueueMessage queueMessage = ( ImportQueueMessage ) message.getBody();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java b/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
index bafa3a2..7ceb2ae 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/queues/QueueListener.java
@@ -102,7 +102,9 @@ public abstract class QueueListener  {
         boolean shouldRun = new Boolean(properties.getProperty("usergrid.queues.listener.run", "true"));
 
         if(shouldRun) {
-            logger.info("QueueListener: starting.");
+            if (logger.isTraceEnabled()) {
+                logger.trace("QueueListener: starting.");
+            }
             int threadCount = 0;
 
             try {
@@ -121,14 +123,16 @@ public abstract class QueueListener  {
                 pool = Executors.newFixedThreadPool(maxThreads);
 
                 while (threadCount++ < maxThreads) {
-                    logger.info("QueueListener: Starting thread {}.", threadCount);
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("QueueListener: Starting thread {}.", threadCount);
+                    }
                     Runnable task = new Runnable() {
                         @Override
                         public void run() {
                             try {
                                 execute();
                             } catch (Exception e) {
-                                logger.error("failed to start push", e);
+                                logger.warn("failed to start push", e);
                             }
                         }
                     };
@@ -137,7 +141,9 @@ public abstract class QueueListener  {
             } catch (Exception e) {
                 logger.error("QueueListener: failed to start:", e);
             }
-            logger.info("QueueListener: done starting.");
+            if (logger.isTraceEnabled()) {
+                logger.trace("QueueListener: done starting.");
+            }
         }else{
             logger.info("QueueListener: never started due to config value usergrid.queues.listener.run.");
         }
@@ -156,9 +162,13 @@ public abstract class QueueListener  {
         Thread.currentThread().setName("queues_Processor"+UUID.randomUUID());
 
         final AtomicInteger consecutiveExceptions = new AtomicInteger();
-        logger.info("QueueListener: Starting execute process.");
+        if (logger.isTraceEnabled()) {
+            logger.trace("QueueListener: Starting execute process.");
+        }
         svcMgr = smf.getServiceManager(smf.getManagementAppId());
-        logger.info("getting from queue {} ", queueName);
+        if (logger.isTraceEnabled()) {
+            logger.trace("getting from queue {} ", queueName);
+        }
         QueueScope queueScope = new QueueScopeImpl( queueName, QueueScope.RegionImplementation.LOCAL);
         QueueManager queueManager = queueManagerFactory.getQueueManager(queueScope);
         // run until there are no more active jobs
@@ -175,7 +185,9 @@ public abstract class QueueListener  {
                     .buffer(getBatchSize())
                     .doOnNext(messages -> {
                         try {
-                            logger.info("retrieved batch of {} messages from queue {} ", messages.size(), queueName);
+                            if (logger.isTraceEnabled()) {
+                                logger.trace("retrieved batch of {} messages from queue {} ", messages.size(), queueName);
+                            }
 
                             if (messages.size() > 0) {
 
@@ -188,15 +200,21 @@ public abstract class QueueListener  {
                                 queueManager.commitMessages(messages);
 
                                 meter.mark(messages.size());
-                                logger.info("sent batch {} messages duration {} ms", messages.size(), System.currentTimeMillis() - now);
+                                if (logger.isTraceEnabled()) {
+                                    logger.trace("sent batch {} messages duration {} ms", messages.size(), System.currentTimeMillis() - now);
+                                }
 
                                 if (sleepBetweenRuns > 0) {
-                                    logger.info("sleep between rounds...sleep...{}", sleepBetweenRuns);
+                                    if (logger.isTraceEnabled()) {
+                                        logger.trace("sleep between rounds...sleep...{}", sleepBetweenRuns);
+                                    }
                                     Thread.sleep(sleepBetweenRuns);
                                 }
 
                             } else {
-                                logger.info("no messages...sleep...{}", sleepWhenNoneFound);
+                                if (logger.isTraceEnabled()) {
+                                    logger.trace("no messages...sleep...{}", sleepWhenNoneFound);
+                                }
                                 Thread.sleep(sleepWhenNoneFound);
                             }
                             timerContext.stop();
@@ -208,10 +226,14 @@ public abstract class QueueListener  {
                                 long sleeptime = sleepWhenNoneFound * consecutiveExceptions.incrementAndGet();
                                 long maxSleep = 15000;
                                 sleeptime = sleeptime > maxSleep ? maxSleep : sleeptime;
-                                logger.info("sleeping due to failures {} ms", sleeptime);
+                                if (logger.isTraceEnabled()) {
+                                    logger.trace("sleeping due to failures {} ms", sleeptime);
+                                }
                                 Thread.sleep(sleeptime);
                             } catch (InterruptedException ie) {
-                                logger.info("sleep interrupted");
+                                if (logger.isTraceEnabled()) {
+                                    logger.trace("sleep interrupted");
+                                }
                             }
                         }
                     }).toBlocking().lastOrDefault(null);
@@ -220,7 +242,9 @@ public abstract class QueueListener  {
 
 
     public void stop(){
-        logger.info("stop processes");
+        if (logger.isTraceEnabled()) {
+            logger.trace("stop processes");
+        }
 
         if(futures == null){
             return;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java b/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
index ff36450..09209cc 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/roles/RolesService.java
@@ -44,8 +44,8 @@ public class RolesService extends AbstractCollectionService {
 
     public RolesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/roles");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/roles");
         }
 
         declareEntityDictionary( "permissions" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/roles/groups/GroupsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/roles/groups/GroupsService.java b/stack/services/src/main/java/org/apache/usergrid/services/roles/groups/GroupsService.java
index 9bf89ee..be1f1c0 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/roles/groups/GroupsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/roles/groups/GroupsService.java
@@ -28,8 +28,8 @@ public class GroupsService extends org.apache.usergrid.services.groups.GroupsSer
 
     public GroupsService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/roles/*/groups");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/roles/*/groups");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/roles/users/UsersService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/roles/users/UsersService.java b/stack/services/src/main/java/org/apache/usergrid/services/roles/users/UsersService.java
index 8ee733d..378a58e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/roles/users/UsersService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/roles/users/UsersService.java
@@ -36,8 +36,8 @@ public class UsersService extends org.apache.usergrid.services.users.UsersServic
 
     public UsersService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/roles/*/users");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/roles/*/users");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
index 4a5ca68..3092a0e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/UsersService.java
@@ -55,13 +55,13 @@ import static org.apache.usergrid.utils.ConversionUtils.string;
 
 public class UsersService extends AbstractCollectionService {
 
-    private static final Logger LOG = LoggerFactory.getLogger( UsersService.class );
+    private static final Logger logger = LoggerFactory.getLogger( UsersService.class );
 
 
     public UsersService() {
         super();
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("/users");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users");
         }
 
         makeConnectionPrivate( "following" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
index 0961708..b97c1ee 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
@@ -39,8 +39,8 @@ public class ActivitiesService extends GenericCollectionService {
 
     public ActivitiesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/users/*/activities");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users/*/activities");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
index 8e7ba3b..84009fd 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
@@ -34,28 +34,28 @@ public class DevicesService extends org.apache.usergrid.services.devices.Devices
 
     public DevicesService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/users/*/devices");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users/*/devices");
         }
     }
 
     @Override
     public ServiceResults putItemById( ServiceContext context, UUID id ) throws Exception {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Registering device {}", id);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Registering device {}", id);
         }
         unregisterDeviceToUsers(id,context.getOwner());
-        ServiceResults results = super.putItemById( context, id );
-        return results;
+        return super.putItemById( context, id );
     }
 
 
     @Override
     public ServiceResults postItemById( ServiceContext context, UUID id ) throws Exception {
-        logger.info( "Attempting to connect an entity to device {}", id );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Attempting to connect an entity to device {}", id);
+        }
         unregisterDeviceToUsers(id,context.getOwner());
-        ServiceResults results = super.postItemById( context, id );
-        return results;
+        return super.postItemById( context, id );
     }
 
     protected void unregisterDeviceToUsers(UUID deviceId, EntityRef owner){
@@ -63,7 +63,7 @@ public class DevicesService extends org.apache.usergrid.services.devices.Devices
             EntityRef device = new SimpleEntityRef("device",deviceId);
             deleteEntityConnection(device,owner);
         } catch (Exception e) {
-            logger.error("Failed to delete connection for " + deviceId.toString(), e);
+            logger.error("Failed to delete connection for {}", deviceId.toString(), e);
         }
 
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/devices/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/devices/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/devices/notifications/NotificationsService.java
index 79972c6..b85b86f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/devices/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/devices/notifications/NotificationsService.java
@@ -26,7 +26,9 @@ public class NotificationsService extends
             .getLogger(NotificationsService.class);
 
     public NotificationsService() {
-        logger.info("/users/*/devices/*/notifications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users/*/devices/*/notifications");
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/following/FollowingService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/following/FollowingService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/following/FollowingService.java
index 7c900bc..b14f129 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/following/FollowingService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/following/FollowingService.java
@@ -46,7 +46,9 @@ public class FollowingService extends AbstractConnectionsService {
 
     public void copyActivityFeed( final EntityRef connectingEntity, final EntityRef connectedEntityRef )
             throws Exception {
-        logger.info( "Copying activities to feed..." );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Copying activities to feed...");
+        }
         TaskExecutor taskExecutor = ( TaskExecutor ) getApplicationContext().getBean( "taskExecutor" );
         taskExecutor.execute( new Runnable() {
             @Override

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/groups/GroupsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/groups/GroupsService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/groups/GroupsService.java
index d825d6a..4fceacc 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/groups/GroupsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/groups/GroupsService.java
@@ -28,8 +28,8 @@ public class GroupsService extends org.apache.usergrid.services.groups.GroupsSer
 
     public GroupsService() {
         super();
-        if (logger.isDebugEnabled()) {
-            logger.debug("/users/*/groups");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users/*/groups");
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/notifications/NotificationsService.java
index 4b536bc..f4ce7e2 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/notifications/NotificationsService.java
@@ -26,7 +26,9 @@ public class NotificationsService extends
             .getLogger(NotificationsService.class);
 
     public NotificationsService() {
-        logger.info("/users/*/notifications");
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users/*/notifications");
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
index 6da58bf..1f7637f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/roles/RolesService.java
@@ -38,7 +38,9 @@ public class RolesService extends org.apache.usergrid.services.roles.RolesServic
 
     public RolesService() {
         super();
-        logger.info( "/users/*/roles" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("/users/*/roles");
+        }
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java b/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
index 99d0da5..773b05c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
+++ b/stack/services/src/main/java/org/apache/usergrid/utils/PythonUtils.java
@@ -39,7 +39,7 @@ public class PythonUtils {
             pyObject = interpreter.get( clsName );
         }
         catch ( Exception e ) {
-            logger.error( "The Python module '" + moduleName + "' is not found: " + compactWhitespace( e.toString() ) );
+            logger.error( "The Python module '{}' is not found: {}", moduleName, compactWhitespace( e.toString() ) );
         }
         return pyObject;
     }
@@ -71,7 +71,7 @@ public class PythonUtils {
                     interfaceType.toString().indexOf( " " ) + 1, interfaceType.toString().length() ) ) );
         }
         catch ( Exception ex ) {
-            logger.error( "Unable to create Python object: " + compactWhitespace( ex.toString() ) );
+            logger.error( "Unable to create Python object: {}", compactWhitespace( ex.toString() ) );
         }
 
         return javaObj;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/54e62f95/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
----------------------------------------------------------------------
diff --git a/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java b/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
index a87af41..34ddc55 100644
--- a/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
+++ b/stack/test-utils/src/main/java/org/apache/usergrid/cassandra/CassandraResource.java
@@ -108,7 +108,7 @@ public class CassandraResource extends EnvironResource {
 
             System.setProperty( "cassandra." + RPC_PORT_KEY, Integer.toString( port ) );
 
-            logger.info( "project.properties loaded properties for ports : " + "[rpc] = [{}]", new Object[] { port } );
+            logger.info( "project.properties loaded properties for ports : [rpc] = [{}]", port );
 
 
             initialized = true;


[19/50] [abbrv] usergrid git commit: Fix astyanax dependency issue and ensure the thrift buffer size config is used in the client configuration.

Posted by sn...@apache.org.
Fix astyanax dependency issue and ensure the thrift buffer size config is used in the client configuration.


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

Branch: refs/heads/asf-site
Commit: 46bb9b506350717b2ca0f8ff6e4934585b8e25c4
Parents: f3effd2
Author: Michael Russo <mi...@gmail.com>
Authored: Thu Jan 28 19:42:49 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Thu Jan 28 19:42:49 2016 -0800

----------------------------------------------------------------------
 .../usergrid/persistence/core/astyanax/CassandraClusterImpl.java  | 3 ++-
 stack/pom.xml                                                     | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/46bb9b50/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraClusterImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraClusterImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraClusterImpl.java
index 674e076..cc52f1b 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraClusterImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraClusterImpl.java
@@ -67,7 +67,8 @@ public class CassandraClusterImpl implements CassandraCluster {
             .setDiscoveryType( NodeDiscoveryType.valueOf( cassandraFig.getDiscoveryType() ) )
             .setTargetCassandraVersion( cassandraFig.getVersion() )
             .setDefaultReadConsistencyLevel( cassandraConfig.getReadCL() )
-            .setDefaultWriteConsistencyLevel( cassandraConfig.getWriteCL() );
+            .setDefaultWriteConsistencyLevel( cassandraConfig.getWriteCL() )
+            .setMaxThriftSize( cassandraFig.getThriftBufferSize() );
 
 
         if(cassandraFig.useSharedPoolForLocks()){

http://git-wip-us.apache.org/repos/asf/usergrid/blob/46bb9b50/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index 3dca4d4..e97e16e 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -98,7 +98,7 @@
         <!-- =================================================================== -->
 
         <amber-version>0.22-incubating</amber-version>
-        <astyanax.version>1.56.49-SNAPSHOT-UG-1</astyanax.version>
+        <astyanax.version>3.9.0</astyanax.version>
         <aws.version>1.10.20</aws.version>
         <cassandra-version>1.2.18</cassandra-version>
         <guava.version>18.0</guava.version>


[48/50] [abbrv] usergrid git commit: Fixes to new 2.1.0 (unreleased) deployment guide, and add it to the table of contents (that's why so many files changed)

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/reference/presos-and-videos.html
----------------------------------------------------------------------
diff --git a/content/docs/reference/presos-and-videos.html b/content/docs/reference/presos-and-videos.html
index 4ae95e4..5e10758 100644
--- a/content/docs/reference/presos-and-videos.html
+++ b/content/docs/reference/presos-and-videos.html
@@ -32,7 +32,7 @@
   
     <link rel="top" title="Apache Usergrid 1.0 documentation" href="../index.html"/>
         <link rel="next" title="How to Contribute Code &amp; Docs" href="contribute-code.html"/>
-        <link rel="prev" title="Usergrid 2: Deploy to Tomcat" href="../installation/ug2-deploy-to-tomcat.html"/> 
+        <link rel="prev" title="Usergrid 2.1.0 (unreleased) Deployment Guide" href="../installation/deployment-guide.html"/> 
 
   
   <script src="../_static/js/modernizr.min.js"></script>
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul class="current">
@@ -290,7 +290,7 @@
         <a href="contribute-code.html" class="btn btn-neutral float-right" title="How to Contribute Code &amp; Docs" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="../installation/ug2-deploy-to-tomcat.html" class="btn btn-neutral" title="Usergrid 2: Deploy to Tomcat" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="../installation/deployment-guide.html" class="btn btn-neutral" title="Usergrid 2.1.0 (unreleased) Deployment Guide" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/rest-endpoints/api-docs.html
----------------------------------------------------------------------
diff --git a/content/docs/rest-endpoints/api-docs.html b/content/docs/rest-endpoints/api-docs.html
index 92f6906..f5983d5 100644
--- a/content/docs/rest-endpoints/api-docs.html
+++ b/content/docs/rest-endpoints/api-docs.html
@@ -238,7 +238,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/sdks/ios-new.html
----------------------------------------------------------------------
diff --git a/content/docs/sdks/ios-new.html b/content/docs/sdks/ios-new.html
index dfac5d5..ba27bdc 100644
--- a/content/docs/sdks/ios-new.html
+++ b/content/docs/sdks/ios-new.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/sdks/sdk-outline.html
----------------------------------------------------------------------
diff --git a/content/docs/sdks/sdk-outline.html b/content/docs/sdks/sdk-outline.html
index 365dbd5..aafc779 100644
--- a/content/docs/sdks/sdk-outline.html
+++ b/content/docs/sdks/sdk-outline.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/sdks/tbd.html
----------------------------------------------------------------------
diff --git a/content/docs/sdks/tbd.html b/content/docs/sdks/tbd.html
index a537b46..6522ec2 100644
--- a/content/docs/sdks/tbd.html
+++ b/content/docs/sdks/tbd.html
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/search.html
----------------------------------------------------------------------
diff --git a/content/docs/search.html b/content/docs/search.html
index b046993..162bb43 100644
--- a/content/docs/search.html
+++ b/content/docs/search.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>


[39/50] [abbrv] usergrid git commit: Add additional node.js integration tests for groups/users/devices.

Posted by sn...@apache.org.
Add additional node.js integration tests for groups/users/devices.


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

Branch: refs/heads/asf-site
Commit: b6698927ac609a14e2fccdb4a0d973023d9228d7
Parents: 8bead20
Author: Michael Russo <mi...@gmail.com>
Authored: Wed Feb 3 21:00:46 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Wed Feb 3 21:00:46 2016 -0800

----------------------------------------------------------------------
 tests/integration/lib/connections.js          |  63 +++++++
 tests/integration/lib/devices.js              |  43 +++++
 tests/integration/lib/entities.js             |  19 +-
 tests/integration/lib/groups.js               |  43 +++++
 tests/integration/lib/notifications.js        |  34 ++++
 tests/integration/lib/users.js                |   2 +-
 tests/integration/test/authentication/user.js |   2 +-
 tests/integration/test/entities/create.js     |  12 +-
 tests/integration/test/groups/groups.js       | 192 +++++++++++++++++++++
 tests/integration/test/main.js                |   5 +-
 tests/integration/test/setup.js               |  23 ++-
 tests/integration/test/teardown.js            |  24 +++
 12 files changed, 439 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/lib/connections.js
----------------------------------------------------------------------
diff --git a/tests/integration/lib/connections.js b/tests/integration/lib/connections.js
new file mode 100644
index 0000000..59df1fa
--- /dev/null
+++ b/tests/integration/lib/connections.js
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var request = require("request");
+var urls = require("./urls");
+var responseLib = require("./response");
+
+module.exports = {};
+
+function buildUrl(collection1, entity1, collection2, entity2, relationship){
+
+    var url = urls.getAppUrl();
+    if ( relationship !== null && relationship !== undefined && relationship !== ""){
+        url += collection1 + "/" + entity1 + "/" + relationship + "/" + collection2 + "/" + entity2;
+    }else{
+        url += collection1 + "/" + entity1 + "/" + collection2 + "/" + entity2;
+    }
+
+    return urls.appendOrgCredentials(url);
+}
+
+module.exports.connect = function(collection1, entity1, collection2, entity2, relationship, cb) {
+
+    var url = buildUrl(collection1, entity1, collection2, entity2, relationship);
+
+    request.post({
+        url : url,
+        json: {}
+    }, function(err, response, body) {
+        var error = responseLib.getError(err, response, body);
+        cb(error, error ? null : body.entities.pop());
+    });
+};
+
+
+module.exports.disconnect = function(collection1, entity1, collection2, entity2, relationship, cb) {
+
+    var url = buildUrl(collection1, entity1, collection2, entity2, relationship);
+
+    request.del(url, function(err, response, body) {
+        var json = JSON.parse(body);
+        var error = response.statusCode === 404 ? null : responseLib.getError(err, response);
+        cb(error, error ? null : response.statusCode === 404 ? null : json.entities.pop());
+    })
+};
+
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/lib/devices.js
----------------------------------------------------------------------
diff --git a/tests/integration/lib/devices.js b/tests/integration/lib/devices.js
new file mode 100644
index 0000000..a96b553
--- /dev/null
+++ b/tests/integration/lib/devices.js
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var request = require("request");
+var urls = require("./urls");
+var responseLib = require("./response");
+module.exports = {};
+
+
+module.exports.add = function(device, cb) {
+    request.put({
+        url: urls.appendOrgCredentials(urls.getAppUrl() + "devices/" + device.name),
+        json: device
+    }, function(err, response, body) {
+        var error = responseLib.getError(err, response);
+        cb(error, error ? null : body.entities.pop());
+    });
+};
+
+
+module.exports.get = function(deviceUUID, cb) {
+    request.get(urls.appendOrgCredentials(urls.getAppUrl() + "devices/" + deviceUUID), function(err, response, body) {
+        var json = JSON.parse(body);
+        var error = response.statusCode === 404 ? null : responseLib.getError(err, response);
+        cb(error, error ? null : response.statusCode === 404 ? null : json.entities.pop());
+    })
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/lib/entities.js
----------------------------------------------------------------------
diff --git a/tests/integration/lib/entities.js b/tests/integration/lib/entities.js
index 7ac8479..b17fc74 100644
--- a/tests/integration/lib/entities.js
+++ b/tests/integration/lib/entities.js
@@ -19,29 +19,20 @@
 
 var config = require("../config");
 var urls = require("./urls");
-var random = require("./random");
 var responseLib = require("./response");
 var async = require('async');
 var request = require("request");
 
 module.exports = {
-    create: function(collection, numberOfEntities, cb) {
+    create: function(collection, entity, numberOfEntities, cb) {
         var url = urls.appendOrgCredentials(urls.getAppUrl() + collection);
-        var requestArray = []
+        var requestArray = [];
         for (var i = 0; i < numberOfEntities; i++) {
             requestArray.push({
                 url: url,
-                json: {
-                    firstProperty: "somethingConsistent",
-                    secondProperty: "somethingRandom: " + random.randomString(10),
-                    thirdPropertyTypeInt: random.randomNumber(5),
-                    location: {  // Apigee San Jose
-                        latitude: 37.3338716,
-                        longitude: -121.894249
-                    }
-                }
-            });
-        }
+                json: entity
+                })
+            }
         async.each(requestArray, function(options, cb) {
             request.post(options, function(e, r, body) {
                 cb(e);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/lib/groups.js
----------------------------------------------------------------------
diff --git a/tests/integration/lib/groups.js b/tests/integration/lib/groups.js
new file mode 100644
index 0000000..21a51d2
--- /dev/null
+++ b/tests/integration/lib/groups.js
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var request = require("request");
+var urls = require("./urls");
+var responseLib = require("./response");
+module.exports = {};
+
+
+module.exports.add = function(group, cb) {
+    request.put({
+        url: urls.appendOrgCredentials(urls.getAppUrl() + "groups/" + group.path),
+        json: group
+    }, function(err, response, body) {
+        var error = responseLib.getError(err, response);
+        cb(error, error ? null : body.entities.pop());
+    });
+};
+
+
+module.exports.get = function(groupUUID, cb) {
+    request.get(urls.appendOrgCredentials(urls.getAppUrl() + "groups/" + groupUUID), function(err, response, body) {
+        var json = JSON.parse(body);
+        var error = response.statusCode === 404 ? null : responseLib.getError(err, response);
+        cb(error, error ? null : response.statusCode === 404 ? null : json.entities.pop());
+    })
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/lib/notifications.js
----------------------------------------------------------------------
diff --git a/tests/integration/lib/notifications.js b/tests/integration/lib/notifications.js
new file mode 100644
index 0000000..dd04864
--- /dev/null
+++ b/tests/integration/lib/notifications.js
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var request = require("request");
+var urls = require("./urls");
+var responseLib = require("./response");
+module.exports = {};
+
+
+module.exports.send = function(path, payload, cb) {
+    request.post({
+        url: urls.appendOrgCredentials(urls.getAppUrl() + path + "/notifications"),
+        json: payload
+    }, function(err, response, body) {
+        var error = responseLib.getError(err, response);
+        cb(error, error ? null : body.entities.pop());
+    });
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/lib/users.js
----------------------------------------------------------------------
diff --git a/tests/integration/lib/users.js b/tests/integration/lib/users.js
index 60234a8..ca7e9c5 100644
--- a/tests/integration/lib/users.js
+++ b/tests/integration/lib/users.js
@@ -45,4 +45,4 @@ module.exports.get = function(username, cb) {
         var error = response.statusCode === 404 ? null : responseLib.getError(err, response);
         cb(error, error ? null : response.statusCode === 404 ? null : json.entities.pop());
     })
-}
\ No newline at end of file
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/test/authentication/user.js
----------------------------------------------------------------------
diff --git a/tests/integration/test/authentication/user.js b/tests/integration/test/authentication/user.js
index 28914d2..16b2e3d 100644
--- a/tests/integration/test/authentication/user.js
+++ b/tests/integration/test/authentication/user.js
@@ -37,4 +37,4 @@ module.exports.test = function() {
             });
         });
     });
-}
\ No newline at end of file
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/test/entities/create.js
----------------------------------------------------------------------
diff --git a/tests/integration/test/entities/create.js b/tests/integration/test/entities/create.js
index c553292..6333b8f 100644
--- a/tests/integration/test/entities/create.js
+++ b/tests/integration/test/entities/create.js
@@ -18,6 +18,7 @@
  */
 
 var entities = require("../../lib/entities");
+var random = require("../../lib/random");
 var should = require("should");
 
 module.exports = {
@@ -26,7 +27,16 @@ module.exports = {
         describe("create entities", function() {
             it("should create " + numberOfRecords.toString() + " entities in the cats collection", function(done) {
                 this.slow(numberOfRecords * 500);
-                entities.create('cats', numberOfRecords, function(err, body) {
+                var entity = {
+                    firstProperty: "somethingConsistent",
+                    secondProperty: "somethingRandom: " + random.randomString(10),
+                    thirdPropertyTypeInt: random.randomNumber(5),
+                    location: {  // Apigee San Jose
+                        latitude: 37.3338716,
+                        longitude: -121.894249
+                    }
+                };
+                entities.create('cats', entity, numberOfRecords, function(err, body) {
                     should(err).be.null;
                     body.entities.should.be.an.instanceOf(Array).and.have.lengthOf(numberOfRecords);
                     done();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/test/groups/groups.js
----------------------------------------------------------------------
diff --git a/tests/integration/test/groups/groups.js b/tests/integration/test/groups/groups.js
new file mode 100644
index 0000000..b822661
--- /dev/null
+++ b/tests/integration/test/groups/groups.js
@@ -0,0 +1,192 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var should = require("should");
+var uuid = require("uuid");
+var users = require("../../lib/users");
+var devices = require("../../lib/devices");
+var groups = require("../../lib/groups");
+var connections = require("../../lib/connections");
+var async = require('async');
+
+
+var DEVICE_TOKEN = "APA91bGxRGnMK8tKgVPzSlxtCFvwSVqx0xEPjA06sBmiK0kQsiwUt6ipSYF0iPRHyUgpXle0P8OlRWJADkQrcN7yxG4pLMg1CVmrqDu8tfSe63mZ-MRU2IW0cOhmosqzC9trl33moS3OvT7qjDjkP4Qq8LYdwwYC5A";
+
+module.exports = {
+    test: function () {
+
+        var username = "groupuser";
+        var password = "password";
+        var usersArray = [];
+        for (var i = 1; i <= 5; i++) {
+            usersArray.push({
+                "username": username + "-" + i,
+                "password": password,
+                "name": username + "-" + i,
+                "email": username + "-" + i + "@uge2e.com"
+            });
+        }
+
+        // build devices
+        var name = "device";
+        var devicesArray = [];
+        for (var j = 1; j <= 5; j++) {
+            devicesArray.push({
+                "name": name + "-" + j,
+                "gcm.notifier.id": DEVICE_TOKEN
+            });
+        }
+
+
+        describe("users", function () {
+            it("should create some devices", function (done) {
+                this.slow(2000);
+                async.each(usersArray, function (user, cb) {
+                    users.add(user, function (err, user) {
+                        should(err).be.null;
+                        user.should.not.be.null;
+                        cb(err, user);
+                    });
+                }, function (err) {
+
+                    done();
+
+                });
+
+            })
+
+        });
+
+
+        describe("devices", function () {
+            it("should create some devices", function (done) {
+                this.slow(2000);
+                async.each(devicesArray, function (device, cb) {
+                    devices.add(device, function (err, device) {
+                        should(err).be.null;
+                        device.should.not.be.null;
+                        cb(err, device);
+                    });
+
+                }, function (err) {
+
+                    done()
+
+                });
+
+            })
+
+        });
+
+
+        describe("user<->devices", function () {
+            it("should connect devices to users", function (done) {
+                this.slow(2000);
+                async.eachSeries(usersArray, function (user, cb) {
+                    async.each(devicesArray, function (device, cb) {
+                        connections.connect("users", user.username, "devices", device.name, null, function (err) {
+                            cb(err, device);
+                        });
+                    });
+                    cb(null);
+
+                }, function (err) {
+
+                    if (err) {
+                        console.log("error adding users " + err);
+                    }
+                    done();
+                });
+
+            })
+
+        });
+
+
+        describe("groups", function () {
+            it("should create some groups", function (done) {
+                this.slow(2000);
+                var group1 = {
+                    path: "group1"
+                };
+
+                var group2 = {
+                    path: "group2"
+                };
+
+                console.log("        creating some groups");
+                groups.add(group1, function (err) {
+                    if (err) {
+                        console.log("failed to create " + "group1:" + err);
+                    }
+
+                });
+
+                groups.add(group2, function (err) {
+                    if (err) {
+                        console.log("failed to create " + "group2:" + err);
+                    }
+                });
+
+                done();
+
+            })
+
+        });
+
+
+        describe("groups<->users", function () {
+            it("should connect users to groups", function (done) {
+                this.slow(2000);
+                async.each(usersArray, function (user, cb) {
+
+                    async.series([
+                        function (cb) {
+                            connections.connect("groups", "group1", "users", user.username, null, function (err) {
+                                cb(err, user);
+                            });
+
+                        },
+                        function (cb) {
+                            connections.connect("groups", "group2", "users", user.username, null, function (err) {
+                                cb(err, user);
+
+                            });
+                        }
+
+                    ], function (err, results) {
+
+                        cb(err);
+
+                    });
+
+                }, function (err) {
+                    done();
+                });
+
+            })
+
+        });
+
+
+        // SEND NOTIFICATIONS HERE AND VALIDATE THE NUMBER OF NOTIFICATIONS SENT ARE ACCURATE FOR QUERY
+
+
+    }
+};

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/test/main.js
----------------------------------------------------------------------
diff --git a/tests/integration/test/main.js b/tests/integration/test/main.js
index 2b37769..5833607 100644
--- a/tests/integration/test/main.js
+++ b/tests/integration/test/main.js
@@ -25,7 +25,7 @@ var async = require('async');
 var request = require('request');
 var colors = require('colors');
 
-describe("baas 2.0 tests", function() {
+describe("** Usergrid REST Integration Tests **", function() {
     before(function(done) {
         console.log("    setup");
         setup.do(function(err) {
@@ -54,6 +54,9 @@ describe("baas 2.0 tests", function() {
     describe("queries", function() {
         require('./queries/integerComparison.js').test();
     });
+    describe("groups", function() {
+        require("./groups/groups.js").test();
+    });
     after(function(done) {
         this.timeout(40000);
         console.log("    teardown");

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/test/setup.js
----------------------------------------------------------------------
diff --git a/tests/integration/test/setup.js b/tests/integration/test/setup.js
index f0a89b6..d254d8d 100644
--- a/tests/integration/test/setup.js
+++ b/tests/integration/test/setup.js
@@ -23,6 +23,7 @@ var entities = require("../lib/entities");
 var config = require("../config");
 var async = require("async");
 var uuid = require("uuid");
+var random = require("../lib/random");
 
 module.exports = {
     users: [],
@@ -37,8 +38,9 @@ module.exports = {
                         password: "pwd" + id,
                         name: id + " name",
                         email: id + "@uge2e.com"
-                    }
+                    };
                     users.add(admin, function(err, user) {
+                        //console.log(user);
                         users.addToRole(user.username, "admin", function(err) {
                             module.exports.admins.push(admin);
                             cb(err, err ? null : admin);
@@ -55,7 +57,7 @@ module.exports = {
                         userArr.push({
                             username: id + "user",
                             password: "pwd" + id,
-                            name: id + " name",
+                            name: id + "name",
                             email: id + "@uge2e.com"
                         });
                     }
@@ -63,6 +65,7 @@ module.exports = {
                         userArr,
                         function(user, cb) {
                             users.add(user, function(err, user) {
+                                module.exports.users.push(user);
                                 cb(err, user);
                             });
                         },
@@ -74,14 +77,24 @@ module.exports = {
                 function(cb) {
                     // create entities
                     var numberOfRecords = 20;
+                    var entity = {
+                        firstProperty: "somethingConsistent",
+                        secondProperty: "somethingRandom: " + random.randomString(10),
+                        thirdPropertyTypeInt: random.randomNumber(5),
+                        location: {  // Apigee San Jose
+                            latitude: 37.3338716,
+                            longitude: -121.894249
+                        }
+                    };
                     async.parallel([
                             function(cb) {
-                                entities.create('dogs', numberOfRecords, function(err, body) {
+
+                                entities.create('dogs', entity, numberOfRecords, function(err, body) {
                                     cb(err);
                                 });
                             },
                             function(cb) {
-                                entities.create('horses', numberOfRecords, function(err, body) {
+                                entities.create('horses', entity, numberOfRecords, function(err, body) {
                                     cb(err);
                                 });
                             }
@@ -95,4 +108,4 @@ module.exports = {
                 cb(err);
             });
     }
-}
\ No newline at end of file
+};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/b6698927/tests/integration/test/teardown.js
----------------------------------------------------------------------
diff --git a/tests/integration/test/teardown.js b/tests/integration/test/teardown.js
index 6175d69..d1031ff 100644
--- a/tests/integration/test/teardown.js
+++ b/tests/integration/test/teardown.js
@@ -47,6 +47,30 @@ module.exports = {
                         body.count.should.equal(0);
                         cb(err);
                     })
+                },
+                function(cb) {
+                    entities.deleteAll('devices', function(err, body) {
+                        should(err).be.null;
+                        body.entities.should.be.an.instanceOf(Array).and.have.lengthOf(0);
+                        body.count.should.equal(0);
+                        cb(err);
+                    })
+                },
+                function(cb) {
+                    entities.deleteAll('groups', function(err, body) {
+                        should(err).be.null;
+                        body.entities.should.be.an.instanceOf(Array).and.have.lengthOf(0);
+                        body.count.should.equal(0);
+                        cb(err);
+                    })
+                },
+                function(cb) {
+                    entities.deleteAll('notifications', function(err, body) {
+                        should(err).be.null;
+                        body.entities.should.be.an.instanceOf(Array).and.have.lengthOf(0);
+                        body.count.should.equal(0);
+                        cb(err);
+                    })
                 }
             ],
             function(err, data) {


[02/50] [abbrv] usergrid git commit: adding apache headers to files that didn't have it

Posted by sn...@apache.org.
adding apache headers to files that didn't have it


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

Branch: refs/heads/asf-site
Commit: 4610eed26f69ae25ddee01e39d18e634ce4f3c7c
Parents: 37d78ab
Author: George Reyes <gr...@apache.org>
Authored: Mon Jan 25 16:30:51 2016 -0800
Committer: George Reyes <gr...@apache.org>
Committed: Mon Jan 25 16:30:51 2016 -0800

----------------------------------------------------------------------
 .../ElasticsearchExecutionExceptionMapper.java      | 16 ++++++++++++++++
 .../rest/exceptions/NotAllowedExceptionMapper.java  | 16 ++++++++++++++++
 .../UnsupportedOperationExceptionMapper.java        | 16 ++++++++++++++++
 .../UnsupportedServiceOperationExceptionMapper.java | 16 ++++++++++++++++
 .../apache/usergrid/rest/ExceptionResourceIT.java   | 16 ++++++++++++++++
 5 files changed, 80 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/4610eed2/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java
index 55c5086..c877509 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.usergrid.rest.exceptions;
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/4610eed2/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
index 08070aa..a65276f 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.usergrid.rest.exceptions;
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/4610eed2/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedOperationExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedOperationExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedOperationExceptionMapper.java
index 5310b4a..8f9455e 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedOperationExceptionMapper.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedOperationExceptionMapper.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.usergrid.rest.exceptions;
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/4610eed2/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedServiceOperationExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedServiceOperationExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedServiceOperationExceptionMapper.java
index c5a2b65..9052fbe 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedServiceOperationExceptionMapper.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/UnsupportedServiceOperationExceptionMapper.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.usergrid.rest.exceptions;
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/4610eed2/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java
index fb32546..4e6edc0 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.usergrid.rest;
 
 


[07/50] [abbrv] usergrid git commit: Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/README.md
----------------------------------------------------------------------
diff --git a/stack/awscluster/README.md b/stack/awscluster/README.md
deleted file mode 100644
index e2ae148..0000000
--- a/stack/awscluster/README.md
+++ /dev/null
@@ -1,163 +0,0 @@
-AWS Cluster
-===
-
-*UNDER CONSTRUCTION* 
-
-This project provides a AWS Cloud Formation template that launches and configures a complete Usergrid installation
-on Amazon EC2 including Tomcat intances, Cassandra instances, Security Groups, a Load Balancer and DNS records.
-
-Two parts:
-
-1) A Maven assembly that builds an installer tarball and uploads it to S3. 
-The tarball includes scripts to install Oracle JDK, Cassandra an EC2 instance.
-
-2) A CloudFormation script `ugcluster-cf.json` that creates an auto-scaling cluster, security groups and some
-number of EC2 instances, The template includes a CloudInit script that runs scipts from 
-the installer tarball to configure and start either Cassandra or on each instance. 
-
-
-Getting set-up
----
-To setup our AWS account to use  AWS Cluster here's what you need to do:
-
-* __Create an AWS EC2 key pair__. You will need this PEM file to login to your Cassandra instances. 
-
-* __Create an AWS S3 bucket__ for the AWS Cluster install bundle. e.g. Create an S3 bucket in your 
-account with the name `ug-cloudformation`. 
-
-* __Setup a top-level domain name__ in the AWS Route 53 DNS service. The default value of usergrid.com will not work (unless you happen to own that domain name).
-
-* __Upload the Oracle Java JDK__ to that same S3 bucket. Best practice is to use the Oracle Java u
-JDK with Cassandra, so you must upload the JDK to the S3 bucket that we created above. The JDK must 
-be named `jdk-7u45-linux-x64.gz`.
-
-* __Create an aws.properties file__ with your AWS credentials in the same directory as this 
-README file. The file is git-ignored so you don't have to worry about accidentally committing it.
-
-* __Deploy this the  AWS Cluster assembly__ by running the Maven command `mvn deploy` in the same
-directory as this README file. 
-
-
-Building the Installation Tarball
----
-First you need to build the Usergrid components: the Java SDK, the Stack and the Portal.
-
-For example, here's how you would do that on a UNIX system (assuming that all Stack and Portal build pre-requistes are in place:
-
-	$ cd usergrid/sdks/java
-	$ mvn clean install
-	
-	$ cd ../../stack
-	$ mvn -DskipTests=true clean install
-	
-	$ cd ../portal
-	$ ./build.sh
-
-Next, cd to the awscluster directory and run Maven deploy:
-
-	$ cd usergrid/stack/awscluster
-	$ mvn deploy
-
-Maven will create the installation tarball and will copy it to your S3 bucket uf-cloudformation. You can find a copy of the tarball in the target directory: `awscluster-1.0-SNAPSHOT.tgz`.
-
-
-Launching a new stack
----
-Login to AWS Console and create a new CloudFormation stack. On the first screen, pick a short 
-and simple name for your stack and choose the option to upload a template and upload 
-the `ugcluster-cf.json` file in this very directory. 
-
-On the next screen, enter the number of DB and REST servers you wish to create, the replication factor and 
-the instance type you wish to use. Check the "I acknowledge that this will create IAM resources" 
-and then click Next, Next, Next to take defaults and start the stack.
-
-Watch the EC2 console and see your instances come up. They will be tagged with the stack name
-that you provided.
-
-
-Accessing your new stack
----
-Assuming everything went well then you can access your stack at the DNS sub-domain and domain name that you specified in the configuration. For example, if you specified DNS domain `usergrid.com` and sub-domain `test1` then you should be able to access Usergrid at `http://test1.usergrid.com/`.
-
-
-Initializing your stack
----
-
-First, visit the Database setup URL: `http://<YOUR HOST NAME>/system/database/setup`
-
-When prompted to login use the username `superuser` and password `test`. If the operation is successful you should a message like the one below in your browser. If not, check your logs for clues about what went wrong.
-
-	{
-  		"action" : "cassandra setup",
-  		"status" : "ok",
-  		"timestamp" : 1379424622947,
-  		"duration" : 76
-	}
-
-Next, visit the Superuser setup URL: `http://<YOUR HOST NAME>/system/superuser/setup`
-
-You should not be prompted for login because you already logged into for the Database Setup. If setup works, you should see a message like this:
-
-	{
-  		"action" : "superuser setup",
-  		"status" : "ok",
-  		"timestamp" : 1379424667936,
-  		"duration" : 2
-	}
-	
-Now you're ready to get started using Usergrid.
-
-
-Login to the Usergrid Console & get started
----
-You should now be able to login to the Usergrid console and start configuring applications, users and more.
-
-The Usergrid Portal's URL is `http://<YOUR HOST NAME>/portal` and you can login with username `superuser` and password `test`.
-
-
-
-Exploring a Cassandra node
----
-Take a look at your new cluster. Login to one of the instances and take a look at the Cassandra
-setup via `nodetool ring` and by looking at the following log file locations.
-
-Log File Locations
-
-`/var/log/usergrid-bootstrap.log` - log created as instance was created
-
-`/var/log/cassandra/*` - the Cassandra log files
-
-
-
-Exploring a Tomcat node
----
-Take a look at your new cluster. Login to one of the instances and take a look at the Cassandra
-setup via `nodetool ring` and by looking at the following logs locations:
-
-Log File Locations
-
-`/var/log/usergrid-bootstrap.log` - log created as instance was created
-
-`/var/log/tomcat7/*` - the Tomcat log files
-
-
-
-How it works
----
-Here's what happens when the stack is started.
-
-CloudFormation reads the `ugcluster-cf.json` template and uses starts the EC2 instances that it 
-specifies. There are two types of instances, Cassandra instances and REST instances. 
-
-When each Cassandra instance comes up CloudFormation runs the CloudInit script specified in 
-`ugcluster-cf.json` and that script downloads the , sets up some environment scripts
-and calls the `init_instance/init_db_server.sh` script to complete the setup.
-
-The `init_instance/init_db_server.sh` calls `install_oraclejdk.sh` to download the JDK from S3 and 
-install it. The script then installs Tomcat and Cassandra. Next it uses Groovy scripts to configure 
-Cassandra and wait for other Cassandra nodes to come alive.
-
-When a REST instance comes up, it does the same things but it calls the `init_rest_server.sh` to install and configure Tomcat, wait for Cassandra nodes to become available and then setup the Usergrid Stack and Usergrid Portal webapps.
-
-
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/assembly.xml
----------------------------------------------------------------------
diff --git a/stack/awscluster/assembly.xml b/stack/awscluster/assembly.xml
deleted file mode 100644
index a0fc0aa..0000000
--- a/stack/awscluster/assembly.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<assembly>
-
-<!--
-	Licensed to the Apache Software Foundation (ASF) under one or more
-	contributor license agreements.  See the NOTICE file distributed with
-	this work for additional information regarding copyright ownership.
-	The ASF licenses this file to You under the Apache License, Version 2.0
-	(the "License"); you may not use this file except in compliance with
-	the License.  You may obtain a copy of the License at
-
-	http://www.apache.org/licenses/LICENSE-2.0
-
-       Unless required by applicable law or agreed to in writing, software
-       distributed under the License is distributed on an "AS IS" BASIS,
-       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-       See the License for the specific language governing permissions and
-       limitations under the License.
-    -->
-
-    <id>any</id>
-    <formats>
-        <format>tar.gz</format>
-    </formats>
-
-    <includeBaseDirectory>false</includeBaseDirectory>
-
-    <!-- <files>
-
-        <file>
-            <outputDirectory>webapps</outputDirectory>
-            <source>${stack.war}</source>
-            <destName>ROOT.war</destName>
-        </file>
-
-    </files> -->
-
-    <fileSets>
-
-        <fileSet>
-            <outputDirectory>.</outputDirectory>
-            <directory>${project.basedir}/src/main/dist</directory>
-            <includes>
-                <include>**</include>
-            </includes>
-        </fileSet>
-
-
-        <fileSet>
-            <outputDirectory>./scripts</outputDirectory>
-            <directory>./src/main/groovy</directory>
-            <includes>
-                <include>**</include>
-            </includes>
-        </fileSet>
-
-      <fileSet>
-               <outputDirectory>./cql</outputDirectory>
-               <directory>./src/main/cql</directory>
-               <includes>
-                   <include>**</include>
-               </includes>
-           </fileSet>
-
-        <fileSet>
-            <outputDirectory>./webapps/portal</outputDirectory>
-            <directory>${portal.dir}</directory>
-            <includes>
-                <include>**</include>
-            </includes>
-        </fileSet>
-
-    </fileSets>
-
-</assembly>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/aws-sample.properties
----------------------------------------------------------------------
diff --git a/stack/awscluster/aws-sample.properties b/stack/awscluster/aws-sample.properties
deleted file mode 100644
index b3e0917..0000000
--- a/stack/awscluster/aws-sample.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  The ASF licenses this file to You
-# under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.  For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-accesskey=<YourServiceAccessKey>
-secretkey=<YourServiceSecretKey>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/gatling-cluster-cf.json
----------------------------------------------------------------------
diff --git a/stack/awscluster/gatling-cluster-cf.json b/stack/awscluster/gatling-cluster-cf.json
deleted file mode 100644
index 5f2f61b..0000000
--- a/stack/awscluster/gatling-cluster-cf.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
-    "AWSTemplateFormatVersion" : "2010-09-09",
-    "Description" : "Gatling Cluster",
-    "Parameters": {
-        "InstanceCount": {
-            "Description": "The number of gatling instances to create",
-            "Type": "Number",
-            "Default": "1",
-            "MinValue": "1"
-        },
-        "KeyName": {
-            "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instance",
-            "Type": "AWS::EC2::KeyPair::KeyName",
-            "Default": "ug-cloudformation",
-            "ConstraintDescription": "must be the name of an existing EC2 KeyPair."
-        },
-        "InstanceType": {
-            "Description": "WebServer EC2 instance type",
-            "Type": "String",
-            "Default": "c3.xlarge",
-            "AllowedValues": [
-                "t1.micro",
-                "t2.micro",
-                "t2.small",
-                "t2.medium",
-                "m1.small",
-                "m1.medium",
-                "m1.large",
-                "m1.xlarge",
-                "m2.xlarge",
-                "m2.2xlarge",
-                "m2.4xlarge",
-                "m3.medium",
-                "m3.large",
-                "m3.xlarge",
-                "m3.2xlarge",
-                "c1.medium",
-                "c1.xlarge",
-                "c3.large",
-                "c3.xlarge",
-                "c3.2xlarge",
-                "c3.4xlarge",
-                "c3.8xlarge",
-                "g2.2xlarge",
-                "r3.large",
-                "r3.xlarge",
-                "r3.2xlarge",
-                "r3.4xlarge",
-                "r3.8xlarge",
-                "i2.xlarge",
-                "i2.2xlarge",
-                "i2.4xlarge",
-                "i2.8xlarge",
-                "hi1.4xlarge",
-                "hs1.8xlarge",
-                "cr1.8xlarge",
-                "cc2.8xlarge",
-                "cg1.4xlarge"
-            ],
-            "ConstraintDescription": "Must be a valid EC2 instance type."
-        },
-        "OperatorEMail": {
-            "Description": "Email address to notify if there are any scaling operations",
-            "Type": "String",
-            "AllowedPattern": "([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)",
-            "ConstraintDescription": "Must be a valid email address."
-        },
-        "SSHLocation": {
-            "Description": "The IP address range that can be used to SSH to the EC2 instances",
-            "Type": "String",
-            "MinLength": "9",
-            "MaxLength": "18",
-            "Default": "0.0.0.0/0",
-            "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
-            "ConstraintDescription": "Must be a valid IP CIDR range of the form x.x.x.x/x."
-        },
-        "Branch": {
-            "Description": "The branch of usergrid to check out",
-            "Type": "String",
-            "Default": "master"
-        }
-    },
-
-    "Mappings" : {
-        "AWSInstanceType2Arch": {
-            "t1.micro": {
-                "Arch": "64"
-            },
-            "m1.small": {
-                "Arch": "64"
-            },
-            "m1.medium": {
-                "Arch": "64"
-            },
-            "m1.large": {
-                "Arch": "64"
-            },
-            "m1.xlarge": {
-                "Arch": "64"
-            },
-            "m3.large": {
-                "Arch": "64"
-            },
-            "m3.xlarge": {
-                "Arch": "64"
-            },
-            "c3.large": {
-                "Arch": "64"
-            },
-            "c3.xlarge": {
-                "Arch": "64"
-            },
-            "c3.2xlarge": {
-                "Arch": "64"
-            },
-            "c3.4xlarge": {
-                "Arch": "64"
-            }
-        },
-        "AWSRegionArch2AMI": {
-            "ap-southeast-2": {
-                "64": "ami-8dcd88b7"
-            },
-            "us-east-1": {
-                "64": "ami-9301c7f8"
-            },
-            "us-west-2": {
-                "64": "ami-ed5751dd"
-            }
-        },
-        "TwoAZs": {
-            "ap-southeast-2": {
-                "AZ1": "ap-southeast-2a",
-                "AZ2": "ap-southeast-2b"
-            },
-            "us-east-1": {
-                "AZ1": "us-east-1b",
-                "AZ2": "us-east-1c"
-            },
-            "us-west-2": {
-                "AZ1": "us-west-2a",
-                "AZ2": "us-west-2b"
-            }
-        }
-
-
-    },
-
-    "Resources" : {
-        "NotificationTopic": {
-            "Type": "AWS::SNS::Topic",
-            "Properties": {
-                "Subscription": [ { "Endpoint": { "Ref": "OperatorEMail" }, "Protocol": "email" } ]
-            }
-        },
-        "GatlingServerGroup" : {
-            "Type" : "AWS::AutoScaling::AutoScalingGroup",
-            "CreationPolicy" : {
-                "ResourceSignal" : {
-                    "Timeout" : "PT15M",
-                    "Count"   : { "Ref" : "InstanceCount" }
-                }
-            },
-            "Properties" : {
-                "AvailabilityZones": [
-                    {
-                        "Fn::FindInMap": [
-                            "TwoAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ1"
-                        ]
-                    },
-                    {
-                        "Fn::FindInMap": [
-                            "TwoAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ2"
-                        ]
-                    }
-                ],
-                "LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
-                "MinSize" : { "Ref" : "InstanceCount" },
-                "MaxSize" : "10",
-                "LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ],
-                "NotificationConfiguration" : {
-                    "TopicARN" : { "Ref" : "NotificationTopic" },
-                    "NotificationTypes" : [ "autoscaling:EC2_INSTANCE_LAUNCH","autoscaling:EC2_INSTANCE_LAUNCH_ERROR","autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"]
-                }
-            }
-        },
-
-        "LaunchConfig" : {
-            "Type" : "AWS::AutoScaling::LaunchConfiguration",
-            "Metadata" : {
-                "Comment" : "Install Gatling",
-                "AWS::CloudFormation::Init" : {
-                    "config" : {
-                        "files" : {
-                            "/etc/profile.d/aws-credentials.sh" : {
-                                "content": { "Fn::Join" : ["", [
-                                    "export AWS_ACCESS_KEY=", { "Ref":"GatlingKey" }, "\n",
-                                    "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] }, "\n"
-                                ]]}
-                            },
-
-                            "/etc/s3cfg" : {
-                                "content": { "Fn::Join" : ["", [
-                                    "access_key=", { "Ref":"GatlingKey" }, "\n",
-                                    "secret_key=", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] }, "\n"
-                                ]]}
-                            },
-                            "/etc/profile.d/maven.sh" : {
-                                "content" : { "Fn::Join" : ["", [
-                                    "export M3_HOME=/usr/local/apache-maven/apache-maven-3.1.1\n",
-                                    "export M3=$M3_HOME/bin\n",
-                                    "export MAVEN_OPTS=\"-Xms256m -Xmx512m\"\n",
-                                    "export PATH=$M3:$PATH\n"
-                                ]]}
-                            },
-
-                            "/etc/security/limits.d/gatling_filehandles.conf" : {
-                                "content": { "Fn::Join" : ["", [
-                                    "ubuntu soft nofile 80000\n",
-                                    "ubuntu hard nofile 80000\n"
-                                ]]}
-                            }
-                        }
-                    }
-                },
-                "services" : {}
-            },
-            "Properties" : {
-                "KeyName" : { "Ref" : "KeyName" },
-                "ImageId" : {
-                    "Fn::FindInMap" : [
-                        "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
-                           { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ]},
-                "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
-                "InstanceType" : { "Ref" : "InstanceType" },
-                "UserData"       : { "Fn::Base64" : { "Fn::Join" : ["", [
-                    "#!/bin/bash -xe\n",
-                    "##This script is generated by cloud-init.  The rendered version is usually located at /var/lib/cloud/instance/scripts/part-001\n",
-                    "apt-get install zip unzip wget -y\n",
-                    "wget https://bootstrap.pypa.io/ez_setup.py -O - | python\n",
-                    "easy_install  https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
-                    "/usr/local/bin/cfn-init -v ",
-                    "         --stack ", { "Ref" : "AWS::StackName" },
-                    "         --resource LaunchConfig ",
-                    "         --region ", { "Ref" : "AWS::Region" }, "\n",
-
-
-                    "add-apt-repository ppa:webupd8team/java --yes\n",
-                    "add-apt-repository ppa:awstools-dev/awstools --yes\n",
-                    "apt-get update\n",
-                    "echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections\n",
-                    "apt-get install oracle-java8-installer oracle-java8-set-default expect expect-dev git ec2-api-tools maven -y --force-yes\n",
-                    "update-java-alternatives -s java-8-oracle\n",
-
-                    "cd ~ubuntu\n",
-                    "git clone -b ",{ "Ref":"Branch" } , " https://github.com/apache/usergrid.git usergrid\n",
-                    "chown -R ubuntu:ubuntu usergrid\n",
-
-                    "ec2-create-tags $(curl -k http://169.254.169.254/latest/meta-data/instance-id) --region ", { "Ref" : "AWS::Region" }," --aws-access-key ",{ "Ref":"GatlingKey" }, " --aws-secret-key ", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] } ," --tag Name=", { "Ref":"AWS::StackName"  }, "\n",
-                    "/usr/local/bin/cfn-signal --success true --stack ", { "Ref" : "AWS::StackName" }, " --resource GatlingServerGroup --region ", { "Ref" : "AWS::Region" }, "\n"
-                ]]}}
-            }
-        },
-
-        "GatlingUser": {
-            "Type": "AWS::IAM::User",
-            "Properties": {
-                "Path": "/",
-                "Policies": [
-                    {
-                        "PolicyName": "root",
-                        "PolicyDocument": {
-                            "Statement": [
-                                {
-                                    "Effect": "Allow",
-                                    "Action": "*",
-                                    "Resource": "*"
-                                }
-                            ]
-                        }
-                    }
-                ]
-            }
-        },
-        "GatlingKey": {
-            "Type": "AWS::IAM::AccessKey",
-            "Properties": {
-                "UserName": {
-                    "Ref": "GatlingUser"
-                }
-            }
-        },
-
-        "WebServerScaleUpPolicy" : {
-            "Type" : "AWS::AutoScaling::ScalingPolicy",
-            "Properties" : {
-                "AdjustmentType" : "ChangeInCapacity",
-                "AutoScalingGroupName" : { "Ref" : "GatlingServerGroup" },
-                "Cooldown" : "60",
-                "ScalingAdjustment" : "1"
-            }
-        },
-        "WebServerScaleDownPolicy" : {
-            "Type" : "AWS::AutoScaling::ScalingPolicy",
-            "Properties" : {
-                "AdjustmentType" : "ChangeInCapacity",
-                "AutoScalingGroupName" : { "Ref" : "GatlingServerGroup" },
-                "Cooldown" : "60",
-                "ScalingAdjustment" : "-1"
-            }
-        },
-
-        "ElasticLoadBalancer" : {
-            "Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
-            "Properties" : {
-                "AvailabilityZones": [
-                    {
-                        "Fn::FindInMap": [
-                            "TwoAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ1"
-                        ]
-                    },
-                    {
-                        "Fn::FindInMap": [
-                            "TwoAZs",
-                            {
-                                "Ref": "AWS::Region"
-                            },
-                            "AZ2"
-                        ]
-                    }
-                ],
-                "Listeners" : [ {
-                    "LoadBalancerPort" : "80",
-                    "InstancePort" : "80",
-                    "Protocol" : "HTTP"
-                } ],
-                "HealthCheck" : {
-                    "Target" : "HTTP:80/",
-                    "HealthyThreshold" : "3",
-                    "UnhealthyThreshold" : "5",
-                    "Interval" : "30",
-                    "Timeout" : "5"
-                }
-            }
-        },
-
-        "InstanceSecurityGroup" : {
-            "Type" : "AWS::EC2::SecurityGroup",
-            "Properties" : {
-                "GroupDescription" : "Enable SSH access and HTTP from the load balancer only",
-                "SecurityGroupIngress" : [ {
-                    "IpProtocol" : "tcp",
-                    "FromPort" : "22",
-                    "ToPort" : "22",
-                    "CidrIp" : { "Ref" : "SSHLocation"}
-                },
-                    {
-                        "IpProtocol" : "tcp",
-                        "FromPort" : "80",
-                        "ToPort" : "80",
-                        "SourceSecurityGroupOwnerId" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.OwnerAlias"]},
-                        "SourceSecurityGroupName" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.GroupName"]}
-                    } ]
-            }
-        }
-    },
-
-    "Outputs" : {
-        "URL" : {
-            "Description" : "The URL of the website",
-            "Value" :  { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]}
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/pom.xml
----------------------------------------------------------------------
diff --git a/stack/awscluster/pom.xml b/stack/awscluster/pom.xml
deleted file mode 100644
index 46157ab..0000000
--- a/stack/awscluster/pom.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<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/xsd/maven-4.0.0.xsd">
-  <!--
-      Licensed to the Apache Software Foundation (ASF) under one or more
-      contributor license agreements.  See the NOTICE file distributed with
-      this work for additional information regarding copyright ownership.
-      The ASF licenses this file to You under the Apache License, Version 2.0
-      (the "License"); you may not use this file except in compliance with
-      the License.  You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-      Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-      See the License for the specific language governing permissions and
-      limitations under the License.
-  -->
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>awscluster</artifactId>
-  <groupId>org.usergrid</groupId>
-  <version>1.0-SNAPSHOT</version>
-
-  <name>awscluster</name>
-
-  <description>
-    Creates bundle for initializing a Tomcat and Cassandra Usergrid cluster via CloudFormation
-  </description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <aws.s3.release-bucket>ug-cloudformation</aws.s3.release-bucket>
-    <!--  Pulls the file path from maven when using the dependency plugin.  This doesn't work b/c it doesn't name the file properly to ROOT.war.  Solve that to use the latest from the repo-->
-    <!--<stack.war>${org.apache.usergrid:usergrid-rest:war}</stack.war>-->
-    <stack.war>../rest/target/ROOT.war</stack.war>
-    <portal.dir>../../portal/dist/usergrid-portal</portal.dir>
-  </properties>
-
-  <build>
-
-    <plugins>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>make-assembly</id>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <descriptors>
-            <descriptor>assembly.xml</descriptor>
-          </descriptors>
-          <tarLongFileMode>gnu</tarLongFileMode>
-        </configuration>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.2</version>
-        <executions>
-
-          <!-- upload the tar file-->
-          <execution>
-            <phase>deploy</phase>
-            <goals>
-              <goal>java</goal>
-            </goals>
-            <id>upload-scripts</id>
-            <configuration>
-              <includeProjectDependencies>true</includeProjectDependencies>
-              <includePluginDependencies>true</includePluginDependencies>
-              <classpathScope>runtime</classpathScope>
-              <executableDependency>
-                <groupId>net.java.dev.jets3t</groupId>
-                <artifactId>jets3t</artifactId>
-              </executableDependency>
-              <mainClass>org.jets3t.apps.synchronize.Synchronize</mainClass>
-              <arguments>
-                <argument>--nodelete</argument>
-                <argument>--properties</argument>
-                <argument>${project.basedir}/aws.properties</argument>
-                <argument>UP</argument>
-                <argument>${aws.s3.release-bucket}</argument>
-                <argument>${project.build.directory}/${project.build.finalName}-any.tar.gz</argument>
-              </arguments>
-            </configuration>
-          </execution>
-
-          <!-- upload the war file from our repository -->
-          <execution>
-            <phase>deploy</phase>
-            <goals>
-              <goal>java</goal>
-            </goals>
-            <id>upload-war</id>
-            <configuration>
-              <includeProjectDependencies>true</includeProjectDependencies>
-              <includePluginDependencies>true</includePluginDependencies>
-              <classpathScope>runtime</classpathScope>
-              <executableDependency>
-                <groupId>net.java.dev.jets3t</groupId>
-                <artifactId>jets3t</artifactId>
-              </executableDependency>
-              <mainClass>org.jets3t.apps.synchronize.Synchronize</mainClass>
-              <arguments>
-                <argument>--nodelete</argument>
-                <argument>--properties</argument>
-                <argument>${project.basedir}/aws.properties</argument>
-                <argument>UP</argument>
-                <argument>${aws.s3.release-bucket}</argument>
-                <argument>${stack.war}</argument>
-              </arguments>
-            </configuration>
-          </execution>
-        </executions>
-        <dependencies>
-          <dependency>
-            <groupId>net.java.dev.jets3t</groupId>
-            <artifactId>jets3t</artifactId>
-            <version>0.8.0</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <version>2.8.1</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.3.2</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy-eclipse-compiler</artifactId>
-            <version>2.6.0-01</version>
-          </dependency>
-        </dependencies>
-        <configuration>
-          <compilerId>groovy-eclipse-compiler</compilerId>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>groovy-eclipse-compiler</artifactId>
-        <groupId>org.codehaus.groovy</groupId>
-        <version>2.6.0-01</version>
-        <extensions>true</extensions>
-      </plugin>
-
-      <!-- Set the dependency path in the lifecycle for the property -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.9</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>properties</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- echo out the stack war -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.2</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>exec</goal>
-            </goals>
-            <phase>generate-sources</phase>
-          </execution>
-        </executions>
-        <configuration>
-          <executable>echo</executable>
-          <arguments>
-            <argument>stack.war=</argument>
-            <argument>${stack.war}</argument>
-          </arguments>
-        </configuration>
-      </plugin>
-    </plugins>
-
-  </build>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>net.java.dev.jets3t</groupId>
-      <artifactId>synchronize</artifactId>
-      <version>0.8.0</version>
-    </dependency>
-
-    <dependency>
-      <groupId>net.java.dev.jets3t</groupId>
-      <artifactId>jets3t</artifactId>
-      <version>0.8.0</version>
-    </dependency>
-
-    <dependency>
-      <groupId>com.amazonaws</groupId>
-      <artifactId>aws-java-sdk</artifactId>
-      <version>1.9.7</version>
-    </dependency>
-    <dependency>
-      <artifactId>groovy-all</artifactId>
-      <groupId>org.codehaus.groovy</groupId>
-      <version>2.0.5</version>
-    </dependency>
-
-    <!-- This dependency is used for deployment -->
-    <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>usergrid-rest</artifactId>
-      <!-- Change this if you want to deploy a specific version, otherwise the latest in the repository will be used-->
-      <version>2.0.0-SNAPSHOT</version>
-      <type>war</type>
-    </dependency>
-  </dependencies>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/cql/update_locks.cql
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/cql/update_locks.cql b/stack/awscluster/src/main/cql/update_locks.cql
deleted file mode 100644
index bdb5860..0000000
--- a/stack/awscluster/src/main/cql/update_locks.cql
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-update keyspace Locks with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = false;
-
-use Locks;
-
-update column family HLocks with gc_grace=60 and caching=ALL and read_repair_chance=0.00 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/cql/update_usergrid.cql
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/cql/update_usergrid.cql b/stack/awscluster/src/main/cql/update_usergrid.cql
deleted file mode 100644
index 53622a2..0000000
--- a/stack/awscluster/src/main/cql/update_usergrid.cql
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-update keyspace Usergrid with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = true;
-
-use Usergrid;
-
-update column family Applications with caching=KEYS_ONLY and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family PrincipalTokens with caching=KEYS_ONLY and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Properties with caching=KEYS_ONLY and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Tokens with caching=ALL and read_repair_chance=0.1  and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/cql/update_usergrid_applications.cql
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/cql/update_usergrid_applications.cql b/stack/awscluster/src/main/cql/update_usergrid_applications.cql
deleted file mode 100644
index e94960b..0000000
--- a/stack/awscluster/src/main/cql/update_usergrid_applications.cql
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  The ASF licenses this file to You
- * under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.  For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-update keyspace Usergrid_Applications with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = true;
-
-use Usergrid_Applications;
-
-update column family Application_Aggregate_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Application_Roles with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Applications with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Consumer_Queue_Messages_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Composite_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Id_Sets with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Index with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Index_Entries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Metadata with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Unique with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Consumers with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Consumers_Timeout with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Property_Index with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Property_Index_Entries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Inbox with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Subscribers with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Subscriptions with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/create_raid0.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/create_raid0.sh b/stack/awscluster/src/main/dist/init_instance/create_raid0.sh
deleted file mode 100644
index c9122d7..0000000
--- a/stack/awscluster/src/main/dist/init_instance/create_raid0.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-
-# WARNING: this does not work for any instances that have more than 2 ephemeral disks
-
-
-
-# install postfix first and prevent it from prompting the user
-debconf-set-selections <<< "postfix postfix/mailname string your.hostname.com"
-debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
-apt-get install -y postfix
-
-# install mdadm RAID controller
-apt-get -y --force-yes install mdadm
-
-# m1.xlarge has four 414GB disks, but only /dev/xvdb is mounted
-# unmount /dev/xvdb so we can use it in our setup
-umount /mnt
-
-
-#We only support 2 ephemeral disks.  Most c3.x instances only have 2 disks and they're our target
-# create striped RAID0 device with our 2 disks
-yes | mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 -c 256  /dev/xvdb /dev/xvdc
-
-
-
-
-# save config
-mdadm --detail --scan | tee /etc/mdadm/mdadm.conf
-
-# create, mount and save disk to stab
-mkfs.ext4 -b 4096 -E stride=32,stripe-width=128 -L Stripe /dev/md0
-mkdir -p /mnt
-echo "/dev/md0  /mnt/  ext4    defaults,noatime,nofail 0 0" >> /etc/fstab
-mount /dev/md0 /mnt

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_db_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_db_server.sh b/stack/awscluster/src/main/dist/init_instance/init_db_server.sh
deleted file mode 100644
index eb8e1ba..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_db_server.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# Install the easy stuff
-PKGS="ntp unzip groovy curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip 
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib 
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-#Create our raid 0 array
-cd /usr/share/usergrid/init_instance
-./create_raid0.sh
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh 
-
-# Install and stop Cassandra 
-cd /usr/share/usergrid/init_instance
-./install_cassandra.sh
-
-# Install the opscenter agent
-cd /usr/share/usergrid/init_instance
-./install_opscenter_agent.sh
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_es_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_es_server.sh b/stack/awscluster/src/main/dist/init_instance/init_es_server.sh
deleted file mode 100644
index 836b1d9..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_es_server.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# Install the easy stuff
-PKGS="ntp unzip groovy curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip 
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib 
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-
-#Configure our RAID 0 arrays
-cd /usr/share/usergrid/init_instance
-./create_raid0.sh
-
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh 
-
-# Install and start ElasticSearch
-cd /usr/share/usergrid/init_instance
-./install_elasticsearch.sh
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh b/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh
deleted file mode 100644
index 689c08e..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# Install the easy stuff
-PKGS="ntp unzip groovy tomcat7 curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh
-
-sudo apt-get -y --force-yes install docker.io
-
-#Install graphite
-sudo docker run -d --name graphite -p 80:80 -p 2003:2003 -p 8125:8125/udp hopsoft/graphite-statsd
-
-cd /usr/share/usergrid/scripts
-groovy registry_register.groovy graphite
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh b/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh
deleted file mode 100644
index b63a710..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh
+++ /dev/null
@@ -1,287 +0,0 @@
-#!/bin/bash
-
-# 
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-# Install the easy stuff
-PKGS="ntp unzip groovy curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip 
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib 
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-
-#Create the raid0 array for cassandra storage
-pushd /usr/share/usergrid/init_instance
-./create_raid0.sh
-#Install the oracle jdd
-./install_oraclejdk.sh
-popd
-
-#Install cassandra
-
-# Install and stop Cassandra
-curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-
-sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
-deb http://debian.datastax.com/community stable main
-EOF
-
-apt-get update
-apt-get -y --force-yes install libcap2 cassandra=1.2.19
-/etc/init.d/cassandra stop
-
-mkdir -p /mnt/data/cassandra
-chown cassandra /mnt/data/cassandra
-
-
-# Register ourselves
-pushd /usr/share/usergrid/scripts
-groovy registry_register.groovy opscenter
-popd
-
-pushd /usr/share/usergrid/scripts
-groovy configure_opscenter_cassandra.groovy > /etc/cassandra/cassandra.yaml
-popd
-
-/etc/init.d/cassandra start
-
-#We have to wait for cass to actually start before we can run our CQL.   Sleep 5 seconds between retries
-while ! echo exit | nc localhost 9160; do sleep 5; done
-
-CASS_REGION=${EC2_REGION%-1}
-#create our keyspace
-cat >> /tmp/opscenter.cql << EOF
-CREATE KEYSPACE "OpsCenter" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', '${CASS_REGION}' : 1};
-
-USE "OpsCenter";
-
-CREATE TABLE bestpractice_results (
-  key text,
-  column1 varint,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  CLUSTERING ORDER BY (column1 DESC) AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=0 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE events (
-  key text PRIMARY KEY,
-  action bigint,
-  level bigint,
-  success boolean,
-  time bigint
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=864000 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE events_timeline (
-  key text,
-  column1 bigint,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=864000 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE pdps (
-  key text,
-  column1 text,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=0 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups300 (
-  key text,
-  column1 varint,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=0 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups60 (
-  key text,
-  column1 varint,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=0 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups7200 (
-  key text,
-  column1 varint,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=0 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups86400 (
-  key text,
-  column1 varint,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=0 AND
-  read_repair_chance=0.250000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE settings (
-  key blob,
-  column1 blob,
-  value blob,
-  PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
-  bloom_filter_fp_chance=0.010000 AND
-  caching='KEYS_ONLY' AND
-  comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
-  dclocal_read_repair_chance=0.000000 AND
-  gc_grace_seconds=864000 AND
-  read_repair_chance=1.000000 AND
-  replicate_on_write='true' AND
-  populate_io_cache_on_flush='false' AND
-  compaction={'class': 'SizeTieredCompactionStrategy'} AND
-  compression={'sstable_compression': 'SnappyCompressor'};
-
-EOF
-
-
-echo "Creating opscenter keyspace"
-/usr/bin/cqlsh -f  /tmp/opscenter.cql
-
-
-
-
-#Install the opscenter service
-# Install opscenter
-echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/datastax.community.list
-
-apt-get update
-apt-get  --force-yes -y install opscenter
-
-sudo service opscenterd stop
-
-#Configure the usergrid cluster to store data locally, not on the target cluster and auto boostrap it
-cd /usr/share/usergrid/scripts
-groovy wait_for_instances.groovy cassandra 1
-mkdir -p /etc/opscenter/clusters
-groovy configure_opscenter_usergrid.groovy > /etc/opscenter/clusters/$CASSANDRA_CLUSTER_NAME.conf
-
-
-sudo service opscenterd start
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh b/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
deleted file mode 100644
index 0736026..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/bin/bash
-
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-PKGS="openjdk-7-jdk tomcat7 s3cmd ntp unzip groovy"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# Build environment for Groovy scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-
-
-chmod +x /usr/share/usergrid/update.sh
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh
-
-cd /usr/share/usergrid/init_instance
-./install_yourkit.sh
-
-# set Tomcat memory and threads based on instance type
-# use about 70% of RAM for heap
-export NOFILE=150000
-#export TOMCAT_CONNECTIONS=10000
-export ACCEPT_COUNT=100
-export NR_OPEN=1048576
-export FILE_MAX=761773
-
-#Get the number of processors
-export NUM_PROC=$(nproc)
-
-#Configure the max amount of tomcat threads
-export TOMCAT_THREADS=$((${NUM_PROC} * ${NUM_THREAD_PROC}))
-
-case `(curl http://169.254.169.254/latest/meta-data/instance-type)` in
-'m1.small' )
-    # total of 1.7g
-    export TOMCAT_RAM=1190m
-;;
-'m1.medium' )
-    # total of 3.75g
-    export TOMCAT_RAM=2625m
-;;
-'m1.large' )
-    # total of 7.5g
-    export TOMCAT_RAM=5250m
-;;
-'m1.xlarge' )
-    # total of 15g
-    export TOMCAT_RAM=10500m
-;;
-'m3.large' )
-    # total of 7.5g
-    export TOMCAT_RAM=5250m
-;;
-'m3.xlarge' )
-    # total of 15g
-    export TOMCAT_RAM=10500m
-;;
-'c3.xlarge' )
-    # total of 7.5g
-    export TOMCAT_RAM=4096m
-;;
-'c3.2xlarge' )
-    # total of 15g
-    export TOMCAT_RAM=10500m
-;;
-'c3.4xlarge' )
-    # total of 30g
-    export TOMCAT_RAM=21000m
-esac
-
-
-sed -i.bak "s/Xmx128m/Xmx${TOMCAT_RAM} -Xms${TOMCAT_RAM} -Dlog4j\.configuration=file:\/usr\/share\/usergrid\/lib\/log4j\.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false/g" /etc/default/tomcat7
-sed -i.bak "s/<Connector/<Connector maxThreads=\"${TOMCAT_THREADS}\" acceptCount=\"${ACCEPT_COUNT}\" maxConnections=\"${TOMCAT_THREADS}\"/g" /var/lib/tomcat7/conf/server.xml
-
-
-#Append our java opts for secret key
-echo "JAVA_OPTS=\"\${JAVA_OPTS} -DAWS_SECRET_KEY=${AWS_SECRET_KEY} -DAWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY}\"" >> /etc/default/tomcat7
-echo "JAVA_OPTS=\"\${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000\"" >> /etc/default/tomcat7
-
-
-ulimit -n $NOFILE
-
-# set file limits
-sed -i.bak "s/# \/etc\/init\.d\/tomcat7 -- startup script for the Tomcat 6 servlet engine/ulimit -n ${NOFILE}/" /etc/init.d/tomcat7
-
-
-cat >>  /etc/security/limits.conf  << EOF
-* - nofile ${NOFILE}
-root - nofile ${NOFILE}
-EOF
-
-
-
-echo "${NR_OPEN}" | sudo tee > /proc/sys/fs/nr_open
-echo "${FILE_MAX}" | sudo tee > /proc/sys/fs/file-max
-
-
-cat >> /etc/pam.d/su << EOF
-session    required   pam_limits.so
-EOF
-
-
-
-# increase system IP port limits (do we really need this for Tomcat?)
-sysctl -w net.ipv4.ip_local_port_range="1024 65535"
-cat >> /etc/sysctl.conf << EOF
-####
-# Set by usergrid rest setup
-####
-net.ipv4.ip_local_port_range = 1024 65535
-
-# Controls the default maxmimum size of a mesage queue
-kernel.msgmnb = 65536
-
-# Controls the maximum size of a message, in bytes
-kernel.msgmax = 65536
-
-# Controls the maximum shared segment size, in bytes
-kernel.shmmax = 68719476736
-
-# Controls the maximum number of shared memory segments, in pages
-kernel.shmall = 4294967296
-
-######
-# End usergrid setup
-######
-EOF
-
-# wait for enough Cassandra nodes then delpoy and configure Usergrid
-cd /usr/share/usergrid/scripts
-groovy wait_for_instances.groovy cassandra ${CASSANDRA_NUM_SERVERS}
-groovy wait_for_instances.groovy elasticsearch ${ES_NUM_SERVERS}
-groovy wait_for_instances.groovy graphite ${GRAPHITE_NUM_SERVERS}
-
-# link WAR and Portal into Tomcat's webapps dir
-rm -rf /var/lib/tomcat7/webapps/*
-ln -s /usr/share/usergrid/webapps/ROOT.war /var/lib/tomcat7/webapps/ROOT.war
-ln -s /usr/share/usergrid/webapps/portal /var/lib/tomcat7/webapps/portal
-chown -R tomcat7 /usr/share/usergrid/webapps
-chown -R tomcat7 /var/lib/tomcat7/webapps
-
-# configure usergrid
-mkdir -p /usr/share/tomcat7/lib
-groovy configure_usergrid.groovy > /usr/share/tomcat7/lib/usergrid-deployment.properties
-groovy configure_portal_new.groovy >> /var/lib/tomcat7/webapps/portal/config.js
-
-
-
-#Install postfix so that we can send mail
-echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
-echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
-apt-get install -y postfix
-
-
-# Go
-sh /etc/init.d/tomcat7 start
-
-#Wait for tomcat to start, then run our migrations
-
-
-#Wait until tomcat starts and we can hit our status page
-until curl -m 1 -I -X GET http://localhost:8080/status | grep "200 OK";  do sleep 5; done
-
-
-#Install collectd client to report to graphite
-cd /usr/share/usergrid/init_instance
-./install_collectd.sh
-
-
-#If we're the first rest server, run the migration, the database setup, then run the Cassanda keyspace updates
-cd /usr/share/usergrid/scripts
-groovy registry_register.groovy rest
-
-FIRSTHOST="$(groovy get_first_instance.groovy rest)"
-GRAPHITE_SERVER="$(groovy get_first_instance.groovy graphite )"
-
-#First host run the migration and setup
-if [ "$FIRSTHOST"=="$PUBLIC_HOSTNAME" ]; then
-
-#Run the system database setup since migration is a no-op
-curl -X GET http://localhost:8080/system/database/setup -u superuser:test
-
-
-#Run the migration
-curl -X PUT http://localhost:8080/system/migrate/run  -u superuser:test
-
-#Wait since migration is no-op just needs to ideally run to completion to bring the internal state up to date before
-#Running setup
-sleep 10
-
-
-cd /usr/share/usergrid/init_instance
-./update_keyspaces.sh
-
-fi
-
-#Always create our graphite dashboard.  Last to write will implicity win, since they will have the most recent cluster state
-cd /usr/share/usergrid/scripts
-JSON_PAYLOAD="$(groovy create_dashboard.groovy rest)"
-
-echo ${JSON_PAYLOAD} > /var/lib/tomcat7/webapps/portal/graphite.json
-
-
-#Post the JSON graphite payload to graphite
-## The json is correct, but this doens't work yet. To get the generated data to save, just hit ELB/portal/graphite.json to set into graphite manually
-##curl -X POST -d "${JSON_PAYLOAD}" "http://${GRAPHITE_SERVER}/dashboard/save/Tomcats"
-
-
-
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh b/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh
deleted file mode 100644
index 480eacf..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-# Install and stop Cassandra
-curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-
-sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
-deb http://debian.datastax.com/community stable main
-EOF
-
-apt-get update
-apt-get -y --force-yes install libcap2 cassandra=1.2.19
-/etc/init.d/cassandra stop
-
-mkdir -p /mnt/data/cassandra
-chown cassandra /mnt/data/cassandra
-
-# Wait for other instances to start up
-cd /usr/share/usergrid/scripts
-groovy registry_register.groovy cassandra
-groovy wait_for_instances.groovy cassandra ${CASSANDRA_NUM_SERVERS}
-
-#TODO make this configurable for the box sizes
-#Set or min/max heap to 8GB
-sed -i.bak s/calculate_heap_sizes\(\)/MAX_HEAP_SIZE=\"8G\"\\nHEAP_NEWSIZE=\"1200M\"\\n\\ncalculate_heap_sizes\(\)/g /etc/cassandra/cassandra-env.sh
-
-pushd /usr/share/usergrid/scripts
-groovy configure_cassandra.groovy > /etc/cassandra/cassandra.yaml
-popd
-
-/etc/init.d/cassandra start
-
-

http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_collectd.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_collectd.sh b/stack/awscluster/src/main/dist/init_instance/install_collectd.sh
deleted file mode 100644
index 20abbf9..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_collectd.sh
+++ /dev/null
@@ -1,350 +0,0 @@
-#!/bin/bash
-
-#
-#  Licensed to the Apache Software Foundation (ASF) under one or more
-#   contributor license agreements.  The ASF licenses this file to You
-#  under the Apache License, Version 2.0 (the "License"); you may not
-#  use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.  For additional information regarding
-#  copyright in this work, please see the NOTICE file in the top level
-#  directory of this distribution.
-#
-
-
-# Install and stop Cassandra
-sudo apt-get update
-sudo apt-get install -y collectd collectd-utils
-
-
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-#Wait for graphite to start
-cd /usr/share/usergrid/scripts
-groovy wait_for_instances.groovy graphite ${GRAPHITE_NUM_SERVERS}
-GRAPHITE_HOST=$(groovy get_first_instance.groovy graphite)
-
-
-
-cat > /etc/collectd/collectd.conf << EOF
-Hostname "${PUBLIC_HOSTNAME}"
-LoadPlugin cpu
-LoadPlugin df
-LoadPlugin entropy
-LoadPlugin interface
-LoadPlugin load
-LoadPlugin logfile
-LoadPlugin memory
-LoadPlugin processes
-LoadPlugin rrdtool
-LoadPlugin users
-LoadPlugin write_graphite
-LoadPlugin java
-
-#ethernet montioring
-<Plugin interface>
-    Interface "eth0"
-    IgnoreSelected false
-</Plugin>
-
-#Send to graphite
-<Plugin write_graphite>
-    <Node "graphing">
-        Host "${GRAPHITE_HOST}"
-        Port "2003"
-        Protocol "tcp"
-        LogSendErrors true
-        Prefix "collectd."
-        StoreRates true
-        AlwaysAppendDS false
-        EscapeCharacter "_"
-    </Node>
-</Plugin>
-
-#Raid 0 monitoring
-<Plugin df>
-    Device "/dev/md0"
-    MountPoint "/mnt"
-    FSType "ext4"
-</Plugin>
-
-<Plugin "logfile">
-  LogLevel "info"
-  File "/var/log/collectd.log"
-  Timestamp true
-</Plugin>
-
-
-<Plugin "java">
-  # required JVM argument is the classpath
-  # JVMArg "-Djava.class.path=/installpath/collectd/share/collectd/java"
-  # Since version 4.8.4 (commit c983405) the API and GenericJMX plugin are
-  # provided as .jar files.
-  JVMARG "-Djava.class.path=/usr/share/collectd/java/generic-jmx.jar:/usr/share/collectd/java/collectd-api.jar"
-  LoadPlugin "org.collectd.java.GenericJMX"
-
-    <Plugin "GenericJMX">
-      ################
-      # MBean blocks #
-      ################
-      # Number of classes being loaded.
-      <MBean "classes">
-        ObjectName "java.lang:type=ClassLoading"
-        #InstancePrefix ""
-        #InstanceFrom ""
-
-        <Value>
-          Type "gauge"
-          InstancePrefix "loaded_classes"
-          #InstanceFrom ""
-          Table false
-          Attribute "LoadedClassCount"
-        </Value>
-      </MBean>
-
-      # Time spent by the JVM compiling or optimizing.
-      <MBean "compilation">
-        ObjectName "java.lang:type=Compilation"
-        #InstancePrefix ""
-        #InstanceFrom ""
-
-        <Value>
-          Type "total_time_in_ms"
-          InstancePrefix "compilation_time"
-          #InstanceFrom ""
-          Table false
-          Attribute "TotalCompilationTime"
-        </Value>
-      </MBean>
-
-      # Garbage collector information
-      <MBean "garbage_collector">
-        ObjectName "java.lang:type=GarbageCollector,*"
-        InstancePrefix "gc-"
-        InstanceFrom "name"
-
-        <Value>
-          Type "invocations"
-          #InstancePrefix ""
-          #InstanceFrom ""
-          Table false
-          Attribute "CollectionCount"
-        </Value>
-
-        <Value>
-          Type "total_time_in_ms"
-          InstancePrefix "collection_time"
-          #InstanceFrom ""
-          Table false
-          Attribute "CollectionTime"
-        </Value>
-
-  #      # Not that useful, therefore commented out.
-  #      <Value>
-  #        Type "threads"
-  #        #InstancePrefix ""
-  #        #InstanceFrom ""
-  #        Table false
-  #        # Demonstration how to access composite types
-  #        Attribute "LastGcInfo.GcThreadCount"
-  #      </Value>
-      </MBean>
-
-      ######################################
-      # Define the "jmx_memory" type as:   #
-      #   jmx_memory  value:GAUGE:0:U      #
-      # See types.db(5) for details.       #
-      ######################################
-
-      # Generic heap/nonheap memory usage.
-      # Standard Java mbeans
-      # Memory usage by memory pool.
-      <MBean "memory_pool">
-        ObjectName "java.lang:type=MemoryPool,*"
-        InstancePrefix "memory_pool-"
-        InstanceFrom "name"
-        <Value>
-          Type "memory"
-          #InstancePrefix ""
-          #InstanceFrom ""
-          Table true
-          Attribute "Usage"
-        </Value>
-      </MBean>
-
-      # Heap memory usage
-      <MBean "memory_heap">
-        ObjectName "java.lang:type=Memory"
-        #InstanceFrom ""
-        InstancePrefix "memory-heap"
-
-        # Creates four values: committed, init, max, used
-        <Value>
-          Type "memory"
-          #InstancePrefix ""
-          #InstanceFrom ""
-          Table true
-          Attribute "HeapMemoryUsage"
-        </Value>
-      </MBean>
-
-      # Non-heap memory usage
-      <MBean "memory_nonheap">
-        ObjectName "java.lang:type=Memory"
-        #InstanceFrom ""
-        InstancePrefix "memory-nonheap"
-
-        # Creates four values: committed, init, max, used
-        <Value>
-          Type "memory"
-          #InstancePrefix ""
-          #InstanceFrom ""
-          Table true
-          Attribute "NonHeapMemoryUsage"
-        </Value>
-      </MBean>
-
-      <MBean "garbage_collector">
-        ObjectName "java.lang:type=GarbageCollector,*"
-        InstancePrefix "gc-"
-        InstanceFrom "name"
-
-        <Value>
-          Type "invocations"
-          #InstancePrefix ""
-          #InstanceFrom ""
-          Table false
-          Attribute "CollectionCount"
-        </Value>
-
-        <Value>
-          Type "total_time_in_ms"
-          InstancePrefix "collection_time"
-          #InstanceFrom ""
-          Table false
-          Attribute "CollectionTime"
-        </Value>
-      </MBean>
-
-      ### MBeans by Catalina / Tomcat ###
-      # The global request processor (summary for each request processor)
-      <MBean "catalina/global_request_processor">
-        ObjectName "Catalina:type=GlobalRequestProcessor,*"
-        InstancePrefix "request_processor-"
-        InstanceFrom "name"
-
-        <Value>
-          Type "io_octets"
-          InstancePrefix "global"
-          #InstanceFrom ""
-          Table false
-          Attribute "bytesReceived"
-          Attribute "bytesSent"
-        </Value>
-
-        <Value>
-          Type "total_requests"
-          InstancePrefix "global"
-          #InstanceFrom ""
-          Table false
-          Attribute "requestCount"
-        </Value>
-
-        <Value>
-          Type "total_time_in_ms"
-          InstancePrefix "global-processing"
-          #InstanceFrom ""
-          Table false
-          Attribute "processingTime"
-        </Value>
-      </MBean>
-
-      # Details for each  request processor
-      <MBean "catalina/detailed_request_processor">
-        ObjectName "Catalina:type=RequestProcessor,*"
-        InstancePrefix "request_processor-"
-        InstanceFrom "worker"
-
-        <Value>
-          Type "io_octets"
-          #InstancePrefix ""
-          InstanceFrom "name"
-          Table false
-          Attribute "bytesReceived"
-          Attribute "bytesSent"
-        </Value>
-
-        <Value>
-          Type "total_requests"
-          #InstancePrefix ""
-          InstanceFrom "name"
-          Table false
-          Attribute "requestCount"
-        </Value>
-
-        <Value>
-          Type "total_time_in_ms"
-          InstancePrefix "processing-"
-          InstanceFrom "name"
-          Table false
-          Attribute "processingTime"
-        </Value>
-      </MBean>
-
-      # Thread pool
-      <MBean "catalina/thread_pool">
-        ObjectName "Catalina:type=ThreadPool,*"
-        InstancePrefix "request_processor-"
-        InstanceFrom "name"
-
-        <Value>
-          Type "threads"
-          InstancePrefix "total"
-          #InstanceFrom ""
-          Table false
-          Attribute "currentThreadCount"
-        </Value>
-
-        <Value>
-          Type "threads"
-          InstancePrefix "running"
-          #InstanceFrom ""
-          Table false
-          Attribute "currentThreadsBusy"
-        </Value>
-      </MBean>
-
-      #####################
-      # Connection blocks #
-      #####################
-      <Connection>
-        ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi"
-        Host "${PUBLIC_HOSTNAME}"
-        Collect "classes"
-        Collect "compilation"
-        Collect "memory_pool"
-        Collect "memory_heap"
-        Collect "memory_nonheap"
-        Collect "garbage_collector"
-        Collect "catalina/global_request_processor"
-        Collect "catalina/detailed_request_processor"
-        Collect "catalina/thread_pool"
-      </Connection>
-    </Plugin>
-</Plugin>
-EOF
-
-service collectd stop
-service collectd start
-
-#Set the hostname into collectd
-sed -i.bak "s/#Hostname \"localhost\"//g" /etc/collectd/collectd.conf
-


[36/50] [abbrv] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1243

Posted by sn...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1243


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

Branch: refs/heads/asf-site
Commit: 47a86701ec020c28e84bf5483a66618f730a64dc
Parents: 54e62f9 4aac68e
Author: Mike Dunker <md...@apigee.com>
Authored: Mon Feb 1 14:33:43 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Mon Feb 1 14:33:43 2016 -0800

----------------------------------------------------------------------
 .../main/resources/usergrid-default.properties  |   5 +
 .../rx/impl/AllApplicationsObservable.java      |   2 -
 .../org/apache/usergrid/utils/MailUtils.java    |   2 +-
 stack/corepersistence/common/pom.xml            |   2 +-
 .../astyanax/MultiKeyColumnNameIterator.java    |   4 +-
 stack/corepersistence/pom.xml                   | 112 ++++++------
 stack/corepersistence/queue/pom.xml             | 179 ++++++++++---------
 .../java-wns/1.2-USERGRID/_remote.repositories  |   7 -
 ...a-wns-1.2-USERGRID-jar-with-dependencies.jar | Bin 1836665 -> 0 bytes
 .../java-wns-1.2-USERGRID-javadoc.jar           | Bin 234289 -> 0 bytes
 .../java-wns-1.2-USERGRID-sources.jar           | Bin 21654 -> 0 bytes
 .../1.2-USERGRID/java-wns-1.2-USERGRID.jar      | Bin 33164 -> 0 bytes
 .../1.2-USERGRID/java-wns-1.2-USERGRID.pom      | 128 -------------
 stack/pom.xml                                   |  12 --
 .../usergrid/rest/AbstractContextResource.java  |  52 +++++-
 .../rest/applications/ApplicationResource.java  |  10 +-
 .../rest/applications/ServiceResource.java      |  12 +-
 .../rest/applications/users/UserResource.java   |  41 ++---
 .../rest/applications/users/UsersResource.java  |  14 +-
 .../rest/management/ManagementResource.java     |   5 +-
 .../organizations/OrganizationResource.java     |  14 +-
 .../rest/management/users/UserResource.java     |  66 ++++---
 .../applications/assets/AwsAssetResourceIT.java |   1 -
 stack/services/pom.xml                          |  18 +-
 .../usergrid/management/ManagementService.java  |  13 ++
 .../usergrid/management/OrganizationConfig.java |  27 +--
 .../management/OrganizationConfigProps.java     |   4 +
 .../cassandra/ManagementServiceImpl.java        |  54 +++++-
 .../cassandra/OrganizationConfigPropsImpl.java  |  45 ++++-
 .../management/export/S3ExportImpl.java         |   1 -
 .../management/importer/S3ImportImpl.java       |   2 -
 .../assets/data/AwsSdkS3BinaryStore.java        |   7 -
 .../usergrid/management/importer/S3Upload.java  |   1 -
 stack/tools/pom.xml                             |  12 ++
 34 files changed, 438 insertions(+), 414 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
----------------------------------------------------------------------
diff --cc stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
index da41b59,1d86631..77d2d1e
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/AbstractContextResource.java
@@@ -180,12 -227,11 +227,11 @@@ public abstract class AbstractContextRe
              sendRedirect(redirect_url);
          }
  
 -        if (logger.isDebugEnabled()) {
 -            logger.debug("Dispatching to viewable with template: {}", template, template_property);
 +        if (logger.isTraceEnabled()) {
 +            logger.trace("Dispatching to viewable with template: {}  property: {}", template, template_property);
          }
  
-         Viewable viewable = new Viewable(template, model);
-         return viewable;
+         return new Viewable(template, model);
      }
  
  

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/services/src/main/java/org/apache/usergrid/management/importer/S3ImportImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/usergrid/blob/47a86701/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
----------------------------------------------------------------------


[28/50] [abbrv] usergrid git commit: USERGRID-1243: logging overhaul, pt. 1

Posted by sn...@apache.org.
USERGRID-1243: logging overhaul, pt. 1


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

Branch: refs/heads/asf-site
Commit: 71fb6100c614e320441e3df07f5c7de680f90403
Parents: 0d4c35f
Author: Mike Dunker <md...@apigee.com>
Authored: Fri Jan 29 18:36:39 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Fri Jan 29 18:36:39 2016 -0800

----------------------------------------------------------------------
 .../batch/service/SchedulerServiceImpl.java     |  4 +-
 .../hazelcast/HazelcastLifecycleMonitor.java    |  8 +-
 .../corepersistence/CpEntityManager.java        | 89 +++++++++-----------
 .../corepersistence/CpEntityManagerFactory.java |  8 +-
 .../corepersistence/CpRelationManager.java      | 71 +++++++---------
 .../usergrid/corepersistence/CpSetup.java       |  2 +-
 .../usergrid/corepersistence/CpWalker.java      |  3 +-
 .../usergrid/corepersistence/GuiceFactory.java  |  4 +-
 .../asyncevents/AmazonAsyncEventService.java    |  7 +-
 .../asyncevents/EventBuilderImpl.java           | 31 +++----
 .../index/ReIndexServiceImpl.java               |  6 +-
 .../search/AbstractElasticSearchFilter.java     |  4 +-
 .../read/search/CandidateEntityFilter.java      |  9 +-
 .../pipeline/read/search/CandidateIdFilter.java |  6 +-
 .../read/search/SearchConnectionFilter.java     |  8 +-
 .../usergrid/count/CassandraCounterStore.java   |  6 +-
 .../usergrid/count/CassandraSubmitter.java      |  4 +-
 .../org/apache/usergrid/mq/CounterQuery.java    |  4 -
 .../main/java/org/apache/usergrid/mq/Query.java | 16 ++--
 .../usergrid/mq/cassandra/CassandraMQUtils.java |  8 +-
 .../usergrid/mq/cassandra/QueueManagerImpl.java | 18 ++--
 .../mq/cassandra/io/AbstractSearch.java         |  5 +-
 .../mq/cassandra/io/ConsumerTransaction.java    | 24 +++---
 .../mq/cassandra/io/NoTransactionSearch.java    |  2 +-
 .../org/apache/usergrid/persistence/Schema.java | 12 +--
 .../cassandra/CassandraPersistenceUtils.java    |  6 +-
 .../persistence/cassandra/CassandraService.java | 64 +++++++-------
 .../cassandra/ConnectionRefImpl.java            |  4 +-
 .../persistence/cassandra/CounterUtils.java     | 26 +++---
 .../usergrid/persistence/cassandra/Setup.java   |  4 -
 .../cassandra/util/Slf4jTraceTagReporter.java   |  4 +-
 .../cassandra/util/TraceTagAspect.java          |  8 +-
 .../cassandra/util/TraceTagManager.java         |  8 +-
 .../usergrid/system/UsergridSystemMonitor.java  |  2 +-
 .../org/apache/usergrid/utils/AESUtils.java     |  8 +-
 .../apache/usergrid/utils/ConversionUtils.java  |  6 +-
 .../org/apache/usergrid/utils/IndexUtils.java   |  4 +-
 .../org/apache/usergrid/utils/JsonUtils.java    | 22 ++---
 .../org/apache/usergrid/utils/ListUtils.java    | 10 +--
 .../org/apache/usergrid/utils/StringUtils.java  |  4 +-
 .../impl/ScopedCacheSerializationImpl.java      |  6 +-
 .../mvcc/stage/delete/MarkCommit.java           |  6 +-
 .../collection/mvcc/stage/delete/MarkStart.java |  4 +-
 .../mvcc/stage/delete/VersionCompact.java       |  2 +-
 .../mvcc/stage/write/RollbackAction.java        |  2 +-
 .../mvcc/stage/write/WriteCommit.java           |  6 +-
 .../mvcc/stage/write/WriteOptimisticVerify.java |  4 +-
 .../collection/mvcc/stage/write/WriteStart.java |  6 +-
 .../mvcc/stage/write/WriteUniqueVerify.java     |  2 +-
 .../MvccEntitySerializationStrategyImpl.java    |  8 +-
 .../MvccLogEntrySerializationStrategyImpl.java  |  6 +-
 .../UniqueValueSerializationStrategyImpl.java   |  7 +-
 .../migration/MvccEntityDataMigrationImpl.java  |  6 +-
 .../astyanax/MultiKeyColumnNameIterator.java    |  4 +-
 .../core/executor/TaskExecutorFactory.java      |  6 +-
 .../core/metrics/MetricsFactoryImpl.java        |  6 +-
 .../migration/schema/MigrationManagerImpl.java  |  5 +-
 .../persistence/core/rx/ObservableIterator.java |  4 +-
 .../persistence/core/rx/OrderedMerge.java       |  6 +-
 .../graph/impl/GraphManagerImpl.java            | 14 +--
 .../graph/impl/stage/EdgeMetaRepairImpl.java    | 46 ++++++----
 .../impl/stage/NodeDeleteListenerImpl.java      | 20 +++--
 .../serialization/impl/EdgesObservableImpl.java | 16 +++-
 .../impl/TargetIdObservableImpl.java            |  4 +-
 .../impl/migration/EdgeDataMigrationImpl.java   |  2 +-
 .../impl/shard/ShardEntryGroup.java             | 18 ++--
 .../shard/impl/NodeShardAllocationImpl.java     |  2 +-
 .../impl/shard/impl/NodeShardCacheImpl.java     |  2 +-
 .../shard/impl/ShardGroupCompactionImpl.java    | 22 +++--
 .../impl/shard/impl/ShardGroupDeletionImpl.java |  2 +-
 .../index/impl/EntityMappingParser.java         |  5 +-
 .../index/impl/EsEntityIndexBatchImpl.java      | 22 +++--
 .../index/impl/EsEntityIndexImpl.java           | 49 +++++++----
 .../index/impl/EsIndexProducerImpl.java         | 18 ++--
 .../persistence/index/impl/EsProvider.java      |  8 +-
 .../index/impl/FailureMonitorImpl.java          |  7 +-
 .../EsIndexMappingMigrationPlugin.java          |  2 +-
 .../index/query/ParsedQueryBuilder.java         |  4 +-
 .../index/utils/ConversionUtils.java            |  6 +-
 .../persistence/index/utils/ListUtils.java      | 10 +--
 .../persistence/index/impl/GeoPagingTest.java   |  1 -
 .../persistence/queue/impl/QueueScopeImpl.java  |  3 -
 .../queue/impl/SNSQueueManagerImpl.java         | 77 +++++++++--------
 .../queue/util/AmazonNotificationUtils.java     | 22 +++--
 stack/pom.xml                                   |  2 +-
 .../usergrid/rest/AbstractContextResource.java  | 10 +--
 .../org/apache/usergrid/rest/RootResource.java  |  8 +-
 .../apache/usergrid/rest/SwaggerServlet.java    | 16 +++-
 .../rest/applications/ApplicationResource.java  | 38 ++++-----
 .../rest/applications/AuthResource.java         | 20 +++--
 .../rest/applications/ServiceResource.java      | 60 ++++++-------
 .../applications/assets/AssetsResource.java     | 34 ++++++--
 .../notifiers/NotifierResource.java             |  4 +-
 .../notifiers/NotifiersResource.java            | 14 +--
 .../rest/applications/queues/QueueResource.java | 40 ++++++---
 .../queues/QueueSubscriberResource.java         | 20 +++--
 .../queues/QueueSubscriptionResource.java       | 20 +++--
 .../rest/applications/users/UserResource.java   | 52 +++++++++---
 .../rest/applications/users/UsersResource.java  | 18 ++--
 .../exceptions/AbstractExceptionMapper.java     |  8 +-
 .../exceptions/NotAllowedExceptionMapper.java   |  3 -
 .../rest/filters/ContentTypeFilter.java         | 18 ++--
 .../rest/filters/JSONPCallbackFilter.java       |  4 +-
 .../rest/management/ManagementResource.java     | 22 +++--
 .../organizations/OrganizationResource.java     | 30 ++++---
 .../organizations/OrganizationsResource.java    |  8 +-
 .../applications/ApplicationResource.java       |  8 +-
 .../applications/ApplicationsResource.java      |  4 +-
 .../applications/imports/ImportsResource.java   |  6 +-
 .../organizations/users/UsersResource.java      |  2 +-
 .../rest/management/users/UserResource.java     |  4 +-
 .../rest/management/users/UsersResource.java    |  4 +-
 .../organizations/OrganizationResource.java     |  4 +-
 .../security/SecuredResourceFilterFactory.java  | 56 ++++++------
 .../security/shiro/RestSecurityManager.java     |  2 +-
 .../shiro/filters/BasicAuthSecurityFilter.java  |  8 +-
 .../ClientCredentialsSecurityFilter.java        |  4 +-
 .../OAuth2AccessTokenSecurityFilter.java        |  4 +-
 .../rest/system/ApplicationsResource.java       |  6 +-
 .../usergrid/rest/system/DatabaseResource.java  |  4 +-
 .../usergrid/rest/system/IndexResource.java     |  4 +-
 .../usergrid/rest/system/MigrateResource.java   |  4 +-
 .../applications/queries/GeoPagingTest.java     |  1 -
 .../rest/applications/queries/OrderByTest.java  |  1 -
 .../rest/test/resource/model/ApiResponse.java   |  3 -
 .../rest/test/resource/model/Collection.java    |  3 -
 .../cassandra/AccountCreationPropsImpl.java     |  2 +-
 .../cassandra/ManagementServiceImpl.java        |  4 +-
 .../AwsPropertiesNotFoundException.java         |  3 -
 .../notifications/ApplicationQueueMessage.java  |  3 -
 .../notifications/NotificationServiceProxy.java |  3 -
 131 files changed, 857 insertions(+), 756 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/batch/service/SchedulerServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/service/SchedulerServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/batch/service/SchedulerServiceImpl.java
index b0a5f08..af933f6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/batch/service/SchedulerServiceImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/batch/service/SchedulerServiceImpl.java
@@ -211,8 +211,8 @@ public class SchedulerServiceImpl implements SchedulerService, JobAccessor, JobR
                 // exception here. We don't want to cause job loss, so leave the job in
                 // the Q.
                 logger.error(
-                        "Unable to retrieve job data for jobname {}, job id {}, stats id {}.  Skipping to avoid job "
-                                + "loss", new Object[] { jobName, jobUuid, statsUuid, e } );
+                        "Unable to retrieve job data for jobname {}, job id {}, stats id {}.  Skipping to avoid job loss",
+                                jobName, jobUuid, statsUuid, e );
             }
         }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/clustering/hazelcast/HazelcastLifecycleMonitor.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/clustering/hazelcast/HazelcastLifecycleMonitor.java b/stack/core/src/main/java/org/apache/usergrid/clustering/hazelcast/HazelcastLifecycleMonitor.java
index 7af19b3..0c436f6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/clustering/hazelcast/HazelcastLifecycleMonitor.java
+++ b/stack/core/src/main/java/org/apache/usergrid/clustering/hazelcast/HazelcastLifecycleMonitor.java
@@ -55,25 +55,25 @@ public class HazelcastLifecycleMonitor implements InstanceListener, MembershipLi
     @Override
     public void instanceCreated( InstanceEvent event ) {
         Instance instance = event.getInstance();
-        logger.info( "Created instance ID: [" + instance.getId() + "] Type: [" + instance.getInstanceType() + "]" );
+        logger.info( "Created instance ID: [{}] Type: [{}]", instance.getId(), instance.getInstanceType() );
     }
 
 
     @Override
     public void instanceDestroyed( InstanceEvent event ) {
         Instance instance = event.getInstance();
-        logger.info( "Destroyed isntance ID: [" + instance.getId() + "] Type: [" + instance.getInstanceType() + "]" );
+        logger.info( "Destroyed instance ID: [{}] Type: [{}]", instance.getId(), instance.getInstanceType() );
     }
 
 
     @Override
     public void memberAdded( MembershipEvent membersipEvent ) {
-        logger.info( "MemberAdded " + membersipEvent );
+        logger.info( "MemberAdded {}", membersipEvent );
     }
 
 
     @Override
     public void memberRemoved( MembershipEvent membersipEvent ) {
-        logger.info( "MemberRemoved " + membersipEvent );
+        logger.info( "MemberRemoved {}", membersipEvent );
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
index d51131e..ed1d2de 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManager.java
@@ -443,9 +443,7 @@ public class CpEntityManager implements EntityManager {
         if ( cpEntity == null ) {
             if ( logger.isDebugEnabled() ) {
                 logger.debug( "FAILED to load entity {}:{} from app {}",
-                    new Object[] {
-                            id.getType(), id.getUuid(), applicationId
-                    } );
+                            id.getType(), id.getUuid(), applicationId );
             }
             return null;
         }
@@ -466,7 +464,7 @@ public class CpEntityManager implements EntityManager {
         }
         catch ( ClassCastException e1 ) {
             logger.error( "Unable to get typed entity: {} of class {}",
-                    new Object[] { entityId, entityClass.getCanonicalName(), e1 } );
+                    entityId, entityClass.getCanonicalName(), e1 );
         }
         return e;
     }
@@ -500,9 +498,8 @@ public class CpEntityManager implements EntityManager {
         if ( cpEntity == null ) {
             if ( logger.isDebugEnabled() ) {
                 logger.debug( "FAILED to load entity {}:{} from  app {}\n",
-                        new Object[] {
                                 id.getType(), id.getUuid(), applicationId
-                        } );
+                        );
             }
             return null;
         }
@@ -558,11 +555,9 @@ public class CpEntityManager implements EntityManager {
 
         if ( logger.isDebugEnabled() ) {
             logger.debug( "Updating entity {}:{}  app {}\n",
-                new Object[] {
                     entityId.getType(),
                     entityId.getUuid(),
-                    appId
-                } );
+                    appId );
         }
 
         //        if ( !UUIDUtils.isTimeBased( entityId.getUuid() ) ) {
@@ -588,9 +583,9 @@ public class CpEntityManager implements EntityManager {
 //            cpEntity = ecm.load( entityId ).toBlockingObservable().last();
 
             if (logger.isDebugEnabled()) {
-                logger.debug("Wrote {}:{} version {}", new Object[]{
+                logger.debug("Wrote {}:{} version {}",
                     cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion()
-                });
+                );
             }
         }
         catch ( WriteUniqueVerifyException wuve ) {
@@ -686,14 +681,14 @@ public class CpEntityManager implements EntityManager {
         }
         catch ( Exception e ) {
             logger.error( "Unable to decrement counter application.collection: {}.",
-                    new Object[] { collection_name, e } );
+                    collection_name, e );
         }
         try {
             incrementAggregateCounters( null, null, null, APPLICATION_ENTITIES, -ONE_COUNT, cassandraTimestamp );
         }
         catch ( Exception e ) {
-            logger.error( "Unable to decrement counter application.entities for collection: {} " + "with timestamp: {}",
-                    new Object[] { collection_name, cassandraTimestamp, e } );
+            logger.error( "Unable to decrement counter application.entities for collection: {} with timestamp: {}",
+                    collection_name, cassandraTimestamp, e );
         }
     }
 
@@ -851,8 +846,8 @@ public class CpEntityManager implements EntityManager {
         Assert.notNull( collectionType, "collectionType is required" );
         Assert.notNull( aliasValue, "aliasValue is required" );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("getAlias() for collection type {} alias {}", collectionType, aliasValue);
+        if (logger.isTraceEnabled()) {
+            logger.trace("getAlias() for collection type {} alias {}", collectionType, aliasValue);
         }
 
         String collName = Schema.defaultCollectionName( collectionType );
@@ -866,9 +861,8 @@ public class CpEntityManager implements EntityManager {
         // add a warn statement so we can see if we have data migration issues.
         // TODO When we get an event system, trigger a repair if this is detected
         if ( results.size() > 1 ) {
-            logger.warn( "More than 1 entity with Owner id '{}' of type '{}' "
-                            + "and alias '{}' exists. This is a duplicate alias, and needs audited",
-                    new Object[] { ownerRef, collectionType, aliasValue } );
+            logger.warn( "More than 1 entity with Owner id '{}' of type '{}' and alias '{}' exists. This is a duplicate alias, and needs audited",
+                    ownerRef, collectionType, aliasValue );
         }
 
         return results.get(aliasValue);
@@ -888,8 +882,8 @@ public class CpEntityManager implements EntityManager {
     public Map<String, EntityRef> getAlias( EntityRef ownerRef, String collName, List<String> aliases )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("getAliases() for collection {} aliases {}", collName, aliases);
+        if (logger.isTraceEnabled()) {
+            logger.trace("getAliases() for collection {} aliases {}", collName, aliases);
         }
 
         Assert.notNull( ownerRef, "ownerRef is required" );
@@ -946,8 +940,8 @@ public class CpEntityManager implements EntityManager {
                 get( entityRef ).getType();
             }
             catch ( Exception e ) {
-                logger.error( "Unable to load entity " + entityRef.getType()
-                        + ":" + entityRef.getUuid(), e );
+                logger.error( "Unable to load entity {}:{}", entityRef.getType(),
+                        entityRef.getUuid(), e );
             }
             if ( entityRef == null ) {
                 throw new EntityNotFoundException(
@@ -1075,19 +1069,17 @@ public class CpEntityManager implements EntityManager {
 
         cpEntity.removeField( propertyName );
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "About to Write {}:{} version {}", new Object[] {
-                cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion()
-            } );
+        if(logger.isTraceEnabled()){
+            logger.trace( "About to Write {}:{} version {}",
+                cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion() );
         }
 
         //TODO: does this call and others like it need a graphite reporter?
         cpEntity = ecm.write( cpEntity ).toBlocking().last();
 
-        if(logger.isDebugEnabled()){
-            logger.debug("Wrote {}:{} version {}", new Object[]{
-                cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion()
-            });
+        if(logger.isTraceEnabled()){
+            logger.trace("Wrote {}:{} version {}",
+                cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion() );
         }
 
         //Adding graphite metrics
@@ -1820,7 +1812,7 @@ public class CpEntityManager implements EntityManager {
                 .addToCollection( COLLECTION_ROLES, entity );
 
         logger.info( "Created role {} with id {} in group {}",
-            new String[] { roleName, entity.getUuid().toString(), groupId.toString() } );
+            roleName, entity.getUuid().toString(), groupId.toString() );
 
         return entity;
     }
@@ -2160,8 +2152,8 @@ public class CpEntityManager implements EntityManager {
             return null;
         }
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "getUserByIdentifier {}:{}", identifier.getType(), identifier.toString() );
+        if(logger.isTraceEnabled()){
+            logger.trace( "getUserByIdentifier {}:{}", identifier.getType(), identifier.toString() );
         }
 
         if ( identifier.isUUID() ) {
@@ -2608,32 +2600,28 @@ public class CpEntityManager implements EntityManager {
 
         // prepare to write and index Core Persistence Entity into default scope
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Writing entity {}:{} into app {}\n",
-                new Object[] {
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Writing entity {}:{} into app {}\n",
                     entity.getType(),
                     entity.getUuid(),
                     applicationId,
-                    CpEntityMapUtils.toMap( cpEntity )
-                } );
+                    CpEntityMapUtils.toMap( cpEntity ));
 
         }
 
         try {
 
-            if(logger.isDebugEnabled()) {
-                logger.debug( "About to Write {}:{} version {}", new Object[] {
-                    cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion()
-                } );
+            if(logger.isTraceEnabled()) {
+                logger.trace( "About to Write {}:{} version {}",
+                    cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion() );
             }
 
             cpEntity = ecm.write( cpEntity ).toBlocking().last();
             entity.setSize(cpEntity.getSize());
 
-            if(logger.isDebugEnabled()) {
-                logger.debug( "Wrote {}:{} version {}", new Object[] {
-                    cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion()
-                } );
+            if(logger.isTraceEnabled()) {
+                logger.trace( "Wrote {}:{} version {}",
+                    cpEntity.getId().getType(), cpEntity.getId().getUuid(), cpEntity.getVersion() );
             }
 
         }
@@ -2672,16 +2660,15 @@ public class CpEntityManager implements EntityManager {
         }
         catch ( Exception e ) {
             logger.error( "Unable to increment counter application.collection: {}.",
-                    new Object[] { collection_name, e } );
+                    collection_name, e );
         }
         try {
             incrementAggregateCounters( null, null, null,
                     APPLICATION_ENTITIES, ONE_COUNT, cassandraTimestamp );
         }
         catch ( Exception e ) {
-            logger.error( "Unable to increment counter application.entities for collection: "
-                    + "{} with timestamp: {}",
-                    new Object[] { collection_name, cassandraTimestamp, e } );
+            logger.error( "Unable to increment counter application.entities for collection: {} with timestamp: {}",
+                    collection_name, cassandraTimestamp, e );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
index e3a0933..0462ac6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java
@@ -226,7 +226,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
 
         if (logger.isDebugEnabled()) {
             logger.debug("New application orgName {} orgAppName {} id {} ",
-                new Object[]{orgName, name, applicationId.toString()});
+                orgName, name, applicationId.toString());
         }
 
         return initializeApplicationV2( orgName, applicationId, appName, properties, forMigration);
@@ -481,7 +481,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
 
         if (logger.isDebugEnabled()) {
             logger.debug("getApplications(): Loading edges of edgeType {} from {}:{}",
-                new Object[]{edgeType, managementId.getType(), managementId.getUuid()});
+                edgeType, managementId.getType(), managementId.getUuid());
         }
 
         Observable<MarkedEdge> edges = gm.loadEdgesFromSource(
@@ -621,7 +621,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
             results = em.searchCollection( em.getApplicationRef(), "propertymaps", q);
 
         } catch (Exception ex) {
-            logger.error("Error getting service property for delete of property: " + name, ex);
+            logger.error("Error getting service property for delete of property: {}", name, ex);
             return false;
         }
 
@@ -639,7 +639,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application
             em.update( propsEntity );
 
         } catch (Exception ex) {
-            logger.error("Error deleting service property orgAppName: " + name, ex);
+            logger.error("Error deleting service property orgAppName: {}", name, ex);
             return false;
         }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
index fa15f8f..cfb8dfa 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
@@ -155,9 +155,9 @@ public class CpRelationManager implements RelationManager {
         this.connectionService = connectionService;
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( "Loading head entity {}:{} from app {}", new Object[] {
+            logger.debug( "Loading head entity {}:{} from app {}",
                 headEntity.getType(), headEntity.getUuid(), applicationScope
-            } );
+            );
         }
 
         Id entityId = new SimpleId( headEntity.getUuid(), headEntity.getType() );
@@ -178,10 +178,9 @@ public class CpRelationManager implements RelationManager {
 
         String edgeTypePrefix = CpNamingUtils.getEdgeTypeFromCollectionName( collectionName );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("getCollectionIndexes(): Searching for edge type prefix {} to target {}:{}", new Object[]{
-                edgeTypePrefix, cpHeadEntity.getId().getType(), cpHeadEntity.getId().getUuid()
-            });
+        if (logger.isTraceEnabled()) {
+            logger.trace("getCollectionIndexes(): Searching for edge type prefix {} to target {}:{}",
+                edgeTypePrefix, cpHeadEntity.getId().getType(), cpHeadEntity.getId().getUuid() );
         }
 
         Observable<Set<String>> types =
@@ -264,10 +263,9 @@ public class CpRelationManager implements RelationManager {
         Id entityId = new SimpleId( entity.getUuid(), entity.getType() );
 
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("isConnectionMember(): Checking for edge type {} from {}:{} to {}:{}", new Object[]{
-                connectionType, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid()
-            });
+        if (logger.isTraceEnabled()) {
+            logger.trace("isConnectionMember(): Checking for edge type {} from {}:{} to {}:{}",
+                connectionType, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid() );
         }
 
         GraphManager gm = managerCache.getGraphManager( applicationScope );
@@ -285,10 +283,9 @@ public class CpRelationManager implements RelationManager {
 
         Id entityId = new SimpleId( entity.getUuid(), entity.getType() );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("isCollectionMember(): Checking for edge type {} from {}:{} to {}:{}", new Object[]{
-                collectionName, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid()
-            });
+        if (logger.isTraceEnabled()) {
+            logger.trace("isCollectionMember(): Checking for edge type {} from {}:{} to {}:{}",
+                collectionName, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid() );
         }
 
         GraphManager gm = managerCache.getGraphManager( applicationScope );
@@ -384,9 +381,8 @@ public class CpRelationManager implements RelationManager {
         }
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( "Loaded member entity {}:{} from   app {}\n   " + " data {}", new Object[] {
-                itemRef.getType(), itemRef.getUuid(), applicationScope, CpEntityMapUtils.toMap( memberEntity )
-            } );
+            logger.debug( "Loaded member entity {}:{} from   app {}\n    data {}",
+                itemRef.getType(), itemRef.getUuid(), applicationScope, CpEntityMapUtils.toMap( memberEntity ) );
         }
 
 
@@ -411,9 +407,8 @@ public class CpRelationManager implements RelationManager {
         } ).doOnCompleted( () -> {
             indexService.queueNewEdge( applicationScope, memberEntity, edge );
             if ( logger.isDebugEnabled() ) {
-                logger.debug( "Added entity {}:{} to collection {}", new Object[] {
-                    itemRef.getUuid().toString(), itemRef.getType(), collectionName
-                } );
+                logger.debug( "Added entity {}:{} to collection {}",
+                    itemRef.getUuid().toString(), itemRef.getType(), collectionName );
             }
         } ).toBlocking().lastOrDefault( null );
 
@@ -423,9 +418,8 @@ public class CpRelationManager implements RelationManager {
 
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( "Added entity {}:{} to collection {}", new Object[] {
-                itemRef.getUuid().toString(), itemRef.getType(), collectionName
-            } );
+            logger.debug( "Added entity {}:{} to collection {}",
+                itemRef.getUuid().toString(), itemRef.getType(), collectionName  );
         }
 
 
@@ -506,9 +500,8 @@ public class CpRelationManager implements RelationManager {
 
 
         if ( logger.isDebugEnabled() ) {
-            logger.debug( "Loading entity to remove from collection " + "{}:{} from app {}\n", new Object[] {
-                itemRef.getType(), itemRef.getUuid(), applicationScope
-            } );
+            logger.debug( "Loading entity to remove from collection {}:{} from app {}\n",
+                itemRef.getType(), itemRef.getUuid(), applicationScope );
         }
 
         Id entityId = new SimpleId( itemRef.getUuid(), itemRef.getType() );
@@ -650,11 +643,8 @@ public class CpRelationManager implements RelationManager {
             Thread.sleep( sleepTime );
         }
         while ( !found && length <= maxLength );
-        if ( logger.isInfoEnabled() ) {
-            logger.info( String
-                .format( "Consistent Search finished in %s,  results=%s, expected=%s...dumping stack", length,
-                    results.size(), expectedResults ) );
-        }
+        logger.info( "Consistent Search finished in {}, results={}, expected={}...dumping stack",
+            length, results.size(), expectedResults );
         return results;
     }
 
@@ -675,12 +665,10 @@ public class CpRelationManager implements RelationManager {
         ConnectionRefImpl connection = new ConnectionRefImpl( headEntity, connectionType, connectedEntityRef );
 
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "createConnection(): " + "Indexing connection type '{}'\n   from source {}:{}]\n"
-                + "   to target {}:{}\n   app {}", new Object[] {
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "createConnection(): Indexing connection type '{}'\n   from source {}:{}]\n   to target {}:{}\n   app {}",
                 connectionType, headEntity.getType(), headEntity.getUuid(), connectedEntityRef.getType(),
-                connectedEntityRef.getUuid(), applicationScope
-            } );
+                connectedEntityRef.getUuid(), applicationScope );
         }
 
         final Id entityId = new SimpleId( connectedEntityRef.getUuid(), connectedEntityRef.getType() );
@@ -758,11 +746,10 @@ public class CpRelationManager implements RelationManager {
         String connectionType = connectionRef.getTargetRefs().getConnectionType();
 
 
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "Deleting connection '{}' from source {}:{} \n   to target {}:{}", new Object[] {
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "Deleting connection '{}' from source {}:{} \n   to target {}:{}",
                 connectionType, connectingEntityRef.getType(), connectingEntityRef.getUuid(),
-                connectedEntityRef.getType(), connectedEntityRef.getUuid()
-            } );
+                connectedEntityRef.getType(), connectedEntityRef.getUuid() );
         }
 
         Id entityId = new SimpleId( connectedEntityRef.getUuid(), connectedEntityRef.getType() );
@@ -859,8 +846,8 @@ public class CpRelationManager implements RelationManager {
         for ( EntityRef ref : containers.keySet() ) {
             Entity entity = em.get( ref );
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("   Found connecting entity: " + entity.getProperties());
+            if (logger.isTraceEnabled()) {
+                logger.trace("   Found connecting entity: " + entity.getProperties());
             }
 
             entities.add( entity );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
index 035518e..e97be3f 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java
@@ -171,7 +171,7 @@ public class CpSetup implements Setup {
 
         // Need this legacy stuff for queues
 
-        logger.info( "Creating static application keyspace " + getApplicationKeyspace() );
+        logger.info( "Creating static application keyspace {}", getApplicationKeyspace() );
 
         cass.createColumnFamily( getApplicationKeyspace(),
             createColumnFamilyDefinition( getApplicationKeyspace(), APPLICATIONS_CF,

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
index b5b27ac..25ff977 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpWalker.java
@@ -80,12 +80,11 @@ public class CpWalker {
 
         if (logger.isDebugEnabled()) {
             logger.debug("Loading edges types from {}:{}\n   scope {}:{}",
-                new Object[]{
                     applicationId.getType(),
                     applicationId.getUuid(),
                     applicationScope.getApplication().getType(),
                     applicationScope.getApplication().getUuid()
-                });
+                );
         }
 
         final SearchByEdgeType.Order order;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
index 3d63ea4..b3ce43b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
@@ -103,7 +103,7 @@ public class GuiceFactory implements FactoryBean<Injector> {
 
             hostsString = hostsString.substring( 0, hostsString.length() - 1 );
 
-            logger.info( "hostsString: " + hostsString );
+            logger.info( "hostsString: {}", hostsString );
 
             Properties cpProps = new Properties();
 
@@ -120,7 +120,7 @@ public class GuiceFactory implements FactoryBean<Injector> {
                 getAndValidateProperty( "cassandra.keyspace.replication" ) );
 
             if (logger.isDebugEnabled()) {
-                logger.debug("Set Cassandra properties for Core Persistence: " + cpProps.toString());
+                logger.debug("Set Cassandra properties for Core Persistence: {}", cpProps.toString());
             }
 
             // Make all Usergrid properties into Core Persistence config

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
index 542e54a..00dc69a 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/AmazonAsyncEventService.java
@@ -358,7 +358,7 @@ public class AmazonAsyncEventService implements AsyncEventService {
                 return new IndexEventResult(Optional.fromNullable(message),
                     Optional.fromNullable(indexOperationMessage), thisEvent.getCreationTime());
             } catch (Exception e) {
-                logger.error("Failed to index message: " + message.getMessageId(), message.getStringBody(), e);
+                logger.error("Failed to index message: {} {}", message.getMessageId(), message.getStringBody(), e);
                 return new IndexEventResult(Optional.absent(), Optional.<IndexOperationMessage>absent(),
                     event.getCreationTime());
             }
@@ -729,9 +729,8 @@ public class AmazonAsyncEventService implements AsyncEventService {
                                                          submitToIndex( indexEventResults );
                                                      if ( messagesToAck == null || messagesToAck.size() == 0 ) {
                                                          logger.error(
-                                                             "No messages came back from the queue operation should "
-                                                                 + "have seen "
-                                                                 + messages.size(), messages );
+                                                             "No messages came back from the queue operation, should have seen {} messages",
+                                                                 messages.size() );
                                                          return messagesToAck;
                                                      }
                                                      if ( messagesToAck.size() < messages.size() ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
index 813436f..4e476db 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/asyncevents/EventBuilderImpl.java
@@ -54,7 +54,7 @@ import rx.Observable;
 @Singleton
 public class EventBuilderImpl implements EventBuilder {
 
-    private static final Logger log = LoggerFactory.getLogger( EventBuilderImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( EventBuilderImpl.class );
 
     private final IndexService indexService;
     private final EntityCollectionManagerFactory entityCollectionManagerFactory;
@@ -79,8 +79,8 @@ public class EventBuilderImpl implements EventBuilder {
         //process the entity immediately
         //only process the same version, otherwise ignore
 
-        if (log.isDebugEnabled()) {
-            log.debug("Indexing  in app scope {} entity {}", entity, applicationScope);
+        if (logger.isDebugEnabled()) {
+            logger.debug("Indexing  in app scope {} entity {}", entity, applicationScope);
         }
 
         return indexService.indexEntity( applicationScope, entity );
@@ -91,9 +91,9 @@ public class EventBuilderImpl implements EventBuilder {
     public Observable<IndexOperationMessage> buildNewEdge( final ApplicationScope applicationScope, final Entity entity,
                                                            final Edge newEdge ) {
 
-        if (log.isDebugEnabled()) {
-            log.debug("Indexing  in app scope {} with entity {} and new edge {}",
-                new Object[]{entity, applicationScope, newEdge});
+        if (logger.isDebugEnabled()) {
+            logger.debug("Indexing  in app scope {} with entity {} and new edge {}",
+                    applicationScope, entity, newEdge);
         }
 
         return indexService.indexEdge( applicationScope, entity, newEdge );
@@ -103,17 +103,14 @@ public class EventBuilderImpl implements EventBuilder {
     @Override
     public Observable<IndexOperationMessage> buildDeleteEdge( final ApplicationScope applicationScope, final Edge
         edge ) {
-        if (log.isDebugEnabled()) {
-            log.debug("Deleting in app scope {} with edge {} }", applicationScope, edge);
+        if (logger.isDebugEnabled()) {
+            logger.debug("Deleting in app scope {} with edge {}", applicationScope, edge);
         }
 
-        final Observable<IndexOperationMessage> edgeObservable =
-            indexService.deleteIndexEdge( applicationScope, edge ).flatMap( batch -> {
-                final GraphManager gm = graphManagerFactory.createEdgeManager( applicationScope );
-                return gm.deleteEdge( edge ).map( deletedEdge -> batch );
-            } );
-
-        return edgeObservable;
+        return indexService.deleteIndexEdge( applicationScope, edge ).flatMap( batch -> {
+            final GraphManager gm = graphManagerFactory.createEdgeManager( applicationScope );
+            return gm.deleteEdge( edge ).map( deletedEdge -> batch );
+        } );
     }
 
 
@@ -122,8 +119,8 @@ public class EventBuilderImpl implements EventBuilder {
 
     @Override
     public EntityDeleteResults buildEntityDelete( final ApplicationScope applicationScope, final Id entityId ) {
-        if (log.isDebugEnabled()) {
-            log.debug("Deleting entity id from index in app scope {} with entityId {} }", applicationScope, entityId);
+        if (logger.isDebugEnabled()) {
+            logger.debug("Deleting entity id from index in app scope {} with entityId {}", applicationScope, entityId);
         }
 
         final EntityCollectionManager ecm = entityCollectionManagerFactory.createCollectionManager( applicationScope );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReIndexServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReIndexServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReIndexServiceImpl.java
index f108f37..da2ef1d 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReIndexServiceImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReIndexServiceImpl.java
@@ -127,9 +127,7 @@ public class ReIndexServiceImpl implements ReIndexService {
             .buffer( indexProcessorFig.getReindexBufferSize())
             .doOnNext(edges -> {
 
-                if(logger.isInfoEnabled()) {
-                    logger.info("Sending batch of {} to be indexed.", edges.size());
-                }
+                logger.info("Sending batch of {} to be indexed.", edges.size());
                 indexService.indexBatch(edges, modifiedSince);
 
             });
@@ -285,7 +283,7 @@ public class ReIndexServiceImpl implements ReIndexService {
 
         if(logger.isDebugEnabled()) {
             logger.debug( "Flushing state for jobId {}, status {}, processedCount {}, lastUpdated {}",
-                new Object[] { jobId, status, processedCount, lastUpdated } );
+                    jobId, status, processedCount, lastUpdated);
         }
 
         mapManager.putString( jobId + MAP_STATUS_KEY, status.name() );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
index b0a6a6b..deba16a 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/AbstractElasticSearchFilter.java
@@ -45,7 +45,7 @@ import java.util.Collection;
  */
 public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id, Candidate, Integer> {
 
-    private static final Logger log = LoggerFactory.getLogger( AbstractElasticSearchFilter.class );
+    private static final Logger logger = LoggerFactory.getLogger( AbstractElasticSearchFilter.class );
 
     private final EntityIndexFactory entityIndexFactory;
     private final IndexLocationStrategyFactory indexLocationStrategyFactory;
@@ -139,7 +139,7 @@ public abstract class AbstractElasticSearchFilter extends AbstractPathFilter<Id,
                     }
                     catch ( Throwable t ) {
 
-                        log.error( "Unable to search candidates", t );
+                        logger.error( "Unable to search candidates", t );
                         subscriber.onError( t );
                     }
                 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
index 449639c..bf444b5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateEntityFilter.java
@@ -211,8 +211,7 @@ public class CandidateEntityFilter extends AbstractFilter<FilterResult<Candidate
             //doesn't exist warn and drop
             if ( entity == null ) {
                 logger.warn(
-                    "Searched and received candidate with entityId {} and version {}, yet was not found in cassandra."
-                        + "  Ignoring since this could be a region sync issue",
+                    "Searched and received candidate with entityId {} and version {}, yet was not found in cassandra.  Ignoring since this could be a region sync issue",
                     candidateId, candidateVersion );
 
 
@@ -234,7 +233,7 @@ public class CandidateEntityFilter extends AbstractFilter<FilterResult<Candidate
             if ( UUIDComparator.staticCompare( entityVersion, candidateVersion ) > 0 || !entity.getEntity().isPresent()) {
 
                 logger.warn( "Deindexing stale entity on edge {} for entityId {} and version {}",
-                    new Object[] { searchEdge, entityId, entityVersion } );
+                        searchEdge, entityId, entityVersion);
                 batch.deindex( searchEdge, entityId, candidateVersion );
                 return;
             }
@@ -244,8 +243,8 @@ public class CandidateEntityFilter extends AbstractFilter<FilterResult<Candidate
             if ( UUIDComparator.staticCompare( candidateVersion, entityVersion ) > 0 ) {
 
                 logger.warn(
-                    "Found a newer version in ES over cassandra for edge {} for entityId {} and version {}.  Repair "
-                        + "should be run", new Object[] { searchEdge, entityId, entityVersion } );
+                    "Found a newer version in ES over cassandra for edge {} for entityId {} and version {}.  Repair should be run",
+                        searchEdge, entityId, entityVersion);
 
                   //TODO trigger an audit after a fail count where we explicitly try to repair from other regions
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
index 51cc0d0..96849f8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/CandidateIdFilter.java
@@ -173,7 +173,7 @@ public class CandidateIdFilter extends AbstractFilter<FilterResult<Candidate>, F
             if ( UUIDComparator.staticCompare( entityVersion, candidateVersion ) > 0 ) {
 
                 logger.warn( "Deindexing stale entity on edge {} for entityId {} and version {}",
-                    new Object[] { searchEdge, entityId, entityVersion } );
+                        searchEdge, entityId, entityVersion );
                 batch.deindex( searchEdge, entityId, entityVersion );
                 return;
             }
@@ -183,8 +183,8 @@ public class CandidateIdFilter extends AbstractFilter<FilterResult<Candidate>, F
             if ( UUIDComparator.staticCompare( candidateVersion, entityVersion ) > 0 ) {
 
                 logger.warn(
-                    "Found a newer version in ES over cassandra for edge {} for entityId {} and version {}.  Repair "
-                        + "should be run", new Object[] { searchEdge, entityId, entityVersion } );
+                    "Found a newer version in ES over cassandra for edge {} for entityId {} and version {}.  Repair should be run",
+                        searchEdge, entityId, entityVersion );
             }
 
             //they're the same add it

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
index 27a12a8..d484ade 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/pipeline/read/search/SearchConnectionFilter.java
@@ -60,16 +60,12 @@ public class SearchConnectionFilter extends AbstractElasticSearchFilter {
 
     @Override
     protected SearchTypes getSearchTypes() {
-        final SearchTypes searchTypes = SearchTypes.fromNullableTypes( connectedEntityType.orNull() );
-
-        return searchTypes;
+        return SearchTypes.fromNullableTypes( connectedEntityType.orNull() );
     }
 
 
     @Override
     protected SearchEdge getSearchEdge( final Id id ) {
-        final SearchEdge searchEdge = createConnectionSearchEdge( id, connectionName );
-
-        return searchEdge;
+        return createConnectionSearchEdge( id, connectionName );
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/count/CassandraCounterStore.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/count/CassandraCounterStore.java b/stack/core/src/main/java/org/apache/usergrid/count/CassandraCounterStore.java
index ba32a01..fb4a7dc 100644
--- a/stack/core/src/main/java/org/apache/usergrid/count/CassandraCounterStore.java
+++ b/stack/core/src/main/java/org/apache/usergrid/count/CassandraCounterStore.java
@@ -41,7 +41,7 @@ import static org.apache.usergrid.persistence.cassandra.Serializers.*;
  * @author zznate
  */
 public class CassandraCounterStore implements CounterStore {
-    private static final Logger log = LoggerFactory.getLogger( CassandraCounterStore.class );
+    private static final Logger logger = LoggerFactory.getLogger( CassandraCounterStore.class );
 
     // keep track of exceptions thrown in scheduler so we can reduce noise in logs
     private Map<String, Integer> counterInsertFailures = new HashMap<String, Integer>();
@@ -84,14 +84,14 @@ public class CassandraCounterStore implements CounterStore {
             // errors here happen a lot on shutdown, don't fill the logs with them
             String error = e.getClass().getCanonicalName();
             if (counterInsertFailures.get( error ) == null) {
-                log.error( "CounterStore insert failed, first instance", e);
+                logger.error( "CounterStore insert failed, first instance", e);
                 counterInsertFailures.put( error, 1);
 
             } else {
                 int count = counterInsertFailures.get(error) + 1;
                 counterInsertFailures.put(error, count);
 
-                log.error(error + " caused CounterStore insert failure, count =  " + count, e);
+                logger.error("{} caused CounterStore insert failure, count = {}", error, count, e);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/count/CassandraSubmitter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/count/CassandraSubmitter.java b/stack/core/src/main/java/org/apache/usergrid/count/CassandraSubmitter.java
index 5323e1c..7fc7fa1 100644
--- a/stack/core/src/main/java/org/apache/usergrid/count/CassandraSubmitter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/count/CassandraSubmitter.java
@@ -39,7 +39,7 @@ import com.yammer.metrics.core.TimerContext;
  * @author zznate
  */
 public class CassandraSubmitter implements BatchSubmitter {
-    private static final Logger log = LoggerFactory.getLogger( CassandraSubmitter.class );
+    private static final Logger logger = LoggerFactory.getLogger( CassandraSubmitter.class );
 
     private final int threadCount = 3;
     private final CassandraCounterStore cassandraCounterStore;
@@ -72,7 +72,7 @@ public class CassandraSubmitter implements BatchSubmitter {
 
     @Override
     public void shutdown() {
-        log.warn( "Shutting down CassandraSubmitter" );
+        logger.warn( "Shutting down CassandraSubmitter" );
         executor.shutdown();
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/CounterQuery.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/CounterQuery.java b/stack/core/src/main/java/org/apache/usergrid/mq/CounterQuery.java
index c29c08c..1ce06bc 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/CounterQuery.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/CounterQuery.java
@@ -21,8 +21,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.usergrid.mq.Query.CounterFilterPredicate;
 import org.apache.usergrid.persistence.index.query.CounterResolution;
 import org.apache.usergrid.utils.JsonUtils;
@@ -36,8 +34,6 @@ import static org.apache.usergrid.utils.MapUtils.toMapList;
 
 public class CounterQuery {
 
-    public static final Logger logger = LoggerFactory.getLogger( CounterQuery.class );
-
     public static final int DEFAULT_MAX_RESULTS = 10;
 
     private int limit = 0;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/Query.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/Query.java b/stack/core/src/main/java/org/apache/usergrid/mq/Query.java
index 674695c..bde0315 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/Query.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/Query.java
@@ -158,7 +158,7 @@ public class Query {
             return q;
         }
         catch ( Exception e ) {
-            logger.error( "Unable to parse \"" + ql + "\"", e );
+            logger.error( "Unable to parse \"{}\"", ql, e );
         }
         return null;
     }
@@ -584,7 +584,7 @@ public class Query {
         for ( SortPredicate s : sortPredicates ) {
             if ( s.getPropertyName().equals( propertyName ) ) {
                 logger.error(
-                        "Attempted to set sort order for " + s.getPropertyName() + " more than once, discardng..." );
+                        "Attempted to set sort order for {} more than once, discarding...", s.getPropertyName() );
                 return this;
             }
         }
@@ -600,7 +600,7 @@ public class Query {
         for ( SortPredicate s : sortPredicates ) {
             if ( s.getPropertyName().equals( sort.getPropertyName() ) ) {
                 logger.error(
-                        "Attempted to set sort order for " + s.getPropertyName() + " more than once, discardng..." );
+                        "Attempted to set sort order for {} more than once, discarding...", s.getPropertyName() );
                 return this;
             }
         }
@@ -642,8 +642,7 @@ public class Query {
             for ( FilterPredicate f : filterPredicates ) {
                 if ( f.getPropertyName().equals( propertyName ) && f.getValue().equals( value ) && "*"
                         .equals( value ) ) {
-                    logger.error( "Attempted to set wildcard wilder for " + f.getPropertyName()
-                            + " more than once, discardng..." );
+                    logger.error( "Attempted to set wildcard wilder for {} more than once, discarding...", f.getPropertyName());
                     return this;
                 }
             }
@@ -676,8 +675,7 @@ public class Query {
                     if ( f.getPropertyName().equals( filter.getPropertyName() ) && f.getValue()
                                                                                     .equals( filter.getValue() ) && "*"
                             .equals( filter.getValue() ) ) {
-                        logger.error( "Attempted to set wildcard wilder for " + f.getPropertyName()
-                                + " more than once, discardng..." );
+                        logger.error( "Attempted to set wildcard wilder for {} more than once, discarding...", f.getPropertyName());
                         return this;
                     }
                 }
@@ -685,7 +683,7 @@ public class Query {
             }
         }
         else {
-            logger.error( "Unable to add filter to query: " + filterStr );
+            logger.error( "Unable to add filter to query: {}", filterStr );
         }
         return this;
     }
@@ -1518,7 +1516,7 @@ public class Query {
                 return normalize( filter );
             }
             catch ( Exception e ) {
-                logger.error( "Unable to parse \"" + str + "\"", e );
+                logger.error( "Unable to parse \"{}\"", str, e );
             }
             return null;
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/CassandraMQUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/CassandraMQUtils.java b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/CassandraMQUtils.java
index 0c327df..d48b6d2 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/CassandraMQUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/CassandraMQUtils.java
@@ -62,11 +62,9 @@ public class CassandraMQUtils {
     public static void logBatchOperation( String operation, Object columnFamily, Object key, Object columnName,
                                           Object columnValue, long timestamp ) {
 
-        if ( batch_logger.isInfoEnabled() ) {
-            batch_logger.info( "{} cf={} key={} name={} value={}", new Object[] {
-                    operation, columnFamily, key, columnName, columnValue
-            } );
-        }
+        batch_logger.info( "{} cf={} key={} name={} value={}",
+                operation, columnFamily, key, columnName, columnValue
+        );
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueueManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueueManagerImpl.java
index 5ec4971..7a85eb6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueueManagerImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/QueueManagerImpl.java
@@ -212,7 +212,7 @@ public class QueueManagerImpl implements QueueManager {
                 createColumn( QUEUE_NEWEST, messageUuid, newest_ts, se, ue ) );
 
         if (logger.isDebugEnabled()) {
-            logger.debug("Writing UUID {} with oldest timestamp {} and newest with timestamp {}", new Object[]{messageUuid, oldest_ts, newest_ts});
+            logger.debug("Writing UUID {} with oldest timestamp {} and newest with timestamp {}", messageUuid, oldest_ts, newest_ts);
         }
 
         batch.addInsertion( bytebuffer( getQueueId( "/" ) ), QUEUE_SUBSCRIBERS.getColumnFamily(),
@@ -1042,7 +1042,9 @@ public class QueueManagerImpl implements QueueManager {
     public QueueIndexUpdate batchUpdateQueueIndex( QueueIndexUpdate indexUpdate, UUID subcriptionQueueId )
             throws Exception {
 
-        logger.info( "batchUpdateQueueIndex" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("batchUpdateQueueIndex");
+        }
 
         Mutator<ByteBuffer> batch = indexUpdate.getBatch();
 
@@ -1104,11 +1106,9 @@ public class QueueManagerImpl implements QueueManager {
                         setGreaterThanEqualityFlag( new DynamicComposite( entryName ) ).serialize(), false,
                         INDEX_ENTRY_LIST_COUNT ).execute().get().getColumns();
 
-        if ( logger.isInfoEnabled() ) {
-            logger.info( "Found {} previous index entries for {} of entity {}", new Object[] {
-                    entries.size(), entryName, queueId
-            } );
-        }
+        logger.info( "Found {} previous index entries for {} of entity {}",
+                entries.size(), entryName, queueId
+        );
 
         // Delete all matching entries from entry list
         for ( HColumn<ByteBuffer, ByteBuffer> entry : entries ) {
@@ -1275,7 +1275,9 @@ public class QueueManagerImpl implements QueueManager {
                     composite_cursor = "";
                 }
                 int hashCode = slice.hashCode();
-                logger.info( "Cursor hash code: {} ", hashCode );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Cursor hash code: {} ", hashCode);
+                }
                 composite_cursor += hashCode + ":" + r.getCursor();
             }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/AbstractSearch.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/AbstractSearch.java b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/AbstractSearch.java
index 7e5cbc0..a1d36a9 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/AbstractSearch.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/AbstractSearch.java
@@ -203,7 +203,7 @@ public abstract class AbstractSearch implements QueueSearch {
                 && comparator.compare( start, finish_uuid ) < 1 ) {
 
             logger.info( "Starting search with start UUID {}, finish UUID {}, and reversed {}",
-                    new Object[] { lastValue, finish_uuid, params.reversed } );
+                    lastValue, finish_uuid, params.reversed );
 
 
             SliceQuery<ByteBuffer, UUID, ByteBuffer> q = createSliceQuery( ko, be, ue, be );
@@ -299,9 +299,8 @@ public abstract class AbstractSearch implements QueueSearch {
 
         if ( logger.isDebugEnabled() ) {
             logger.debug( "Writing last client id pointer of '{}' for queue '{}' and consumer '{}' with timestamp '{}",
-                    new Object[] {
                             lastReturnedId, queueId, consumerId, colTimestamp
-                    } );
+                    );
         }
 
         mutator.addInsertion( consumerId, CONSUMERS.getColumnFamily(),

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/ConsumerTransaction.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/ConsumerTransaction.java b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/ConsumerTransaction.java
index 17d4934..ea8d3fa 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/ConsumerTransaction.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/ConsumerTransaction.java
@@ -127,8 +127,8 @@ public class ConsumerTransaction extends NoTransactionSearch
         // Generate a new expiration and insert it
         UUID expirationId = UUIDUtils.newTimeUUID( now + query.getTimeout() );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Writing new timeout at '{}' for message '{}'", expirationId, messageId);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Writing new timeout at '{}' for message '{}'", expirationId, messageId);
         }
 
 
@@ -350,13 +350,13 @@ public class ConsumerTransaction extends NoTransactionSearch
         for ( HColumn<UUID, UUID> column : cassResults )
         {
 
-            if ( logger.isDebugEnabled() )
+            if ( logger.isTraceEnabled() )
             {
-                logger.debug( "Adding uuid '{}' for original message '{}' to results for queue '{}' and consumer '{}'",
-                        new Object[] { column.getName(), column.getValue(), queueId, consumerId } );
-                logger.debug( "Max timeuuid : '{}', Current timeuuid : '{}', comparison '{}'", new Object[] {
+                logger.trace( "Adding uuid '{}' for original message '{}' to results for queue '{}' and consumer '{}'",
+                        column.getName(), column.getValue(), queueId, consumerId );
+                logger.trace( "Max timeuuid : '{}', Current timeuuid : '{}', comparison '{}'",
                         startTimeUUID, column.getName(), UUIDUtils.compare( startTimeUUID, column.getName() )
-                } );
+                );
             }
 
             results.add( new TransactionPointer( column.getName(), column.getValue() ) );
@@ -400,11 +400,11 @@ public class ConsumerTransaction extends NoTransactionSearch
         {
             UUID pointer = pointers.get( i ).expiration;
 
-            if ( logger.isDebugEnabled() )
+            if ( logger.isTraceEnabled() )
             {
-                logger.debug( "Removing transaction pointer '{}' for queue '{}' and consumer '{}'", new Object[] {
+                logger.trace( "Removing transaction pointer '{}' for queue '{}' and consumer '{}'",
                         pointer, queueId, consumerId
-                } );
+                );
             }
 
             mutator.addDeletion( key, CONSUMER_QUEUE_TIMEOUTS.getColumnFamily(), pointer, ue, cass.createTimestamp() );
@@ -445,8 +445,8 @@ public class ConsumerTransaction extends NoTransactionSearch
             UUID expirationId = UUIDUtils.newTimeUUID( futureTimeout, counter );
             UUID messageId = message.getUuid();
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Writing new timeout at '{}' for message '{}'", expirationId, messageId);
+            if (logger.isTraceEnabled()) {
+                logger.trace("Writing new timeout at '{}' for message '{}'", expirationId, messageId);
             }
 
             mutator.addInsertion( key, CONSUMER_QUEUE_TIMEOUTS.getColumnFamily(),

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/NoTransactionSearch.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/NoTransactionSearch.java b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/NoTransactionSearch.java
index aa535ef..4e8624f 100644
--- a/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/NoTransactionSearch.java
+++ b/stack/core/src/main/java/org/apache/usergrid/mq/cassandra/io/NoTransactionSearch.java
@@ -89,7 +89,7 @@ public class NoTransactionSearch extends AbstractSearch
         if ( logger.isDebugEnabled() )
         {
             logger.debug( "Last message id is '{}' for queueId '{}' and clientId '{}'",
-                    new Object[] { lastReadMessageId, queueId, consumerId } );
+                    lastReadMessageId, queueId, consumerId );
         }
 
         return new SearchParam( lastReadMessageId, false, lastReadMessageId != null, query.getLimit( DEFAULT_READ ) );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/Schema.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/Schema.java b/stack/core/src/main/java/org/apache/usergrid/persistence/Schema.java
index 0da0334..6b8f139 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/Schema.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/Schema.java
@@ -559,7 +559,7 @@ public class Schema implements SchemaManager {
             return schemaNode;
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get schema for entity type " + entityType, e );
+            logger.error( "Unable to get schema for entity type {}", entityType, e );
         }
         return null;
     }
@@ -1480,7 +1480,7 @@ public class Schema implements SchemaManager {
                         return;
                     }
                     catch ( Exception e ) {
-                        logger.error( "Unable to set entity property " + property, e );
+                        logger.error( "Unable to set entity property {}", property, e );
                     }
                 }
                 try {
@@ -1488,7 +1488,7 @@ public class Schema implements SchemaManager {
                     return;
                 }
                 catch ( Exception e ) {
-                    logger.error( "Unable to set entity property " + property, e );
+                    logger.error( "Unable to set entity property {}", property, e );
                 }
             }
         }
@@ -1503,7 +1503,7 @@ public class Schema implements SchemaManager {
                 return descriptor.getReadMethod().invoke( entity );
             }
             catch ( Exception e ) {
-                logger.error( "Unable to get entity property " + property, e );
+                logger.error( "Unable to get entity property {}", property, e );
             }
             return null;
         }
@@ -1535,7 +1535,7 @@ public class Schema implements SchemaManager {
                     }
                 }
                 catch ( Exception e ) {
-                    logger.error( "Unable to get entity property " + property, e );
+                    logger.error( "Unable to get entity property {}", property, e );
                 }
             }
         }
@@ -1607,7 +1607,7 @@ public class Schema implements SchemaManager {
                 for ( String property_name : required_properties ) {
 
                     if ( !columns.containsKey( property_name ) ) {
-                        logger.error( "Entity (" + entityType + ") missing required property: " + property_name,
+                        logger.error( "Entity ({}) missing required property: {}", entityType, property_name,
                                 new Throwable() );
                         return null;
                     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraPersistenceUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraPersistenceUtils.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraPersistenceUtils.java
index c94bf59..813fbe8 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraPersistenceUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraPersistenceUtils.java
@@ -103,7 +103,7 @@ public class CassandraPersistenceUtils {
 
         if ( batch_logger.isDebugEnabled() ) {
             batch_logger.debug( "{} cf={} key={} name={} value={}",
-                    new Object[] { operation, columnFamily, key, columnName, columnValue } );
+                    operation, columnFamily, key, columnName, columnValue );
         }
     }
 
@@ -225,8 +225,8 @@ public class CassandraPersistenceUtils {
         }
         UUID uuid = UUID.nameUUIDFromBytes( keyStr.getBytes() ); //UUIDUtils.newTimeUUID(); //UUID.nameUUIDFromBytes( keyStr.getBytes() );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Key {} equals UUID {}", keyStr, uuid);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Key {} equals UUID {}", keyStr, uuid);
         }
 
         return uuid;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraService.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraService.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraService.java
index b0226b7..2431533 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraService.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraService.java
@@ -117,7 +117,7 @@ public class CassandraService {
         this.cluster = cluster;
         chc = cassandraHostConfigurator;
         lockManager = injector.getInstance( LockManager.class );
-        db_logger.info( "" + cluster.getKnownPoolHosts( false ) );
+        db_logger.info( "{}", cluster.getKnownPoolHosts( false ) );
         //getInjector
         applicationKeyspace  = injector.getInstance( CassandraFig.class ).getApplicationKeyspace();
     }
@@ -385,8 +385,8 @@ public class CassandraService {
                                                      Serializer<N> nameSerializer, Serializer<V> valueSerializer )
             throws Exception {
 
-        if ( db_logger.isInfoEnabled() ) {
-            db_logger.info( "getColumns cf={} key={}", columnFamily, key );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "getColumns cf={} key={}", columnFamily, key );
         }
 
         SliceQuery<ByteBuffer, N, V> q = createSliceQuery( ko, be, nameSerializer, valueSerializer );
@@ -397,12 +397,12 @@ public class CassandraService {
         ColumnSlice<N, V> slice = r.get();
         List<HColumn<N, V>> results = slice.getColumns();
 
-        if ( db_logger.isInfoEnabled() ) {
+        if ( db_logger.isTraceEnabled() ) {
             if ( results == null ) {
-                db_logger.info( "getColumns returned null" );
+                db_logger.trace( "getColumns returned null" );
             }
             else {
-                db_logger.info( "getColumns returned {} columns", results.size() );
+                db_logger.trace( "getColumns returned {} columns", results.size() );
             }
         }
 
@@ -445,7 +445,7 @@ public class CassandraService {
                                                              Object finish, int count, boolean reversed )
             throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
+        if ( db_logger.isTraceEnabled() ) {
             db_logger.debug( "getColumns cf=" + columnFamily + " key=" + key + " start=" + start + " finish=" + finish
                     + " count=" + count + " reversed=" + reversed );
         }
@@ -485,16 +485,12 @@ public class CassandraService {
         ColumnSlice<ByteBuffer, ByteBuffer> slice = r.get();
         List<HColumn<ByteBuffer, ByteBuffer>> results = slice.getColumns();
 
-        if ( db_logger.isDebugEnabled() ) {
+        if ( db_logger.isTraceEnabled() ) {
             if ( results == null ) {
-                if (logger.isDebugEnabled()) {
-                    db_logger.debug("getColumns returned null");
-                }
+                db_logger.trace("getColumns returned null");
             }
             else {
-                if (logger.isDebugEnabled()) {
-                    db_logger.debug("getColumns returned " + results.size() + " columns");
-                }
+                db_logger.trace("getColumns returned {} columns", results.size());
             }
         }
 
@@ -518,8 +514,8 @@ public class CassandraService {
                                                   Serializer<N> nameSerializer, Serializer<V> valueSerializer )
             throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
-            db_logger.debug( "getColumns cf=" + columnFamily + " key=" + key + " names=" + columnNames );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "getColumns cf={} key={} names={}", columnFamily, key, columnNames );
         }
 
         SliceQuery<ByteBuffer, N, V> q = createSliceQuery( ko, be, nameSerializer, valueSerializer );
@@ -533,12 +529,12 @@ public class CassandraService {
         ColumnSlice<N, V> slice = r.get();
         List<HColumn<N, V>> results = slice.getColumns();
 
-        if ( db_logger.isInfoEnabled() ) {
+        if ( db_logger.isTraceEnabled() ) {
             if ( results == null ) {
-                db_logger.info( "getColumns returned null" );
+                db_logger.trace( "getColumns returned null" );
             }
             else {
-                db_logger.info( "getColumns returned " + results.size() + " columns" );
+                db_logger.trace( "getColumns returned {} columns", results.size());
             }
         }
 
@@ -562,8 +558,8 @@ public class CassandraService {
                                            Serializer<N> nameSerializer, Serializer<V> valueSerializer )
             throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
-            db_logger.debug( "getColumn cf=" + columnFamily + " key=" + key + " column=" + column );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "getColumn cf={} key={} column={}", columnFamily, key, column );
         }
 
     /*
@@ -577,9 +573,9 @@ public class CassandraService {
                 q.setKey( bytebuffer( key ) ).setName( column ).setColumnFamily( columnFamily.toString() ).execute();
         HColumn<N, V> result = r.get();
 
-        if ( db_logger.isInfoEnabled() ) {
+        if ( db_logger.isTraceEnabled() ) {
             if ( result == null ) {
-                db_logger.info( "getColumn returned null" );
+                db_logger.trace( "getColumn returned null" );
             }
         }
 
@@ -591,8 +587,8 @@ public class CassandraService {
                                                 Serializer<N> nameSerializer, Serializer<V> valueSerializer )
             throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
-            db_logger.debug( "getColumn cf=" + columnFamily + " key=" + key + " column=" + columns );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "getColumn cf={} key={} column={}", columnFamily, key, columns );
         }
 
     /*
@@ -607,9 +603,9 @@ public class CassandraService {
                  .execute();
         ColumnSlice<N, V> result = r.get();
 
-        if ( db_logger.isDebugEnabled() ) {
+        if ( db_logger.isTraceEnabled() ) {
             if ( result == null ) {
-                db_logger.debug( "getColumn returned null" );
+                db_logger.trace( "getColumn returned null" );
             }
         }
 
@@ -620,9 +616,8 @@ public class CassandraService {
     public void setColumn( Keyspace ko, Object columnFamily, Object key, Object columnName, Object columnValue,
                            int ttl ) throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
-            db_logger.debug( "setColumn cf=" + columnFamily + " key=" + key + " name=" + columnName + " value="
-                    + columnValue );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "setColumn cf={} key={} name={} value={}", columnFamily, key, columnName, columnValue );
         }
 
         ByteBuffer name_bytes = null;
@@ -655,9 +650,8 @@ public class CassandraService {
 
     public void setColumns( Keyspace ko, Object columnFamily, byte[] key, Map<?, ?> map, int ttl ) throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
-            db_logger.debug( "setColumns cf=" + columnFamily + " key=" + key + " map=" + map + ( ttl != 0 ?
-                                                                                                 " ttl=" + ttl : "" ) );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "setColumns cf={} key={} map={} ttl={}", columnFamily, key, map, ttl);
         }
 
         Mutator<ByteBuffer> m = CountingMutator.createFlushingMutator( ko, be );
@@ -718,8 +712,8 @@ public class CassandraService {
      */
     public void deleteRow( Keyspace ko, final Object columnFamily, final Object key ) throws Exception {
 
-        if ( db_logger.isDebugEnabled() ) {
-            db_logger.debug( "deleteRow cf=" + columnFamily + " key=" + key );
+        if ( db_logger.isTraceEnabled() ) {
+            db_logger.trace( "deleteRow cf={} key={}", columnFamily, key );
         }
 
         CountingMutator.createFlushingMutator( ko, be ).addDeletion( bytebuffer( key ), columnFamily.toString() ).execute();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/ConnectionRefImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/ConnectionRefImpl.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/ConnectionRefImpl.java
index 1ad9413..f6d2e87 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/ConnectionRefImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/ConnectionRefImpl.java
@@ -549,11 +549,11 @@ public class ConnectionRefImpl implements ConnectionRef {
 
             byte[] raw_id = byteStream.toByteArray();
 
-            logger.info( "raw connection index id: " + Hex.encodeHexString( raw_id ) );
+            logger.info( "raw connection index id: {}", Hex.encodeHexString( raw_id ) );
 
             uuid = UUID.nameUUIDFromBytes( raw_id );
 
-            logger.info( "connection index uuid: " + uuid );
+            logger.info( "connection index uuid: {}", uuid );
         }
         catch ( IOException e ) {
             logger.error( "Unable to create connection index UUID", e );


[23/50] [abbrv] usergrid git commit: Remove local dependency on java-was.

Posted by sn...@apache.org.
Remove local dependency on java-was.


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

Branch: refs/heads/asf-site
Commit: 6066ea3188d596856f2949d797e7b0f8d6671429
Parents: f5d0153
Author: Michael Russo <mi...@gmail.com>
Authored: Fri Jan 29 16:07:07 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Fri Jan 29 16:07:07 2016 -0800

----------------------------------------------------------------------
 .../java-wns/1.2-USERGRID/_remote.repositories  |   7 -
 ...a-wns-1.2-USERGRID-jar-with-dependencies.jar | Bin 1836665 -> 0 bytes
 .../java-wns-1.2-USERGRID-javadoc.jar           | Bin 234289 -> 0 bytes
 .../java-wns-1.2-USERGRID-sources.jar           | Bin 21654 -> 0 bytes
 .../1.2-USERGRID/java-wns-1.2-USERGRID.jar      | Bin 33164 -> 0 bytes
 .../1.2-USERGRID/java-wns-1.2-USERGRID.pom      | 128 -------------------
 stack/services/pom.xml                          |   5 +-
 7 files changed, 2 insertions(+), 138 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/_remote.repositories
----------------------------------------------------------------------
diff --git a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/_remote.repositories b/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/_remote.repositories
deleted file mode 100644
index dc98831..0000000
--- a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/_remote.repositories
+++ /dev/null
@@ -1,7 +0,0 @@
-#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
-#Mon Nov 09 10:18:48 MST 2015
-java-wns-1.2-USERGRID.pom>=
-java-wns-1.2-USERGRID-javadoc.jar>=
-java-wns-1.2-USERGRID-jar-with-dependencies.jar>=
-java-wns-1.2-USERGRID.jar>=
-java-wns-1.2-USERGRID-sources.jar>=

http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-jar-with-dependencies.jar
----------------------------------------------------------------------
diff --git a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-jar-with-dependencies.jar b/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-jar-with-dependencies.jar
deleted file mode 100644
index 785c1ab..0000000
Binary files a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-jar-with-dependencies.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-javadoc.jar b/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-javadoc.jar
deleted file mode 100644
index 03af259..0000000
Binary files a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-sources.jar
----------------------------------------------------------------------
diff --git a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-sources.jar b/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-sources.jar
deleted file mode 100644
index 9a0fb2b..0000000
Binary files a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.jar
----------------------------------------------------------------------
diff --git a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.jar b/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.jar
deleted file mode 100644
index 5e073ad..0000000
Binary files a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.pom
----------------------------------------------------------------------
diff --git a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.pom b/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.pom
deleted file mode 100644
index 40a6e55..0000000
--- a/stack/m2/repository/com/github/fernandospr/java-wns/1.2-USERGRID/java-wns-1.2-USERGRID.pom
+++ /dev/null
@@ -1,128 +0,0 @@
-<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>
-	<groupId>com.github.fernandospr</groupId>
-	<artifactId>java-wns</artifactId>
-	<packaging>jar</packaging>
-	<version>1.2-USERGRID</version>
-	<name>java-wns</name>
-	<description>Library to send notifications using WNS</description>
-	<url>https://github.com/fernandospr/java-wns</url>
-	<licenses>
-		<license>
-			<name>New BSD License</name>
-			<url>http://www.opensource.org/licenses/bsd-license.php</url>
-			<distribution>repo</distribution>
-		</license>
-	</licenses>
-
-	<!-- Inherit the Sonatype OSS deployment configuration -->
-	<parent>
-		<groupId>org.sonatype.oss</groupId>
-		<artifactId>oss-parent</artifactId>
-		<version>7</version>
-	</parent>
-
-	<scm>
-		<connection>scm:git:git@github.com:fernandospr/java-wns.git</connection>
-		<url>scm:git:git@github.com:fernandospr/java-wns.git</url>
-		<developerConnection>scm:git:git@github.com:fernandospr/java-wns.git</developerConnection>
-	</scm>
-	<developers>
-		<developer>
-			<id>fernandospr</id>
-			<name>Fernando Sproviero</name>
-		</developer>
-	</developers>
-
-	<dependencies>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>com.sun.jersey</groupId>
-			<artifactId>jersey-client</artifactId>
-			<version>1.19</version>
-		</dependency>
-		
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-core</artifactId>
-			<version>2.3.3</version>
-		</dependency>
-		
-		<dependency>
-			<groupId>com.fasterxml.jackson.jaxrs</groupId>
-			<artifactId>jackson-jaxrs-json-provider</artifactId>
-			<version>2.3.3</version>
-		</dependency>
-	
-	</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<configuration>
-					<descriptorRefs>
-						<descriptorRef>jar-with-dependencies</descriptorRef>
-					</descriptorRefs>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>package</phase>
-						<goals>
-							<goal>single</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<!--
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-gpg-plugin</artifactId>
-				<version>1.4</version>
-				<executions>
-					<execution>
-						<id>sign-artifacts</id>
-						<phase>verify</phase>
-						<goals>
-							<goal>sign</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			-->
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-source-plugin</artifactId>
-				<version>2.2.1</version>
-				<executions>
-					<execution>
-						<id>attach-sources</id>
-						<goals>
-							<goal>jar</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.9</version>
-				<executions>
-					<execution>
-						<id>attach-javadocs</id>
-						<goals>
-							<goal>jar</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/6066ea31/stack/services/pom.xml
----------------------------------------------------------------------
diff --git a/stack/services/pom.xml b/stack/services/pom.xml
index 7189eb4..84a2da1 100644
--- a/stack/services/pom.xml
+++ b/stack/services/pom.xml
@@ -456,12 +456,11 @@
             <artifactId>stream</artifactId>
             <version>2.7.0</version>
         </dependency>
-        <!-- fork: https://github.com/apigee/java-wns/tree/1.2-USERGRID -->
-        <!-- forked to eliminate jackson dependency issues -->
+
         <dependency>
             <groupId>com.github.fernandospr</groupId>
             <artifactId>java-wns</artifactId>
-            <version>1.2-USERGRID</version>
+            <version>1.3</version>
         </dependency>
     </dependencies>
 


[25/50] [abbrv] usergrid git commit: USERGRID-1243: logging overhaul, pt. 1

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
index 77ba756..1971d22 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UserResource.java
@@ -134,7 +134,9 @@ public class UserResource extends ServiceResource {
                                                @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.setUserPassword" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.setUserPassword");
+        }
 
         if ( json == null ) {
             return null;
@@ -177,7 +179,9 @@ public class UserResource extends ServiceResource {
     public ApiResponse getUserCredentials(@QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.getUserCredentials" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.getUserCredentials");
+        }
 
 
         final ApiResponse response = createApiResponse();
@@ -214,7 +218,9 @@ public class UserResource extends ServiceResource {
                                                @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.setUserCredentials" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.setUserCredentials");
+        }
 
         if ( json == null ) {
             return null;
@@ -284,7 +290,9 @@ public class UserResource extends ServiceResource {
                                     @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.sendPin" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.sendPin");
+        }
 
         ApiResponse response = createApiResponse();
         response.setAction( "retrieve user pin" );
@@ -320,7 +328,9 @@ public class UserResource extends ServiceResource {
                                    @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.setPin" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.setPin");
+        }
 
         ApiResponse response = createApiResponse();
         response.setAction( "set user pin" );
@@ -346,7 +356,9 @@ public class UserResource extends ServiceResource {
                                     @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.postPin" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.postPin");
+        }
 
         ApiResponse response = createApiResponse();
         response.setAction( "set user pin" );
@@ -372,7 +384,9 @@ public class UserResource extends ServiceResource {
                                     @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "UserResource.jsonPin" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.jsonPin");
+        }
         ApiResponse response = createApiResponse();
         response.setAction( "set user pin" );
 
@@ -393,7 +407,9 @@ public class UserResource extends ServiceResource {
     @Produces(MediaType.TEXT_HTML)
     public Viewable showPasswordResetForm( @Context UriInfo ui, @QueryParam("token") String token ) {
 
-        logger.info( "UserResource.showPasswordResetForm" );
+        if (logger.isTraceEnabled()) {
+            logger.trace( "UserResource.showPasswordResetForm" );
+        }
 
         this.token = token;
         try {
@@ -424,7 +440,9 @@ public class UserResource extends ServiceResource {
                                              @FormParam("recaptcha_response_field") String uresponse ) {
 
         try {
-            logger.info( "UserResource.handlePasswordResetForm" );
+            if (logger.isTraceEnabled()) {
+                logger.trace("UserResource.handlePasswordResetForm");
+            }
 
             this.token = token;
 
@@ -562,7 +580,9 @@ public class UserResource extends ServiceResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "Send activation email for user: {}",  getUserUuid() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Send activation email for user: {}", getUserUuid());
+        }
 
         ApiResponse response = createApiResponse();
 
@@ -581,7 +601,9 @@ public class UserResource extends ServiceResource {
                                              @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "Revoking user tokens for {}" , getUserUuid() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Revoking user tokens for {}", getUserUuid());
+        }
 
         ApiResponse response = createApiResponse();
 
@@ -611,7 +633,9 @@ public class UserResource extends ServiceResource {
                                             @QueryParam("callback") @DefaultValue("callback") String callback,
                                             @QueryParam("token") String token ) throws Exception {
 
-        logger.info( "Revoking user token for {}",  getUserUuid() );
+        if (logger.isTraceEnabled()) {
+            logger.trace( "Revoking user token for {}",  getUserUuid() );
+        }
 
         ApiResponse response = createApiResponse();
 
@@ -639,8 +663,8 @@ public class UserResource extends ServiceResource {
     public Response getAccessToken( @Context UriInfo ui, @QueryParam("ttl") long ttl,
                                     @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("UserResource.getAccessToken");
+        if (logger.isTraceEnabled()) {
+            logger.trace("UserResource.getAccessToken");
         }
 
         try {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
index 81cf59a..b8b1300 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/users/UsersResource.java
@@ -71,8 +71,8 @@ public class UsersResource extends ServiceResource {
     public AbstractContextResource addIdParameter( @Context UriInfo ui, @PathParam("entityId") PathSegment entityId )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.addIdParameter" );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.addIdParameter" );
         }
 
         UUID itemId = UUID.fromString( entityId.getPath() );
@@ -90,9 +90,9 @@ public class UsersResource extends ServiceResource {
     public AbstractContextResource addNameParameter( @Context UriInfo ui, @PathParam("itemName") PathSegment itemName )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "ServiceResource.addNameParameter" );
-            logger.debug( "Current segment is " + itemName.getPath() );
+        if(logger.isTraceEnabled()){
+            logger.trace( "ServiceResource.addNameParameter" );
+            logger.trace( "Current segment is {}", itemName.getPath() );
         }
 
         if ( itemName.getPath().startsWith( "{" ) ) {
@@ -212,8 +212,8 @@ public class UsersResource extends ServiceResource {
                                         @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        if(logger.isDebugEnabled()){
-            logger.debug( "UsersResource.executePost: body = " + body);
+        if(logger.isTraceEnabled()){
+            logger.trace( "UsersResource.executePost: body = {}", body);
         }
 
         Object json = readJsonToObject( body );
@@ -226,8 +226,8 @@ public class UsersResource extends ServiceResource {
 
         boolean activated = !( ( confRequred != null ) && confRequred );
 
-        if(logger.isDebugEnabled()){
-            logger.debug("Confirmation required: {} Activated: {}", confRequred, activated );
+        if(logger.isTraceEnabled()){
+            logger.trace("Confirmation required: {} Activated: {}", confRequred, activated );
         }
 
         if ( json instanceof Map ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java
index b4fad57..19d35fd 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java
@@ -71,11 +71,11 @@ public abstract class AbstractExceptionMapper<E extends java.lang.Throwable> imp
 
         if ( status >= 500 ) {
             // only log real errors as errors
-            logger.error( e.getClass().getCanonicalName() + " 5XX Uncaught Exception (" + status + ")", e );
+            logger.error( "{} 5XX Uncaught Exception ({})", e.getClass().getCanonicalName(), status, e );
 
         } else {
             if (logger.isDebugEnabled()) {
-                logger.debug(e.getClass().getCanonicalName() + " Following Exception Thrown (" + status + ")", e);
+                logger.debug( "{} Following Exception Thrown ({})", e.getClass().getCanonicalName(), status, e );
             }
         }
 
@@ -105,9 +105,9 @@ public abstract class AbstractExceptionMapper<E extends java.lang.Throwable> imp
     private Response toResponse( int status, String jsonResponse ) {
         if ( status >= 500 ) {
             // only log real errors as errors
-            logger.error( "Server Error (" + status + "):\n" + jsonResponse );
+            logger.error( "Server Error ({}):\n{}", status, jsonResponse );
         } else if ( logger.isDebugEnabled() ) {
-            logger.debug( "Client Error (" + status + "):\n" + jsonResponse );
+            logger.debug( "Client Error ({}):\n{}", status, jsonResponse );
         }
 
         String callback = httpServletRequest.getParameter( "callback" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
index a65276f..0ffd5b9 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java
@@ -24,9 +24,6 @@ import javax.ws.rs.ext.Provider;
 import static javax.ws.rs.core.Response.Status.METHOD_NOT_ALLOWED;
 
 
-/**
- * Created by ApigeeCorporation on 1/8/16.
- */
 @Provider
 public class NotAllowedExceptionMapper extends AbstractExceptionMapper<NotAllowedException> {
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/filters/ContentTypeFilter.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/ContentTypeFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/ContentTypeFilter.java
index b7aae50..90629ef 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/ContentTypeFilter.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/ContentTypeFilter.java
@@ -64,7 +64,9 @@ public class ContentTypeFilter implements Filter {
      */
     @Override
     public void init( FilterConfig filterConfig ) throws ServletException {
-        logger.info( "Starting content type filter" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Starting content type filter");
+        }
     }
 
 
@@ -135,8 +137,8 @@ public class ContentTypeFilter implements Filter {
 
             String path = origRequest.getRequestURI();
             String method = origRequest.getMethod();
-            if (logger.isDebugEnabled()) {
-                logger.debug("Content path is '{}'", path);
+            if (logger.isTraceEnabled()) {
+                logger.trace("Content path is '{}'", path);
             }
 
 
@@ -155,9 +157,8 @@ public class ContentTypeFilter implements Filter {
                 // request has no body, set type to application/json
                 if ( ( HttpMethod.POST.equals( method ) || HttpMethod.PUT.equals( method ) )
                     && !MediaType.APPLICATION_FORM_URLENCODED.equals( getContentType() ) ) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("Setting content type to application/json " +
-                            "for POST or PUT with no content at path '{}'", path);
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("Setting content type to application/json for POST or PUT with no content at path '{}'", path);
                     }
 
                     setHeader( HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON );
@@ -172,9 +173,8 @@ public class ContentTypeFilter implements Filter {
                  && !MediaType.APPLICATION_JSON.equals( getContentType() )) {
 
                 // request appears to be JSON so set type to application/json
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Setting content type to application/json " +
-                        "for POST or PUT with json content at path '{}'", path);
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Setting content type to application/json for POST or PUT with json content at path '{}'", path);
                 }
                 setHeader( HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON );
                 setHeader( HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/filters/JSONPCallbackFilter.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/JSONPCallbackFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/JSONPCallbackFilter.java
index 23ccdf9..cc1a943 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/filters/JSONPCallbackFilter.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/filters/JSONPCallbackFilter.java
@@ -44,7 +44,9 @@ public class JSONPCallbackFilter implements ContainerRequestFilter {
 
 
     public JSONPCallbackFilter() {
-        logger.info( "JSONPCallbackFilter is installed" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("JSONPCallbackFilter is installed");
+        }
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
index 11fd897..6088bf2 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
@@ -130,7 +130,9 @@ public class ManagementResource extends AbstractContextResource {
 
 
     public ManagementResource() {
-        logger.info( "ManagementResource initialized" );
+        if (logger.isTraceEnabled()) {
+            logger.trace( "ManagementResource initialized" );
+        }
     }
 
 
@@ -221,7 +223,9 @@ public class ManagementResource extends AbstractContextResource {
                 user = SubjectUtils.getUser();
             }
 
-            logger.info( "ManagementResource.getAccessToken with username: {}", username );
+            if (logger.isTraceEnabled()) {
+                logger.trace("ManagementResource.getAccessToken with username: {}", username);
+            }
 
             String errorDescription = "invalid username or password";
 
@@ -255,7 +259,9 @@ public class ManagementResource extends AbstractContextResource {
                         user = management.verifyAdminUserPasswordCredentials( username, password );
 
                         if ( user != null ) {
-                            logger.info( "found user from verify: {}", user.getUuid() );
+                            if (logger.isTraceEnabled()) {
+                                logger.trace("found user from verify: {}", user.getUuid());
+                            }
                         }
                     }
                     catch ( UnactivatedAdminUserException uaue ) {
@@ -268,7 +274,7 @@ public class ManagementResource extends AbstractContextResource {
                     }
                     catch ( UnconfirmedAdminUserException uaue ) {
                         errorDescription = "User must be confirmed to authenticate";
-                        logger.warn( "Responding with HTTP 403 forbidden response for unconfirmed user {}" , user);
+                        logger.warn( "Responding with HTTP 403 forbidden response for unconfirmed user");
 
                         OAuthResponse response = OAuthResponse.errorResponse( SC_FORBIDDEN )
                                                               .setError( OAuthError.TokenResponse.INVALID_GRANT )
@@ -343,7 +349,9 @@ public class ManagementResource extends AbstractContextResource {
                                         @QueryParam( "callback" ) @DefaultValue( "" ) String callback )
             throws Exception {
 
-        logger.info( "ManagementResource.getAccessTokenPost" );
+        if (logger.isTraceEnabled()) {
+            logger.trace("ManagementResource.getAccessTokenPost");
+        }
 
         return getAccessTokenInternal( ui, authorization, grant_type, username, password, client_id, client_secret, ttl,
                 callback, false, false);
@@ -453,8 +461,8 @@ public class ManagementResource extends AbstractContextResource {
                                          @FormParam( "username" ) String username,
                                          @FormParam( "password" ) String password ) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("ManagementResource /authorize: {}/{}", username, password);
+        if (logger.isTraceEnabled()) {
+            logger.trace("ManagementResource /authorize: {}", username);
         }
 
        try {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
index f777637..ddca21a 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
@@ -73,16 +73,16 @@ public class OrganizationResource extends AbstractContextResource {
 
 
     public OrganizationResource() {
-        if (logger.isDebugEnabled()) {
-            logger.debug("OrganizationResource created");
+        if (logger.isTraceEnabled()) {
+            logger.trace("OrganizationResource created");
         }
     }
 
 
     public OrganizationResource init( OrganizationInfo organization ) {
         this.organization = organization;
-        if (logger.isDebugEnabled()) {
-            logger.debug("OrganizationResource initialized for org {}", organization.getName());
+        if (logger.isTraceEnabled()) {
+            logger.trace("OrganizationResource initialized for org {}", organization.getName());
         }
         return this;
     }
@@ -114,7 +114,9 @@ public class OrganizationResource extends AbstractContextResource {
                                                    @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "Get details for organization: " + organization.getUuid() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Get details for organization: {}", organization.getUuid());
+        }
 
         ApiResponse response = createApiResponse();
         response.setProperty( "organization", management.getOrganizationData( organization ) );
@@ -176,7 +178,7 @@ public class OrganizationResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "Send activation email for organization: " + organization.getUuid() );
+        logger.info("Send activation email for organization: {}", organization.getUuid());
 
         ApiResponse response = createApiResponse();
 
@@ -263,8 +265,8 @@ public class OrganizationResource extends AbstractContextResource {
                                        @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("executePut");
+        if (logger.isTraceEnabled()) {
+            logger.trace("executePut");
         }
 
         ApiResponse response = createApiResponse();
@@ -287,8 +289,8 @@ public class OrganizationResource extends AbstractContextResource {
                                     @QueryParam("callback") @DefaultValue("") String callback )
             throws OAuthSystemException {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("executePostJson");
+        if (logger.isTraceEnabled()) {
+            logger.trace("executePostJson");
         }
 
         Map<String, String> uuidRet = new HashMap<>();
@@ -404,7 +406,9 @@ public class OrganizationResource extends AbstractContextResource {
                                   @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        logger.info( "Get configuration for organization: " + organization.getUuid() );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Get configuration for organization: {}", organization.getUuid());
+        }
 
         ApiResponse response = createApiResponse();
         response.setAction( "get organization configuration" );
@@ -436,8 +440,8 @@ public class OrganizationResource extends AbstractContextResource {
                                   @QueryParam("callback") @DefaultValue("callback") String callback )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Put configuration for organization: " + organization.getUuid());
+        if (logger.isTraceEnabled()) {
+            logger.trace("Put configuration for organization: {}", organization.getUuid());
         }
 
         ApiResponse response = createApiResponse();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java
index ee35cb1..0348c01 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationsResource.java
@@ -135,8 +135,8 @@ public class OrganizationsResource extends AbstractContextResource {
                                             @QueryParam( "callback" ) @DefaultValue( "" ) String callback )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("newOrganization");
+        if (logger.isTraceEnabled()) {
+            logger.trace("newOrganization");
         }
 
         ApiResponse response = createApiResponse();
@@ -174,8 +174,8 @@ public class OrganizationsResource extends AbstractContextResource {
                                                     @QueryParam( "callback" ) @DefaultValue( "" ) String callback )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("New organization: {}", organizationNameForm);
+        if (logger.isTraceEnabled()) {
+            logger.trace("New organization: {}", organizationNameForm);
         }
 
         String organizationName = organizationNameForm != null ? organizationNameForm : organizationNameQuery;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
index dea6705..fd137a0 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
@@ -503,8 +503,8 @@ public class ApplicationResource extends AbstractContextResource {
 
         management.deleteApplication( applicationId );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("ApplicationResource.delete() deleted appId = {}", applicationId);
+        if (logger.isTraceEnabled()) {
+            logger.trace("ApplicationResource.delete() deleted appId = {}", applicationId);
         }
 
         ApiResponse response = createApiResponse();
@@ -512,8 +512,8 @@ public class ApplicationResource extends AbstractContextResource {
         response.setApplication(emf.getEntityManager( applicationId ).getApplication());
         response.setParams(ui.getQueryParameters());
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("ApplicationResource.delete() sending response ");
+        if (logger.isTraceEnabled()) {
+            logger.trace("ApplicationResource.delete() sending response ");
         }
 
         return response;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java
index c359e30..1b999ec 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationsResource.java
@@ -111,8 +111,8 @@ public class ApplicationsResource extends AbstractContextResource {
                                                                   @FormParam( "name" ) String applicationName )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("newApplicationForOrganizationFromForm");
+        if (logger.isTraceEnabled()) {
+            logger.trace("newApplicationForOrganizationFromForm");
         }
 
         Preconditions.checkArgument( !isEmpty( applicationName ),

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/imports/ImportsResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/imports/ImportsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/imports/ImportsResource.java
index c6f1463..ab601fc 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/imports/ImportsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/imports/ImportsResource.java
@@ -168,9 +168,9 @@ public class ImportsResource extends AbstractContextResource {
         final UUID importId = UUID.fromString( entityId.getPath() );
         final Import importEntity = importService.getImport( application.getId(), importId );
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Loaded import entity {}:{} with state {}",
-                new Object[]{importEntity.getType(), importEntity.getUuid(), importEntity.getState()});
+        if (logger.isTraceEnabled()) {
+            logger.trace("Loaded import entity {}:{} with state {}",
+                importEntity.getType(), importEntity.getUuid(), importEntity.getState());
         }
 
         if ( importEntity == null ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
index b8d9a73..40ba92e 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
@@ -118,7 +118,7 @@ public class UsersResource extends AbstractContextResource {
                                                            @QueryParam("callback") @DefaultValue("callback")
                                                            String callback ) throws Exception {
 
-        logger.info( "New user for organization: " + username + " (" + email + ")");
+        logger.info( "New user for organization: {} ({})", username, email);
 
         ApiResponse response = createApiResponse();
         response.setAction( "create user" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
index 188567b..1f25a4a 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
@@ -243,8 +243,8 @@ public class UserResource extends AbstractContextResource {
                                              @FormParam( "recaptcha_challenge_field" ) String challenge,
                                              @FormParam( "recaptcha_response_field" ) String uresponse ) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("handlePasswordResetForm");
+        if (logger.isTraceEnabled()) {
+            logger.trace("handlePasswordResetForm");
         }
 
         final boolean externalTokensEnabled =

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
index 640a6c2..a997e18 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UsersResource.java
@@ -61,8 +61,8 @@ public class UsersResource extends AbstractContextResource {
 
 
     public UsersResource() {
-        if (logger.isDebugEnabled()) {
-            logger.debug("ManagementUsersResource initialized");
+        if (logger.isTraceEnabled()) {
+            logger.trace("ManagementUsersResource initialized");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/organizations/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/organizations/OrganizationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/organizations/OrganizationResource.java
index a071138..43867e3 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/organizations/OrganizationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/organizations/OrganizationResource.java
@@ -129,8 +129,8 @@ public class OrganizationResource extends AbstractContextResource {
     public ApplicationResource getApplicationByName( @PathParam("applicationName") String applicationName )
             throws Exception {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("getApplicationByName: " + applicationName);
+        if (logger.isTraceEnabled()) {
+            logger.trace("getApplicationByName: {}", applicationName);
         }
 
         if ( "options".equalsIgnoreCase( request.getMethod() ) ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/security/SecuredResourceFilterFactory.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/SecuredResourceFilterFactory.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/SecuredResourceFilterFactory.java
index 77e3a3c..531d355 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/SecuredResourceFilterFactory.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/SecuredResourceFilterFactory.java
@@ -114,8 +114,8 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
     public void configure(ResourceInfo resourceInfo, FeatureContext featureContext) {
         Method am = resourceInfo.getResourceMethod();
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("configure {} method {}",
+        if (logger.isTraceEnabled()) {
+            logger.trace("configure {} method {}",
                 resourceInfo.getResourceClass().getSimpleName(), resourceInfo.getResourceMethod().getName());
         }
 
@@ -149,20 +149,20 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
         @Override
         public void filter(ContainerRequestContext request) throws IOException {
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Filtering {}", request.getUriInfo().getRequestUri().toString());
+            if (logger.isTraceEnabled()) {
+                logger.trace("Filtering {}", request.getUriInfo().getRequestUri().toString());
             }
 
             if ( request.getMethod().equalsIgnoreCase( "OPTIONS" ) ) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Skipping option request");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Skipping option request");
                 }
             }
 
             MultivaluedMap<java.lang.String, java.lang.String> params = uriInfo.getPathParameters();
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("Params: {}", params.keySet());
+            if (logger.isTraceEnabled()) {
+                logger.trace("Params: {}", params.keySet());
             }
 
             authorize( request );
@@ -182,8 +182,8 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
             }
             else {
                 String applicationName = PathingUtils.assembleAppName( uriInfo.getPathParameters() );
-                if ( logger.isDebugEnabled() ) {
-                    logger.debug( "Pulled applicationName {}", applicationName );
+                if ( logger.isTraceEnabled() ) {
+                    logger.trace( "Pulled applicationName {}", applicationName );
                 }
                 application = Identifier.fromName( applicationName );
             }
@@ -238,19 +238,19 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
 
         @Override
         public void authorize( ContainerRequestContext request ) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("OrganizationFilter.authorize");
+            if (logger.isTraceEnabled()) {
+                logger.trace("OrganizationFilter.authorize");
             }
 
             if ( !isPermittedAccessToOrganization( getOrganizationIdentifier() ) ) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("No organization access authorized");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("No organization access authorized");
                 }
                 throw mappableSecurityException( "unauthorized", "No organization access authorized" );
             }
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("OrganizationFilter.authorize - leaving");
+            if (logger.isTraceEnabled()) {
+                logger.trace("OrganizationFilter.authorize - leaving");
             }
         }
     }
@@ -284,8 +284,8 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
 
         @Override
         public void authorize( ContainerRequestContext request ) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("ApplicationFilter.authorize");
+            if (logger.isTraceEnabled()) {
+                logger.trace("ApplicationFilter.authorize");
             }
             if ( SubjectUtils.isAnonymous() ) {
                 ApplicationInfo application = null;
@@ -300,8 +300,8 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
                 Map<String, String> roles = null;
                 try {
                     roles = em.getRoles();
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("found roles {}", roles);
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("found roles {}", roles);
                     }
                 }
                 catch ( Exception e ) {
@@ -332,13 +332,13 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
 
         @Override
         public void authorize(ContainerRequestContext request) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("SystemFilter.authorize");
+            if (logger.isTraceEnabled()) {
+                logger.trace("SystemFilter.authorize");
             }
             try {
                 if (!request.getSecurityContext().isUserInRole( ROLE_SERVICE_ADMIN )) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("You are not the system admin.");
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("You are not the system admin.");
                     }
                     throw mappableSecurityException( "unauthorized", "No system access authorized",
                         SecurityException.REALM );
@@ -365,8 +365,8 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
 
             @Override
             public void authorize(ContainerRequestContext request) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("AdminUserFilter.authorize");
+                if (logger.isTraceEnabled()) {
+                    logger.trace("AdminUserFilter.authorize");
                 }
                 if (!isUser( getUserIdentifier() )) {
                     throw mappableSecurityException( "unauthorized", "No admin user access authorized" );
@@ -406,7 +406,7 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
 
         @Override
         public void authorize( ContainerRequestContext request ) {
-            if(logger.isDebugEnabled()){
+            if(logger.isTraceEnabled()){
                 logger.debug( "PathPermissionsFilter.authorize" );
             }
 
@@ -432,7 +432,7 @@ public class SecuredResourceFilterFactory implements DynamicFeature {
 
                 boolean permitted = currentUser.isPermitted( perm );
                 if ( logger.isDebugEnabled() ) {
-                    logger.debug( PATH_MSG, new Object[] { path, operation, perm, permitted } );
+                    logger.debug( PATH_MSG, path, operation, perm, permitted );
                 }
 
                 if(!permitted){

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/RestSecurityManager.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/RestSecurityManager.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/RestSecurityManager.java
index 4cc7c0e..8e27265 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/RestSecurityManager.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/RestSecurityManager.java
@@ -53,7 +53,7 @@ public class RestSecurityManager extends DefaultWebSecurityManager {
     @Override
     public void setSessionManager( SessionManager sessionManager ) {
         if ( !( sessionManager instanceof HttpRequestSessionManager ) ) {
-            logger.info( "Replacing " + sessionManager + " with HttpRequestSessionManager" );
+            logger.info( "Replacing {} with HttpRequestSessionManager", sessionManager );
             sessionManager = new HttpRequestSessionManager();
         }
         super.setSessionManager( sessionManager );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/BasicAuthSecurityFilter.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/BasicAuthSecurityFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/BasicAuthSecurityFilter.java
index e516f73..a5d7272 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/BasicAuthSecurityFilter.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/BasicAuthSecurityFilter.java
@@ -45,8 +45,8 @@ public class BasicAuthSecurityFilter extends SecurityFilter {
 
     @Override
     public void filter( ContainerRequestContext request ) {
-        if(logger.isDebugEnabled()){
-            logger.debug("Filtering: " + request.getUriInfo().getBaseUri());
+        if(logger.isTraceEnabled()){
+            logger.trace("Filtering: {}", request.getUriInfo().getBaseUri());
         }
 
 
@@ -68,8 +68,8 @@ public class BasicAuthSecurityFilter extends SecurityFilter {
         if ( name.equals( sysadmin_login_name ) && password.equals( sysadmin_login_password )
                 && sysadmin_login_allowed ) {
             request.setSecurityContext( new SysAdminRoleAuthenticator() );
-            if (logger.isDebugEnabled()) {
-                logger.debug("System administrator access allowed");
+            if (logger.isTraceEnabled()) {
+                logger.trace("System administrator access allowed");
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/ClientCredentialsSecurityFilter.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/ClientCredentialsSecurityFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/ClientCredentialsSecurityFilter.java
index c15c823..83e53c1 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/ClientCredentialsSecurityFilter.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/ClientCredentialsSecurityFilter.java
@@ -51,8 +51,8 @@ public class ClientCredentialsSecurityFilter extends SecurityFilter {
 
     @Override
     public void filter( ContainerRequestContext request ) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Filtering: " + request.getUriInfo().getBaseUri());
+        if (logger.isTraceEnabled()) {
+            logger.trace("Filtering: {}", request.getUriInfo().getBaseUri());
         }
 
         String clientId = httpServletRequest.getParameter( "client_id" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/OAuth2AccessTokenSecurityFilter.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/OAuth2AccessTokenSecurityFilter.java b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/OAuth2AccessTokenSecurityFilter.java
index 7cb96f8..9a82b4a 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/OAuth2AccessTokenSecurityFilter.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/security/shiro/filters/OAuth2AccessTokenSecurityFilter.java
@@ -70,8 +70,8 @@ public class OAuth2AccessTokenSecurityFilter extends SecurityFilter implements C
 
     @Override
     public void filter(ContainerRequestContext request) throws IOException {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Filtering: " + request.getUriInfo().getBaseUri());
+        if (logger.isTraceEnabled()) {
+            logger.trace("Filtering: {}", request.getUriInfo().getBaseUri());
         }
 
         try {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
index c023733..22d2c62 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/system/ApplicationsResource.java
@@ -124,9 +124,9 @@ public class ApplicationsResource extends AbstractContextResource {
                     try {
                         statusService.setStatus(applicationId, jobId, StatusService.Status.FAILED, map).toBlocking().lastOrDefault(null);//leave as subscribe if fails retry
                     }catch (Exception subE){
-                        logger.error("failed to update status "+jobId,subE);
+                        logger.error("failed to update status {}",jobId,subE);
                     }
-                    logger.error( "Failed to delete appid:"+applicationId + " jobid:"+jobId+" count:"+itemsDeleted, e );
+                    logger.error( "Failed to delete appid:{} jobid:{} count:{}",applicationId,jobId,itemsDeleted, e );
                 }
             }
         };
@@ -139,7 +139,7 @@ public class ApplicationsResource extends AbstractContextResource {
             //should throw exception if can't start
             statusService.setStatus(applicationId, jobId, StatusService.Status.STARTED, new LinkedHashMap<>()).toBlocking().lastOrDefault(null);
         }catch (Exception e){
-            logger.error("failed to set status for " + jobId, e);
+            logger.error("failed to set status for {}", jobId, e);
         }
         Map<String,Object> data = new HashMap<>();
         data.put("jobId",jobId);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/system/DatabaseResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/system/DatabaseResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/system/DatabaseResource.java
index f3ce8b7..b264893 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/system/DatabaseResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/system/DatabaseResource.java
@@ -66,7 +66,7 @@ public class DatabaseResource extends AbstractContextResource {
         ApiResponse response = createApiResponse();
         response.setAction( "cassandra setup" );
 
-        logger.info( "Setting up Cassandra" );
+        logger.info( "Setting up Cassandra (runDatabaseSetup)" );
 
 
         emf.setup();
@@ -89,7 +89,7 @@ public class DatabaseResource extends AbstractContextResource {
         ApiResponse response = createApiResponse();
         response.setAction( "cassandra setup" );
 
-        logger.info( "Setting up Cassandra" );
+        logger.info( "Setting up Cassandra (runSystemSetup)" );
 
 
         emf.boostrap();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/system/IndexResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/system/IndexResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/system/IndexResource.java
index 3f36bfe..4a521b3 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/system/IndexResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/system/IndexResource.java
@@ -93,7 +93,9 @@ public class IndexResource extends AbstractContextResource {
 
 
         throws Exception {
-        logger.info("Getting status for index jobs");
+        if (logger.isTraceEnabled()) {
+            logger.trace("Getting status for index jobs");
+        }
 
         Preconditions
             .checkNotNull(jobId, "query param jobId must not be null" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/main/java/org/apache/usergrid/rest/system/MigrateResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/system/MigrateResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/system/MigrateResource.java
index 87d7ccb..5bfeac9 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/system/MigrateResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/system/MigrateResource.java
@@ -137,13 +137,13 @@ public class MigrateResource extends AbstractContextResource {
             @Override
             public void run() {
 
-                logger.info( "Migrating Data for plugin: " + pluginName );
+                logger.info( "Migrating Data for plugin: {}", pluginName );
 
                 try {
                     getDataMigrationManager().migrate(pluginName);
                 }
                 catch ( Exception e ) {
-                    logger.error( "Unable to migrate data for plugin: " + pluginName, e );
+                    logger.error( "Unable to migrate data for plugin: {}", pluginName, e );
                 }
             }
         };

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/GeoPagingTest.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/GeoPagingTest.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/GeoPagingTest.java
index dfb4fe0..035051f 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/GeoPagingTest.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/GeoPagingTest.java
@@ -43,7 +43,6 @@ import static org.junit.Assert.fail;
 /**
  * // TODO: Document this
  *
- * @author ApigeeCorporation
  * @since 4.0
  */
 public class GeoPagingTest extends AbstractRestIT {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/OrderByTest.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/OrderByTest.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/OrderByTest.java
index e052264..a190526 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/OrderByTest.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/queries/OrderByTest.java
@@ -33,7 +33,6 @@ import static org.junit.Assert.assertEquals;
 /**
  * // TODO: Document this
  *
- * @author ApigeeCorporation
  * @since 4.0
  */
 public class OrderByTest extends QueryTestBase {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/ApiResponse.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/ApiResponse.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/ApiResponse.java
index 471cf5e..d476248 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/ApiResponse.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/ApiResponse.java
@@ -1,6 +1,3 @@
-/**
- * Created by ApigeeCorporation on 12/4/14.
- */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/Collection.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/Collection.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/Collection.java
index 5bbc0dc..c819f59 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/Collection.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource/model/Collection.java
@@ -1,6 +1,3 @@
-/**
- * Created by ApigeeCorporation on 12/4/14.
- */
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/services/src/main/java/org/apache/usergrid/management/cassandra/AccountCreationPropsImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/AccountCreationPropsImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/AccountCreationPropsImpl.java
index 0aedf39..7c6a091 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/AccountCreationPropsImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/AccountCreationPropsImpl.java
@@ -86,7 +86,7 @@ public class AccountCreationPropsImpl implements AccountCreationProps {
     public String getProperty( String name ) {
         String propertyValue = properties.getProperty( name );
         if ( isBlank( propertyValue ) ) {
-            logger.warn( "Missing value for " + name );
+            logger.warn( "Missing value for {}", name );
             propertyValue = null;
         }
         return propertyValue;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index 558b718..a3a6aa9 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -365,9 +365,7 @@ public class ManagementServiceImpl implements ManagementService {
             try {
                 createAdminUser( null, username, "Super User", email, password, true, false );
             }catch(Exception e){
-                if (logger.isInfoEnabled()) {
-                    logger.info("resetSuperUser: auto creation of superuser failed: {}", e.getMessage());
-                }
+                logger.info("resetSuperUser: auto creation of superuser failed: {}", e.getMessage());
             }
         }
         else {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/services/src/main/java/org/apache/usergrid/services/exceptions/AwsPropertiesNotFoundException.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/exceptions/AwsPropertiesNotFoundException.java b/stack/services/src/main/java/org/apache/usergrid/services/exceptions/AwsPropertiesNotFoundException.java
index c2933b0..cfd2974 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/exceptions/AwsPropertiesNotFoundException.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/exceptions/AwsPropertiesNotFoundException.java
@@ -21,9 +21,6 @@ package org.apache.usergrid.services.exceptions;
 import static org.apache.usergrid.utils.JsonUtils.mapToJsonString;
 
 
-/**
- * Created by ApigeeCorporation on 7/23/15.
- */
 public class AwsPropertiesNotFoundException extends RuntimeException {
     private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
index fa75531..2ce381d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/ApplicationQueueMessage.java
@@ -26,9 +26,6 @@ import org.elasticsearch.common.primitives.Longs;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-/**
- * Created by ApigeeCorporation on 9/4/14.
- */
 public class ApplicationQueueMessage implements Serializable {
 
     private static final Logger log = LoggerFactory.getLogger(ApplicationQueueMessage.class);

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationServiceProxy.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationServiceProxy.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationServiceProxy.java
index 7712163..0caa182 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationServiceProxy.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationServiceProxy.java
@@ -21,9 +21,6 @@ import org.apache.usergrid.persistence.entities.Notifier;
 
 import java.util.Set;
 
-/**
- * Created by ApigeeCorporation on 8/6/14.
- */
 public interface NotificationServiceProxy {
 
     public void finishedBatch(Notification notification, long successes, long failures) throws Exception;


[46/50] [abbrv] usergrid git commit: Fixes to new 2.1.0 (unreleased) deployment guide, and add it to the table of contents (that's why so many files changed)

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/app-security.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/app-security.html b/content/docs/security-and-auth/app-security.html
index 31bfc45..2b25c82 100644
--- a/content/docs/security-and-auth/app-security.html
+++ b/content/docs/security-and-auth/app-security.html
@@ -188,7 +188,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/authenticating-api-requests.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/authenticating-api-requests.html b/content/docs/security-and-auth/authenticating-api-requests.html
index a5e8cab..78a7610 100644
--- a/content/docs/security-and-auth/authenticating-api-requests.html
+++ b/content/docs/security-and-auth/authenticating-api-requests.html
@@ -192,7 +192,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/authenticating-users-and-application-clients.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/authenticating-users-and-application-clients.html b/content/docs/security-and-auth/authenticating-users-and-application-clients.html
index 001b5a6..e7250f7 100644
--- a/content/docs/security-and-auth/authenticating-users-and-application-clients.html
+++ b/content/docs/security-and-auth/authenticating-users-and-application-clients.html
@@ -218,7 +218,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/changing-token-time-live-ttl.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/changing-token-time-live-ttl.html b/content/docs/security-and-auth/changing-token-time-live-ttl.html
index 4014080..2e9da89 100644
--- a/content/docs/security-and-auth/changing-token-time-live-ttl.html
+++ b/content/docs/security-and-auth/changing-token-time-live-ttl.html
@@ -198,7 +198,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/facebook-sign.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/facebook-sign.html b/content/docs/security-and-auth/facebook-sign.html
index 859478f..a5e7fd3 100644
--- a/content/docs/security-and-auth/facebook-sign.html
+++ b/content/docs/security-and-auth/facebook-sign.html
@@ -197,7 +197,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/revoking-tokens-logout.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/revoking-tokens-logout.html b/content/docs/security-and-auth/revoking-tokens-logout.html
index a0b3148..4b99752 100644
--- a/content/docs/security-and-auth/revoking-tokens-logout.html
+++ b/content/docs/security-and-auth/revoking-tokens-logout.html
@@ -196,7 +196,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/securing-your-app.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/securing-your-app.html b/content/docs/security-and-auth/securing-your-app.html
index d26d968..4c7cb9b 100644
--- a/content/docs/security-and-auth/securing-your-app.html
+++ b/content/docs/security-and-auth/securing-your-app.html
@@ -196,7 +196,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/user-authentication-types.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/user-authentication-types.html b/content/docs/security-and-auth/user-authentication-types.html
index 094f6b7..79c1559 100644
--- a/content/docs/security-and-auth/user-authentication-types.html
+++ b/content/docs/security-and-auth/user-authentication-types.html
@@ -193,7 +193,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/using-permissions.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/using-permissions.html b/content/docs/security-and-auth/using-permissions.html
index 746ee1f..5b06797 100644
--- a/content/docs/security-and-auth/using-permissions.html
+++ b/content/docs/security-and-auth/using-permissions.html
@@ -204,7 +204,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/security-and-auth/using-roles.html
----------------------------------------------------------------------
diff --git a/content/docs/security-and-auth/using-roles.html b/content/docs/security-and-auth/using-roles.html
index 3375c48..0bf3db9 100644
--- a/content/docs/security-and-auth/using-roles.html
+++ b/content/docs/security-and-auth/using-roles.html
@@ -212,7 +212,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/activity.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/activity.html b/content/docs/user-management/activity.html
index ec0a88d..61e7a6c 100644
--- a/content/docs/user-management/activity.html
+++ b/content/docs/user-management/activity.html
@@ -220,7 +220,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/group.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/group.html b/content/docs/user-management/group.html
index 1614f36..cf63509 100644
--- a/content/docs/user-management/group.html
+++ b/content/docs/user-management/group.html
@@ -230,7 +230,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/groups.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/groups.html b/content/docs/user-management/groups.html
index fe0437b..20ddf4a 100644
--- a/content/docs/user-management/groups.html
+++ b/content/docs/user-management/groups.html
@@ -186,7 +186,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/messagee-example.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/messagee-example.html b/content/docs/user-management/messagee-example.html
index 0eb9a37..464d083 100644
--- a/content/docs/user-management/messagee-example.html
+++ b/content/docs/user-management/messagee-example.html
@@ -213,7 +213,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/user-connections.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/user-connections.html b/content/docs/user-management/user-connections.html
index 284a569..7acf014 100644
--- a/content/docs/user-management/user-connections.html
+++ b/content/docs/user-management/user-connections.html
@@ -192,7 +192,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/user-management.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/user-management.html b/content/docs/user-management/user-management.html
index 1453f2a..4c2b2ab 100644
--- a/content/docs/user-management/user-management.html
+++ b/content/docs/user-management/user-management.html
@@ -194,7 +194,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/content/docs/user-management/working-user-data.html
----------------------------------------------------------------------
diff --git a/content/docs/user-management/working-user-data.html b/content/docs/user-management/working-user-data.html
index cc2f262..4bdaed8 100644
--- a/content/docs/user-management/working-user-data.html
+++ b/content/docs/user-management/working-user-data.html
@@ -215,7 +215,7 @@
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-deploy-to-tomcat.html">Usegrid 1: Deploying to Tomcat</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../installation/ug1-launcher-quick-start.html">Usegrid 1: Launcher Quick-start</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../installation/ug2-deploy-to-tomcat.html">Usergrid 2: Deploy to Tomcat</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/deployment-guide.html">Usergrid 2.1.0 (unreleased) Deployment Guide</a></li>
 </ul>
 <p class="caption"><span class="caption-text">More about Usergrid</span></p>
 <ul>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/docs/index.rst
----------------------------------------------------------------------
diff --git a/docs/index.rst b/docs/index.rst
index 0003f26..6c81816 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -165,7 +165,7 @@ Apache Usergrid Documentation
 
    installation/ug1-deploy-to-tomcat
    installation/ug1-launcher-quick-start
-   installation/ug2-deploy-to-tomcat
+   installation/deployment-guide
     
 .. _about:
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/docs/installation/deployment-guide.md
----------------------------------------------------------------------
diff --git a/docs/installation/deployment-guide.md b/docs/installation/deployment-guide.md
index 86a7506..afbb636 100644
--- a/docs/installation/deployment-guide.md
+++ b/docs/installation/deployment-guide.md
@@ -1,8 +1,8 @@
-# Usergrid 2.1.0 Deployment Guide
+# Usergrid 2.1.0 (unreleased) Deployment Guide
 
 ## DRAFT 
 
-This document explains how to deploy the Usergrid Backend-as-a-Service (BaaS), 
+This document explains how to deploy the Usergrid v2.1.0 Backend-as-a-Service (BaaS), 
 which comprises the Usergrid Stack, a Java web application, and the Usergrid Portal,
 which is an HTML5/JavaScript application. 
 
@@ -102,8 +102,8 @@ a three or more node cluster is recommended.
 __Use the right Java.__ Cassandra requires Java and we recommend that you use the same version of Java 
 for Cassandra as you use to run Tomcat and ElasticSearch.
 
-__Refer to the [Apache Cassandra documentation](http://wiki.apache.org/cassandra/GettingStarted) 
-for instructions on how to install Cassandra__. The [Datastax documentation for Cassandra 1.2](http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html) is also helpful. 
+__Refer to the__ [Apache Cassandra documentation](http://wiki.apache.org/cassandra/GettingStarted) 
+__for instructions on how to install Cassandra__. The [Datastax documentation for Cassandra 1.2](http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html) is also helpful. 
 Once you are up and running make a note of these things:
 
    * The name of the Cassandra cluster
@@ -121,9 +121,9 @@ a cluster in production.
 __Use the right Java__. ElasticSearch requires Java and you *must* ensure that you use the 
 same version of Java for ElasticSearch as you do for running Tomcat.
 
-__Refer to the 
+__Refer to the__ 
 [ElasticSearch 1.4 documentation](https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html) 
-for instructions on how to install__. Once you are up and running make a note of these things:
+__for instructions on how to install__. Once you are up and running make a note of these things:
 
    * The name of the ElasticSearch cluster
    * Hostname or IP address of each ElasticSearch node
@@ -141,7 +141,7 @@ The Usergrid Stack is contained in a file named ROOT.war, a standard Java EE WAR
 ready for deployment to Tomcat. On each machine that will run the Usergrid Stack 
 you must install the Java SE 8 JDK and Tomcat 7+. 
 
-__Refer to the [Apache Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/setup.html) documentation for  instructions on how to install__. Once Tomcat installed, you need to create and edit some configuration files.
+__Refer to the__ [Apache Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/setup.html) __documentation for  instructions on how to install__. Once Tomcat installed, you need to create and edit some configuration files.
 
 
 ### Stack STEP #4: Configure Usergrid Stack & Logging
@@ -170,19 +170,52 @@ shell variables, e.g. `${USERGRID_CLUSTER_NAME}`. Here's a guide to the things y
 
 __Table 1: Values to set in Example Properties file:__
 
-| Value       | Description |
-|-------------|-------------|
-| __BASEURL__ | This is the base URL for the Usergrid installation, e.g. `https://api.example.com`. |
-| __USERGRID_CLUSTER_NAME__ | This is your name for your Usergrid installation. |
-| __CASSANDRA_CLUSTER_NAME__ | Name of Cassandra cluster, must match what's in Cassandra configuration. |
-| __CASSANDRA_HOSTS__ | Comma-separated lists of Cassandra hosts, with port numbers if you are not using the default 9120. The default for this property is `localhost:9120` |
-| __ELASTICSEARCH_CLUSTER_NAME__ | Name of ElasticSearch cluster, must match what's in ElasticSearch configuration. |
-| __ELASTICSEARCH_HOSTS__ | Comma-separated lists of ElasticSearch hosts, with port numbers if you are not using the default 9300. The default for this property is `localhost:9300` |
-| __SUPER_USER_EMAIL__ | Email address of person responsible for the superuser account. |
-| __SUPER_USER_PASSWORD__ | Password for the superuser account. |
-| __TEST_ADMIN_USER_EMAIL__ | If `usergrid.setup-test-account=true`, as shown below, Usergrid will create a test account and you should specify a valid email here. |
-| __TEST_ADMIN_USER_PASSWORD__ | Password for the username 'test' account. |
-   
+<table class="usergrid-table">
+<tr>
+  <th>Value</th>
+  <th>Description</th>
+</tr>
+<tr>
+    <td>__BASEURL__</td>
+    <td>This is the base URL for the Usergrid installation, e.g. `https://api.example.com`. </td>
+</tr>
+<tr>
+    <td>__USERGRID_CLUSTER_NAME__</td>
+    <td>This is your name for your Usergrid installation. </td>
+</tr>
+<tr>
+    <td>__CASSANDRA_CLUSTER_NAME__</td>
+    <td>Name of Cassandra cluster, must match what's in Cassandra configuration. </td>
+</tr>
+<tr>
+    <td>__CASSANDRA_HOSTS__</td>
+    <td>Comma-separated lists of Cassandra hosts, with port numbers if you are not using the default 9120. The default for this property is `localhost:9120` </td>
+</tr>
+<tr>
+    <td>__ELASTICSEARCH_CLUSTER_NAME__</td>
+    <td>Name of ElasticSearch cluster, must match what's in ElasticSearch configuration. </td>
+</tr>
+<tr>
+    <td>__ELASTICSEARCH_HOSTS__</td>
+    <td>Comma-separated lists of ElasticSearch hosts, with port numbers if you are not using the default 9300. The default for this property is `localhost:9300` </td>
+</tr>
+<tr>
+    <td>__SUPER_USER_EMAIL__</td>
+    <td>Email address of person responsible for the superuser account. </td>
+</tr>
+<tr>
+    <td>__SUPER_USER_PASSWORD__</td>
+    <td>Password for the superuser account. </td>
+</tr>
+<tr>
+    <td>__TEST_ADMIN_USER_EMAIL__</td>
+    <td>If `usergrid.setup-test-account=true`, as shown below, Usergrid will create a test account and you should specify a valid email here. </td>
+</tr>
+<tr>
+    <td>__TEST_ADMIN_USER_PASSWORD__</td>
+    <td>Password for the username 'test' account. </td>
+</tr>
+</table>   
    
 Make sure you set all of the above properties when you edit this example for your installation.   
    

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a77ec46e/website/run.sh
----------------------------------------------------------------------
diff --git a/website/run.sh b/website/run.sh
index b8da765..d4cfaaf 100755
--- a/website/run.sh
+++ b/website/run.sh
@@ -1 +1,2 @@
+#!/bin/bash
 nanoc view


[16/50] [abbrv] usergrid git commit: Move to latest Astyanax driver (3.9.0) which specifically includes fixes needed for Usergrid. Also fix serialization issue when loading a batch of entities. Ensure the buffered entities are being loaded instead of t

Posted by sn...@apache.org.
Move to latest Astyanax driver (3.9.0) which specifically includes fixes needed for Usergrid.  Also fix serialization issue when loading a batch of entities.  Ensure the buffered entities are being loaded instead of the full set.


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

Branch: refs/heads/asf-site
Commit: 379541b32d0485e140b83450a1a857676a7ddcb8
Parents: 595955d
Author: Michael Russo <mi...@gmail.com>
Authored: Thu Jan 28 18:06:55 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Thu Jan 28 18:06:55 2016 -0800

----------------------------------------------------------------------
 .../MvccEntitySerializationStrategyImpl.java    |   2 +-
 .../MvccEntitySerializationStrategyV3Impl.java  |   2 +-
 ...-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 619559 -> 0 bytes
 ...-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 161970 -> 0 bytes
 ...astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar | Bin 224466 -> 0 bytes
 ...astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom | 112 ---------------
 .../astyanax-cassandra/maven-metadata-local.xml |  12 --
 ...ax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 33178 -> 0 bytes
 ...ax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 2314 -> 0 bytes
 .../astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar  | Bin 4842 -> 0 bytes
 .../astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom  | 112 ---------------
 .../astyanax-contrib/maven-metadata-local.xml   |  12 --
 ...yanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 522906 -> 0 bytes
 ...yanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 141910 -> 0 bytes
 .../astyanax-core-1.56.49-SNAPSHOT-UG-1.jar     | Bin 212858 -> 0 bytes
 .../astyanax-core-1.56.49-SNAPSHOT-UG-1.pom     |  88 ------------
 .../astyanax-core/maven-metadata-local.xml      |  12 --
 ...ity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 97513 -> 0 bytes
 ...ity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 30591 -> 0 bytes
 ...anax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar | Bin 68952 -> 0 bytes
 ...anax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom | 118 ----------------
 .../maven-metadata-local.xml                    |  12 --
 ...x-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 38284 -> 0 bytes
 ...x-examples-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 4457 -> 0 bytes
 .../astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar | Bin 8506 -> 0 bytes
 .../astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom | 106 ---------------
 .../astyanax-examples/maven-metadata-local.xml  |  12 --
 ...anax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 180462 -> 0 bytes
 ...anax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 44057 -> 0 bytes
 .../astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar    | Bin 86586 -> 0 bytes
 .../astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom    | 112 ---------------
 .../astyanax-queue/maven-metadata-local.xml     |  12 --
 ...ax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 204424 -> 0 bytes
 ...ax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 58161 -> 0 bytes
 .../astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar  | Bin 100246 -> 0 bytes
 .../astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom  | 106 ---------------
 .../astyanax-recipes/maven-metadata-local.xml   |  12 --
 ...nax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar | Bin 197342 -> 0 bytes
 ...nax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar | Bin 76509 -> 0 bytes
 .../astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar   | Bin 239007 -> 0 bytes
 .../astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom   | 112 ---------------
 .../astyanax-thrift/maven-metadata-local.xml    |  12 --
 .../astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar  | Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar  | Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1.jar          | Bin 261 -> 0 bytes
 .../astyanax-1.56.49-SNAPSHOT-UG-1.pom          | 136 -------------------
 .../astyanax/astyanax/maven-metadata-local.xml  |  12 --
 stack/corepersistence/pom.xml                   |  10 +-
 48 files changed, 3 insertions(+), 1121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
index 457664f..4a1f621 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
@@ -185,7 +185,7 @@ public abstract class MvccEntitySerializationStrategyImpl implements MvccEntityS
                 return Observable.just( listObservable ).map( scopedRowKeys -> {
 
                     try {
-                        return keyspace.prepareQuery( columnFamily ).getKeySlice( rowKeys )
+                        return keyspace.prepareQuery( columnFamily ).getKeySlice( scopedRowKeys )
                                        .withColumnRange( maxVersion, null, false, 1 ).execute().getResult();
                     }
                     catch ( ConnectionException e ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyV3Impl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyV3Impl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyV3Impl.java
index 0fd82cc..ac28208 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyV3Impl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyV3Impl.java
@@ -190,7 +190,7 @@ public class MvccEntitySerializationStrategyV3Impl implements MvccEntitySerializ
 
 
                     try {
-                        return keyspace.prepareQuery( CF_ENTITY_DATA ).getKeySlice( rowKeys )
+                        return keyspace.prepareQuery( CF_ENTITY_DATA ).getKeySlice( scopedRowKeys )
                             .withColumnSlice( COL_VALUE ).execute().getResult();
                     }
                     catch ( ConnectionException e ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index f3e05ec..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index 5a8c2a9..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 5158a17..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index c545776..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/1.56.49-SNAPSHOT-UG-1/astyanax-cassandra-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-cassandra</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty</artifactId>
-      <version>3.6.6.Final</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cassandra</groupId>
-      <artifactId>cassandra-all</artifactId>
-      <version>1.2.11</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.commons-csv</artifactId>
-      <version>1.0-r706900_3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/maven-metadata-local.xml
deleted file mode 100644
index 99ea80f..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-cassandra/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-cassandra</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191832</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index dcef477..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index 8fb93c4..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 62cc03e..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index 4fcf9ea..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/1.56.49-SNAPSHOT-UG-1/astyanax-contrib-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-contrib</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.eureka</groupId>
-      <artifactId>eureka-client</artifactId>
-      <version>1.1.110</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.archaius</groupId>
-      <artifactId>archaius-core</artifactId>
-      <version>0.5.12</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/maven-metadata-local.xml
deleted file mode 100644
index f2d9b95..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-contrib/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-contrib</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191832</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index 882b38f..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index f5f99ed..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index f4f9ffc..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index f38a6c4..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/1.56.49-SNAPSHOT-UG-1/astyanax-core-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-core</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/maven-metadata-local.xml
deleted file mode 100644
index b9443df..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-core/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-core</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191832</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index 76c104c..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index ffa932b..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 8fae76a..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index 61620b3..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/1.56.49-SNAPSHOT-UG-1/astyanax-entity-mapper-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-entity-mapper</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-recipes</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.persistence</groupId>
-      <artifactId>persistence-api</artifactId>
-      <version>1.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-thrift</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/maven-metadata-local.xml
deleted file mode 100644
index 3db2287..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-entity-mapper/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-entity-mapper</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191833</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index e948661..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index e74b92e..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 0e04c5a..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index c832501..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/1.56.49-SNAPSHOT-UG-1/astyanax-examples-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-examples</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-thrift</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/maven-metadata-local.xml
deleted file mode 100644
index 6c88e9e..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-examples/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-examples</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191833</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index 86b3729..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index b84f9b6..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index ea0030d..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index e613533..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/1.56.49-SNAPSHOT-UG-1/astyanax-queue-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-queue</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-recipes</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-thrift</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/maven-metadata-local.xml
deleted file mode 100644
index 35f5cf1..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-queue/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-queue</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191833</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index 2b2c2f6..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index 7d44b2d..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 4781216..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index da54772..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/1.56.49-SNAPSHOT-UG-1/astyanax-recipes-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-recipes</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-thrift</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/maven-metadata-local.xml
deleted file mode 100644
index 8bdc21f..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-recipes/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-recipes</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191833</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index 7201b8e..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index 2e1fd01..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 6d8856f..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index d2c49ea..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/1.56.49-SNAPSHOT-UG-1/astyanax-thrift-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-thrift</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.thrift</groupId>
-      <artifactId>libthrift</artifactId>
-      <version>0.7.0</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.cassandra</groupId>
-      <artifactId>cassandra-thrift</artifactId>
-      <version>1.2.11</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/maven-metadata-local.xml
deleted file mode 100644
index a663c8a..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax-thrift/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax-thrift</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191833</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar
deleted file mode 100644
index 47dd11c..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-javadoc.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar
deleted file mode 100644
index 47dd11c..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1-sources.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.jar
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.jar b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.jar
deleted file mode 100644
index 084d9d4..0000000
Binary files a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.jar and /dev/null differ

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.pom
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.pom b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.pom
deleted file mode 100644
index 30439b3..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/1.56.49-SNAPSHOT-UG-1/astyanax-1.56.49-SNAPSHOT-UG-1.pom
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <dependencies>
-    <dependency>
-      <groupId>com.eaio.uuid</groupId>
-      <artifactId>uuid</artifactId>
-      <version>3.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.5</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-recipes</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
-      <artifactId>concurrentlinkedhashmap-lru</artifactId>
-      <version>1.3</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-core</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-contrib</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-cassandra</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>joda-time</groupId>
-      <artifactId>joda-time</artifactId>
-      <version>1.6.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>14.0.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-thrift</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.stephenc.high-scale-lib</groupId>
-      <artifactId>high-scale-lib</artifactId>
-      <version>1.1.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-entity-mapper</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.xerial.snappy</groupId>
-      <artifactId>snappy-java</artifactId>
-      <version>1.0.4.1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>1.6.4</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-examples</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.netflix.astyanax</groupId>
-      <artifactId>astyanax-queue</artifactId>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jackson</groupId>
-      <artifactId>jackson-core-asl</artifactId>
-      <version>1.9.2</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.2</version>
-      <scope>compile</scope>
-    </dependency>
-  </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/maven-metadata-local.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/maven-metadata-local.xml b/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/maven-metadata-local.xml
deleted file mode 100644
index 8e8b348..0000000
--- a/stack/corepersistence/m2/repository/com/netflix/astyanax/astyanax/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.netflix.astyanax</groupId>
-  <artifactId>astyanax</artifactId>
-  <version>1.56.49-SNAPSHOT-UG-1</version>
-  <versioning>
-    <versions>
-      <version>1.56.49-SNAPSHOT-UG-1</version>
-    </versions>
-    <lastUpdated>20140319191831</lastUpdated>
-  </versioning>
-</metadata>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/379541b3/stack/corepersistence/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/pom.xml b/stack/corepersistence/pom.xml
index 4e4648e..3c86a93 100644
--- a/stack/corepersistence/pom.xml
+++ b/stack/corepersistence/pom.xml
@@ -52,7 +52,7 @@ limitations under the License.
 
         <antlr.version>3.5.2</antlr.version>
         <archaius.version>0.5.12</archaius.version>
-        <astyanax.version>1.56.49-SNAPSHOT-UG-1</astyanax.version>
+        <astyanax.version>3.9.0</astyanax.version>
         <cassandra.version>1.2.18</cassandra.version>
 <!--        <chop.version>1.0</chop.version>-->
         <commons.codec.version>1.6</commons.codec.version>
@@ -161,12 +161,4 @@ limitations under the License.
 
     </build>
 
-    <repositories>
-        <repository>
-            <id>local-dependencies</id>
-            <name>local-depedendencies</name>
-            <url>file://${project.basedir}/../m2/repository</url>
-        </repository>
-    </repositories>
-
 </project>


[32/50] [abbrv] usergrid git commit: Merge commit 'refs/pull/477/head' of github.com:apache/usergrid

Posted by sn...@apache.org.
Merge commit 'refs/pull/477/head' of github.com:apache/usergrid


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

Branch: refs/heads/asf-site
Commit: 548334bf8a5b662232be6f2dfd72b138d1112b02
Parents: 10733b2 0d4c35f
Author: Michael Russo <mi...@gmail.com>
Authored: Mon Feb 1 08:46:24 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Mon Feb 1 08:46:24 2016 -0800

----------------------------------------------------------------------
 .../apache/usergrid/rest/management/users/UsersResource.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[27/50] [abbrv] usergrid git commit: USERGRID-1243: logging overhaul, pt. 1

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CounterUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CounterUtils.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CounterUtils.java
index 032836f..0e55dc9 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CounterUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CounterUtils.java
@@ -224,15 +224,15 @@ public class CounterUtils {
                                                  UUID queueId, String category, String name, long value,
                                                  long counterTimestamp, long cassandraTimestamp ) {
         for ( CounterResolution resolution : CounterResolution.values() ) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("BIAC for resolution {}", resolution);
+            if (logger.isTraceEnabled()) {
+                logger.trace("BIAC for resolution {}", resolution);
             }
 
             batchIncrementAggregateCounters( m, userId, groupId, queueId, category, resolution, name, value,
                     counterTimestamp, applicationId );
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("DONE BIAC for resolution {}", resolution);
+            if (logger.isTraceEnabled()) {
+                logger.trace("DONE BIAC for resolution {}", resolution);
             }
         }
         batchIncrementEntityCounter( m, applicationId, name, value, cassandraTimestamp, applicationId );
@@ -296,9 +296,9 @@ public class CounterUtils {
 
     private void handleAggregateCounterRow( Mutator<ByteBuffer> m, String key, long column, long value,
                                             UUID applicationId ) {
-        if ( logger.isDebugEnabled() ) {
-            logger.info( "HACR: aggregateRow for app {} with key {} column {} and value {}",
-                    new Object[] { applicationId, key, column, value } );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "HACR: aggregateRow for app {} with key {} column {} and value {}",
+                    applicationId, key, column, value );
         }
         if ( "o".equals( counterType ) || "p".equals( counterType ) ) {
             if ( m != null ) {
@@ -340,9 +340,9 @@ public class CounterUtils {
 
     private Mutator<ByteBuffer> batchIncrementEntityCounter( Mutator<ByteBuffer> m, UUID entityId, String name,
                                                              Long value, long timestamp, UUID applicationId ) {
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "BIEC: Incrementing property {} of entity {} by value {}",
-                    new Object[] { name, entityId, value } );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "BIEC: Incrementing property {} of entity {} by value {}",
+                    name, entityId, value );
         }
         addInsertToMutator( m, ENTITY_DICTIONARIES, key( entityId, DICTIONARY_COUNTERS ), name, null, timestamp );
         if ( "o".equals( counterType ) || "p".equals( counterType ) ) {
@@ -359,9 +359,9 @@ public class CounterUtils {
 
     public Mutator<ByteBuffer> batchIncrementQueueCounter( Mutator<ByteBuffer> m, UUID queueId, String name, long value,
                                                            long timestamp, UUID applicationId ) {
-        if ( logger.isDebugEnabled() ) {
-            logger.debug( "BIQC: Incrementing property {} of queue {} by value {}",
-                    new Object[] { name, queueId, value } );
+        if ( logger.isTraceEnabled() ) {
+            logger.trace( "BIQC: Incrementing property {} of queue {} by value {}",
+                    name, queueId, value );
         }
         m.addInsertion( bytebuffer( key( queueId, DICTIONARY_COUNTERS ).toString() ),
                 QueuesCF.QUEUE_DICTIONARIES.toString(),

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java
index ad60b1c..2efbb62 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/Setup.java
@@ -18,10 +18,6 @@ package org.apache.usergrid.persistence.cassandra;
 
 import java.util.UUID;
 
-/**
- *
- * @author ApigeeCorporation
- */
 public interface Setup {
 
     /**

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/Slf4jTraceTagReporter.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/Slf4jTraceTagReporter.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/Slf4jTraceTagReporter.java
index a94f097..e137cec 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/Slf4jTraceTagReporter.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/Slf4jTraceTagReporter.java
@@ -47,10 +47,10 @@ public class Slf4jTraceTagReporter implements TraceTagReporter {
     public void report( TraceTag traceTag ) {
         logger.info( "TraceTag: {}", traceTag.getTraceName() );
         for ( TimedOpTag timedOpTag : traceTag ) {
-            logger.info( "----opId: {} opName: {} startTime: {} elapsed: {}", new Object[] {
+            logger.info( "----opId: {} opName: {} startTime: {} elapsed: {}",
                     timedOpTag.getOpTag(), timedOpTag.getTagName(), new Date( timedOpTag.getStart() ),
                     timedOpTag.getElapsed()
-            } );
+            );
         }
         logger.info( "------" );
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagAspect.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagAspect.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagAspect.java
index 5825ee0..f9aa70e 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagAspect.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagAspect.java
@@ -39,8 +39,8 @@ public class TraceTagAspect {
     public Object applyTrace( ProceedingJoinPoint pjp ) throws Throwable {
         String tagName = pjp.toLongString();
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("Applyng trace on {}", tagName);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Applying trace on {}", tagName);
         }
 
         TimedOpTag timedOpTag = traceTagManager.timerInstance();
@@ -56,8 +56,8 @@ public class TraceTagAspect {
             timedOpTag.stopAndApply( tagName, success );
             traceTagManager.addTimer( timedOpTag );
 
-            if (logger.isDebugEnabled()) {
-                logger.debug("TimedOpTag added in Aspect on {}", tagName);
+            if (logger.isTraceEnabled()) {
+                logger.trace("TimedOpTag added in Aspect on {}", tagName);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagManager.java b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagManager.java
index fe5cada..1a0756e 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/util/TraceTagManager.java
@@ -146,8 +146,8 @@ public class TraceTagManager {
     public void attach( TraceTag traceTag ) {
         Preconditions.checkState( !isActive(), "Attempt to attach on already active trace" );
         localTraceTag.set( traceTag );
-        if (logger.isDebugEnabled()) {
-            logger.debug("Attached TraceTag {} to thread", traceTag);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Attached TraceTag {} to thread", traceTag);
         }
     }
 
@@ -157,8 +157,8 @@ public class TraceTagManager {
         TraceTag traceTag = localTraceTag.get();
         Preconditions.checkState( isActive(), "Attempt to detach on no active trace" );
         localTraceTag.remove();
-        if (logger.isDebugEnabled()) {
-            logger.debug("Detached TraceTag {} from thread", traceTag);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Detached TraceTag {} from thread", traceTag);
         }
         return traceTag;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/system/UsergridSystemMonitor.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/system/UsergridSystemMonitor.java b/stack/core/src/main/java/org/apache/usergrid/system/UsergridSystemMonitor.java
index c56315e..87820f2 100644
--- a/stack/core/src/main/java/org/apache/usergrid/system/UsergridSystemMonitor.java
+++ b/stack/core/src/main/java/org/apache/usergrid/system/UsergridSystemMonitor.java
@@ -92,7 +92,7 @@ public class UsergridSystemMonitor {
      * are in debug mode.
      */
     public void maybeLogPayload( long duration, Object... objects ) {
-        if ( duration > timerLogThreshold || logger.isDebugEnabled() ) {
+        if ( duration > timerLogThreshold || logger.isInfoEnabled() ) {
             String message;
             if ( objects.length > 1 ) {
                 message = formatMessage( duration, MapUtils.map( objects ) );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/utils/AESUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/AESUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/AESUtils.java
index 1a75d70..092b925 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/AESUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/AESUtils.java
@@ -32,7 +32,7 @@ import static org.apache.commons.lang.StringUtils.substring;
 
 public class AESUtils {
 
-    private static final Logger LOG = LoggerFactory.getLogger( AESUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( AESUtils.class );
 
     private static byte[] linebreak = { };
     private static Cipher cipher;
@@ -45,7 +45,7 @@ public class AESUtils {
             coder = new Base64( 32, linebreak, true );
         }
         catch ( Throwable t ) {
-            LOG.error( "Cipher error", t );
+            logger.error( "Cipher error", t );
         }
     }
 
@@ -59,7 +59,7 @@ public class AESUtils {
             return new String( coder.encode( cipherText ) );
         }
         catch ( Exception e ) {
-            LOG.error( "Encryption error", e );
+            logger.error( "Encryption error", e );
         }
         return null;
     }
@@ -76,7 +76,7 @@ public class AESUtils {
             return new String( decrypted );
         }
         catch ( Exception e ) {
-            LOG.error( "Decryption error", e );
+            logger.error( "Decryption error", e );
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/utils/ConversionUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/ConversionUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/ConversionUtils.java
index 567a713..60bc64e 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/ConversionUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/ConversionUtils.java
@@ -643,7 +643,7 @@ public class ConversionUtils {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get object from bytes for type " + type.getName(), e );
+            logger.error( "Unable to get object from bytes for type {}", type.getName(), e );
         }
         return null;
     }
@@ -683,7 +683,7 @@ public class ConversionUtils {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get object from bytes for type " + type.getName(), e );
+            logger.error( "Unable to get object from bytes for type {}", type.getName(), e );
         }
         return null;
     }
@@ -748,7 +748,7 @@ public class ConversionUtils {
             }
         }
         catch ( Exception e ) {
-            logger.error( "Unable to get object from bytes for type " + type.getName(), e );
+            logger.error( "Unable to get object from bytes for type {}", type.getName(), e );
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/utils/IndexUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/IndexUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/IndexUtils.java
index 5fc0f74..a6ad93b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/IndexUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/IndexUtils.java
@@ -51,7 +51,7 @@ import static org.apache.usergrid.utils.JsonUtils.toJsonNode;
 
 public class IndexUtils {
 
-    private static final Logger LOG = LoggerFactory.getLogger( IndexUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( IndexUtils.class );
 
     static Analyzer analyzer = new StandardAnalyzer( Version.LUCENE_30 );
 
@@ -215,7 +215,7 @@ public class IndexUtils {
             ts.end();
         }
         catch ( IOException e ) {
-            LOG.error( "Error getting keywords ", e );
+            logger.error( "Error getting keywords ", e );
         }
         finally {
             try {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/utils/JsonUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/JsonUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/JsonUtils.java
index 4f1b54e..3bb96f9 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/JsonUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/JsonUtils.java
@@ -47,7 +47,7 @@ import static org.apache.usergrid.utils.StringUtils.stringOrSubstringBeforeFirst
 
 public class JsonUtils {
 
-    private static final Logger LOG = LoggerFactory.getLogger( JsonUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( JsonUtils.class );
 
     static ObjectMapper mapper = new ObjectMapper();
 
@@ -72,8 +72,8 @@ public class JsonUtils {
             return mapper.writeValueAsString( obj );
         }
         catch ( Throwable t ) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Error generating JSON", t);
+            if (logger.isDebugEnabled()) {
+                logger.debug("Error generating JSON", t);
             }
             throw new JsonWriteException( "Error generating JSON", t );
         }
@@ -86,8 +86,8 @@ public class JsonUtils {
             return indentObjectMapper.writeValueAsString( obj );
         }
         catch ( Throwable t ) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Error generating JSON", t);
+            if (logger.isDebugEnabled()) {
+                logger.debug("Error generating JSON", t);
             }
             throw new JsonWriteException( "Error generating JSON", t );
         }
@@ -100,8 +100,8 @@ public class JsonUtils {
             return mapper.readValue( json, Object.class );
         }
         catch ( Throwable t ) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Error parsing JSON", t);
+            if (logger.isDebugEnabled()) {
+                logger.debug("Error parsing JSON", t);
             }
             throw new JsonReadException( "Error parsing JSON", t );
         }
@@ -124,7 +124,7 @@ public class JsonUtils {
             bytes = smileMapper.writeValueAsBytes( obj );
         }
         catch ( Exception e ) {
-            LOG.error( "Error getting SMILE bytes", e );
+            logger.error( "Error getting SMILE bytes", e );
         }
         if ( bytes != null ) {
             return ByteBuffer.wrap( bytes );
@@ -152,7 +152,7 @@ public class JsonUtils {
                     byteBuffer.remaining(), clazz );
         }
         catch ( Exception e ) {
-            LOG.error( "Error parsing SMILE bytes", e );
+            logger.error( "Error parsing SMILE bytes", e );
         }
         return obj;
     }
@@ -184,7 +184,7 @@ public class JsonUtils {
                     return UUID.fromString( s );
                 }
                 catch ( IllegalArgumentException e ) {
-                    LOG.warn( "Argument to UUID.fromString({}) was invalid.", s, e );
+                    logger.warn( "Argument to UUID.fromString({}) was invalid.", s, e );
                 }
             }
         }
@@ -333,7 +333,7 @@ public class JsonUtils {
             json = mapper.readValue( file, Object.class );
         }
         catch ( Exception e ) {
-            LOG.error( "Error loading JSON", e );
+            logger.error( "Error loading JSON", e );
         }
         return json;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/utils/ListUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/ListUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/ListUtils.java
index 6a88193..6b90389 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/ListUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/ListUtils.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 
 
 public class ListUtils extends org.apache.commons.collections.ListUtils {
-    private static final Logger LOG = LoggerFactory.getLogger( ListUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( ListUtils.class );
 
 
     public static <A> A first( List<A> list ) {
@@ -68,7 +68,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return NumberUtils.toInt( ( String ) a );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to int", a, e );
+            logger.warn( "Could not convert list item {} to int", a, e );
         }
         return null;
     }
@@ -88,7 +88,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return NumberUtils.toLong( ( String ) a );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to long", a, e );
+            logger.warn( "Could not convert list item {} to long", a, e );
         }
         return null;
     }
@@ -108,7 +108,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return Boolean.parseBoolean( ( String ) a );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to boolean", a, e );
+            logger.warn( "Could not convert list item {} to boolean", a, e );
         }
         return null;
     }
@@ -128,7 +128,7 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
             return UUIDUtils.tryGetUUID( ( String ) i );
         }
         catch ( Exception e ) {
-            LOG.warn( "Could not convert list item {} to UUID", i, e );
+            logger.warn( "Could not convert list item {} to UUID", i, e );
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java b/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
index 5f64ef3..b91b866 100644
--- a/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/utils/StringUtils.java
@@ -29,7 +29,7 @@ import static org.apache.usergrid.utils.ConversionUtils.string;
 
 public class StringUtils extends org.apache.commons.lang.StringUtils {
 
-    private static final Logger LOG = LoggerFactory.getLogger( StringUtils.class );
+    private static final Logger logger = LoggerFactory.getLogger( StringUtils.class );
 
 
     public static Object lower( Object obj ) {
@@ -165,7 +165,7 @@ public class StringUtils extends org.apache.commons.lang.StringUtils {
             return IOUtils.toString( StringUtils.class.getResourceAsStream( filePath ) );
         }
         catch ( Exception e ) {
-            LOG.error( "Error getting file from classpath: " + filePath, e );
+            logger.error( "Error getting file from classpath: {}", filePath, e );
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java b/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
index 22c304a..1f763b2 100644
--- a/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
+++ b/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java
@@ -135,12 +135,11 @@ public class ScopedCacheSerializationImpl<K,V> implements ScopedCacheSerializati
                 V value = MAPPER.readValue(result.getByteArrayValue(), typeRef);
 
                 logger.debug("Read cache item from scope {}\n   key/value types {}/{}\n   key:value: {}:{}",
-                    new Object[]{
                         scope.getApplication().getUuid(),
                         key.getClass().getSimpleName(),
                         value.getClass().getSimpleName(),
                         key,
-                        value});
+                        value);
 
                 return value;
 
@@ -196,12 +195,11 @@ public class ScopedCacheSerializationImpl<K,V> implements ScopedCacheSerializati
         executeBatch(batch);
 
         logger.debug("Wrote cache item to scope {}\n   key/value types {}/{}\n   key:value: {}:{}",
-            new Object[] {
                 scope.getApplication().getUuid(),
                 key.getClass().getSimpleName(),
                 value.getClass().getSimpleName(),
                 key,
-                value});
+                value);
 
         return value;
     }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommit.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommit.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommit.java
index a0d0c1a..460c271 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommit.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkCommit.java
@@ -53,7 +53,7 @@ import rx.functions.Action1;
 @Singleton
 public class MarkCommit implements Action1<CollectionIoEvent<MvccEntity>> {
 
-    private static final Logger LOG = LoggerFactory.getLogger( MarkCommit.class );
+    private static final Logger logger = LoggerFactory.getLogger( MarkCommit.class );
 
     private final MvccLogEntrySerializationStrategy logStrat;
     private final MvccEntitySerializationStrategy entityStrat;
@@ -94,7 +94,7 @@ public class MarkCommit implements Action1<CollectionIoEvent<MvccEntity>> {
         final ApplicationScope applicationScope = idIoEvent.getEntityCollection();
 
 
-        LOG.debug("Inserting tombstone for entity {} at version {}", entityId, version );
+        logger.debug("Inserting tombstone for entity {} at version {}", entityId, version );
 
         final MvccLogEntry startEntry =
                 new MvccLogEntryImpl( entityId, version, Stage.COMMITTED, MvccLogEntry.State.DELETED );
@@ -177,4 +177,4 @@ public class MarkCommit implements Action1<CollectionIoEvent<MvccEntity>> {
 //
 //        final int removedCount = deleteFieldsObservable.count().toBlocking().last();
 //
-//        LOG.debug("Removed unique values for {} entities of entity {}", removedCount, entityId );
+//        logger.debug("Removed unique values for {} entities of entity {}", removedCount, entityId );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkStart.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkStart.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkStart.java
index 3c4ea95..37b3b04 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkStart.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/MarkStart.java
@@ -56,7 +56,7 @@ import rx.functions.Func1;
 @Singleton
 public class MarkStart implements Func1<CollectionIoEvent<Id>, CollectionIoEvent<MvccEntity>> {
 
-    private static final Logger LOG = LoggerFactory.getLogger( MarkStart.class );
+    private static final Logger logger = LoggerFactory.getLogger( MarkStart.class );
 
 
     private final MvccLogEntrySerializationStrategy logStrategy;
@@ -98,7 +98,7 @@ public class MarkStart implements Func1<CollectionIoEvent<Id>, CollectionIoEvent
             write.execute();
         }
         catch ( ConnectionException e ) {
-            LOG.error( "Failed to execute write asynchronously ", e );
+            logger.error( "Failed to execute write asynchronously ", e );
             throw new CollectionRuntimeException( null, applicationScope,
                     "Failed to execute write asynchronously ", e );
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
index 5554a5f..c9d11be 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/delete/VersionCompact.java
@@ -91,7 +91,7 @@ public class VersionCompact
                         if ( logger.isDebugEnabled() ) {
                             logger.debug(
                                 "Deleting log entry and version data for entity id {} and version {} in app scope {}",
-                                new Object[] { entityId, version, scope } );
+                                entityId, version, scope );
                         }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/RollbackAction.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/RollbackAction.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/RollbackAction.java
index 8342e55..23c6dfe 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/RollbackAction.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/RollbackAction.java
@@ -47,7 +47,7 @@ import rx.schedulers.Schedulers;
  */
 public class RollbackAction implements Action1<Throwable> {
 
-    private static final Logger log = LoggerFactory.getLogger( RollbackAction.class );
+    private static final Logger logger = LoggerFactory.getLogger( RollbackAction.class );
 
     private final UniqueValueSerializationStrategy uniqueValueStrat;
     private final MvccLogEntrySerializationStrategy logEntryStrat;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteCommit.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteCommit.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteCommit.java
index 21570ec..7eb96e7 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteCommit.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteCommit.java
@@ -58,7 +58,7 @@ import rx.functions.Func1;
 @Singleton
 public class WriteCommit implements Func1<CollectionIoEvent<MvccEntity>, CollectionIoEvent<MvccEntity>> {
 
-    private static final Logger LOG = LoggerFactory.getLogger( WriteCommit.class );
+    private static final Logger logger = LoggerFactory.getLogger( WriteCommit.class );
 
     @Inject
     private UniqueValueSerializationStrategy uniqueValueStrat;
@@ -119,7 +119,7 @@ public class WriteCommit implements Func1<CollectionIoEvent<MvccEntity>, Collect
 
                 MutationBatch mb = uniqueValueStrat.write(applicationScope,  written );
 
-                LOG.debug("Finalizing {} unqiue value {}", field.getName(), field.getValue().toString());
+                logger.debug("Finalizing {} unique value {}", field.getName(), field.getValue().toString());
 
                 // merge into our existing mutation batch
                 logMutation.mergeShallow( mb );
@@ -129,7 +129,7 @@ public class WriteCommit implements Func1<CollectionIoEvent<MvccEntity>, Collect
             logMutation.execute();
         }
         catch ( ConnectionException e ) {
-            LOG.error( "Failed to execute write asynchronously ", e );
+            logger.error( "Failed to execute write asynchronously ", e );
             throw new WriteCommitException( mvccEntity, applicationScope,
                 "Failed to execute write asynchronously ", e );
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteOptimisticVerify.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteOptimisticVerify.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteOptimisticVerify.java
index 4ced629..6a69038 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteOptimisticVerify.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteOptimisticVerify.java
@@ -45,7 +45,7 @@ import rx.functions.Action1;
 @Singleton
 public class WriteOptimisticVerify implements Action1<CollectionIoEvent<MvccEntity>> {
 
-    private static final Logger log = LoggerFactory.getLogger( WriteOptimisticVerify.class );
+    private static final Logger logger = LoggerFactory.getLogger( WriteOptimisticVerify.class );
 
     private final MvccLogEntrySerializationStrategy logEntryStrat;
 
@@ -81,7 +81,7 @@ public class WriteOptimisticVerify implements Action1<CollectionIoEvent<MvccEnti
         // Previous log entry must be committed, otherwise somebody is already writing
         if ( versions.size() > 1 && versions.get( 1 ).getStage().ordinal() < Stage.COMMITTED.ordinal() ) {
 
-            log.debug( "Conflict writing entity id {} version {}", entity.getId().toString(),
+            logger.debug( "Conflict writing entity id {} version {}", entity.getId().toString(),
                     entity.getVersion().toString() );
 
             throw new WriteOptimisticVerifyException( mvccEntity, applicationScope,

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteStart.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteStart.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteStart.java
index 79b2d85..5de885e 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteStart.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteStart.java
@@ -36,7 +36,7 @@ import static org.apache.usergrid.persistence.core.util.ValidationUtils.verifyEn
 @Singleton
 public class WriteStart implements Func1<CollectionIoEvent<Entity>, CollectionIoEvent<MvccEntity>> {
 
-    private static final Logger LOG = LoggerFactory.getLogger( WriteStart.class );
+    private static final Logger logger = LoggerFactory.getLogger( WriteStart.class );
 
     private final MvccLogEntrySerializationStrategy logStrategy;
 
@@ -75,11 +75,11 @@ public class WriteStart implements Func1<CollectionIoEvent<Entity>, CollectionIo
                 try {
                     write.execute();
                 } catch (ConnectionException e) {
-                    LOG.error("Failed to execute write ", e);
+                    logger.error("Failed to execute write ", e);
                     throw new WriteStartException(nextStage, applicationScope,
                         "Failed to execute write ", e);
                 } catch (NullPointerException e) {
-                    LOG.error("Failed to execute write ", e);
+                    logger.error("Failed to execute write ", e);
                     throw new WriteStartException(nextStage, applicationScope,
                         "Failed to execute write", e);
                 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
index 564d036..780b83b 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/mvcc/stage/write/WriteUniqueVerify.java
@@ -62,7 +62,7 @@ import rx.functions.Action1;
 @Singleton
 public class WriteUniqueVerify implements Action1<CollectionIoEvent<MvccEntity>> {
 
-    private static final Logger LOG = LoggerFactory.getLogger( WriteUniqueVerify.class );
+    private static final Logger logger = LoggerFactory.getLogger( WriteUniqueVerify.class );
 
     private final UniqueValueSerializationStrategy uniqueValueStrat;
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
index d5db5c9..57199e2 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccEntitySerializationStrategyImpl.java
@@ -75,7 +75,7 @@ import rx.schedulers.Schedulers;
  */
 public abstract class MvccEntitySerializationStrategyImpl implements MvccEntitySerializationStrategy {
 
-    private static final Logger log = LoggerFactory.getLogger( MvccLogEntrySerializationStrategyImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( MvccLogEntrySerializationStrategyImpl.class );
 
 
     protected final Keyspace keyspace;
@@ -419,9 +419,9 @@ public abstract class MvccEntitySerializationStrategyImpl implements MvccEntityS
                 deSerialized = column.getValue( entityJsonSerializer );
             }
             catch ( DataCorruptionException e ) {
-                log.error(
-                        "DATA CORRUPTION DETECTED when de-serializing entity with Id {} and version {}.  This means the"
-                                + " write was truncated.", id, version, e );
+                logger.error(
+                        "DATA CORRUPTION DETECTED when de-serializing entity with Id {} and version {}.  This means the write was truncated.",
+                        id, version, e );
                 //return an empty entity, we can never load this one, and we don't want it to bring the system
                 //to a grinding halt
                 return new MvccEntityImpl( id, version, MvccEntity.Status.DELETED, Optional.<Entity>absent(),0 );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccLogEntrySerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccLogEntrySerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccLogEntrySerializationStrategyImpl.java
index 7ba6a5e..f28fa26 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccLogEntrySerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/MvccLogEntrySerializationStrategyImpl.java
@@ -60,7 +60,7 @@ import com.netflix.astyanax.serializers.AbstractSerializer;
  */
 public abstract class MvccLogEntrySerializationStrategyImpl<K> implements MvccLogEntrySerializationStrategy {
 
-    private static final Logger LOG = LoggerFactory.getLogger( MvccLogEntrySerializationStrategyImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( MvccLogEntrySerializationStrategyImpl.class );
 
     private static final StageSerializer SER = new StageSerializer();
 
@@ -277,7 +277,9 @@ public abstract class MvccLogEntrySerializationStrategyImpl<K> implements MvccLo
 
         final long timestamp = version.timestamp();
 
-        LOG.debug( "Writing version with timestamp '{}'", timestamp );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Writing version with timestamp '{}'", timestamp);
+        }
 
         final Id applicationId = collectionScope.getApplication();
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
index 781490d..622ebef 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
@@ -225,12 +225,11 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
             ScopedRowKey.fromKey( applicationId, entityKey ) ) );
 
 
-        if ( log.isDebugEnabled() ) {
-            log.debug( "Writing unique value version={} name={} value={} ",
-                new Object[] {
+        if ( log.isTraceEnabled() ) {
+            log.trace( "Writing unique value version={} name={} value={} ",
                     uniqueValue.getEntityVersion(), uniqueValue.getField().getName(),
                     uniqueValue.getField().getValue()
-                } );
+                );
         }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java
index 5143c49..a110ed7 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/migration/MvccEntityDataMigrationImpl.java
@@ -68,7 +68,7 @@ import rx.schedulers.Schedulers;
 public class MvccEntityDataMigrationImpl implements DataMigration{
 
 
-    private static final Logger LOGGER = LoggerFactory.getLogger( MvccEntityDataMigrationImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( MvccEntityDataMigrationImpl.class );
 
     private final Keyspace keyspace;
     private final VersionedMigrationSet<MvccEntitySerializationStrategy> allVersions;
@@ -149,7 +149,7 @@ public class MvccEntityDataMigrationImpl implements DataMigration{
                                     new EntityToSaveMessage(currentScope, allVersions.next());
                                 subscriber.onNext(message);
                             }catch (Exception e){
-                                LOGGER.error("Failed to load entity " +entityIdScope.getId(),e);
+                                logger.error("Failed to load entity {}", entityIdScope.getId(),e);
                             }
                         }
 
@@ -224,7 +224,7 @@ public class MvccEntityDataMigrationImpl implements DataMigration{
                                     totalBatch.mergeShallow(mb);
                                 }
                             }catch (Exception e){
-                                LOGGER.error("Failed to migrate entity "+ message.entity.getId().getUuid()+ " :: " + message.entity.getId().getType(),e);
+                                logger.error("Failed to migrate entity {} :: {}", message.entity.getId().getUuid(), message.entity.getId().getType(),e);
                             }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
index 8c12a25..c24940b 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiKeyColumnNameIterator.java
@@ -51,7 +51,7 @@ import rx.schedulers.Schedulers;
 public class MultiKeyColumnNameIterator<C, T> implements Iterable<T>, Iterator<T> {
 
 
-    private static final Logger LOG = LoggerFactory.getLogger( MultiKeyColumnNameIterator.class );
+    private static final Logger logger = LoggerFactory.getLogger( MultiKeyColumnNameIterator.class );
 
     private Iterator<T> iterator;
 
@@ -222,7 +222,7 @@ public class MultiKeyColumnNameIterator<C, T> implements Iterable<T>, Iterator<T
             //may block if we get full, that's expected behavior
 
             try {
-                if (LOG.isTraceEnabled()) LOG.trace( "Received element {}" , t );
+                if (logger.isTraceEnabled()) logger.trace( "Received element {}" , t );
                 queue.put( t );
             }
             catch ( InterruptedException e ) {

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/executor/TaskExecutorFactory.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/executor/TaskExecutorFactory.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/executor/TaskExecutorFactory.java
index 4ffabf7..5e7761c 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/executor/TaskExecutorFactory.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/executor/TaskExecutorFactory.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  */
 public class TaskExecutorFactory {
 
-    private static final Logger log = LoggerFactory.getLogger( TaskExecutorFactory.class );
+    private static final Logger logger = LoggerFactory.getLogger( TaskExecutorFactory.class );
 
 
     public enum RejectionAction {
@@ -168,7 +168,7 @@ public class TaskExecutorFactory {
 
         @Override
         public void rejectedExecution( final Runnable r, final ThreadPoolExecutor executor ) {
-            log.warn( "{} task queue full, rejecting task {} and running in thread {}", poolName, r,
+            logger.warn( "{} task queue full, rejecting task {} and running in thread {}", poolName, r,
                 Thread.currentThread().getName() );
 
             //We've decided we want to have a "caller runs" policy, to just invoke the task when rejected
@@ -191,7 +191,7 @@ public class TaskExecutorFactory {
 
         @Override
         public void rejectedExecution( final Runnable r, final ThreadPoolExecutor executor ) {
-            log.warn( "{} task queue full, dropping task {}", poolName, r );
+            logger.warn( "{} task queue full, dropping task {}", poolName, r );
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
index 1b2dfdb..51afc59 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/metrics/MetricsFactoryImpl.java
@@ -18,7 +18,6 @@ package org.apache.usergrid.persistence.core.metrics;
 
 
 import java.net.InetSocketAddress;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
 
 import org.slf4j.Logger;
@@ -29,7 +28,6 @@ import com.codahale.metrics.Gauge;
 import com.codahale.metrics.Histogram;
 import com.codahale.metrics.JmxReporter;
 import com.codahale.metrics.Meter;
-import com.codahale.metrics.Metric;
 import com.codahale.metrics.MetricFilter;
 import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer;
@@ -49,7 +47,7 @@ public class MetricsFactoryImpl implements MetricsFactory {
     private MetricRegistry registry;
     private GraphiteReporter graphiteReporter;
     private JmxReporter jmxReporter;
-    private static final Logger LOG = LoggerFactory.getLogger(MetricsFactoryImpl.class);
+    private static final Logger logger = LoggerFactory.getLogger(MetricsFactoryImpl.class);
 
 
     @Inject
@@ -64,7 +62,7 @@ public class MetricsFactoryImpl implements MetricsFactory {
                 .build(graphite);
             graphiteReporter.start(30, TimeUnit.SECONDS);
         } else {
-            LOG.warn("MetricsService:Logger not started.");
+            logger.warn("MetricsService:Logger not started.");
         }
 
         jmxReporter = JmxReporter.forRegistry(registry).build();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java
index 4075437..db694fe 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/migration/schema/MigrationManagerImpl.java
@@ -81,9 +81,8 @@ public class MigrationManagerImpl implements MigrationManager {
 
                 if ( columnFamilies == null || columnFamilies.size() == 0 ) {
                     logger.warn(
-                            "Class {} implements {} but returns null column families for migration.  Either implement"
-                                    + " this method or remove the interface from the class", migration.getClass(),
-                            Migration.class );
+                            "Class {} implements {} but returns null column families for migration.  Either implement this method or remove the interface from the class",
+                            migration.getClass(), Migration.class );
                     continue;
                 }
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/ObservableIterator.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/ObservableIterator.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/ObservableIterator.java
index 81cc973..bad2b69 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/ObservableIterator.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/ObservableIterator.java
@@ -37,7 +37,7 @@ import rx.Subscriber;
  */
 public abstract class ObservableIterator<T> implements Observable.OnSubscribe<T> {
 
-    private static final Logger log = LoggerFactory.getLogger( ObservableIterator.class );
+    private static final Logger logger = LoggerFactory.getLogger( ObservableIterator.class );
 
     private final String name;
 
@@ -66,7 +66,7 @@ public abstract class ObservableIterator<T> implements Observable.OnSubscribe<T>
             while ( itr.hasNext() && !subscriber.isUnsubscribed() ) {
                 final T next = itr.next();
 
-                if (log.isTraceEnabled()) log.trace( "Iterator '{}' emitting item '{}'", name, next );
+                if (logger.isTraceEnabled()) logger.trace( "Iterator '{}' emitting item '{}'", name, next );
 
                 subscriber.onNext( next );
             }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/OrderedMerge.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/OrderedMerge.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/OrderedMerge.java
index 1c33f58..38f7d8e 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/OrderedMerge.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/rx/OrderedMerge.java
@@ -50,7 +50,7 @@ import rx.subscriptions.CompositeSubscription;
  */
 public final class OrderedMerge<T> implements Observable.OnSubscribe<T> {
 
-    private static final Logger log = LoggerFactory.getLogger( OrderedMerge.class );
+    private static final Logger logger = LoggerFactory.getLogger( OrderedMerge.class );
 
     //the comparator to compare items
     private final Comparator<T> comparator;
@@ -149,7 +149,7 @@ public final class OrderedMerge<T> implements Observable.OnSubscribe<T> {
             //we're done, just drain the queue since there are no more running producers
             if ( completed == innerSubscribers.size() ) {
 
-                if (log.isTraceEnabled()) log.trace( "Completing Observable.  Draining elements from the subscribers", innerSubscribers.size() );
+                if (logger.isTraceEnabled()) logger.trace( "Completing Observable.  Draining {} elements from the subscribers", innerSubscribers.size() );
 
                 //Drain the queues
                 while ( !subscriber.isUnsubscribed() && (!nextValues.isEmpty() || !toProduce.isEmpty()) ) {
@@ -225,7 +225,7 @@ public final class OrderedMerge<T> implements Observable.OnSubscribe<T> {
 
                         final T value = inner.pop();
 
-                        if (log.isTraceEnabled()) log.trace( "Emitting value {}", value );
+                        if (logger.isTraceEnabled()) logger.trace( "Emitting value {}", value );
 
                         subscriber.onNext( value );
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
index 93ae753..e865377 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/GraphManagerImpl.java
@@ -66,7 +66,7 @@ import rx.Observable;
  */
 public class GraphManagerImpl implements GraphManager {
 
-    private static final Logger LOG = LoggerFactory.getLogger( GraphManagerImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( GraphManagerImpl.class );
 
     private final ApplicationScope scope;
 
@@ -188,7 +188,9 @@ public class GraphManagerImpl implements GraphManager {
             final MutationBatch edgeMutation = storageEdgeSerialization.writeEdge( scope, edge1, timestamp );
 
 
-            LOG.debug( "Marking edge {} as deleted to commit log", edge1 );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Marking edge {} as deleted to commit log", edge1);
+            }
             try {
                 edgeMutation.execute();
             }
@@ -223,7 +225,7 @@ public class GraphManagerImpl implements GraphManager {
                 //fire our delete listener and wait for the results
                 edgeDeleteListener.receive( scope, marked, startTimestamp ).doOnNext(
                     //log them
-                    count -> LOG.debug( "removed {} types for edge {} ", count, edge ) )
+                    count -> logger.trace( "removed {} types for edge {} ", count, edge ) )
                     //return the marked edge
                     .map( count -> marked ) );
 
@@ -241,7 +243,9 @@ public class GraphManagerImpl implements GraphManager {
             final MutationBatch nodeMutation = nodeSerialization.mark( scope, id, timestamp );
 
 
-            LOG.debug( "Marking node {} as deleted to node mark", node );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Marking node {} as deleted to node mark", node);
+            }
             try {
                 nodeMutation.execute();
             }
@@ -273,7 +277,7 @@ public class GraphManagerImpl implements GraphManager {
                     //set to 0 if nothing is emitted
                 .lastOrDefault( 0 )
                     //log for posterity
-                .doOnNext( count -> LOG.debug( "Removed {} edges from node {}", count, inputNode ) )
+                .doOnNext( count -> logger.trace( "Removed {} edges from node {}", count, inputNode ) )
                     //return our id
                 .map( count -> inputNode );
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeMetaRepairImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeMetaRepairImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeMetaRepairImpl.java
index 206145a..be9ef6b 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeMetaRepairImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/EdgeMetaRepairImpl.java
@@ -51,7 +51,6 @@ import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
 
 import rx.Observable;
 import rx.functions.Action1;
-import rx.functions.Func1;
 import rx.observables.MathObservable;
 
 
@@ -62,7 +61,7 @@ import rx.observables.MathObservable;
 public class EdgeMetaRepairImpl implements EdgeMetaRepair {
 
 
-    private static final Logger LOG = LoggerFactory.getLogger( EdgeMetaRepairImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( EdgeMetaRepairImpl.class );
     private static final Log RX_LOG = new Log();
 
     private final EdgeMetadataSerialization edgeMetadataSerialization;
@@ -128,8 +127,10 @@ public class EdgeMetaRepairImpl implements EdgeMetaRepair {
                     //for each id type, check if the exist in parallel to increase processing speed
                     for ( final String subType : types ) {
 
-                        LOG.debug( "Checking for edges with nodeId {}, type {}, and subtype {}", node, edgeType,
-                                subType );
+                        if (logger.isTraceEnabled()) {
+                            logger.trace("Checking for edges with nodeId {}, type {}, and subtype {}", node, edgeType,
+                                    subType);
+                        }
 
                         Observable<Integer> search =
                                 //load each edge in it's own thread
@@ -147,16 +148,18 @@ public class EdgeMetaRepairImpl implements EdgeMetaRepair {
                                                   * iteration
                                                   **/
                                                  if ( count != 0 ) {
-                                                     LOG.debug( "Found edge with nodeId {}, type {}, "
-                                                                     + "and subtype {}. Not removing subtype. ",
-                                                             node, edgeType, subType );
+                                                     if (logger.isTraceEnabled()) {
+                                                         logger.trace("Found edge with nodeId {}, type {}, and subtype {}. Not removing subtype. ",
+                                                                 node, edgeType, subType);
+                                                     }
                                                      return;
                                                  }
 
 
-                                                 LOG.debug( "No edges with nodeId {}, type {}, "
-                                                                 + "and subtype {}. Removing subtype.", node,
-                                                         edgeType, subType );
+                                                 if (logger.isTraceEnabled()) {
+                                                     logger.trace("No edges with nodeId {}, type {}, and subtype {}. Removing subtype.",
+                                                             node, edgeType, subType);
+                                                 }
                                                  batch.mergeShallow( serialization
                                                          .removeEdgeSubType( scope, node, edgeType, subType,
                                                              maxTimestamp ) );
@@ -176,9 +179,10 @@ public class EdgeMetaRepairImpl implements EdgeMetaRepair {
                                          .doOnNext( count -> {
 
 
-                                             LOG.debug( "Executing batch for subtype deletion with " +
-                                                     "type {}.  " + "Mutation has {} rows to mutate ",
-                                                 edgeType, batch.getRowCount() );
+                                             if (logger.isTraceEnabled()) {
+                                                 logger.trace("Executing batch for subtype deletion with type {}.  Mutation has {} rows to mutate ",
+                                                         edgeType, batch.getRowCount());
+                                             }
 
                                              try {
                                                  batch.execute();
@@ -204,14 +208,18 @@ public class EdgeMetaRepairImpl implements EdgeMetaRepair {
              * We can only execute deleting this type if no sub types were deleted
              */
             if ( subTypeUsedCount != 0 ) {
-                LOG.debug( "Type {} has {} subtypes in use as of maxTimestamp {}.  Not deleting type.", edgeType,
-                        subTypeUsedCount, maxTimestamp );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Type {} has {} subtypes in use as of maxTimestamp {}.  Not deleting type.", edgeType,
+                            subTypeUsedCount, maxTimestamp);
+                }
                 return;
             }
 
 
-            LOG.debug( "Type {} has no subtypes in use as of maxTimestamp {}.  Deleting type.", edgeType,
-                    maxTimestamp );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Type {} has no subtypes in use as of maxTimestamp {}.  Deleting type.", edgeType,
+                        maxTimestamp);
+            }
             try {
                 serialization.removeEdgeType( scope, node, edgeType, maxTimestamp ).execute();
             }
@@ -355,7 +363,9 @@ public class EdgeMetaRepairImpl implements EdgeMetaRepair {
 
         @Override
         public void call( final MarkedEdge markedEdge ) {
-            LOG.debug( "Emitting edge {}", markedEdge );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Emitting edge {}", markedEdge);
+            }
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/NodeDeleteListenerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/NodeDeleteListenerImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/NodeDeleteListenerImpl.java
index 343cc77..cd5b1a8 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/NodeDeleteListenerImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/impl/stage/NodeDeleteListenerImpl.java
@@ -21,7 +21,6 @@ package org.apache.usergrid.persistence.graph.impl.stage;
 
 import java.util.HashSet;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 
@@ -51,7 +50,6 @@ import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
 import rx.Observable;
 import rx.functions.Action0;
 import rx.functions.Func1;
-import rx.schedulers.Schedulers;
 
 
 /**
@@ -60,7 +58,7 @@ import rx.schedulers.Schedulers;
 public class NodeDeleteListenerImpl implements NodeDeleteListener {
 
 
-    private static final Logger LOG = LoggerFactory.getLogger( NodeDeleteListenerImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( NodeDeleteListenerImpl.class );
 
     private final NodeSerialization nodeSerialization;
     private final EdgeSerialization storageSerialization;
@@ -112,7 +110,9 @@ public class NodeDeleteListenerImpl implements NodeDeleteListener {
 
                         final Optional<Long> maxVersion = nodeSerialization.getMaxVersion( scope, node );
 
-                        LOG.debug( "Node with id {} has max version of {}", node, maxVersion.orNull() );
+                        if (logger.isTraceEnabled()) {
+                            logger.trace("Node with id {} has max version of {}", node, maxVersion.orNull());
+                        }
 
 
                         if ( !maxVersion.isPresent() ) {
@@ -184,7 +184,9 @@ public class NodeDeleteListenerImpl implements NodeDeleteListener {
                 //buffer and delete marked edges in our buffer size so we're making less trips to cassandra
                 .buffer( graphFig.getScanPageSize() ).flatMap( markedEdges -> {
 
-                    LOG.debug( "Batching {} edges for node {} for deletion", markedEdges.size(), node );
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("Batching {} edges for node {} for deletion", markedEdges.size(), node);
+                    }
 
                     final MutationBatch batch = keyspace.prepareMutationBatch();
 
@@ -219,14 +221,18 @@ public class NodeDeleteListenerImpl implements NodeDeleteListener {
                     //we want them running on the i/o thread from the Observable emitting all the edges
 
                     //
-                    LOG.debug( "About to audit {} source types", sourceNodes.size() );
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("About to audit {} source types", sourceNodes.size());
+                    }
 
                     Observable<Integer> sourceMetaCleanup =
                             Observable.from( sourceNodes ).flatMap( targetPair -> edgeMetaRepair
                                     .repairSources( scope, targetPair.id, targetPair.edgeType, maxVersion ) ).last();
 
 
-                    LOG.debug( "About to audit {} target types", targetNodes.size() );
+                    if (logger.isTraceEnabled()) {
+                        logger.trace("About to audit {} target types", targetNodes.size());
+                    }
 
                     Observable<Integer> targetMetaCleanup =
                             Observable.from( targetNodes ).flatMap( targetPair -> edgeMetaRepair

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgesObservableImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgesObservableImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgesObservableImpl.java
index bd76291..20efe42 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgesObservableImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgesObservableImpl.java
@@ -61,7 +61,9 @@ public class EdgesObservableImpl implements EdgesObservable {
 
         return edgeTypes.flatMap(  edgeType -> {
 
-                logger.debug( "Loading edges of edgeType {} from {}", edgeType, sourceNode );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Loading edges of edgeType {} from {}", edgeType, sourceNode);
+                }
 
                 return gm.loadEdgesFromSource(
                     new SimpleSearchByEdgeType( sourceNode, edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING,
@@ -82,7 +84,9 @@ public class EdgesObservableImpl implements EdgesObservable {
 
         return edgeTypes.flatMap(  edgeType -> {
 
-                logger.debug( "Loading edges of edgeType {} from {}", edgeType, sourceNode );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Loading edges of edgeType {} from {}", edgeType, sourceNode);
+                }
 
                 return gm.loadEdgesFromSource(
                     new SimpleSearchByEdgeType( sourceNode, edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING,
@@ -100,7 +104,9 @@ public class EdgesObservableImpl implements EdgesObservable {
 
         return edgeTypes.flatMap( edgeType -> {
 
-            logger.debug( "Loading edges of edgeType {} from {}", edgeType, sourceNode );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Loading edges of edgeType {} from {}", edgeType, sourceNode);
+            }
 
             return gm.loadEdgesFromSourceByType(
                 new SimpleSearchByIdType( sourceNode, edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING,
@@ -119,7 +125,9 @@ public class EdgesObservableImpl implements EdgesObservable {
 
         return edgeTypes.flatMap( edgeType -> {
 
-            logger.debug( "Loading edges of edgeType {} to {}", edgeType, targetNode );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Loading edges of edgeType {} to {}", edgeType, targetNode);
+            }
 
             return gm.loadEdgesToTarget(
                 new SimpleSearchByEdgeType( targetNode, edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING,

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/TargetIdObservableImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/TargetIdObservableImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/TargetIdObservableImpl.java
index bd8cd3c..6a08d46 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/TargetIdObservableImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/TargetIdObservableImpl.java
@@ -58,7 +58,9 @@ public class TargetIdObservableImpl implements TargetIdObservable {
         return edgesFromSourceObservable.edgesFromSourceDescending( gm, sourceNode ).map( edge -> {
             final Id targetNode = edge.getTargetNode();
 
-            logger.debug( "Emitting targetId of {}", edge );
+            if (logger.isDebugEnabled()) {
+                logger.debug("Emitting targetId of {}", edge);
+            }
 
 
             return targetNode;

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/migration/EdgeDataMigrationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/migration/EdgeDataMigrationImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/migration/EdgeDataMigrationImpl.java
index 15ff337..8eccdbd 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/migration/EdgeDataMigrationImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/migration/EdgeDataMigrationImpl.java
@@ -94,7 +94,7 @@ public class EdgeDataMigrationImpl implements DataMigration {
                                                     final MutationBatch batch = keyspace.prepareMutationBatch();
 
                                                     for ( Edge edge : edges ) {
-                                                        logger.info( "Migrating meta for edge {}", edge );
+                                                        logger.info("Migrating meta for edge {}", edge);
                                                         final MutationBatch edgeBatch =
                                                             migration.to.writeEdge( graphNode.applicationScope, edge );
                                                         batch.mergeShallow( edgeBatch );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java
index 403ccf8..781e737 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/ShardEntryGroup.java
@@ -41,7 +41,7 @@ import com.google.common.base.Preconditions;
  */
 public class ShardEntryGroup {
 
-    private static final Logger LOG = LoggerFactory.getLogger( ShardEntryGroup.class );
+    private static final Logger logger = LoggerFactory.getLogger( ShardEntryGroup.class );
 
     private List<Shard> shards;
 
@@ -143,12 +143,16 @@ public class ShardEntryGroup {
 
 
         if(compactionTarget != null){
-            LOG.debug( "Returning shards {} and {} as read shards", compactionTarget, staticShard );
+            if (logger.isTraceEnabled()) {
+                logger.trace("Returning shards {} and {} as read shards", compactionTarget, staticShard);
+            }
             return Arrays.asList( compactionTarget, staticShard );
         }
 
 
-        LOG.debug( "Returning shards {} read shard", staticShard );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Returning shards {} read shard", staticShard);
+        }
         return  Collections.singleton( staticShard );
     }
 
@@ -168,7 +172,9 @@ public class ShardEntryGroup {
 
             final Shard compactionTarget = getCompactionTarget();
 
-            LOG.debug( "Returning shard {} as write shard", compactionTarget);
+            if (logger.isTraceEnabled()) {
+                logger.trace("Returning shard {} as write shard", compactionTarget);
+            }
 
             return Collections.singleton( compactionTarget  );
 
@@ -177,7 +183,9 @@ public class ShardEntryGroup {
         final Shard staticShard = getRootShard();
 
 
-        LOG.debug( "Returning shard {} as write shard", staticShard);
+        if (logger.isTraceEnabled()) {
+            logger.trace("Returning shard {} as write shard", staticShard);
+        }
 
         return Collections.singleton( staticShard );
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
index 116e526..a79b91a 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardAllocationImpl.java
@@ -200,7 +200,7 @@ public class NodeShardAllocationImpl implements NodeShardAllocation {
 
         if ( !edges.hasNext() ) {
             if (logger.isTraceEnabled()) logger.trace(
-                "Tried to allocate a new shard for edge meta data {}, " + "but no max value could be found in that row",
+                "Tried to allocate a new shard for edge meta data {}, but no max value could be found in that row",
                 directedEdgeMeta );
             return false;
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
index c5f0bfb..1a88ebb 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/NodeShardCacheImpl.java
@@ -70,7 +70,7 @@ import com.google.inject.Inject;
  */
 public class NodeShardCacheImpl implements NodeShardCache {
 
-    private static final Logger LOG = LoggerFactory.getLogger( NodeShardCacheImpl.class );
+    private static final Logger logger = LoggerFactory.getLogger( NodeShardCacheImpl.class );
 
     /**
      * Only cache shards that have < 10k groups.  This is an arbitrary amount, and may change with profiling and

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
index f398fa2..f0b0ac9 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupCompactionImpl.java
@@ -147,8 +147,8 @@ public class ShardGroupCompactionImpl implements ShardGroupCompaction {
         Preconditions
             .checkArgument( group.shouldCompact( startTime ), "Compaction cannot be run yet.  Ignoring compaction." );
 
-        if(logger.isDebugEnabled()) {
-            logger.debug("Compacting shard group. Audit count is {} ", countAudits.get());
+        if(logger.isTraceEnabled()) {
+            logger.trace("Compacting shard group. Audit count is {} ", countAudits.get());
         }
         final CompactionResult.CompactionBuilder resultBuilder = CompactionResult.builder();
 
@@ -229,7 +229,9 @@ public class ShardGroupCompactionImpl implements ShardGroupCompaction {
         }
 
 
-        logger.info( "Finished compacting {} shards and moved {} edges", sourceShards, edgeCount );
+        if (logger.isTraceEnabled()) {
+            logger.trace("Finished compacting {} shards and moved {} edges", sourceShards, edgeCount);
+        }
 
         resultBuilder.withCopiedEdges( edgeCount ).withSourceShards( sourceShards ).withTargetShard( targetShard );
 
@@ -304,8 +306,8 @@ public class ShardGroupCompactionImpl implements ShardGroupCompaction {
 
         countAudits.getAndIncrement();
 
-        if(logger.isDebugEnabled()) {
-            logger.debug("Auditing shard group {}. count is {} ", group, countAudits.get());
+        if(logger.isTraceEnabled()) {
+            logger.trace("Auditing shard group {}. count is {} ", group, countAudits.get());
         }
 
         /**
@@ -320,7 +322,7 @@ public class ShardGroupCompactionImpl implements ShardGroupCompaction {
         catch ( RejectedExecutionException ree ) {
 
             //ignore, if this happens we don't care, we're saturated, we can check later
-            logger.error( "Rejected audit for shard of scope {} edge, meta {} and group {}", scope, edgeMeta, group );
+            logger.info( "Rejected audit for shard of scope {} edge, meta {} and group {}", scope, edgeMeta, group );
 
             return Futures.immediateFuture( AuditResult.NOT_CHECKED );
         }
@@ -331,7 +333,9 @@ public class ShardGroupCompactionImpl implements ShardGroupCompaction {
         Futures.addCallback( future, new FutureCallback<AuditResult>() {
             @Override
             public void onSuccess( @Nullable final AuditResult result ) {
-                logger.debug( "Successfully completed audit of task {}", result );
+                if (logger.isTraceEnabled()) {
+                    logger.trace("Successfully completed audit of task {}", result);
+                }
             }
 
 
@@ -412,8 +416,8 @@ public class ShardGroupCompactionImpl implements ShardGroupCompaction {
                  */
                 try {
                     CompactionResult result = compact( scope, edgeMeta, group );
-                    logger.info( "Compaction result for compaction of scope {} with edge meta data of {} and shard group "
-                            + "{} is {}", new Object[] { scope, edgeMeta, group, result } );
+                    logger.info( "Compaction result for compaction of scope {} with edge meta data of {} and shard group {} is {}",
+                            scope, edgeMeta, group, result );
                 }
                 finally {
                     shardCompactionTaskTracker.complete( scope, edgeMeta, group );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java
index 6a86385..2fc0d50 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/ShardGroupDeletionImpl.java
@@ -91,7 +91,7 @@ public class ShardGroupDeletionImpl implements ShardGroupDeletion {
         catch ( RejectedExecutionException ree ) {
 
             //ignore, if this happens we don't care, we're saturated, we can check later
-            logger.error( "Rejected shard delete check for group {}", edgeIterator );
+            logger.info( "Rejected shard delete check for group {}", edgeIterator );
 
             return Futures.immediateFuture( DeleteResult.NOT_CHECKED );
         }

http://git-wip-us.apache.org/repos/asf/usergrid/blob/71fb6100/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java
index 42912e9..e466de0 100644
--- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java
+++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EntityMappingParser.java
@@ -36,7 +36,7 @@ import org.apache.usergrid.persistence.model.entity.EntityMap;
  */
 public class EntityMappingParser implements FieldParser {
 
-    private static final Logger log = LoggerFactory.getLogger( EntityMappingParser.class );
+    private static final Logger logger = LoggerFactory.getLogger( EntityMappingParser.class );
 
 
     /**
@@ -113,8 +113,7 @@ public class EntityMappingParser implements FieldParser {
 
         //we don't support indexing 2 dimensional arrays.  Short circuit with a warning so we can track operationally
         if(!lastCollection.isEmpty() && lastCollection.peek() instanceof Collection){
-            log.warn( "Encountered 2 collections consecutively.  " +
-                "N+1 dimensional arrays are unsupported, only arrays of depth 1 are supported" );
+            logger.warn( "Encountered 2 collections consecutively.  N+1 dimensional arrays are unsupported, only arrays of depth 1 are supported" );
             return;
         }
 


[08/50] [abbrv] usergrid git commit: Move and re-organize the AWS cluster deployment along with updates to the Usergrid artifact and dependencies specified.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/deployment/aws/ugcluster-cf.json
----------------------------------------------------------------------
diff --git a/deployment/aws/ugcluster-cf.json b/deployment/aws/ugcluster-cf.json
new file mode 100644
index 0000000..05e7269
--- /dev/null
+++ b/deployment/aws/ugcluster-cf.json
@@ -0,0 +1,2062 @@
+{
+    "AWSTemplateFormatVersion": "2010-09-09",
+    "Description": "Usergrid AWS Cluster",
+    "Parameters": {
+        "DnsSubDomain": {
+            "Description": "DNS name for stack, must not already exist in Route53.",
+            "Type": "String",
+            "Default": "ugtest"
+        },
+        "DnsDomain": {
+            "Description": "DNS domain for stack, must already exist in Route53",
+            "Type": "String",
+            "Default": "usergrid.com"
+        },
+        "ReleaseBucket": {
+            "Description": "S3 Bucket where Usergrid assembly is to be found.",
+            "Type": "String",
+            "Default": "ug-cloudformation"
+        },
+        "RestMinServers": {
+            "Description": "Minimum number of REST servers.",
+            "Type": "Number",
+            "Default": "1",
+            "MinValue": "1"
+        },
+        "RestMaxServers": {
+            "Description": "Maximum number REST servers.",
+            "Type": "Number",
+            "Default": "3",
+            "MinValue": "1"
+        },
+        "RestInstanceType": {
+            "Description": "Instance type for REST servers",
+            "Type": "String",
+            "Default": "c3.xlarge",
+            "AllowedValues": [
+                "m1.small",
+                "m1.medium",
+                "m1.large",
+                "m1.xlarge",
+                "m3.xlarge",
+                "m3.large",
+                "c3.xlarge",
+                "c3.2xlarge",
+                "c3.4xlarge"
+            ],
+            "ConstraintDescription": "must be valid instance type."
+        },
+      "RestIndexWorkers":{
+        "Description": "The number of index workers to ingest ElasticSearch batch operations per tomcat",
+        "Type": "Number",
+        "Default": "8",
+        "MinValue": "3"
+      },
+      "TomcatThreadsPerCore": {
+        "Description": "Number of threads to configure tomcat for per core",
+        "Type": "Number",
+        "Default": "50",
+        "MinValue": "1"
+      },
+        "KeyPair": {
+          "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instance",
+          "Type": "AWS::EC2::KeyPair::KeyName",
+          "Default": "ug-cloudformation",
+          "ConstraintDescription": "must be the name of an existing EC2 KeyPair."
+        },
+        "CassClusterName": {
+            "Description": "Name to be used for Cassandra cluster.",
+            "Type": "String",
+            "Default": "usergrid"
+        },
+        "CassNumServers": {
+            "Description": "Number of Cass servers to start.",
+            "Type": "Number",
+            "Default": "6",
+            "MinValue": "2"
+        },
+        "CassInstanceType": {
+            "Description": "Instance type for Cass servers",
+            "Type": "String",
+            "Default": "c3.4xlarge",
+            "AllowedValues": [
+                "c3.large",
+                "c3.xlarge",
+                "c3.2xlarge",
+                "c3.4xlarge"
+            ],
+            "ConstraintDescription": "must be valid instance type."
+        },
+        "CassReplicationFactor": {
+            "Description": "Cassandra replication factor",
+            "Type": "Number",
+            "Default": "2",
+            "MinValue": "1"
+        },
+
+      "CassReadConsistency": {
+                "Description": "Cassandra replication factor for Astyanax",
+                "Type": "String",
+                "Default": "CL_ONE"
+            },
+      "CassWriteConsistency": {
+                "Description": "Cassandra replication factor for Astyanax",
+                "Type": "String",
+                "Default": "CL_ONE"
+            },
+        "ESClusterName": {
+            "Description": "Name to be used for Elasticsearch cluster.",
+            "Type": "String",
+            "Default": "usergrid"
+        },
+        "ESNumServers": {
+            "Description": "Number of ES servers to start.",
+            "Type": "Number",
+            "Default": "6",
+            "MinValue": "2"
+        },
+        "ESNumMasterServers": {
+                   "Description": "Number of ES master servers to start.",
+                   "Type": "Number",
+                   "Default": "1",
+                   "MinValue": "1"
+               },
+
+
+        "ESInstanceType": {
+            "Description": "Instance type for ES servers",
+            "Type": "String",
+            "Default": "c3.4xlarge",
+            "AllowedValues": [
+                "c3.large",
+                "c3.xlarge",
+                "c3.2xlarge",
+                "c3.4xlarge"
+            ],
+            "ConstraintDescription": "must be valid instance type."
+        },
+        "SuperUserEmail": {
+            "Description": "Email for superuser user",
+            "Type": "String",
+            "Default": "tnine+super@apigee.com"
+        },
+        "TestAdminUserEmail": {
+            "Description": "Email for test admin user",
+            "Type": "String",
+            "Default": "tnine+admin@apigee.com"
+        },
+        "NotificationEmail": {
+            "Description": "Email for notifications",
+            "Type": "String",
+            "Default": "tnine+super@apigee.com"
+        },
+        "GraphiteInstanceType": {
+            "Description": "Instance type for Graphite server",
+            "Type": "String",
+            "Default": "m3.large",
+            "AllowedValues": [
+                "t1.micro",
+                "m1.small",
+                "m1.medium",
+                "m1.large",
+                "m3.large",
+                "m1.xlarge",
+                "m3.xlarge",
+                "m3.2xlarge",
+                "c3.4xlarge"
+            ],
+            "ConstraintDescription": "must be valid instance type."
+        },
+        "GraphiteNumServers": {
+            "Description": "Minimum number of graphite servers. There should only be one",
+            "Type": "Number",
+            "Default": "1",
+            "MinValue": "1"
+        },
+        "OpsCenterInstanceType": {
+                   "Description": "Instance type for Opscenter server",
+                   "Type": "String",
+                   "Default": "c3.large",
+                   "AllowedValues": [
+                       "c3.large",
+                       "c3.xlarge",
+                       "c3.2xlarge",
+                       "c3.4xlarge"
+                   ],
+                   "ConstraintDescription": "must be valid instance type."
+               },
+               "OpsCenterNumServers": {
+                   "Description": "Minimum number of opscenter servers. There should only be one",
+                   "Type": "Number",
+                   "Default": "1",
+                   "MinValue": "1"
+               },
+        "InstallYourkit": {
+            "Description": "Install the yourkit remote profiling agent into tomcat.  Valid values are 'true' or 'false'",
+            "Type": "String",
+            "Default": "false"
+        }
+    },
+    "Mappings": {
+        "AWSInstanceType2Arch": {
+            "t1.micro": {
+                "Arch": "64"
+            },
+            "m1.small": {
+                "Arch": "64"
+            },
+            "m1.medium": {
+                "Arch": "64"
+            },
+            "m1.large": {
+                "Arch": "64"
+            },
+            "m1.xlarge": {
+                "Arch": "64"
+            },
+            "m3.large": {
+                "Arch": "64"
+            },
+            "m3.xlarge": {
+                "Arch": "64"
+            },
+            "c3.large": {
+                "Arch": "64"
+            },
+            "c3.xlarge": {
+                "Arch": "64"
+            },
+            "c3.2xlarge": {
+                "Arch": "64"
+            },
+            "c3.4xlarge": {
+                "Arch": "64"
+            }
+        },
+        "AWSRegionArch2AMI": {
+            "ap-southeast-2": {
+                "64": "ami-c1335ffb"
+            },
+            "us-east-1": {
+                "64": "ami-b89f18d0"
+            },
+            "us-west-2": {
+                "64": "ami-194a0429"
+            }
+        },
+        "FourAZs": {
+            "ap-southeast-2": {
+                "AZ1": "ap-southeast-2a",
+                "AZ2": "ap-southeast-2b",
+                "AZ3": "ap-southeast-2a",
+                "AZ4": "ap-southeast-2b"
+            },
+            "us-east-1": {
+                "AZ1": "us-east-1b",
+                "AZ2": "us-east-1c",
+                "AZ3": "us-east-1a",
+                "AZ4": "us-east-1e"
+            },
+            "us-west-2": {
+                "AZ1": "us-west-2a",
+                "AZ2": "us-west-2b",
+                "AZ3": "us-west-2c",
+                "AZ4": "us-west-2a"
+            }
+        }
+    },
+    "Resources": {
+        "GraphiteUser": {
+            "Type": "AWS::IAM::User",
+            "Properties": {
+                "Path": "/",
+                "Policies": [
+                    {
+                        "PolicyName": "root",
+                        "PolicyDocument": {
+                            "Statement": [
+                                {
+                                    "Effect": "Allow",
+                                    "Action": "*",
+                                    "Resource": "*"
+
+                                }
+                            ]
+                        }
+                    }
+                ]
+            }
+        },
+        "GraphiteKey": {
+            "Type": "AWS::IAM::AccessKey",
+            "Properties": {
+                "UserName": {
+                    "Ref": "GraphiteUser"
+                }
+            }
+        },
+        "GraphiteAutoScalingLaunchConfiguration":{
+         "Type":"AWS::AutoScaling::LaunchConfiguration",
+         "Properties":{
+            "UserData":{
+               "Fn::Base64":{
+                  "Fn::Join":[
+                     "",
+                     [
+                      "#!/bin/bash -x\n",
+                      "sudo git clone https://github.com/hopsoft/docker-graphite-statsd.git \n",
+                      "sudo ./docker-graphite-statsd/bin/start \n",
+                      "sudo git clone https://github.com/dotcloud/collectd-graphite.git \n",
+                      "sudo collectd-graphite/docker build -t collectd-graphite . \n",
+
+                      "#!/bin/bash -ex\n",
+                      "# REST SERVER STARTUP \n",
+                      "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
+                      "\n",
+                      "mkdir -p /usr/share/usergrid\n",
+                      "\n",
+                      "# create script that sets our environment variables\n",
+                      "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
+                      "alias sudo='sudo -E'\n",
+                      "\n",
+                      "export TYPE=graphite\n",
+                      "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n",
+                      "\n",
+                      "export DNS_NAME=", { "Ref":"DnsSubDomain" }, "\n",
+                      "export DNS_DOMAIN=", { "Ref":"DnsDomain" },
+                      "\n",
+                      "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
+                      "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
+                      "export ELB_NAME=", { "Ref":"RestElasticLoadBalancer" }, "\n",
+                      "\n",
+                      "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
+                      "export EC2_REGION=", { "Ref":"AWS::Region" },
+                      "\n",
+                      "export EC2_URL=https://ec2.amazonaws.com/\n",
+                      "\n",
+                      "export REST_SECURITY_GROUP_NAME=", { "Ref":"RestSecurityGroup" }, "\n",
+                      "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
+                      "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
+                      "EOF\n",
+                      "\n",
+                      "# put AWS creds in environment\n",
+                      "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
+                      "export AWS_ACCESS_KEY=", { "Ref":"RestKey" }, "\n",
+                      "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
+                      "EOF\n",
+                      "\n",
+                      "# setup s3cmd (will be installed by init script) \n",
+                      "cat >/etc/s3cfg <<EOF\n",
+                      "access_key=", { "Ref":"RestKey" }, "\n",
+                      "secret_key=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
+                      "EOF\n",
+                      "chmod 644 /etc/s3cfg\n",
+                      "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
+                      "ln -s /etc/s3cfg ~root/.s3cfg\n",
+                      "\n",
+                      "# download usergrid and init script bundle from S3\n",
+                      "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
+                      "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
+                      "apt-get update\n",
+                      "apt-get -y install s3cmd\n",
+                      "cd /usr/share/usergrid\n",
+                      "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT.tar.gz\n",
+                      "tar xvf awscluster-1.0-SNAPSHOT.tar.gz\n",
+                      "rm -fr awscluster-1.0-SNAPSHOT.tar.gz\n",
+                      "chmod 755 ./init_instance/*.sh\n",
+                      "cd ./init_instance\n",
+                      "# Init as a REST intance \n",
+                      "sh ./init_graphite_server.sh\n"
+                   ]
+                  ]
+
+               }
+            },
+            "KeyName":{
+               "Ref":"KeyPair"
+            },
+            "ImageId":{
+               "Fn::FindInMap":[
+                  "AWSRegionArch2AMI",
+                  {
+                     "Ref":"AWS::Region"
+                  },
+                  {
+                     "Fn::FindInMap":[
+                        "AWSInstanceType2Arch",
+                        {
+                           "Ref":"GraphiteInstanceType"
+                        },
+                        "Arch"
+                     ]
+                  }
+               ]
+            },
+            "InstanceType":{
+               "Ref":"GraphiteInstanceType"
+            },
+            "IamInstanceProfile":{
+               "Ref":"RootInstanceProfile"
+            },
+            "SecurityGroups":[
+                            {
+                               "Ref":"GraphiteSecurityGroup"
+                            }
+                         ]
+
+         }
+      },
+        "GraphiteAutoScalingGroup": {
+            "Type": "AWS::AutoScaling::AutoScalingGroup",
+            "Version": "2014-07-24",
+            "Properties": {
+                "AvailabilityZones": [
+                    {
+                        "Fn::FindInMap": [
+                            "FourAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ1"
+                        ]
+                    },
+                    {
+                        "Fn::FindInMap": [
+                            "FourAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ2"
+                        ]
+                    },
+                    {
+                         "Fn::FindInMap": [
+                             "FourAZs",
+                             {
+                                 "Ref": "AWS::Region"
+                             },
+                             "AZ3"
+                         ]
+                     },
+                    {
+                         "Fn::FindInMap": [
+                             "FourAZs",
+                             {
+                                 "Ref": "AWS::Region"
+                             },
+                             "AZ4"
+                         ]
+                     }
+                ],
+                "LaunchConfigurationName": {
+                    "Ref": "GraphiteAutoScalingLaunchConfiguration"
+                },
+                "MinSize": {
+                    "Ref": "GraphiteNumServers"
+                },
+                "MaxSize": {
+                    "Ref": "GraphiteNumServers"
+                },
+                "NotificationConfiguration": {
+                    "TopicARN": {
+                        "Ref": "NotificationTopic"
+                    },
+                    "NotificationTypes": [
+                        "autoscaling:EC2_INSTANCE_LAUNCH",
+                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+                        "autoscaling:EC2_INSTANCE_TERMINATE",
+                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
+                    ]
+                }
+            }
+        },
+        "OpsCenterUser": {
+                        "Type": "AWS::IAM::User",
+                        "Properties": {
+                            "Path": "/",
+                            "Policies": [
+                                {
+                                    "PolicyName": "root",
+                                    "PolicyDocument": {
+                                        "Statement": [
+                                            {
+                                                "Effect": "Allow",
+                                                "Action": "*",
+                                                "Resource": "*"
+
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    },
+        "OpsCenterKey": {
+                        "Type": "AWS::IAM::AccessKey",
+                        "Properties": {
+                            "UserName": {
+                                "Ref": "OpsCenterUser"
+                            }
+                        }
+                    },
+        "OpsCenterAutoScalingLaunchConfiguration":{
+                     "Type":"AWS::AutoScaling::LaunchConfiguration",
+                     "Properties":{
+                        "UserData":{
+                           "Fn::Base64":{
+                              "Fn::Join":[
+                                 "",
+                                 [
+                                    "#!/bin/bash -ex\n",
+                                    "# OPSCENTER NODE STARTUP \n",
+                                    "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
+                                    "\n",
+                                    "mkdir -p /usr/share/usergrid\n",
+                                    "\n",
+                                    "# create script that sets our environment variables\n",
+                                    "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
+                                    "alias sudo='sudo -E'\n", "\n",
+                                    "export TYPE=opscenter\n",
+                                    "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
+                                    "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
+                                    "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
+                                    "\n",
+                                    "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
+                                    "export EC2_REGION=", { "Ref":"AWS::Region" },
+                                    "\n",
+                                    "export EC2_URL=https://ec2.amazonaws.com/\n",
+                                    "\n",
+                                    "export OPSCENTER_SECURITY_GROUP_NAME=", { "Ref":"OpsCenterSecurityGroup" }, "\n",
+                                    "\n",
+                                    "\n",
+                                    "export CASSANDRA_CLUSTER_NAME=", { "Ref":"CassClusterName" }, "\n",
+                                    "export CASSANDRA_NUM_SERVERS=", { "Ref":"CassNumServers" }, "\n",
+                                    "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
+                                    "export CASSANDRA_KEYSPACE_NAME=usergrid", "\n",
+                                    "export CASSANDRA_REPLICATION_FACTOR=", { "Ref":"CassReplicationFactor" }, "\n",
+                                    "\n",
+                                    "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
+                                    "\n",
+                                    "EOF\n",
+                                    "\n",
+                                    "# put AWS creds in environment\n",
+                                    "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
+                                    "export AWS_ACCESS_KEY=", { "Ref":"CassKey" }, "\n",
+                                    "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] }, "\n",
+                                    "EOF\n",
+                                    "\n",
+                                    "# put AWS creds Priam's config file\n",
+                                    "cat >/etc/awscredential.properties <<EOF\n",
+                                    "AWSACCESSID=", { "Ref":"CassKey" }, "\n",
+                                    "AWSKEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
+                                    "\n",
+                                    "EOF\n",
+                                    "\n",
+                                    "# setup s3cmd (will be installed by init script) \n",
+                                    "cat >/etc/s3cfg <<EOF\n",
+                                    "access_key=", { "Ref":"CassKey" }, "\n",
+                                    "secret_key=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
+                                    "\n",
+                                    "EOF\n",
+                                    "chmod 644 /etc/s3cfg\n",
+                                    "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
+                                    "ln -s /etc/s3cfg ~root/.s3cfg\n",
+                                    "\n",
+                                    "# download usergrid and init script bundle from S3\n",
+                                    "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
+                                    "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
+                                    "apt-get update\n",
+                                    "apt-get -y install s3cmd\n",
+                                    "cd /usr/share/usergrid\n",
+                                    "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                    "tar xvf awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                    "rm -fr awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                    "chmod 755 ./init_instance/*.sh\n",
+                                    "cd ./init_instance\n",
+                                    "# init as an opscenter node \n",
+                                    "sh ./init_opscenter_server.sh\n"
+                               ]
+                              ]
+
+                           }
+                        },
+                        "KeyName":{
+                           "Ref":"KeyPair"
+                        },
+                        "ImageId":{
+                           "Fn::FindInMap":[
+                              "AWSRegionArch2AMI",
+                              {
+                                 "Ref":"AWS::Region"
+                              },
+                              {
+                                 "Fn::FindInMap":[
+                                    "AWSInstanceType2Arch",
+                                    {
+                                       "Ref":"OpsCenterInstanceType"
+                                    },
+                                    "Arch"
+                                 ]
+                              }
+                           ]
+                        },
+                        "InstanceType":{
+                           "Ref":"OpsCenterInstanceType"
+                        },
+                        "IamInstanceProfile":{
+                           "Ref":"RootInstanceProfile"
+                        },
+                        "SecurityGroups":[
+                                        {
+                                           "Ref":"OpsCenterSecurityGroup"
+                                        }
+                                     ],
+
+                         "BlockDeviceMappings": [
+                             {
+                                 "DeviceName": "/dev/sdb",
+                                 "VirtualName": "ephemeral0"
+                             },
+                             {
+                                 "DeviceName": "/dev/sdc",
+                                 "VirtualName": "ephemeral1"
+                              }
+                            ]
+
+                     }
+                  },
+        "OpsCenterAutoScalingGroup": {
+                        "Type": "AWS::AutoScaling::AutoScalingGroup",
+                        "Version": "2014-07-24",
+                        "Properties": {
+                          "AvailabilityZones": [
+                                {
+                                    "Fn::FindInMap": [
+                                        "FourAZs",
+                                        {
+                                            "Ref": "AWS::Region"
+                                        },
+                                        "AZ1"
+                                    ]
+                                },
+                                {
+                                    "Fn::FindInMap": [
+                                        "FourAZs",
+                                        {
+                                            "Ref": "AWS::Region"
+                                        },
+                                        "AZ2"
+                                    ]
+                                },
+                                {
+                                     "Fn::FindInMap": [
+                                         "FourAZs",
+                                         {
+                                             "Ref": "AWS::Region"
+                                         },
+                                         "AZ3"
+                                     ]
+                                 },
+                                {
+                                     "Fn::FindInMap": [
+                                         "FourAZs",
+                                         {
+                                             "Ref": "AWS::Region"
+                                         },
+                                         "AZ4"
+                                     ]
+                                 }
+                            ],
+                            "LaunchConfigurationName": {
+                                "Ref": "OpsCenterAutoScalingLaunchConfiguration"
+                            },
+                            "MinSize": {
+                                "Ref": "OpsCenterNumServers"
+                            },
+                            "MaxSize": {
+                                "Ref": "OpsCenterNumServers"
+                            },
+                            "NotificationConfiguration": {
+                                "TopicARN": {
+                                    "Ref": "NotificationTopic"
+                                },
+                                "NotificationTypes": [
+                                    "autoscaling:EC2_INSTANCE_LAUNCH",
+                                    "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+                                    "autoscaling:EC2_INSTANCE_TERMINATE",
+                                    "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
+                                ]
+                            }
+                        }
+                    },
+        "RestUser": {
+            "Type": "AWS::IAM::User",
+            "Properties": {
+                "Path": "/",
+                "Policies": [
+                    {
+                        "PolicyName": "root",
+                        "PolicyDocument": {
+                            "Statement": [
+                                {
+                                    "Effect": "Allow",
+                                    "Action": "*",
+                                    "Resource": "*"
+                                }
+                            ]
+                        }
+                    }
+                ]
+            }
+        },
+        "RestKey": {
+            "Type": "AWS::IAM::AccessKey",
+            "Properties": {
+                "UserName": {
+                    "Ref": "RestUser"
+                }
+            }
+        },
+        "CassUser": {
+            "Type": "AWS::IAM::User",
+            "Properties": {
+                "Path": "/",
+                "Policies": [
+                    {
+                        "PolicyName": "root",
+                        "PolicyDocument": {
+                            "Statement": [
+                                {
+                                    "Effect": "Allow",
+                                    "Action": "*",
+                                    "Resource": "*"
+                                }
+                            ]
+                        }
+                    }
+                ]
+            }
+        },
+        "CassKey": {
+            "Type": "AWS::IAM::AccessKey",
+            "Properties": {
+                "UserName": {
+                    "Ref": "CassUser"
+                }
+            }
+        },
+        "ESUser": {
+            "Type": "AWS::IAM::User",
+            "Properties": {
+                "Path": "/",
+                "Policies": [
+                    {
+                        "PolicyName": "root",
+                        "PolicyDocument": {
+                            "Statement": [
+                                {
+                                    "Effect": "Allow",
+                                    "Action": "*",
+                                    "Resource": "*"
+                                }
+                            ]
+                        }
+                    }
+                ]
+            }
+        },
+        "ESKey": {
+            "Type": "AWS::IAM::AccessKey",
+            "Properties": {
+                "UserName": {
+                    "Ref": "CassUser"
+                }
+            }
+        },
+        "CassAutoScalingLaunchConfiguration":{
+         "Type":"AWS::AutoScaling::LaunchConfiguration",
+         "Properties":{
+            "UserData":{
+               "Fn::Base64":{
+                  "Fn::Join":[
+                     "",
+                     [
+                        "#!/bin/bash -ex\n",
+                        "# CASSANDRA NODE STARTUP \n",
+                        "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
+                        "\n",
+                        "mkdir -p /usr/share/usergrid\n",
+                        "\n",
+                        "# create script that sets our environment variables\n",
+                        "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
+                        "alias sudo='sudo -E'\n", "\n",
+                        "export TYPE=cass\n",
+                        "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
+                        "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
+                        "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
+                        "\n",
+                        "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
+                        "export EC2_REGION=", { "Ref":"AWS::Region" },
+                        "\n",
+                        "export EC2_URL=https://ec2.amazonaws.com/\n",
+                        "\n",
+                        "export CASS_SECURITY_GROUP_NAME=", { "Ref":"CassSecurityGroup" }, "\n",
+                        "\n",
+                        "\n",
+                        "export CASSANDRA_CLUSTER_NAME=", { "Ref":"CassClusterName" }, "\n",
+                        "export CASSANDRA_NUM_SERVERS=", { "Ref":"CassNumServers" }, "\n",
+                        "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
+                        "export CASSANDRA_KEYSPACE_NAME=usergrid", "\n",
+                        "export CASSANDRA_REPLICATION_FACTOR=", { "Ref":"CassReplicationFactor" }, "\n",
+                        "\n",
+                        "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
+                        "\n",
+                        "EOF\n",
+                        "\n",
+                        "# put AWS creds in environment\n",
+                        "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
+                        "export AWS_ACCESS_KEY=", { "Ref":"CassKey" }, "\n",
+                        "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] }, "\n",
+                        "EOF\n",
+                        "\n",
+                        "# put AWS creds Priam's config file\n",
+                        "cat >/etc/awscredential.properties <<EOF\n",
+                        "AWSACCESSID=", { "Ref":"CassKey" }, "\n",
+                        "AWSKEY=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
+                        "\n",
+                        "EOF\n",
+                        "\n",
+                        "# setup s3cmd (will be installed by init script) \n",
+                        "cat >/etc/s3cfg <<EOF\n",
+                        "access_key=", { "Ref":"CassKey" }, "\n",
+                        "secret_key=", { "Fn::GetAtt":[ "CassKey", "SecretAccessKey" ] },
+                        "\n",
+                        "EOF\n",
+                        "chmod 644 /etc/s3cfg\n",
+                        "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
+                        "ln -s /etc/s3cfg ~root/.s3cfg\n",
+                        "\n",
+                        "# download usergrid and init script bundle from S3\n",
+                        "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
+                        "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
+                        "apt-get update\n",
+                        "apt-get -y install s3cmd\n",
+                        "cd /usr/share/usergrid\n",
+                        "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT.tar.gz\n",
+                        "tar xvf awscluster-1.0-SNAPSHOT.tar.gz\n",
+                        "rm -fr awscluster-1.0-SNAPSHOT.tar.gz\n",
+                        "chmod 755 ./init_instance/*.sh\n",
+                        "cd ./init_instance\n",
+                        "# init as a Cassandra node \n",
+                        "sh ./init_db_server.sh\n"
+                     ]
+                  ]
+               }
+            },
+                "KeyName": {
+                    "Ref": "KeyPair"
+                },
+                "ImageId": {
+                    "Fn::FindInMap": [
+                        "AWSRegionArch2AMI",
+                        {
+                            "Ref": "AWS::Region"
+                        },
+                        {
+                            "Fn::FindInMap": [
+                                "AWSInstanceType2Arch",
+                                {
+                                    "Ref": "CassInstanceType"
+                                },
+                                "Arch"
+                            ]
+                        }
+                    ]
+                },
+                "InstanceType": {
+                    "Ref": "CassInstanceType"
+                },
+                "IamInstanceProfile": {
+                    "Ref": "RootInstanceProfile"
+                },
+                "SecurityGroups": [
+                    {
+                        "Ref": "CassSecurityGroup"
+                    }
+                ],
+
+                 "BlockDeviceMappings": [
+                     {
+                         "DeviceName": "/dev/sdb",
+                         "VirtualName": "ephemeral0"
+                     },
+                     {
+                         "DeviceName": "/dev/sdc",
+                         "VirtualName": "ephemeral1"
+                      }
+                    ]
+            }
+      },
+        "CassAutoScalingGroup": {
+            "Type": "AWS::AutoScaling::AutoScalingGroup",
+            "Version": "2009-05-15",
+            "Properties": {
+              "AvailabilityZones": [
+                    {
+                        "Fn::FindInMap": [
+                            "FourAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ1"
+                        ]
+                    },
+                    {
+                        "Fn::FindInMap": [
+                            "FourAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ2"
+                        ]
+                    },
+                    {
+                         "Fn::FindInMap": [
+                             "FourAZs",
+                             {
+                                 "Ref": "AWS::Region"
+                             },
+                             "AZ3"
+                         ]
+                     },
+                    {
+                         "Fn::FindInMap": [
+                             "FourAZs",
+                             {
+                                 "Ref": "AWS::Region"
+                             },
+                             "AZ4"
+                         ]
+                     }
+                ],
+                "LaunchConfigurationName": {
+                    "Ref": "CassAutoScalingLaunchConfiguration"
+                },
+                "MinSize": {
+                    "Ref": "CassNumServers"
+                },
+                "MaxSize": {
+                    "Ref": "CassNumServers"
+                },
+                "NotificationConfiguration": {
+                    "TopicARN": {
+                        "Ref": "NotificationTopic"
+                    },
+                    "NotificationTypes": [
+                        "autoscaling:EC2_INSTANCE_LAUNCH",
+                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+                        "autoscaling:EC2_INSTANCE_TERMINATE",
+                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
+                    ]
+                }
+            }
+        },
+        "ESMasterAutoScalingLaunchConfiguration":{
+         "Type":"AWS::AutoScaling::LaunchConfiguration",
+         "Properties":{
+            "UserData":{
+               "Fn::Base64":{
+                  "Fn::Join":[
+                     "",
+                     [
+                        "#!/bin/bash -ex\n",
+                        "# ES NODE STARTUP \n",
+                        "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
+                        "\n",
+                        "mkdir -p /usr/share/usergrid\n",
+                        "\n",
+                        "# create script that sets our environment variables\n",
+                        "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
+                        "alias sudo='sudo -E'\n", "\n",
+                        "export TYPE=es\n",
+                        "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
+                        "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
+                        "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
+                        "\n",
+                        "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
+                        "export EC2_REGION=", { "Ref":"AWS::Region" },
+                        "\n",
+                        "export EC2_URL=https://ec2.amazonaws.com/\n",
+                        "\n",
+                        "export ES_SECURITY_GROUP_NAME=", { "Ref":"ESSecurityGroup" }, "\n",
+                        "\n",
+                        "\n",
+                        "export ES_CLUSTER_NAME=", { "Ref":"ESClusterName" }, "\n",
+                        "export ES_NUM_SERVERS=", { "Ref":"ESNumServers" }, "\n",
+                         "export ES_MASTER=true", "\n",
+
+                        "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
+
+                        "\n",
+                        "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
+                        "\n",
+                        "EOF\n",
+                        "\n",
+                        "# put AWS creds in environment\n",
+                        "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
+                        "export AWS_ACCESS_KEY=", { "Ref":"ESKey" }, "\n",
+                        "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] }, "\n",
+                        "EOF\n",
+                        "\n",
+                        "# setup s3cmd (will be installed by init script) \n",
+                        "cat >/etc/s3cfg <<EOF\n",
+                        "access_key=", { "Ref":"ESKey" }, "\n",
+                        "secret_key=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] },
+                        "\n",
+                        "EOF\n",
+                        "chmod 644 /etc/s3cfg\n",
+                        "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
+                        "ln -s /etc/s3cfg ~root/.s3cfg\n",
+                        "\n",
+                        "# download usergrid and init script bundle from S3\n",
+                        "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
+                        "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
+                        "apt-get update\n",
+                        "apt-get -y install s3cmd\n",
+                        "cd /usr/share/usergrid\n",
+                        "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT.tar.gz\n",
+                        "tar xvf awscluster-1.0-SNAPSHOT.tar.gz\n",
+                        "rm -fr awscluster-1.0-SNAPSHOT.tar.gz\n",
+                        "chmod 755 ./init_instance/*.sh\n",
+                        "cd ./init_instance\n",
+                        "# init as an ES node \n",
+                        "sh ./init_es_server.sh\n"
+                     ]
+                  ]
+               }
+            },
+                "KeyName": {
+                    "Ref": "KeyPair"
+                },
+                "ImageId": {
+                    "Fn::FindInMap": [
+                        "AWSRegionArch2AMI",
+                        {
+                            "Ref": "AWS::Region"
+                        },
+                        {
+                            "Fn::FindInMap": [
+                                "AWSInstanceType2Arch",
+                                {
+                                    "Ref": "CassInstanceType"
+                                },
+                                "Arch"
+                            ]
+                        }
+                    ]
+                },
+                "InstanceType": {
+                    "Ref": "ESInstanceType"
+                },
+                "IamInstanceProfile": {
+                    "Ref": "RootInstanceProfile"
+                },
+                "SecurityGroups": [
+                    {
+                        "Ref": "ESSecurityGroup"
+                    }
+                ],
+
+                 "BlockDeviceMappings": [
+                     {
+                         "DeviceName": "/dev/sdb",
+                         "VirtualName": "ephemeral0"
+                     },
+                     {
+                         "DeviceName": "/dev/sdc",
+                         "VirtualName": "ephemeral1"
+                      }
+                    ]
+            }
+      },
+        "ESMasterAutoScalingGroup": {
+            "Type": "AWS::AutoScaling::AutoScalingGroup",
+            "Version": "2009-05-15",
+            "Properties": {
+              "AvailabilityZones": [
+                      {
+                          "Fn::FindInMap": [
+                              "FourAZs",
+                              {
+                                  "Ref": "AWS::Region"
+                              },
+                              "AZ1"
+                          ]
+                      },
+                      {
+                          "Fn::FindInMap": [
+                              "FourAZs",
+                              {
+                                  "Ref": "AWS::Region"
+                              },
+                              "AZ2"
+                          ]
+                      },
+                      {
+                           "Fn::FindInMap": [
+                               "FourAZs",
+                               {
+                                   "Ref": "AWS::Region"
+                               },
+                               "AZ3"
+                           ]
+                       },
+                      {
+                           "Fn::FindInMap": [
+                               "FourAZs",
+                               {
+                                   "Ref": "AWS::Region"
+                               },
+                               "AZ4"
+                           ]
+                       }
+                  ],
+                "LaunchConfigurationName": {
+                    "Ref": "ESMasterAutoScalingLaunchConfiguration"
+                },
+                "MinSize": {
+                    "Ref": "ESNumMasterServers"
+                },
+                "MaxSize": {
+                    "Ref": "ESNumMasterServers"
+                },
+                "NotificationConfiguration": {
+                    "TopicARN": {
+                        "Ref": "NotificationTopic"
+                    },
+                    "NotificationTypes": [
+                        "autoscaling:EC2_INSTANCE_LAUNCH",
+                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+                        "autoscaling:EC2_INSTANCE_TERMINATE",
+                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
+                    ]
+                }
+            }
+        },
+        "ESAutoScalingLaunchConfiguration":{
+                 "Type":"AWS::AutoScaling::LaunchConfiguration",
+                 "Properties":{
+                    "UserData":{
+                       "Fn::Base64":{
+                          "Fn::Join":[
+                             "",
+                             [
+                                "#!/bin/bash -ex\n",
+                                "# ES NODE STARTUP \n",
+                                "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
+                                "\n",
+                                "mkdir -p /usr/share/usergrid\n",
+                                "\n",
+                                "# create script that sets our environment variables\n",
+                                "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
+                                "alias sudo='sudo -E'\n", "\n",
+                                "export TYPE=es\n",
+                                "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n", "\n",
+                                "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
+                                "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
+                                "\n",
+                                "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
+                                "export EC2_REGION=", { "Ref":"AWS::Region" },
+                                "\n",
+                                "export EC2_URL=https://ec2.amazonaws.com/\n",
+                                "\n",
+                                "export ES_SECURITY_GROUP_NAME=", { "Ref":"ESSecurityGroup" }, "\n",
+                                "\n",
+                                "\n",
+                                "export ES_CLUSTER_NAME=", { "Ref":"ESClusterName" }, "\n",
+                                "export ES_NUM_SERVERS=", { "Ref":"ESNumServers" }, "\n",
+                                 "export ES_MASTER=false","\n",
+                                "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
+                                "\n",
+                                "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
+                                "\n",
+                                "EOF\n",
+                                "\n",
+                                "# put AWS creds in environment\n",
+                                "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
+                                "export AWS_ACCESS_KEY=", { "Ref":"ESKey" }, "\n",
+                                "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] }, "\n",
+                                "EOF\n",
+                                "\n",
+                                "# setup s3cmd (will be installed by init script) \n",
+                                "cat >/etc/s3cfg <<EOF\n",
+                                "access_key=", { "Ref":"ESKey" }, "\n",
+                                "secret_key=", { "Fn::GetAtt":[ "ESKey", "SecretAccessKey" ] },
+                                "\n",
+                                "EOF\n",
+                                "chmod 644 /etc/s3cfg\n",
+                                "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
+                                "ln -s /etc/s3cfg ~root/.s3cfg\n",
+                                "\n",
+                                "# download usergrid and init script bundle from S3\n",
+                                "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
+                                "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
+                                "apt-get update\n",
+                                "apt-get -y install s3cmd\n",
+                                "cd /usr/share/usergrid\n",
+                                "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                "tar xvf awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                "rm -fr awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                "chmod 755 ./init_instance/*.sh\n",
+                                "cd ./init_instance\n",
+                                "# init as an ES node \n",
+                                "sh ./init_es_server.sh\n"
+                             ]
+                          ]
+                       }
+                    },
+                        "KeyName": {
+                            "Ref": "KeyPair"
+                        },
+                        "ImageId": {
+                            "Fn::FindInMap": [
+                                "AWSRegionArch2AMI",
+                                {
+                                    "Ref": "AWS::Region"
+                                },
+                                {
+                                    "Fn::FindInMap": [
+                                        "AWSInstanceType2Arch",
+                                        {
+                                            "Ref": "CassInstanceType"
+                                        },
+                                        "Arch"
+                                    ]
+                                }
+                            ]
+                        },
+                        "InstanceType": {
+                            "Ref": "ESInstanceType"
+                        },
+                        "IamInstanceProfile": {
+                            "Ref": "RootInstanceProfile"
+                        },
+                        "SecurityGroups": [
+                            {
+                                "Ref": "ESSecurityGroup"
+                            }
+                        ],
+
+                         "BlockDeviceMappings": [
+                             {
+                                 "DeviceName": "/dev/sdb",
+                                 "VirtualName": "ephemeral0"
+                             },
+                             {
+                                 "DeviceName": "/dev/sdc",
+                                 "VirtualName": "ephemeral1"
+                              }
+                            ]
+                    }
+              },
+        "ESAutoScalingGroup": {
+                    "Type": "AWS::AutoScaling::AutoScalingGroup",
+                    "Version": "2009-05-15",
+                    "Properties": {
+                      "AvailabilityZones": [
+                              {
+                                  "Fn::FindInMap": [
+                                      "FourAZs",
+                                      {
+                                          "Ref": "AWS::Region"
+                                      },
+                                      "AZ1"
+                                  ]
+                              },
+                              {
+                                  "Fn::FindInMap": [
+                                      "FourAZs",
+                                      {
+                                          "Ref": "AWS::Region"
+                                      },
+                                      "AZ2"
+                                  ]
+                              },
+                              {
+                                   "Fn::FindInMap": [
+                                       "FourAZs",
+                                       {
+                                           "Ref": "AWS::Region"
+                                       },
+                                       "AZ3"
+                                   ]
+                               },
+                              {
+                                   "Fn::FindInMap": [
+                                       "FourAZs",
+                                       {
+                                           "Ref": "AWS::Region"
+                                       },
+                                       "AZ4"
+                                   ]
+                               }
+                          ],
+                        "LaunchConfigurationName": {
+                            "Ref": "ESAutoScalingLaunchConfiguration"
+                        },
+                        "MinSize": {
+                            "Ref": "ESNumServers"
+                        },
+                        "MaxSize": {
+                            "Ref": "ESNumServers"
+                        },
+                        "NotificationConfiguration": {
+                            "TopicARN": {
+                                "Ref": "NotificationTopic"
+                            },
+                            "NotificationTypes": [
+                                "autoscaling:EC2_INSTANCE_LAUNCH",
+                                "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+                                "autoscaling:EC2_INSTANCE_TERMINATE",
+                                "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
+                            ]
+                        }
+                    }
+                },
+        "RestAutoScalingLaunchConfiguration":{
+                 "Type":"AWS::AutoScaling::LaunchConfiguration",
+                 "Properties":{
+                    "UserData":{
+                       "Fn::Base64":{
+                          "Fn::Join":[
+                             "",
+                             [
+                                "#!/bin/bash -ex\n",
+                                "# REST SERVER STARTUP \n",
+                                "exec >/var/log/usergrid-bootstrap.log 2>&1\n",
+                                "\n",
+                                "mkdir -p /usr/share/usergrid\n",
+                                "\n",
+                                "# create script that sets our environment variables\n",
+                                "cat >/etc/profile.d/usergrid-env.sh <<EOF\n",
+                                "alias sudo='sudo -E'\n",
+                                "\n",
+                                "export TYPE=rest\n",
+                                "export STACK_NAME=", { "Ref":"AWS::StackName" }, "\n",
+                                "export YOURKIT=", { "Ref":"InstallYourkit" }, "\n",
+                                "export DNS_NAME=", { "Ref":"DnsSubDomain" }, "\n",
+                                "export DNS_DOMAIN=", { "Ref":"DnsDomain" }, "\n",
+                                "export PUBLIC_HOSTNAME=`(curl -s http://169.254.169.254/latest/meta-data/public-hostname)`\n",
+                                "export INTERNAL_HOSTNAME=`(curl http://169.254.169.254/latest/meta-data/local-ipv4)`\n",
+                                "export ELB_NAME=", { "Ref":"RestElasticLoadBalancer" }, "\n",
+                                "\n",
+                                "export EC2_INSTANCE_ID=`ec2metadata --instance-id`\n",
+                                "export EC2_REGION=", { "Ref":"AWS::Region" }, "\n",
+                                "export EC2_URL=https://ec2.amazonaws.com/\n", "\n",
+                                "export REST_SECURITY_GROUP_NAME=", { "Ref":"RestSecurityGroup" }, "\n",
+                                "export DB_SECURITY_GROUP_NAME=", { "Ref":"CassSecurityGroup" }, "\n",
+                                "\n",
+                                "export CASSANDRA_CLUSTER_NAME=", { "Ref":"CassClusterName" }, "\n",
+                                "export CASSANDRA_KEYSPACE_NAME=usergrid", "\n",
+                                "export CASSANDRA_NUM_SERVERS=", { "Ref":"CassNumServers" }, "\n",
+                                "export GRAPHITE_NUM_SERVERS=", { "Ref":"GraphiteNumServers" }, "\n",
+                                "export TOMCAT_NUM_SERVERS=", { "Ref":"RestMinServers" }, "\n",
+                                "\n",
+                                "export CASSANDRA_REPLICATION_FACTOR=", { "Ref":"CassReplicationFactor" }, "\n",
+                                "\n",
+                                "export CASSANDRA_READ_CONSISTENCY=", { "Ref":"CassReadConsistency" }, "\n",
+                                "\n",
+                                "export CASSANDRA_WRITE_CONSISTENCY=", { "Ref":"CassWriteConsistency" }, "\n",
+                                "\n",
+                               "export INDEX_WORKER_COUNT=", { "Ref":"RestIndexWorkers" }, "\n",
+
+                                "export ES_CLUSTER_NAME=", { "Ref":"ESClusterName" }, "\n",
+                                "export ES_NUM_SERVERS=", { "Ref":"ESNumServers" }, "\n",
+                                 "\n",
+                                "export RELEASE_BUCKET=", { "Ref":"ReleaseBucket" }, "\n",
+                                "\n",
+                                "export NUM_THREAD_PROC=", { "Ref":"TomcatThreadsPerCore" }, "\n",
+                                "\n",
+                                "export SUPER_USER_EMAIL=", { "Ref":"SuperUserEmail" }, "\n",
+                                "export TEST_ADMIN_USER_EMAIL=", { "Ref":"TestAdminUserEmail" }, "\n",
+                                "\n",
+                                "EOF\n",
+                                "\n",
+                                "# put AWS creds in environment\n",
+                                "cat >/etc/profile.d/aws-credentials.sh <<EOF\n",
+                                "export AWS_ACCESS_KEY=", { "Ref":"RestKey" }, "\n",
+                                "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
+                                "EOF\n",
+                                "\n",
+                                "# setup s3cmd (will be installed by init script) \n",
+                                "cat >/etc/s3cfg <<EOF\n",
+                                "access_key=", { "Ref":"RestKey" }, "\n",
+                                "secret_key=", { "Fn::GetAtt":[ "RestKey", "SecretAccessKey" ] }, "\n",
+                                "EOF\n",
+                                "chmod 644 /etc/s3cfg\n",
+                                "ln -s /etc/s3cfg ~ubuntu/.s3cfg\n",
+                                "ln -s /etc/s3cfg ~root/.s3cfg\n",
+                                "\n",
+                                "# download usergrid and init script bundle from S3\n",
+                                "wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | apt-key add -\n",
+                                "wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list\n",
+                                "apt-get update\n",
+                                "apt-get -y install s3cmd\n",
+                                "cd /usr/share/usergrid\n",
+                                "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/ROOT.war\n",
+                                "tar xvf awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                "rm -fr awscluster-1.0-SNAPSHOT.tar.gz\n",
+                                "mv ROOT.war webapps/ROOT.war\n",
+                                "chmod 755 ./init_instance/*.sh\n",
+                                "cd ./init_instance\n",
+                                "# Init as a REST intance \n",
+                                "sh ./init_rest_server.sh\n"
+                             ]
+                          ]
+                       }
+                    },
+                    "KeyName":{
+                       "Ref":"KeyPair"
+                    },
+                    "ImageId":{
+                       "Fn::FindInMap":[
+                          "AWSRegionArch2AMI",
+                          {
+                             "Ref":"AWS::Region"
+                          },
+                          {
+                             "Fn::FindInMap":[
+                                "AWSInstanceType2Arch",
+                                {
+                                   "Ref":"RestInstanceType"
+                                },
+                                "Arch"
+                             ]
+                          }
+                       ]
+                    },
+                    "InstanceType":{
+                       "Ref":"RestInstanceType"
+                    },
+                    "IamInstanceProfile":{
+                       "Ref":"RootInstanceProfile"
+                    },
+                    "SecurityGroups":[
+                       {
+                          "Ref":"RestSecurityGroup"
+                       }
+                    ]
+                 }
+              },
+        "RestAutoScalingGroup": {
+            "Type": "AWS::AutoScaling::AutoScalingGroup",
+            "Version": "2009-05-15",
+            "Properties": {
+              "AvailabilityZones": [
+                      {
+                          "Fn::FindInMap": [
+                              "FourAZs",
+                              {
+                                  "Ref": "AWS::Region"
+                              },
+                              "AZ1"
+                          ]
+                      },
+                      {
+                          "Fn::FindInMap": [
+                              "FourAZs",
+                              {
+                                  "Ref": "AWS::Region"
+                              },
+                              "AZ2"
+                          ]
+                      },
+                      {
+                           "Fn::FindInMap": [
+                               "FourAZs",
+                               {
+                                   "Ref": "AWS::Region"
+                               },
+                               "AZ3"
+                           ]
+                       },
+                      {
+                           "Fn::FindInMap": [
+                               "FourAZs",
+                               {
+                                   "Ref": "AWS::Region"
+                               },
+                               "AZ4"
+                           ]
+                       }
+                  ],
+                "LaunchConfigurationName": {
+                    "Ref": "RestAutoScalingLaunchConfiguration"
+                },
+                "MinSize": {
+                    "Ref": "RestMinServers"
+                },
+                "MaxSize": {
+                    "Ref": "RestMaxServers"
+                },
+                "HealthCheckType": "ELB",
+                "HealthCheckGracePeriod": "1800",
+                "LoadBalancerNames": [
+                    {
+                        "Ref": "RestElasticLoadBalancer"
+                    }
+                ],
+                "NotificationConfiguration": {
+                    "TopicARN": {
+                        "Ref": "NotificationTopic"
+                    },
+                    "NotificationTypes": [
+                        "autoscaling:EC2_INSTANCE_LAUNCH",
+                        "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
+                        "autoscaling:EC2_INSTANCE_TERMINATE",
+                        "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
+                    ]
+                }
+            }
+        },
+        "RestServerScaleUpPolicy": {
+            "Type": "AWS::AutoScaling::ScalingPolicy",
+            "Properties": {
+                "AdjustmentType": "ChangeInCapacity",
+                "AutoScalingGroupName": {
+                    "Ref": "RestAutoScalingGroup"
+                },
+                "Cooldown": "60",
+                "ScalingAdjustment": "1"
+            }
+        },
+        "RestServerScaleDownPolicy": {
+            "Type": "AWS::AutoScaling::ScalingPolicy",
+            "Properties": {
+                "AdjustmentType": "ChangeInCapacity",
+                "AutoScalingGroupName": {
+                    "Ref": "RestAutoScalingGroup"
+                },
+                "Cooldown": "60",
+                "ScalingAdjustment": "-1"
+            }
+        },
+        "CPUAlarmHigh": {
+            "Type": "AWS::CloudWatch::Alarm",
+            "Properties": {
+                "AlarmDescription": "Scale-up if CPU > 60% for 10 minutes",
+                "MetricName": "CPUUtilization",
+                "Namespace": "AWS/EC2",
+                "Statistic": "Average",
+                "Period": "600",
+                "EvaluationPeriods": "2",
+                "Threshold": "60",
+                "AlarmActions": [
+                    {
+                        "Ref": "RestServerScaleUpPolicy"
+                    }
+                ],
+                "Dimensions": [
+                    {
+                        "Name": "AutoScalingGroupName",
+                        "Value": {
+                            "Ref": "RestAutoScalingGroup"
+                        }
+                    }
+                ],
+                "ComparisonOperator": "GreaterThanThreshold"
+            }
+        },
+        "CPUAlarmLow": {
+            "Type": "AWS::CloudWatch::Alarm",
+            "Properties": {
+                "AlarmDescription": "Scale-down if CPU < 10% for 10 minutes",
+                "MetricName": "CPUUtilization",
+                "Namespace": "AWS/EC2",
+                "Statistic": "Average",
+                "Period": "600",
+                "EvaluationPeriods": "2",
+                "Threshold": "10",
+                "AlarmActions": [
+                    {
+                        "Ref": "RestServerScaleDownPolicy"
+                    }
+                ],
+                "Dimensions": [
+                    {
+                        "Name": "AutoScalingGroupName",
+                        "Value": {
+                            "Ref": "RestAutoScalingGroup"
+                        }
+                    }
+                ],
+                "ComparisonOperator": "LessThanThreshold"
+            }
+        },
+        "RestElasticLoadBalancer": {
+            "Type": "AWS::ElasticLoadBalancing::LoadBalancer",
+            "Properties": {
+              "AvailabilityZones": [
+                    {
+                        "Fn::FindInMap": [
+                            "FourAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ1"
+                        ]
+                    },
+                    {
+                        "Fn::FindInMap": [
+                            "FourAZs",
+                            {
+                                "Ref": "AWS::Region"
+                            },
+                            "AZ2"
+                        ]
+                    },
+                    {
+                         "Fn::FindInMap": [
+                             "FourAZs",
+                             {
+                                 "Ref": "AWS::Region"
+                             },
+                             "AZ3"
+                         ]
+                     },
+                    {
+                         "Fn::FindInMap": [
+                             "FourAZs",
+                             {
+                                 "Ref": "AWS::Region"
+                             },
+                             "AZ4"
+                         ]
+                     }
+                ],
+                "Listeners": [
+                    {
+                        "LoadBalancerPort": "80",
+                        "InstancePort": "8080",
+                        "Protocol": "HTTP"
+                    }
+                ],
+                "HealthCheck": {
+                    "Target": "HTTP:8080/status",
+                    "HealthyThreshold": "2",
+                    "UnhealthyThreshold": "8",
+                    "Interval": "10",
+                    "Timeout": "5"
+                },
+                "CrossZone": "true"
+            }
+        },
+        "NotificationTopic": {
+            "Type": "AWS::SNS::Topic",
+            "Properties": {
+                "Subscription": [
+                    {
+                        "Endpoint": {
+                            "Ref": "NotificationEmail"
+                        },
+                        "Protocol": "email"
+                    }
+                ]
+            }
+        },
+        "DnsRecord": {
+            "Type": "AWS::Route53::RecordSetGroup",
+            "Properties": {
+                "HostedZoneName": {
+                    "Fn::Join": [
+                        ".",
+                        [
+                            {
+                                "Ref": "DnsDomain"
+                            },
+                            ""
+                        ]
+                    ]
+                },
+                "RecordSets": [
+                    {
+                        "Name": {
+                            "Fn::Join": [
+                                ".",
+                                [
+                                    {
+                                        "Ref": "DnsSubDomain"
+                                    },
+                                    {
+                                        "Ref": "DnsDomain"
+                                    }
+                                ]
+                            ]
+                        },
+                        "Type": "A",
+                        "AliasTarget": {
+                            "HostedZoneId": {
+                                "Fn::GetAtt": [
+                                    "RestElasticLoadBalancer",
+                                    "CanonicalHostedZoneNameID"
+                                ]
+                            },
+                            "DNSName": {
+                                "Fn::GetAtt": [
+                                    "RestElasticLoadBalancer",
+                                    "CanonicalHostedZoneName"
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "RootRole": {
+            "Type": "AWS::IAM::Role",
+            "Properties": {
+                "AssumeRolePolicyDocument": {
+                    "Statement": [
+                        {
+                            "Effect": "Allow",
+                            "Principal": {
+                                "Service": [
+                                    "ec2.amazonaws.com"
+                                ]
+                            },
+                            "Action": [
+                                "sts:AssumeRole"
+                            ]
+                        }
+                    ]
+                },
+                "Path": "/"
+            }
+        },
+        "RolePolicies": {
+            "Type": "AWS::IAM::Policy",
+            "Properties": {
+                "PolicyName": "root",
+                "PolicyDocument": {
+                    "Statement": [
+                        {
+                            "Effect": "Allow",
+                            "Action": "*",
+                            "Resource": "*"
+                        }
+                    ]
+                },
+                "Roles": [
+                    {
+                        "Ref": "RootRole"
+                    }
+                ]
+            }
+        },
+        "RootInstanceProfile": {
+            "Type": "AWS::IAM::InstanceProfile",
+            "Properties": {
+                "Path": "/",
+                "Roles": [
+                    {
+                        "Ref": "RootRole"
+                    }
+                ]
+            }
+        },
+        "ESSecurityGroup": {
+            "Type": "AWS::EC2::SecurityGroup",
+            "Properties": {
+                "GroupDescription": "ElasticSearch Machines",
+                "SecurityGroupIngress": [
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "22",
+                        "ToPort": "22",
+                        "CidrIp": "0.0.0.0/0"
+                    },
+
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "9200",
+                        "ToPort": "9200",
+                        "CidrIp": "0.0.0.0/0"
+                    }
+                ]
+            }
+        },
+        "AllowCassToESOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "ESSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "1",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "CassSecurityGroup"
+                }
+            }
+        },
+        "AllowRestToESOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "ESSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "1",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "RestSecurityGroup"
+                }
+            }
+        },
+        "CassSecurityGroup": {
+            "Type": "AWS::EC2::SecurityGroup",
+            "Properties": {
+                "GroupDescription": "Database Machines",
+                "SecurityGroupIngress": [
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "22",
+                        "ToPort": "22",
+                        "CidrIp": "0.0.0.0/0"
+                    }
+                ]
+            }
+        },
+        "AllowCassToCassOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "CassSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "1",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "CassSecurityGroup"
+                }
+            }
+        },
+        "AllowESToCassOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "CassSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "1",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "ESSecurityGroup"
+                }
+            }
+        },
+        "AllowESToESOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "ESSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "1",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "ESSecurityGroup"
+                }
+            }
+        },
+        "AllowRestToCassOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "CassSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "1",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "RestSecurityGroup"
+                }
+            }
+        },
+        "AllowCassToRestOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "RestSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "CassSecurityGroup"
+                }
+            }
+        },
+        "AllowESToRestOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "RestSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "ESSecurityGroup"
+                }
+            }
+        },
+        "AllowCassToCassOnAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "CassSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "CassSecurityGroup"
+                }
+            }
+        },
+        "AllowOpsCenterToCassOnAllPorts": {
+                "Type": "AWS::EC2::SecurityGroupIngress",
+                "Properties": {
+                    "GroupName": {
+                        "Ref": "CassSecurityGroup"
+                    },
+                    "IpProtocol": "tcp",
+                    "FromPort": "1",
+                    "ToPort": "65535",
+                    "SourceSecurityGroupName": {
+                        "Ref": "OpsCenterSecurityGroup"
+                    }
+                }
+            },
+
+        "RestSecurityGroup": {
+            "Type": "AWS::EC2::SecurityGroup",
+            "Properties": {
+                "GroupDescription": "REST Machines",
+                "SecurityGroupIngress": [
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "22",
+                        "ToPort": "22",
+                        "CidrIp": "0.0.0.0/0"
+                    },
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "8080",
+                        "ToPort": "8080",
+                        "CidrIp": "0.0.0.0/0"
+                    }
+                ]
+            }
+        },
+        "GraphiteSecurityGroup": {
+            "Type": "AWS::EC2::SecurityGroup",
+            "Properties": {
+                "GroupDescription": "Graphic Machines",
+                "SecurityGroupIngress": [
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "22",
+                        "ToPort": "22",
+                        "CidrIp": "0.0.0.0/0"
+                    },
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "80",
+                        "ToPort": "80",
+                        "CidrIp": "0.0.0.0/0"
+                    }
+                ]
+            }
+        },
+        "AllowESToGraphiteAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "GraphiteSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "ESSecurityGroup"
+                }
+            }
+        },
+        "AllowCassToGraphiteAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "GraphiteSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "CassSecurityGroup"
+                }
+            }
+        },
+        "AllowRestToGraphiteAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "GraphiteSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "RestSecurityGroup"
+                }
+            }
+        },
+        "OpsCenterSecurityGroup": {
+            "Type": "AWS::EC2::SecurityGroup",
+            "Properties": {
+                "GroupDescription": "Opscenter Machines",
+                "SecurityGroupIngress": [
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "22",
+                        "ToPort": "22",
+                        "CidrIp": "0.0.0.0/0"
+                    },
+                    {
+                        "IpProtocol": "tcp",
+                        "FromPort": "8888",
+                        "ToPort": "8888",
+                        "CidrIp": "0.0.0.0/0"
+                    }
+                ]
+            }
+        },
+        "AllowCassToOpscenterAllPorts": {
+            "Type": "AWS::EC2::SecurityGroupIngress",
+            "Properties": {
+                "GroupName": {
+                    "Ref": "OpsCenterSecurityGroup"
+                },
+                "IpProtocol": "tcp",
+                "FromPort": "0",
+                "ToPort": "65535",
+                "SourceSecurityGroupName": {
+                    "Ref": "CassSecurityGroup"
+                }
+            }
+        }
+
+    }
+}


[43/50] [abbrv] usergrid git commit: Add DRAFT Usergrid 2.1.0 deployment guide and upgrade website to use Nanoc 4.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/docs/searchindex.js
----------------------------------------------------------------------
diff --git a/content/docs/searchindex.js b/content/docs/searchindex.js
index ff9120c..7189eb8 100644
--- a/content/docs/searchindex.js
+++ b/content/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:46,filenames:["README","assets-and-files/file-storage-configuration","assets-and-files/folders","assets-and-files/legacy-asset-support","assets-and-files/retrieving-assets","assets-and-files/uploading-assets","counters-and-events/creating-and-incrementing-counters","counters-and-events/events-and-counters","counters-and-events/retrieving-counters","data-queries/advanced-query-usage","data-queries/operators-and-types","data-queries/query-parameters","data-queries/querying-your-data","data-storage/collections","data-storage/data-store-dbms","data-storage/entities","data-storage/optimizing-access","entity-connections/connecting-entities","entity-connections/disconnecting-entities","entity-connections/retrieving-entities","geolocation/geolocation","getting-started/creating-a-new-application","getting-started/creating-account","getting-started/using-a-sandbox-app","getting-started/using-the-api","index","installation/ug1-deploy-to-tomcat","installation/ug1-lau
 ncher-quick-start","installation/ug2-deploy-to-tomcat","introduction/async-vs-sync","introduction/data-model","introduction/overview","introduction/usergrid-features","jersey2skeleton/README","orgs-and-apps/admin-user","orgs-and-apps/application","orgs-and-apps/managing","orgs-and-apps/organization","push-notifications/adding-push-support","push-notifications/creating-and-managing-notifications","push-notifications/creating-notifiers","push-notifications/getting-started","push-notifications/managing-users-and-devices","push-notifications/overview","push-notifications/registering","push-notifications/tbd","push-notifications/troubleshooting","push-notifications/tutorial","push-notifications/users-devices","reference/contribute-code","reference/presos-and-videos","rest-endpoints/api-docs","sdks/ios-new","sdks/sdk-outline","sdks/tbd","security-and-auth/app-security","security-and-auth/authenticating-api-requests","security-and-auth/authenticating-users-and-application-clients","securit
 y-and-auth/changing-token-time-live-ttl","security-and-auth/facebook-sign","security-and-auth/revoking-tokens-logout","security-and-auth/securing-your-app","security-and-auth/user-authentication-types","security-and-auth/using-permissions","security-and-auth/using-roles","user-management/activity","user-management/group","user-management/groups","user-management/messagee-example","user-management/user-connections","user-management/user-management","user-management/working-user-data"],objects:{},objnames:{},objtypes:{},terms:{"005056c00008":71,"00767101f6b4f2cf5d02ed510dbcf0b4":66,"02e81ac5a17b":[2,10],"02e81adcf3d0":[5,6,8,13,15,18,19,24,52,63,64,65,66],"02e81ae236e9":66,"02e81ae61238":66,"02e81ae640dc":[2,65],"02e81ae66238":66,"02e81aeb2129":66,"02e81aeb26e9":66,"02e9sjwsf3d0":[15,52],"03ae956a":20,"0455fc92de2636fc7a176cc5d298bb78":66,"08fe":52,"0abe":[13,52],"0d7cf92a":[15,52],"0d7e":37,"0d7f":37,"0f1ff3650d20":[17,66,71],"10e":10,"10e10":10,"11apigeeapsdestination11":39,"11e0":[
 8,71],"11e1":[2,24,30,34,37,65,66,71],"11e2":[2,5,6,8,10,12,13,15,18,19,24,37,52,63,64,65,66],"11e3":[5,13,15,17,18,19,20,24,52,58,64,66,71],"1231380a0284":65,"12313b01d5c1":[2,24,30,65],"12313b06ae01":65,"12313b06d112":65,"12313b111c56":37,"12313b122c56":[34,37],"12313d027361":37,"12313d027471":37,"12313d14bde7":66,"12313d1520f1":65,"12313d1c4491":[2,34,37,65],"12313d1c44914":65,"12313d1c5591":37,"12313d288ee0":37,"12313d288ff0":37,"12313d331ae8":65,"12313f0204b":71,"12313f0204bb":[8,71],"12313f0204bb8":71,"12331b144c65":34,"12331d1c5591":[34,37],"12424d1c4491":34,"174785aa":17,"19a0":[15,52],"1a62":[13,52],"1a9356ba":[13,15,52],"1bd100b8059e":[13,52],"1c8f60e4":71,"1f3567aa":65,"1px":50,"1st":51,"20adr":71,"20c57d4f41cf51f2db44165eb058b3b2":12,"20employe":66,"20or":15,"20titl":66,"20uuid":15,"20where":[66,71],"22000a1c4e22":66,"22000a1c5a67":[66,71],"2440ca58":65,"2482a1c5":65,"249f":20,"2ac6":2,"2ac8":2,"2d00":65,"2d21":2,"2e1db7299b0a667ed80e674a0ef9d653":5,"2nd":51,"31847b9a":[
 13,52],"3192ac6a":[13,52],"327b527f":[34,37],"328b526e":34,"328fe64a":[15,52],"335b527f":[34,37],"33dd0563":[34,37],"3400ba10":[2,37,65],"348388de":64,"34e26bc9":65,"3500ba10":37,"37f3":65,"382d0991":64,"38dc":15,"3bee":42,"3c1e":64,"3d1a9356ba":15,"410b213a":[5,64],"411c466c4f2c":12,"417f":[17,66,71],"4353136f":71,"438a1ca1":8,"477d":66,"48c92c73":37,"496ca1d42ce7":[13,52],"49ff":65,"4a1edb70":[15,52],"4d2664c8e0c3":66,"4f511f12a386":42,"5005a0fa":66,"503f17da":24,"50gb":1,"5111c463":65,"5373d7165c2d":58,"53fe3700":[13,52],"563f5d96":65,"58606d0a":[18,19],"58e8":[66,71],"5ae1fa7a":[13,52],"5bb76bca":[13,15,52],"5bcc47ca":[18,19],"5bd5fa5f701f":52,"5c0c1789":[2,30],"5de0bb69":37,"5f4a65c16193":[15,52],"5wugd":57,"61c9":65,"62de5d97":24,"62fd53c78ce7":63,"65c8":37,"6640a601":2,"6715d5ef47a6":[15,52],"67cb":66,"698b":66,"699740088e05":6,"6a42":65,"6b07e44495ef":64,"6be0003c809b":[13,52],"6c56ffda":17,"6fbc8157":66,"6ldstnesaaaaakhdvglhmmu86_eoyxsjjqqd1ipz":[34,71],"74bb":64,"74d2d7da"
 :66,"78c54a82":71,"7a0a1cba":42,"7bf47435":2,"7fb8d891":66,"802f":66,"81581bbaf055":[13,15,52],"8272c9b0":12,"83ceb9965c26":66,"83de":66,"83e9b7ea":[15,52],"84a5":71,"84c0":65,"84df":[15,52],"87b9":37,"884d":71,"89ab":[13,52],"8a2a":[15,52],"8a4c":63,"8ae3":42,"8ae8a6ea":71,"8bde":[18,19],"8cef":12,"8d05e96f700d":[13,52],"8d5c":24,"8dd1801e534c":17,"8e0cd3866ee20746c99e9a9825f38ad8":2,"8ea8":17,"903f":[13,15,52],"90f823ba15655b8cc8e3b4d63377576f":66,"917d":[15,52],"924d":10,"92c3":2,"92e2":12,"9501cda1":2,"95c8":[34,37],"96f6":65,"98b9":37,"9953085ea376":[5,64],"999e12039f87":52,"99a7":58,"99fd":17,"9a18":42,"9c1b":66,"9ce3":[15,52],"9d3a":6,"9de5":64,"9e75":17,"9e92":[15,52],"9efc8ad529d8":64,"9f80":20,"9ff6c621a7a4":[13,15,52],"9ffc":65,"____usergrid":26,"__weak":39,"boolean":[10,37,48,51],"byte":39,"case":[9,16,26,29,38,41,46,48,51,52,65,67,69],"catch":52,"class":[1,28,34,39,42,57,60,71],"default":[1,10,11,12,13,14,15,20,24,25,26,28],"export":[44,47,52],"final":[42,44],"float":10
 ,"function":[6,29,32,42,59,62,65,66,67,68,70],"import":[23,24,29,30,32,38,41,42,47,55],"long":[10,30,39,48,67],"new":[6,9,13,15,16],"null":[6,42,59],"public":[34,42,44,71],"return":[10,11,12,13,16,19,20,24,27,29,34,37,42,44,48,51,57,58,59,60,63,65,66],"short":[22,65],"static":[26,42],"super":25,"throw":[38,46],"transient":28,"true":[10,12,18,19,24,26,27,28,34,37,39,42,51,59,64,66,71],"try":[22,23,27,34,38,39,46,52,55,59,63],"typeof":59,"var":[9,34,42,59],"void":[39,42],"while":[23,26,29,30,32,38,41,42,43,46,48,63,64],a065:65,a0dd:24,a0e5:[5,64],a0f7:65,a166:[5,6,8,13,15,18,19,24,52,63,64,66],a24f:[13,52],a407b1e7:[66,71],a51b:[15,52],a554b7fbd57a:24,a5c5:64,a668717b:66,a694:[18,19],a6e3:66,a71c:63,a72a:[13,15,52],a7e008061e10:[18,19],a7f7:[5,6,8,13,15,18,19,24,52,63,64,66],a9c1:52,abbrevi:[12,16,24,44],abil:[20,22,32,69,70],abl:[16,24,26,28,38,39,41,47,61,62,65,70,71],about:[0,10,16,22,23,24,25,26,32,34,36,37,38,39,41,42,43],abov:[5,6,19,26,27,28,38,41,42,47,64,65],ac46:[66,71],acce
 pt:[4,40,42,57,63],access:[2,13,14,15,16,19,21,22,23],access_token:[27,51,56,57,58,59],accessid:1,accesstokenrespons:25,accesstokenttl:58,accomplish:[39,60],accord:57,account:[12,15,16],achiev:69,acquaint:65,acquir:25,across:[8,16,39],act:[12,65,68],action:[2,5,6,7,8,12,13,14,15,16,17,18,19,24,25,26,32,34,35,37,38,39,47],activ:[5,10,12,18,19,20,22,24,25,26,28,30],activit:34,activityfe:25,actor:[34,37,51,65],actual:[16,38,41,47],add:[1,9,14,15,16,21,22,23,25],addit:[8,16,22,25,32,34,44],addobject:52,address:[12,24,26,34,37,38,41,44,48,51,57,71],addrol:25,adjust:[11,64],admin:[21,22,23,25,26,27,28],admin_password:57,admin_usernam:57,admin_users_require_activ:[26,28],admin_users_require_confirm:[26,28],admingmail:34,administr:[26,27,30,32,35,37,48,57,61,62,64],adminus:[34,37,51],adomain:71,adopt:[32,49],advantag:32,advertis:20,advis:61,ae1f:17,aec3:65,afad:65,affect:58,after:[6,10,24,27,29,38,39,41,42,47,57,59,61,64,68],again:[26,34,38,46],against:[18,28,35,56,57,61,63],aggreg:8,air:14
 ,aizasyckxotbq7a9gojsslqzlod_yjefxxxxxxx:40,alert:[20,29,39,42,66,67],alerttext:39,alia:[64,71],all:[0,6,8],alloc:[39,42,52],allow:[7,12,20,24,26,28,30,32,37,39,42,44,47,48,59,62,63,64,65,66,67,69,70,71],almost:70,alon:[38,41],along:[11,16,38,42,46],alreadi:[15,16,22,26,38,39,40,42,48,51,52,59,61,68],also:[1,2,6,7,8,11,13,15,16,21,27,28,30,32,34,35,37,38,39,40,41,42,47,48,51,57,59,60,61,63,65,66,67,68,69,71],alter:64,altern:[12,13,66,67],although:[13,15,34,39,65,66,71],alwai:[30,39],amazon:1,amazonaw:26,amount:[11,62,65],amuramoto:[5,15,52,58],analysi:32,analyt:22,analyz:[32,56,57,61,62],android:[24,25,29,31],androiddev:40,androidmanifest:47,anew:[38,46],ani:[5,6,8,10,12,14,15,16,20,28,29,30,32,34,36,39,42,47,51,55,56,57,58,61,62,63,64,65,66,68,69,70,71],annot:33,announc:43,anonym:[48,65,71],anoth:[12,16,23,38,39,41,46,47,56,65,68,69,71],answer:71,ant:63,anuff:50,anyon:[62,65],anyth:26,anytim:65,anywher:11,apachecon:50,apidocgener:0,apige:[24,38,39,42,43,44,47,50,52,66],apigeeapsdes
 tin:39,apigeeapspayload:39,apigeecli:[42,52],apigeeclientrespons:[39,42,52],apigeecollect:52,apigeedatacli:39,apigeedataclientcompletionhandl:39,apigeemobileconfig:58,apikei:[40,59],apirequest:52,apirespons:42,apiresponsecallback:42,apn:25,app1:51,app2:51,app:[2,4,5,6,7,8,12,13,14,15,16,17,18,19],app_id:[15,51,65,66,71],app_nam:[35,58,60],app_uuid:[14,16],appdata:25,appdeleg:[39,42,47,52],appear:[19,28,40,44,51,65,68,69],append:[8,9,13,16,20,39,56,59],appid:[51,59],appl:[25,32],appledev:47,applenotifi:40,appleopt:42,appli:[24,28,58,61,63,64,69,70,71],applic:[2,4,5,6,7,8,12,13,14,15,16,17,18,19,20],application_client_secret:57,application_clientid:57,application_info:37,applicationdata:51,applicationdidbecomeact:42,applicationid:[34,37,42,51],applicationnam:[2,5,6,8,12,13,14,15,16,17,18,19,24,51,52,58,63,64,65,66,71],appnam:[9,42,47,57,59],appropri:[30,39,40,42,48,59],approv:[26,28],appservic:42,aps_develop:44,apspayload:39,arbitrari:[24,69],architectur:[14,26],area:[22,23,34,39,44,5
 5,71],aren:[14,16],arg:[1,35,37,65,66],argument:[1,42],arm:61,around:[0,16],arrai:[10,12,14,15,16,19,24,51,52],arthur:[17,18,19,69,70],articl:[12,13,15,56,64],asc:11,ascend:11,ask:[12,47],aspect:[7,32],asset1:2,asset:1,assets_id:2,assign:[6,25,30,32,48],assist:44,associ:[5,10,13,19,20,21,24,30,32,37,38,39,40,41,42,44,47,48,51,52,55,57,58,60,62,64,66,68,70,71],assum:[16,28,42,47,56],async:25,asynchron:25,atistophan:34,atom:15,atop:47,attach:[4,5],attack:[55,61],attempt:[37,51,56],attribut:14,audienc:31,audio:[5,32],auth:[26,28,40,44,48,59],authent:[13,15,23],author:[27,36,40,42,44,56,58,59,65,70],author_uuid:16,authorid:[14,16],authorimag:16,authornam:16,authoruuid:16,authrespons:59,auto:[26,28],automat:[5,6,13,15,21,22,28,30,32,33,51,57,59,60,63,64,65,69],avail:[13,15,20,22,24,27,32,38,40,42,52,57,68,70],avatar:[12,24,65,66,71],avoid:[16,68],awai:16,awar:[10,20],awssdks3binarystor:1,b0c6:66,b11217fc:6,b1f7:[13,52],b24e:6,b2bd:66,b2e4:15,b31d:58,b36a:[2,30],b379:[5,64],b3aad0a4:52,b3
 u68vghi6fmeekn9wlogtzz0a:35,b3u6aaabmqz:57,b3u6zuz5_u8i:35,b4c6:2,b690:66,b6dd:65,b77ec8addc0d:66,b90c:66,b93d:71,baa:[34,37,39,40,44,55],back:[14,16,27,31,32,42,49,68],backend:[12,25,30,39],backslash:39,bad:[37,57,62],badg:[39,42],banner:7,bar1234b:71,bar:[24,31],barnei:[66,69],base:[0,13,20],baseurl:42,batch:11,baz:24,bcc1:8,bcf7:[2,34,37,65],bcf8:[34,37],bd397ea1:63,be04:[13,52],be08a5f9:37,be09a5f9:37,bean:1,bearer:[27,40,56],beca:37,becaus:[14,20,23,26,38,46,51,57,61,62,65,68],becom:[11,12,20,26,32,44,65,66,67],been:[6,16,38,39,42,46,47,51,56,59,60,61,65],bef8:[34,37],befor:[0,1,22,23,25,29,38,39,41,42,44,46],begin:[8,11,25,36],behalf:57,behav:68,behavior:32,behind:[22,48,59],belong:[27,30,39,48,65,67],below:[13,14,15,16,26,28,34,38,39,41,47,52,53,59,65,66,68,71],beneath:68,benefici:29,benefit:[14,26],besid:64,best:[11,12],better:[16,57,62],bewar:28,beyond:65,bike:10,bin:28,binari:[32,56,57,61,62],binarystor:1,bit:14,blank:[44,64],block:29,blog:64,blue:42,board:68,boat:10,boavi
 jt0oyrkjf:35,bodi:[6,16,34,35,37,39,51,58,65,66,71],book:[11,32,52],bool:42,bootstrap:28,border:50,both:[6,14,17,28,29,30,39,42,49,51,62,70],bounc:16,bouncer:16,bounci:[14,16],box:[21,23,39,47,64,68,70],bracket:15,bread:[13,15,52],brief:[29,59],broad:[56,57,62],brows:31,browser:[26,34,38,41,59],bucketnam:1,bug:31,buildcurl:59,built:[16,24,26,47,65],bundl:[42,47],busi:20,button:[7,21,23,34,38,41,44,46,47,64,68,71],button_click:[6,8],c2v7n61dy90mcdg78xixprxfdq:37,c2v7wedxiutzwekwdyslct_lydfvmmn:37,c5e707256e71:[15,52],california:[34,66,67],call:8,callback:[29,42,59],campaign:32,can:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,32,34,35,36,37,38,39,40,41,42],cancel:25,cannot:[13,15,24,29,30,33,62],capabl:61,captcha:[34,51,71],captur:[12,16,20,32],car:10,care:[41,43,44],carefulli:62,carri:[36,40,47],cassandra:[14,16,25],cast:50,castl:[14,16],cat:27,catalina:28,catalog:32,categori:[14,34,37,51],caus:[0,15,51],caution:58,cautiou:[56,57,62],ccc:50,cd0c:[2,34,37,
 65],cd0d:[34,37],cd789b00:66,cd796d0a:66,cdf1ce04c1c0:12,cdn:32,cede5b7:37,cede5b8:37,cell:0,center:[20,38,41,47],central:[0,1],cer:44,certain:[15,16,30,39,60,70],certif:[25,38,40,41],certsigningrequest:44,cf3e981c:34,cf4d981c:[34,37],cf9b:8,cfed:[18,19],chain:6,challeng:[24,34,51,71],chang:[0,1,25,26,28,30,47,51,56],channel:59,channelurl:59,charact:[11,65,71],characterist:[41,42],charset:[34,71],check:[23,26,27,28,42,47,59,62,63,64,65],checkbox:64,checksum:[2,5],chicago:71,choic:47,choos:[16,39,40,44],chose:47,circl:[32,65],circumst:60,cite:15,citi:[11,34,71],clara:50,classpath:1,clean:[0,26,27,28,34],cli:26,click:[7,16,21,23,36,38,39,40,41,44,46,47,64,68],client:[9,11,13,14,15,16,24,25,26,28,29,32,34,35,36],client_credenti:[35,51,57],client_id:[35,37,51,56,57,59],client_secret:[35,37,51,56,57],climb:16,clone:[0,26,28],close:47,closer:16,cloud:[1,4,5,32,38,41,44,47],clue:26,cluster:[26,28],cluster_nam:28,cn0wtdxxkxmqlgzvtmubcp20fulczq:57,code:[1,11,16,24,25,26,27,29,31,32,33,38,39,
 41,42,43,44,46,47],codesign:47,coffe:14,colleagu:65,colleciton:52,collect:[4,5,12],collection_nam:13,collectionid:51,color:42,column:[14,16],com:[2,4,5,6,8,12,13,14,15,16,17,18,19,20,24,26,27,28,30,34,35,37,39,40,42,44,47,48,52,57,58,59,60,63,64,65,66,68,69,70,71],combin:[16,33,38,39,41,61,71],come:[23,25,26,28],comma:[12,39,52,59,63],comma_separated_list_of_permission_nam:59,command:[0,22,26,27,28,47,59,66],comment:[32,42,65],commit:0,committ:49,common:[12,61,65,71],commonli:64,commun:[41,43,68],compani:[36,37,68],compar:[12,41],comparison:64,compil:[47,56,57,61,62],complet:[12,25,26,29,30,32],completedsuccessfulli:[39,42],completemsg:51,completionhandl:39,complex:[15,16,25,32],compliant:32,complic:26,compon:[30,32],compromis:56,concept:[14,22],config:28,confim:51,confirm:[26,28,34,37,38,46,51,68],confirm_email:[34,37,51],conflict:68,conform:10,conjunct:[32,70],connect:[0,2,5,12,16],connected_collect:[17,18],connected_ent:[17,18],connecteeid:42,connectent:42,connectentitiesasync:42
 ,connecting_collect:[17,18],connecting_ent:[17,18],connectorid:42,consid:[38,46,57,61,64],consider:[56,57,62],consol:25,constrain:14,constructor:1,consult:22,consum:[32,65],contact:44,contain:10,containslook:11,containswil:11,content_typ:4,context:[1,32,42],contextu:32,continu:[11,29,44,68],contrast:[16,69],contribut:[25,31],contributor:[31,49],control:[32,41,44,58,61,64,71],conveni:[9,56,66,68],convent:30,cooki:59,coordin:39,copi:[0,16,26,44,68],core:[27,28,32,47],cores:28,correct:[33,38,46,48,59,68],correctli:28,correl:[38,41,42,46],correspond:[12,13,15,24,30,42,44,47,51,52],cost:32,costli:16,could:[2,11,16,29,41,42,56,57,61,62,66,67,69,70],couldn:42,count:[7,8,12,13,14,15,51,52,65],counter_nam:[6,8],coupl:[31,41],cpu:41,creat:[2,5],createact:25,createadminus:25,createcollect:52,createent:[25,29],createev:25,creategroup:25,createnotif:25,createorg:25,createus:25,creation:[48,51,58,67],credenti:[25,26,28],criteria:32,cross:65,css:[34,47,71],cumul:6,curiou:22,curl:[4,5,6,8,9,11,12,1
 3,15,17,18,19,20,27,28,34,35,37],current:[6,13,20,30,31,33,38,42,51,63,65,71],custom:[9,13],custom_id:9,custompayload:39,d0d7d0ba:12,d16344f5a0e1:20,d20976ff:66,d28c:24,d503:[2,30],d7a8:[15,52],d86a:12,d878de4r:58,d87edec7:65,d9693ec3:65,da448955:65,da4a50dc:15,da67:71,da71:71,da83:65,dai:[7,8,58],daili:8,dashboard:[38,59],data:1,databas:[11,14,16,20,25],datacli:[9,39,42,52,57,60],date:[10,39],dave:50,david:50,db1e60a0:[17,66,71],dbf5228024a7:[18,19],dbm:[11,12,14,16],dc5d478e9c029853fbd025bed0dc51f8:24,debug:[38,41,42,47],decim:10,declar:42,decompil:61,dedic:6,defin:[7,14,15,23,30,42,52,55,57,58,63,64,65,66,70,71],definit:[51,63],deflat:40,degre:[39,58],deleat:51,deleg:52,delet:[11,12],deletecollect:52,deleteent:52,delimit:[10,63,67],deliv:[32,39,44,47,51],deliveri:[32,39,51],denot:[66,69],depend:[24,40,42,43,66,67],deploi:25,deploy:25,desc:11,descend:11,describ:[11,12,13,15,16,20,24,36,40,42,44,47,48,55,56,57,59,64,66,68],descript:[4,5,6,8,11,13,14,15,17,18,19,25,30,34,35,36,37,39
 ,44,48,51,52,57,62,63,64,65],design:[14,16,20,26,32,33,47,65,66,67,68,70],desir:44,desktop:[40,44],destin:[1,39],destinationsingledevic:39,destroi:60,detail:[13,15,22,30,32,34,35,36,37,38,39,40,41,51,57,59,64,65,66,69,71],detect:[5,20],determin:[20,33,65,71],dev:[28,38,40,41],develop:[10,20,23,30,31,32,38,39,40,41,44,47,61,68,70],devic:[5,18,19,20,21,24,25,30,32,38],device_id:39,deviceid:[39,42,51],deviceregistrationcallback:42,devicetoken:42,deviceuuid:42,dfr4d5m1mjmoeeogvpncm:58,diagram:[38,41],dialog:[21,23,34,44,47],did:15,didfailtoregisterforremotenotificationswitherror:42,didfinishlaunchingwithopt:42,didregisterforremotenotificationswithdevicetoken:42,differenti:32,dimens:70,diner:11,dino:[24,69],dir:0,direct:[0,16],directli:[0,35,44],directori:[0,26,27,28,47,49,59,68],disabl:[23,26,34,37,48,51],disk:44,displai:[8,11,20,47,48,51,59,64,65,67,68],displayemail:51,displayemailaddress:[34,37],displaymessag:42,displaynam:[34,37,51,65],distanc:20,distance_in_met:20,distinctli:31,dist
 ribut:[14,16,61],div:[34,71],dk88fh4r:19,doctyp:[34,71],doe:[0,15,24,30,38,46,48,51,52,56,57,58,59,65,66,71],doesn:[14,16,23,38,42,46,47],dog:[15,24,29,66,67,69],dogcreatecallback:29,doge:[66,67],domain:[44,59],don:[26,38,41,43,47,61,65,71],done:[0,26,28,32,40,42,44,51,59,61,62,71],dot:[6,10],doubl:[28,39,44],down:[10,21,31,39,42,44,64],download:25,drive:[1,32],drop:[21,39,44,64],dropdown:21,dskiptest:[26,27,28],dtd:[34,71],due:[11,12,16,57],duplic:16,durat:[2,5,6,8,12,13,14,15,16,17,18,19,24,26,34,35,37,51,52,58,60,63,64,65,66,71],dure:[61,64],duti:64,e13743a7f1db7f4246badd6fd6ff54ff:71,e694:66,e7127751:66,e7d0:65,e8f5:[15,52],e94123890c7a:[15,52],e978:71,e97b:12,each:[0,6,7,8,10,12,13,14,15,16,20,23,24,30,34,38,39,41,44,48,51,52,53,59,62,64,65,66,71],earlier:[38,40,41,47],eas:32,easi:[0,32,70],easier:[9,11,12,16,23,24,38,61,66,69],easiest:64,easili:[6,20,30,32,61,70],east:26,easy_instal:0,eb20e5bce407:17,ebc6f49d1fc4:[15,52],ec39:24,edit:[0,1,25,26,44],edort1:34,ee912c4b:10,ef0b:[
 15,52],effb:[15,52],effect:32,effici:[12,16],either:[1,13,17,51,56,59,64],elasticsearch:28,elev:61,elimin:[32,56,61],els:[29,42,59],email:[12,24,26,27,28,30,34,37,41,44,48,51,57,65,66,68,71],email_address:[24,71],embed:28,embed_cod:50,employe:66,empti:[13,52,68],emul:[38,41],enabl:[20,26,32,38,41,42,43,44,47,48,59,61,64,65],enabledremotenotificationtyp:42,enabledtyp:42,enclos:[12,51],encod:[9,11,12,15,40],end:[8,32,33,52],end_tim:8,endpoint:[0,6,18,25,35,38],engag:[20,32],engin:31,enhanc:20,enough:[23,47],ensur:[10,16,24,32,38,39,41,44,47,55,57,61],enter:[21,23,34,39,40,44,47,59,64,68,71],entir:[11,39,51],entit:16,entiti:[0,2],entity_nam:15,entity_typ:[15,52],entity_uuid:15,entityid1:51,entityid2:51,entityid:[51,52,64],entityproperti:51,entitytyp:[34,37,51,64],entri:[11,39,59],environ:[22,40,47,61],equal:[10,12,42,58],equiv:[34,71],err:[29,42,59],error:[6,25,28,29,37],errorcod:51,errormessag:51,escap:[39,52],essenti:[47,70],establish:[51,65,70],etag:[2,5],etc:[31,48],evalu:26,even:[
 8,11,16,26,30,41,56,57,61,62,69],event:6,everi:[8,9,24,30,56,61,62,64,66,67],everyth:[0,24],exact:[20,70],exactli:11,examin:[8,61],exampl:[0,1],except:[15,38,42,46,56,61],exchang:44,execut:[9,11,12,28,29],exhaust:61,exist:[5,6,15,16,20,26,37,42,48,51,52,58,59,65,66],expect:[10,20,34,37,43,52,70],experi:[14,20,32,70],experiment:[23,55],expir:25,expires_in:[51,57],explain:[0,26],explan:29,explicit:44,explicitli:[42,56,60,64],expos:27,express:11,extend:69,extens:68,extern:49,extract:[26,27,28,56,57,59,62],f18e8f6fb3bc:71,f315e5aa568a:[15,52],f322:52,f34f4222:[5,6,8,13,15,24,52,63,64,66],f399:65,f3a8061a:[15,52],f3aa:65,f3be262a:[15,52],f3teeg:35,f42752aa:52,f8zemolceecubwbqvsaaca:57,f_gubelxeecfrgbqvsaaca:57,facebook:[24,25,32],facebookaccesstoken:59,facebooktoken:59,factor:26,fail:[38,39,42],failur:[14,51],fals:[10,26,28,34,37,51],famili:[14,20],familiar:[16,22],faq:26,far:21,fast:14,favorit:[28,41,42,71],favoritecolor:42,fb_access_token:[48,59],fbasynchinit:59,fbasyncinit:59,fc4d:65,
 fdd3:37,fe80:34,fe90:[34,37],featur:[16,20,22,24,25],feed:[5,12,18,19,24,25,32],feel:28,few:[11,20,38,43,68,70],ffd79647:65,field:[1,11,15,32,34,39,40,44,51,64],fieldset:[34,71],file_loc:5,filenam:5,files:1,filter:[12,65,66,71],find:[0,11,20,26,38,42],fine:[28,32],finish:[38,41,51,68],first:[0,11,12,13,16,22,24,28,29,34,38,40,43,44,46,47,48,52,61,64],first_nam:24,firstnam:[11,12,48],fish:27,fit:62,five_minut:8,fix:[38,46],flash:41,flexibl:[14,16,25,30],flow:[59,71],fluffi:27,fobnszewobnioerabnoiawegbrn:[5,64],focu:[24,32],folder:1,follow:[0,2,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,28,29,30,36,38,39,40,41,42,44,46,47,48,51],foo9876a:71,foo:24,footprint:[41,43],forappl:42,force_refresh:28,ford:[18,19,69,70],forgot:71,fork:49,forkei:[39,52],form:[15,30,34,37,39,51,52],format:[0,2,12,13,14,15,20],fornotifi:42,fortun:8,forward:[38,40,41,42,59,66],found:[35,56,57],four:[57,62],foursquar:65,fragment:59,framebord:50,framework:[41,68],francisco:[20,34,66,67],fred:[11,66,69
 ],free:[28,30,38],friend:[18,20,32,41,64,65],from:[0,4,9,11,12],full:[11,15,23,32,34,36,38,41,47,56,57,61,62,64,69],fulli:[24,28,52],further:[24,29,36,42,48,56,59,61],furthest:[11,20],futur:[15,61],g9qgaaaurv_lfq7uu6ayhjjjn7qcrgovnvu:58,gain:[56,61],game:[7,41],ganyo:47,gatewai:44,gaufeolxeecfrgbqvsaaca:57,gcm:25,gcm_sender_id:47,gcmregistrar:42,gcmsenderid:42,gener:[0,6,7,24,25,27,28,30,33],geo:25,geocoordin:20,geograph:11,geoloc:11,get:[2,4,8,11,12,13,14,15],getapigeedeviceid:42,getclient:42,getcollect:52,getconnect:42,getdatacli:42,getent:52,getloggedinus:42,getregistrationid:42,getuniquedeviceid:[39,42],getuuid:42,ggkaaqmaggkabge5ffm1aqcadqaq_9ewr_ozeeguwxixowauaqcadqaqablaovoaeeguwxixowauaqa:65,ggkaaqmaggkabge5mlfh7gcadqaqjikhxefqeegw9hixowbregcadqaqjnep6ufqeegw9hixowbrega:65,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz3soh_6qeegvybixoxisvga:37,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz4zbyf6qeegvybixoxisvga:34,ggkaaqmaggkabge7pehcgwcadqaqvj9dljfzeek
 g9wloguza3acadqaqvkvrctfzeekg9wloguza3aa:65,git:[0,49],github:[26,31,47,49],give:[6,16,23,24,31,32,41,44,58,63,64,70],given:[15,16,23,30,37,50,51,56,61],gladi:12,gmail:[28,34,65,71],goal:[11,33],goe:26,gold:27,good:[0,23,61],googl:[25,32,34],gool:[38,46],got:[38,41],gotten:[38,41],govern:[55,57,62,66],grain:32,grant:[24,51,56,57,59,61,62,64],grant_typ:[27,35,51,57,58],granular:[6,8],graph:[25,32],graph_async:28,graph_us:28,gravatar:[12,24,65,66,71],great:[32,48,64,66,67],greater:[10,11,58],greatest:62,groovi:0,group:[5,12,14,15,18,19,24,25,30],group_path:39,groupid:51,groupnam:[65,66],grouppath:66,groupproperti:51,gte:10,guarante:29,guest:[23,42,56,61,64,65,71],guid:[9,26,49,52,59],guidanc:47,gzip:40,hacker:[56,57,61,62],had:39,half_hour:8,hand:16,handi:22,handl:[21,32,34,42,70],handlepushnotif:42,happen:[20,41],happi:[0,65],happy_cloud:5,hard:[1,62],hardwar:[38,41],hava:0,have:[0,12,14,15,16,19,22,24,28,30,31,35,37,38,39,40,41,42,47,48,51,57,58,59,61,62,64,65,66,67,68,70,71],head:[
 34,71],header:[4,56],heavi:41,height:[50,51,65],hello:65,help:[7,11,14,28,30,32,55,57],her:[16,34,41],here:[2,12,16,20,24,26,27,28,30,41,49,59,65,66,68,71],hierarchi:[6,30,36,37,63,66],high:[14,16,39,41,42,43,55,58],higher:[27,62],highest:[36,37],highlight:16,hike:62,him:27,histori:39,hold:[5,52],home:20,homepag:6,host:[26,28,56,59],hostnam:28,hotmail:37,hour:8,hous:16,howev:[8,11,12,13,15,28,29,30,38,41,47,48,59,61,64,65,68],href:[34,37,71],html4:[34,71],html5:[24,25,38],html:[0,34,44,47,51,59,68,71],htmldisplayemail:51,htmldisplayemailaddress:[34,37],http:[2,4,5,6,8,12,13,14,15,16,17,18,19,20],human:[34,71],hundr:11,hurrai:59,hystrix:28,icon:[44,65,68],idea:61,ident:[16,47],identif:[47,51],identifi:[9,16,30,34,40,42,44,48,52,71],ifram:50,illlustr:42,illustr:[14,38,39,41,42,55],imag:[2,4,5,14,32,38,41,47,51,65],imagemodel:25,imagin:[12,16,39,62],immedi:[32,39,64,71],immut:30,implement:[24,32,38,42,55,56,57,59,62,71],implicit:64,improv:[20,31,32],inact:[42,64],inbox:[48,65,67],inclu
 d:[6,11,12,14,15,16,21,22,23,24,30,32,34,38,39,40,41,42,47,51,52,56,57,58,59,61,64,66,71],incorpor:68,incorrect:[24,34],increas:[13,20,32],increment_valu:6,index:[0,10,11,15,28,30,47,68],index_prefix:28,indic:[51,58,65,66],individu:[15,30,58,62],ineffici:[11,12,16],inflat:16,info:[34,51],inform:[4,8,11,12,13,14,15,16,20,22,24,26,30,32,34,36,38,39,40,41,42,44,47,48,49,52,55,56,59,61,65,66,68,69,71],infrastructur:[30,32],ing:65,inher:61,init:[39,52,59],initi:[9,28],initwithobject:52,initwithorganizationid:42,inner:16,input:[34,71],insecur:61,insert:59,insid:24,instal:[0,9,22,24,25],instanc:[26,27,30,42,52,57,60,68],instead:[16,24,32,57,61,62],instruct:[0,26,38,59,68,71],integ:[11,51],integr:[20,24,32,38,59],intend:30,intention:16,interact:[38,46],interest:[8,32],interfac:[26,68],intern:25,interpret:[24,63],intersect:10,intrins:24,introduct:[25,43],invalid:[48,59],invok:[38,41,42],iphon:68,isloggedin:42,isn:[14,22,24,42,55],iso:[34,71],isregisteredonserv:42,issu:[0,2],item:[10,12,13,15
 ,24,39,52,65],items:13,itself:16,jane:71,jar:[27,47],java:[0,26,27],javascript:[6,9,12,14,24,25,26,29,31,34,38],javscript:29,jdk:[26,27,28],jdoe57:30,jenni:16,jersei:33,jim:34,jin:50,jinm:34,job:64,joex:42,john:[24,30,57,65,66,71],johnson:50,join:16,jpeg:[2,4,5],jpg:[2,5,14,16],json:[10,12,14,15,16,19,24,27,30,34,35,39,40,52,59,65,66,70],json_arrai:15,json_object:15,just:[14,16,17,20,23,24,26,38,41,43,47,65,70],k88dh4f:18,kbundledsoundnamewithext:39,keep:[1,7,9,11,12,23,32,38,41,43,56,57,61,62],kei:[13,15,16,24,25,32,38,40,41,42,44,46],keychain:[44,47],keyspac:[26,28],keyword:15,kid:16,kind:[11,12,16],know:[8,41,44],known:42,kravitz:12,kugclientresponsesuccess:42,label:34,lack:23,lag:29,languag:[10,14,15,24],larg:[0,11,65],last:[5,11,30,37,48,51],lastnam:[11,12,48],lat:39,latenc:29,later:[16,20,39,44],latest:[26,27,47],latitud:[11,20,39],latitude_coordin:20,launch:[8,38,41,42,44,46,47,61],launcher:25,launchopt:42,layer:27,lceecubwbqvsaaca:57,learn:[22,23,25,32,38,41],least:26,leav:[
 26,44,64],left:[21,31,39,40,44,47,64,65,68],length:[2,5],less:[10,14,58,65],let:[8,27,32,39,41,64],letter:71,level:[6,8,14,15,21,22,23,25,27,30,32,35,36,37,38,39,42,47,55,56],leverag:[32,68],lib:[26,28,47],librari:[38,41,47],lightweight:70,like:[0,2,5,8,10,14,16,17,18,19,23,26,28,29,32,34,38,39,41,48,59,61,63,64,65,67,68,69,70,71],liked_bi:69,limit:1,line:[0,16,26,27],linear:[14,26],listen:41,live:[23,25,56],load:[27,59],localfilebinarystor:1,localhost:[26,27,28],localizeddescript:42,locat:5,log:[6,26,32,38,39,40,42,44,46,47,48,57,59,60,64,65,68,71],login:25,logincredenti:25,loginfacebook:59,loginus:42,logout:25,longer:[11,61],longitud:[11,20,39],longitude_coordin:20,look:[2,8,10,11,16,38,39,41,59,62,65,71],loos:[34,71],love:16,low:[41,43],lower:6,lte:10,ltixndg0nduxndpvdjb0jwrevls1vcd0xvr3nwt0jrqq:11,lunch:41,mac:[38,41,44],machin:[44,47],made:[19,24,63,69],magic:16,mai:[0,6,9,13,15,23,30,39,40,42,47,51,60,61,64,66],mail:[26,28,30,66],mailer:[26,28],mailto:[34,37],main:[0,1,59],mai
 ntain:[16,59],mainten:31,make:[0,9,11,12,14,16,22,23,24,28,29,30,32,36,38,42,46,47,48,56,57,59,60,61,65,68,69,70,71],makefil:0,maker:14,malici:[55,56,57,62],manag:[5,11,12,22,23,25,26,27,28,30,31],mandatori:[1,48,66,67,71],mani:[7,11,12,14,16,20,23,30,39,64,70],manual:[65,69],map:14,marginheight:50,marginwidth:50,market:41,massoddb:65,match:[11,15,28,38,46,47,52,63,71],matter:[32,38,41,47],mattress:14,maven:[0,26,27,28],max:28,maximum:[11,39,58],mayb:16,mean:[10,14,15,16,23,29,30,39,55,56,61,69,70],meant:65,meanwhil:29,measur:55,mechan:68,meet:26,member:[30,34,36,47,51,62,65,66,67],meme:[66,67],memori:[20,41],menu:[21,35,38,41,44,64,68],messag:[6,25,26,28,32,34],message:25,meta:[34,71],metadata:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,25,34,37],metadataproperti:51,meter:[11,20,39],method:[6,8,11,15,19],mfdsadfdsaoabl:65,middl:48,middlenam:48,might:[7,8,9,11,12,14,15,16,22,26,28,30,32,35,38,39,41,42,44,46,61,64,66],mile:20,milk:[13,15,52],million:32,millisecond:[30,51,58],mimic:33,m
 ind:[1,9,11,12,16,20,23,38,41],minim:[16,26,28,33],minimum:[30,35,37],minu:16,minut:[8,32],mix:24,moab:65,mobil:[14,16,20,23,25,35,38,40,41,42],model:14,modern:[30,65],modif:[48,67],modifi:[2,5,6,12,13,14,15,16,17,18,19,20,24,30,34,37,47,48,51,52,58,64,65,66,67,71],modul:6,monitor:32,month:[8,32],more:[4,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,30,32,37,38,39,40,41,42],morn:8,most:[8,11,16,22,28,29,30,31,32,35,61,65,69,70,71],mountain:62,move:[42,47],much:[10,14,16,61,68],multi:[15,52],multipl:[0,11],must:[0,10,15,16,27,28,30,37,39,40,41,42,44,47,51,52,56,58,64,65,66,68,69,71],mustach:0,mvn:[26,27,28],my_app:[14,16,48,59],my_org:[14,16,48,59],myadmin:27,myapp:[12,27],myasset:2,mycollect:10,myfirstorg:27,mygroup:[65,66],mynewapp:[66,71],mynewgroup:66,mynewpassword:34,myorg:[12,66],mypassword:27,myself:[16,26,28],myuser:27,name:[1,2,4,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,23,24,26,27,28,30,34,35,37,38,39,40,41,42,44,46,47,48,51,52,56,58,59,61,63,64,65,66,67,68,71],narrow:[10,6
 4],nativ:[0,14,42,47],natur:[11,12],nav:[39,40,44],navig:[26,27,28,47],nearbi:20,nearest:[11,20],nearli:16,necessari:[16,32,38,41,42,47,64],need:[0,1,2,8,9,11,12,13,14,15,16,21,22,24,26,28,30,31,32,34,35,36,37,38,39,41,42,43,44,47,48,56,57,59,60,61,62,64,65,66,68,69,70,71],neg:6,nest:[15,30,52],net:[24,50],network:32,never:[23,25,35,56,57,58],new_password:[34,71],new_review_uuid:16,newdevicetoken:42,newent:52,newli:[44,51,63,65],neword:39,newpassword:[34,51,71],next:[11,13,21],nil:[42,52],node:[24,26,28,52,53,57,60],nodej:28,non:[14,16],none:64,normal:[4,15,16],nosql:[11,12,14],notat:[10,12,14],note__:71,notic:[5,16,19,59,65],notif:[20,22,25,26,28,30],notifc:51,notifi:[25,30,38],notificationid:51,notificationupd:25,notifier_nam:39,notifiernam:42,notify_sysadmin_of_new_admin_us:[26,28],notify_sysadmin_of_new_organ:[26,28],now:[26,27,28,39,41,47,59,68],nsarrai:52,nsdata:42,nsdictionari:[42,52],nserror:42,nsexcept:52,nslog:42,nsmutablearrai:52,nsmutabledictionari:[39,52],nsstring:[39,5
 2],number:[6,7,11,12,13,14,30,32,38,41,44,46,47,51,61,64,65,71],numebr:51,ob5ko:58,object:[5,9,10,12,14,15,24,25,30,32,34,35,37,39,42],objectforkei:42,objectproperti:51,objecttyp:[34,37,51],objectuuid:51,obtain:[48,56,58,59,61],occur:[7,20,38,46],occurr:11,octal:10,off:[26,39,42,59],offer:[20,23,24,32,61,69,70],offici:68,often:[8,10,16,30,32,65],old:[34,51,71],old_password:[34,71],oldpassword:[34,71],omit:12,onc:[0,11,16,26,28,29,38,40,41,44,46,47,59,61,64,71],onexcept:42,ongo:[32,65],onli:[5,9,11,12,16,21,23,24,26,28,29,30,35,51,55,56,57,58,61,62,63,65,66,69,71],onlin:65,onrespons:42,oop:59,opdata:52,open:[14,16,23,25,28,31,47],optim:[11,12,14,16],option:[5,9,26,28,30,42,47,52,56,59],order:2,orderl:11,org:[1,2,4,5,6,8,12,13,15,17,18,19,20,24,26,27,28,34,35,37,39,40,42,47,51],org_client_secret:57,org_clientid:57,org_id:[15,51,65,66,71],org_nam:[35,37,58,60],org_uuid:[35,37],organ:[0,2,4,5,6,8,12,13,14,15,16,17,18,19,21,23,24,25,26,27,28],organizationnam:58,organizations_require_acti
 v:[26,28],orgid:51,orgnam:[9,42,47,51,57,59],orguuid:51,origin:[44,66],originali:67,oscar:27,our:[0,9,11,12,26,27,28,31,39,49,52,70],out:11,outbox:65,outgo:28,outlin:5,output:[42,59],over:[8,41,58],overrid:[28,42,58],overview:[11,12,25,30],overwritten:15,own:[7,23,32,39,51,59,63,65,66,67,71],owner:[2,37,51,65,66],p12:[38,40,41],p12certif:40,packag:[26,59,68],page:[22,23,27,34,39,40,44,57,59],pair:[13,15,39,52],pane:[47,64],param:[2,5,6,8,12,13,14,15,16,17,18,19,24,42,52,58,63,64,65,66,71],paramet:[4,5,6,8,9],pars:59,part:[9,11,12,16,20,24,39,44],partial:[11,30],particular:[10,16,39,65],particularli:[14,16,63,65,69],partit:22,pass:[11,35,42],passiv:70,password:[24,25,26,27,28],path:[2,5,6,12,13,14,15,16,17,18,19,20,23,24,25,26,28,34,37,38,39,46,47,51,52,59],path_to_imag:16,pathnam:59,pattern:[42,51,63],payload:[39,47,51],peak:8,peopl:[7,30,65,66,67,68],per:[13,14,59,64],perceiv:29,perform:[4,5,13,14,16,18,29,32,34,36,38,48,56,57,62,63,65,67,71],period:[7,8,20,64],permiss:[5,12,18,19,
 23,24,25],persist:[24,27,28],person:[16,20,31,34,37,44,68],perspect:30,pertin:36,pet:27,phone:12,phone_numb:12,phone_typ:39,phonegap:25,photo:[20,70],physic:20,pictur:[4,5,12,20,24,48,51,66,71],pinterest:65,pip:0,place:[14,15,16,26,30,52,57,71],plai:[7,22,41],plain:4,plan:16,platform:[32,38,39,40,41,42,43,44,47],pleas:[10,34,39,56,58,64,69],plenti:0,plug:[38,42,47],plugin:[42,47],plural:[13,15,30,51],png:16,point:[10,11,14,20,28,29,32,33,59,68],polici:[49,61],pop:68,popul:[66,68,70],popular:[32,68],popup:64,port:[26,27,28],portal:[21,22,23,25,26],portion:[39,51],pose:58,posit:[11,20],possibl:[16,38,41,42,46,61,69],post:[2,5,6,7,13,15,16,17,18,21,23,24,25,27,34,35,36,37,39,40,42,47,51],postal:11,potenti:11,power:[20,27,30,32,50,57,62,69],practic:[11,12],preced:[12,16],precis:65,predefin:30,prefer:[11,24,26,38],prefix:35,prepar:61,present:[16,25],preserv:66,press:[38,46,47],prevent:[11,12],preview:0,previou:[44,65,68],previous:68,price:[10,13,15,52],primari:[16,48],prior:61,privaci:65
 ,privat:32,privileg:37,probabl:[0,16,26,29],problem:28,process:[27,30,34,41,42,51,70],product:[14,16,21,23,25,26,30,39,40,44,55],product_uuid:[14,16],productid:16,productimag:16,productnam:16,productuuid:16,profil:[20,32,38,41],program:29,programat:21,programmat:[25,35],progress:39,project:[0,27,33,36,37,38,41,44,46,47,49,68],prompt:[26,47,59],prone:65,proof:[34,71],prop:52,proper:47,properit:20,properli:[27,29],properti:[1,4,5,6,9,10,11],properties____:26,property_1:[13,15],property_2:[13,15],property_nam:11,props1:52,props2:52,propti:34,protect:[55,57],protocol:[26,28,59,61],prototyp:59,provid:[6,8,11,13,14,15,20,21,24,28,30,32,34,35,37,39,40,41,42,44,47,48,51,52,53,56,57,59,61,62,64,65,66,68,71],provis:[38,41],proxim:[11,20],pull:[31,41,42],pure:24,purpos:[10,23,26,30,35,64,70],push:[0,20,22,25],pushalert:39,pushapp:44,pushnotif:42,pushtest:47,pushtest_dev:40,put:[5,12,13,15],pw123:26,pwhere:28,python:0,qualifi:24,quantiti:10,query_stat:12,query_str:[66,71],querystat:51,querystr:
 52,queue:[39,51],quick:25,quicker:24,quickli:[11,12,16,30,32,70],quitwait:[26,28],quot:[12,39,51,52],radiu:39,raleigh:50,rang:8,rate:16,rather:[5,16,17,18,32,42,44],raw:0,rawrespons:[39,42],rdbm:[14,16],reach:[10,25,41],reactiv:25,read:[9,11,12,14,16,22,43,49,51,65],read_phone_st:47,readabl:16,readi:[11,22,28,68],readm:[0,38,42,49],real:51,reason:[41,66],recaptcha:[34,71],recaptcha_challeng:51,recaptcha_challenge_field:34,recaptcha_respons:51,recaptcha_response_field:34,recaptchaopt:34,receipt:[25,30],receiptid:51,receiv:[11,29,38,41,42,43,44,48,51,67,68,71],reciev:51,reciproc:69,recommend:[26,52,61],record:[30,32],recreat:[38,46],recurs:63,redefin:64,redirect:[26,28,47,59],redirect_root:[26,28],redirect_uri:59,reduc:[12,16],redund:16,regard:[6,30],regardless:15,regid:42,regionnam:1,regist:[25,32,38,40,41],registerdevic:42,registerdeviceforpushasync:42,registerforremotenotificationtyp:[38,41,42],registerpush:42,registerwithpushprovid:42,regularli:41,rel:[34,71],relat:[5,14],relation
 ship:[16,17,18,19],relev:[20,32,59,61,70],reli:16,rememb:[10,39,44,59,68],remind:16,remot:[20,42],remov:[23,25,26,34],removeent:52,renam:30,repeat:68,replac:[1,16,47,59,68],replic:26,replication_factor:[26,28],repo:[26,28,49],report:[7,31],reposloc:1,repres:[11,14,21,24,30,32,34,37,38,40,42,51,62,63,65,66,71],represent:[11,15,24,30],request:2,requir:[0,6,13,17,18,20,23,25],resend:39,reserv:30,resetpw:[25,26,28,34],resetpwmsg:25,resolut:8,resourc:[0,1,24,36,38,48,56,59,62,63,64],resource_path:63,respect:56,respond:[38,46],respons:2,response_typ:59,restaur:[11,20,41],restkit:68,restrict:[61,64],restructuredtext:0,result:[10,11,13],retri:39,revers:44,review_entity_json:16,review_uuid:16,reviewed_product_uuid:16,reviewedbi:16,reviewedin:16,revok:25,revoketoken:60,rich:[32,70],right:[16,24,29,41,64,65,68,70],rigid:30,risk:58,rock:10,rockadero:20,rocki:62,role:[5,10,12,18,19,21,23,24,25,30],roleid:51,rolenam:[5,12,18,19,24,48,51,64,66,67,71],roleproperti:51,root:[0,26,27,28,47,61],rout:[3
 2,65],row:14,rubi:[24,52,53],rule:[23,55,57,61,62,63,64,66,71],run:[0,7,25],safe:62,sai:[8,56,57,65],sake:28,sale:41,same:[5,6,11,16,18,19,20,30,32,38,39,42,46,47,51,62,64,65,66,67,68],sampl:25,san:[20,34,66,67],sandbox:[5,15,22],santa:50,save:[5,15],scalabl:[14,16,26],scale:16,scatter:16,scene:[48,59],schedul:[25,38],schema:[14,30,51,64],scope:[16,27,57,59,62],screen:[21,47,50],script:[0,34,62,71],scroll:50,sdk:[6,9,14,15,22],search:[8,11,32],second:[6,29,34,39,58,64,68],secondari:16,secret:[25,35,51],secretkei:1,section:[24,35,38,39,44,47,51,56,57,66,68,71],see:[2,4,8,9,10,11,12,13,14,15,19,20,21,22,23,24,26,27,28,30,32,34,35,36,37,38,39,40,41,42],seen:65,segment:63,select:[10,11,12,16,21,23,24,39,40,44,47,64,66,68,71],self:[39,42,59],send:[1,4,9,11,12,19,20,25,27,32,34,37],sender:[38,41,44,46],senderid:47,sendmyselfapushnotif:39,sens:[16,32],sensit:[23,55],sent:[9,12,24,25,34,35,37],separ:[6,12,16,30,38,39,40,41,42,44,52,59,64],seri:0,serv:[61,62,64],server:[11,23,26,29,32,35],se
 rvic:[1,12,20,23,24,25,27,32,34,36,37,38,39,40,41,42],session:[59,61],set:[0,4,5,6,8,11,12],setapiurl:42,setapplicationid:42,setdevicepushtoken:42,setlog:42,setobject:52,setorganizationid:42,settoken:59,setup:25,setvalu:39,sever:[1,24],share:[27,37,65,70],sharedappl:52,she:41,shell:22,shorthand:11,should:[0,2,11,12,15,16,17,18,22,23,26,28,38,39,40,41,42,44,47,49,51,52,55,56,57,58,61,62,64,68],show:[12,13,16,38,39,52,64,68],shown:[9,11,12,13,15,19,34,38,39,41,46,47,56,59,65,66,71],side:[31,32,35,56,57,59,61,62,68],sidebar:64,sign:[25,26,28,30,32],similar:[16,44,65,68],simpl:[0,14,16,23,26,30,32,38,68,70],simplestrategi:[26,28],simpli:[13,19,24,32,64,65,68],simplifi:[16,32],simultan:39,sinc:[10,11,29,56,62],singl:[8,12,14,15,16,26,30,32],singular:30,site:[40,44],six_dai:8,skim:[15,52],sku:[14,15,52],slash:[66,67],slate:64,slideshar:50,slideshow:50,slightli:14,slower:10,small:26,smith:11,smtp:[26,28],snippet:59,social:[20,25],softwar:28,sojre5ywlkq7jrdcka:57,solid:50,solut:30,solv:32,s
 ome:[0,1,7,9,11,16,24,27,28,29,30,61,64,65,66,68],somegroup:66,someon:[8,39,64],somepassword:[26,58],somesubgroup:66,someth:[2,16,26],sometim:[0,14,38,46],someus:[24,26,58,60,64,66,71],soon:25,sort:[11,20,24],sound:[39,42],sourc:[0,14,16,25,31],space:16,span:[8,16],sparingli:62,special:[0,20,41,63,64,69],specif:[7,10,11,14,15,16,19,24,30,32,38,39,40,41,42,47,51,52,56,60,62,63,64,65,66,71],specifi:[6,11,12,13,15,17,18,19,20,24,26,36,37,39,40,42,51,52,56,57,58,63,65,66,68,71],split:8,sql:[10,16,32],squar:15,src:[0,1,34,47,50,71],ssl:[38,41],stack:[1,25,26,27],stage:28,standalon:27,standard:[20,24,42,47,61,62,71],start:[8,11,12,14,16,22,24,25],start_tim:8,startup:27,state:[24,34,42,51,59],statement:[12,29,51],statist:7,statu:[12,26,27,28,33,34,37,42,51,59,70],steventraut:[66,71],still:[22,38,46,61],stock:[13,15,26,41,52],stop:[11,39],store:[1,5,10,11,12],str:65,strateg:16,strategi:[26,28],stream:20,streamlin:[16,68],string:[9,10,11,12,13,15,16,30,34,35,37,39,42,48,51,52,56,59,65,66,67]
 ,stringifi:59,strong:34,stronger:20,structur:[16,24,27,36,69],struggl:65,style:[32,34,50,55,65,68,71],stylesheet:[34,71],sub_properti:15,subgroup:66,submit:[11,12,34,39,44,49,63,71],subproperti:52,subproperty1:52,subproperty2:52,subscrib:[65,66,67],subscript:[66,67,69],subsequ:[48,51,56,57,59],subset:[13,16,39],substitut:65,subtract:10,succe:[48,59,63],succeed:42,success:[26,29,47,51,52,61],successfulli:[38,46],sudo:0,suffix:44,suggest:[20,23,31],suit:[57,62,64],summit:50,sungju:50,superadmin:26,superus:[26,28],suppli:[34,37,51,57],support:[0,8,10,14,16,20,22],suppos:15,supprt:47,sure:[21,23,28,38,41,46,47,55,61,68],swagger:[0,33],symbol:71,sync:25,synchron:25,sysadmin:[26,28],system:[0,14,26,28,30,42,44,48,49,51,58,65,66,68,71],tab:[38,40,41,47,64],tag:[42,51,59],take:[6,11,16,28,29,32,44,55,57,61],taken:[20,42,59],tale:[10,11],talk:[28,50,61,68],tap:47,tar:59,target:[0,25,26,27,28,32,38],task:64,team:[36,37,47,68],technic:59,techniqu:[11,16],technolog:47,tell:[38,41],temp:1,templa
 t:[0,47],temporari:1,tempt:[16,44],tend:[66,67],termin:47,test12345:[34,37],test1234:71,test123:[34,37],test:[5,11,23,26,28,37,38,41,47,61,62,66,68],testadmin:57,testadminpw:57,testapp1:[35,37],testapp2:37,tester123:37,tester:51,testorg:[35,37],testpw:57,text:[4,10,11,32,34,39,65,68,71],text_field:34,than:[0,5,6,8,10,11,12,13,16,17,18,26,32,42,44,47,58,61],thank:32,thei:[0,11,12,15,16,20,30,37,41,42,43,55,56,57,61,62,64,65,66,67,71],them:[0,6,9,10,11,12,16,23,24,32,38,39,41,42,47,57,59,62,64,65],theme:[16,34],themselv:71,thereaft:55,thereof:39,thi:[0,1,2,6,8,9,10,11,12,13,14,15,16,20,21,22,24,26,27,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,46,47,48,49,51,52,55,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71],thing:[7,10,22,23,31,38,41,43,50,55,66,67,71],think:65,those:[11,16,28,41,42,47,49,55,56,57,61,62,65,71],though:[11,16,39,44,51],thousand:14,threadpool:28,three:[6,11,26,28,38,62,64,68],through:[14,16,21,32,35,36,37,42,44,48,51,55,59,61,62,65,66,71],thumb:23,tier:27,time:[6,7],t
 imeout:28,timestamp:[2,5,6,8,10,12,13,14,15,16,17,18,19,24,26,30,34,35,37,39,48,51,52,58,60,63,64,65,66,67,71],tip:[39,40,42,47],titl:[10,11,16,34,37,39,42,51,64,66,67,71],tld:[26,28],tmp:1,toctre:0,todai:20,togeth:[0,62],token:[9,13,15,23,24,25,27,34,35,36,37,38,39,41,42,48],token_to_revok:60,tom:63,tomcat:25,too:0,tool:[9,11,12,25,32],top:[21,27,38,39,47,59,68],topic:[11,31,39,52,53,57,66,67,71],topolog:26,tostr:42,track:[6,7,48],trail:62,transactionst:42,transfer:24,transform:0,transit:[34,71],transport:[26,28],treat:[15,25],trend:32,trial:24,troubleshoot:25,truli:32,trust:44,tsefia:34,ttl:25,ttl_in_millisecond:58,tupl:14,turn:[39,41,59],tutori:[22,25],tweet:[32,65],twitter:[32,65,68],two:[11,12,27,29,30,34,40,42,52,56,68,69,70],type:[2,4,5,6],typic:[10,24,30,71],udpat:0,uffff:10,uiapplic:[42,52],uiapplicationlaunchoptionsremotenotificationkei:42,uiremotenotificationtyp:42,uiremotenotificationtypealert:42,uiremotenotificationtypesound:42,unauthent:64,under:[23,26,39,44,47,57,60,6
 1,64,68],underli:[14,42],understand:[30,47],unencod:[9,11,12],unexpect:51,unfamiliar:14,unfortun:0,unicod:10,uninstal:[38,46],union:10,uniqu:[15,30,40,42,44,48,51,59,66,67,68,71],univers:30,unix:[6,39,48,51,67],unix_timestamp:39,unless:[0,39,48,56,59,62,68],unlik:[14,15,30],unlock:[38,46],unnecesari:61,unregist:64,unreleas:28,unsecur:61,unsent:25,until:[29,38,46,51,64],untrust:61,untrustworthi:25,unus:64,upcom:20,updatecollect:52,updatedent:52,updateent:52,upon:24,upward:6,uri:[2,5,6,8,9,12,13,14,15,16,17,18,19,24],url:[9,11,12,13,15,16,19],usag:8,usegrid:[24,25],user:[5,7,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25],user_uuid:16,user_uuid_or_usernam:60,usergrid_appl:28,usergriddatacli:[57,60],usergridsdk:59,userid:51,userinfo:42,usernam:[11,12,15,17,18,19,24,26,27,28,30,34,37,38,39,42,47,48,51,55,57,58,61,62,63,64,65,66,68,69,71],username_or_email:71,useruuid:42,usingnotifi:39,usual:26,utc:[30,51],util:[27,30,32],uuid:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,30,34,35,37,39,42,48,
 51,52,58,59,63,64,65,66,67,71],uuid_for_selected_review:16,val:59,valid:[1,13,15,30,34,35,37,39,40,47,48,56,58,59,61,63,64,65,66,67,71],valu:[1,6,8,10,11],valuabl:32,value_1:[13,15],value_2:[13,15],vari:8,variabl:[42,63],varieti:[15,24,36,52,71],variety_1:52,variety_2:52,variety_3:52,variety_list:52,variou:[39,61],verb:[16,34,37,51,65],veri:[0,11,12,22,30,56,65],verifi:[40,44,47,55],version:[26,28,38,39,44,46,47,68],versu:65,via:[0,26,30,31,34,37,39,44],vibrat:47,video:[5,25,32,38,43],view:[8,16,26,28,38,39,41,44,47,62],virtual:[38,41],visit:[26,38,41,44],visitor:62,w3c:[34,71],wai:[6,11,12,14],wait:[11,29,38,42,46],walkthrough:[38,41,47],wall:65,want:[0,1,5,6,11],war:25,warn:[23,39,56,57,62,64],watch:[26,38],weakself:39,web:[12,14,16,26,27,35,38,40,41,44,47,48,57,59,61,62,70],webapp:[26,27],week:8,welcom:[26,28,31],well:[20,24,26,32,38,41,47,60,61,65,68,69,70,71],went:26,were:[11,12,20,47,66,67],what:[16,20,22],whatev:23,whatsoev:55,when:[0,5,9,11,12,15,16,17,20,23,24,25,26,28,29,3
 0,32],whenev:59,where:[0,2,10,11,12,16,20,22,23,24,28,30,38,39,44,47,48,59,61,65,71],whether:[40,48,51,56,70],which:[0,8,11,13,14,15,16,18,21,26,29,30,34,36,38,39,40,41,42,44,46,47,48,51,55,56,57,58,59,61,62,63,65,66,67,69,71],who:[16,31,32,49,51,55,57,61,64,65],whole:[15,51,52],whose:[11,12,19,24,38,41,42,46,64,71],why:26,wide:[62,71],width:[50,51,65],wildcard:[11,63],window:[22,42,44,47,59,68],wireless:20,wish:[13,30,39,71],within:[6,11,15,20,26,30,37,39,51,58,62,65,68],without:[11,28,56,64,71],won:[38,41,47,65],word:[11,13,14,15,16,38,41,65],work:[0,11,12,14,16,20,23,25,26,28,29,31,32,40],workflow:49,world:65,would:[4,8,9,11,16,19,20,26,34,56,58,59,61,62,63,65,66,67,69,71],wouldn:16,write:[14,16,55,68],written:[0,14,16,26,31,38,49],wrong:26,wrote:16,www:[12,24,34,47,50,59,65,66,71],xcode:[38,41,47],xcodeproj:47,xfbml:59,xml:[1,47],yaml:0,yea:47,year:65,yet:[11,38,41,51,66],yhixpqk1cq:35,yml:28,you:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15],your:[0,1,4,5,6,7,8,9,10,11],your_app_id:59,y
 our_domain:59,your_redirect_url:59,your_response_typ:59,your_state_valu:59,yourapp:9,yourappnam:59,yourdomain:24,yourorg:9,yourorgnam:59,yourself:[38,46,47],ywmt4nqe8q9geelyjhixpsio4aaaato5fqfcg0ced2h9nwmdmrorknnreeqydof:34,ywmtfeewemyneektbnx3o4pu0qaaat8vzk3xz3utvzat0cosiym75c2qpigt79c:40,ywq6aaabmqz_xuyyeerokkjnzn7yqxxlpgml69fvaa:57,yxa65gylqja8ayysay8ox3vg5arzp48:35,yxa6aaabmq0d4mep_ugbza0:57,yxa7ygil:35,yxb7nad7em0meej989xixprxekq:57,yxb7nautv9krhhmr8ycw0qbozh2pxef:57,yxu6aaabmq0hdy4:57,zip:59},titles:["Apache Usergrid Documentation","File storage configuration","Folders","&lt;no title&gt;","Retrieving assets","Uploading assets","Creating &amp; incrementing counters","Counters &amp; events","Retrieving counters","Advanced query usage","Query operators &amp; data types","Query parameters &amp; clauses","Querying your data","Collections","The Usergrid Data Store","Entities","Data Store Best Practices","Connecting entities","Disconnecting entities","Retrieving connections","Geoloca
 ting your Entities","Creating a new application","Creating an Usergrid Account","Using a Sandbox Application","Using the API","Apache Usergrid Documentation","Usegrid 1: Deploying to Tomcat","Usegrid 1: Launcher Quick-start","Usergrid 2: Deploy to Tomcat","Async vs. sync calls","Usergrid Data model","Documentation Overview","Usergrid Features","jersey2skeleton","Admin user","Application","Organization &amp; application management","Organization","Adding push notifications support","Creating and managing notifications","Creating notifiers","Getting started with push notifications","Managing users and devices","Push notifications overview","Registering with a notification service","COMING IN USERGRID 2","Troubleshooting","Tutorial: Push notifications sample app","Users &amp; Devices","How to Contribute Code &amp; Docs","Presentations &amp; Videos","Methods","Usergrid iOS SDK","Usergrid SDK Documentation outline","COMING SOON...","Security &amp; token authentication","Authenticating AP
 I requests","Authenticating users &amp; app clients","Changing token expiration (time-to-live)","Facebook sign in","Revoking tokens (logout)","Security best practices","Authentication levels","Using permissions","Using roles","Activity","Working with group data","Groups","App Example - Messagee","Social Graph Connections","User management &amp; social graph","Working with User Data"],titleterms:{"default":[30,58,61,64],"new":[21,23],"return":71,"super":26,about:47,access:[24,51,56,61],accesstokenrespons:51,account:[22,68],acquir:61,action:51,activ:[32,34,37,51,52,53,65,70],activityfe:51,add:[26,59],addit:47,addrol:51,admin:[34,37,39,40,51,52,53,57,60,62,64],advanc:9,all:[9,19,39],android:[38,41,42,46,47,68],apach:[0,25,50],api:[0,9,24,27,47,56],apn:[38,41,44],app:[20,38,43,44,46,47,50,51,52,53,57,59,61,68],appdata:51,appl:[38,40,41,44],applic:[21,23,30,32,35,36,37,51,52,53,57],asset:[2,4,5,32],assign:[52,53,63,64],async:29,asynchron:29,attach:9,authent:[24,32,52,53,55,56,57,62],back
 end:50,base:24,basic:12,batch:13,befor:47,begin:47,best:[16,61],between:0,build:[0,26,27,28,43,50,52,53],call:[9,29],can:43,cancel:39,cassandra:[26,50],certif:[44,47],chang:[58,71],claus:11,client:[37,43,52,53,56,57,61,68],code:49,collect:[13,24,30,51,52,53,67],come:[32,45,54],complet:34,complex:63,comput:16,configur:[1,26,47,62],connect:[17,19,38,42,52,53,69,70],consol:26,construct:24,contain:11,content:0,contribut:[49,50],counter:[6,7,8,52,53],creat:[6,13,15,21,22,23,34,35,37,39,40,43,44,47,52,53,58,59,64,65,66,68,69,71],createact:51,createadminus:51,createent:51,createev:51,creategroup:51,createnotif:51,createorg:51,createus:51,credenti:[35,37,51,52,53],curl:[39,42],cursor:11,custom:[15,26,52,53],data:[4,10,12,14,15,16,20,30,32,47,52,53,66,71],databas:26,deal:0,decrement:6,delet:[13,15,39,52,53,66,71],denorm:16,deploi:[26,28],deploy:28,descript:66,dev:47,devic:[39,42,43,48,51],dialog:59,differ:0,directli:47,disconnect:[18,52,53],displai:71,doc:[0,49],document:[0,25,31,49,53],down
 load2:27,download:[26,27,47],edit:61,emul:46,endpoint:[39,40],enrich:20,entiti:[4,13,15,17,18,19,20,24,30,32,47,51,52,53],error:[38,46,51],event:[7,51,52,53],exampl:[4,5,6,8,13,15,26,28,34,35,37,52,53,57,58,59,60,63,64,65,66,68,71],expir:[39,58],facebook:[48,59],fail:46,featur:32,feed:[34,37,52,53,65,70],file:[0,1,26,28,32],find:43,flexibl:32,folder:2,follow:[52,53,65,69],form:71,format:24,from:[13,37,38,46,52,53,66],gcm:[38,41,44],gener:[35,37,44,47,52,53,67],geoloc:[20,32],get:[16,26,27,34,35,37,39,41,43,52,53,71],googl:[38,40,41,44],graph:[69,70],group:[32,39,51,52,53,65,66,67,70],handl:71,hierarch:6,how:[0,38,41,49,50],html5:[42,68],http:[24,27,61],imagemodel:51,increment:[6,52,53],initi:34,instal:[26,46,52,53],intern:50,interv:[8,52,53],invalid_send:[38,46],invok:59,issu:24,itself:28,java:28,javascript:[42,59,68],jersey2skeleton:33,kei:47,launcher:27,learn:43,let:71,level:[57,62],limit:11,link:2,list:2,live:58,local:[1,28],locat:[11,20,39],login:[26,32,52,53,57,59],logincredent
 i:51,logout:[52,53,60],manag:[32,36,39,42,43,52,53,70],markdown:0,messag:[38,39,46],message:68,metadata:51,method:[24,51],mismatchsenderid:[38,46],mobil:[50,61],model:[16,30,51],more:[43,47],multipl:[12,15,39,52,53],never:61,next:22,note:0,notif:[32,38,39,41,43,44,47,51],notifi:[39,40,43,47],notificast:39,notificationupd:51,oauth:[24,59],object:51,open:50,oper:10,order:11,org:[52,53],organ:[30,36,37,51,52,53,57],other:[0,47,52,53,69],out:16,outlin:53,overview:[31,41,43,50],p12:44,paramet:[11,39,66],parti:32,password:[34,52,53,71],path:63,permiss:[32,51,52,53,61,63],phonegap:[38,41,42,46,47],piec:38,portal:[28,39,40,64],post:[52,53,65],practic:[16,61],pre:16,prerequisit:[0,41,43],present:50,product:61,profil:47,programmat:40,properti:[12,15,26,28,30,48,52,53,67],provis:47,publish:0,push:[32,38,41,43,46,47],put:16,queri:[9,10,11,12,16,20,24,32,52,53],quick:27,reach:43,reactiv:[34,37,52,53],receipt:[39,51],refer:[0,52,53],regist:[42,43,44,47],registr:32,relat:16,relationship:[32,48],re
 lationshop:48,remov:[37,52,53,63,64,66],request:[4,5,6,8,12,13,15,17,18,19,24,34,35,37,39,56,57,58,60,63,64,65,66,71],requir:[26,27,28,38,40],reset:[6,34,52,53,71],resetpw:51,resetpwmsg:51,respons:[5,6,8,12,13,15,24,34,35,37,57,58,63,64,65,66,71],rest:[0,71],result:16,retriev:[2,4,8,12,13,15,16,19,37,52,53,65,66,71],review:[16,47,61],revok:[52,53,60],role:[32,51,52,53,61,64],rst:0,run:[26,27,28,47],sampl:[38,47],sandbox:[23,61],save:20,schedul:39,sdk:[24,28,52,53,57,59,68],secret:56,secur:[21,23,55,61],see:43,send:[38,43,46,47],sent:39,server:[38,46],servic:[44,47],set:[13,34,38,39,43,48,51,52,53,67],setup:[26,41,47,59],sign:[44,48,59],singl:39,social:[32,69,70],soon:[32,54],sourc:[50,52,53],sphinx:0,ssl:44,stack:28,start:[26,27,41,43,52,53],step:[22,47,59,68,71],storag:[1,32],store:[14,16],stream:32,sub:[15,51,52,53],support:[24,38,43],sync:29,synchron:29,syntax:[4,5,6,8,12,13,15,17,18,19,57,58,60,63,64,66,71],tabl:0,target:39,third:32,time:[8,52,53,58],token:[51,52,53,55,56,58,60,
 61],tomcat:[26,28],tool:47,treat:61,tri:[38,46],troubleshoot:[38,43,46],ttl:58,tutori:[38,43,47],type:[10,19,51],unsent:39,untrustworthi:61,updat:[0,5,13,15,34,52,53,71],upload:5,uri:[34,35,37,65,66,71],url:[24,37],usag:[9,12],usegrid:[26,27],user:[26,32,34,37,39,42,43,48,51,52,53,57,60,62,65,66,68,70,71],usergrid:[0,14,22,25,26,28,30,32,45,47,50,52,53,68,71],valu:12,via:47,video:50,wai:[16,61],want:16,war:26,websit:[0,49],what:[23,41,43],when:[38,46,58],work:[41,46,52,53,66,71],you:[16,43,47],your:[12,16,20,38,43,46,52,53,61]}})
\ No newline at end of file
+Search.setIndex({envversion:46,filenames:["README","assets-and-files/file-storage-configuration","assets-and-files/folders","assets-and-files/legacy-asset-support","assets-and-files/retrieving-assets","assets-and-files/uploading-assets","counters-and-events/creating-and-incrementing-counters","counters-and-events/events-and-counters","counters-and-events/retrieving-counters","data-queries/advanced-query-usage","data-queries/operators-and-types","data-queries/query-parameters","data-queries/querying-your-data","data-storage/collections","data-storage/data-store-dbms","data-storage/entities","data-storage/optimizing-access","entity-connections/connecting-entities","entity-connections/disconnecting-entities","entity-connections/retrieving-entities","geolocation/geolocation","getting-started/creating-a-new-application","getting-started/creating-account","getting-started/using-a-sandbox-app","getting-started/using-the-api","index","installation/deployment-guide","installation/ug1-deploy-
 to-tomcat","installation/ug1-launcher-quick-start","installation/ug2-deploy-to-tomcat","introduction/async-vs-sync","introduction/data-model","introduction/overview","introduction/usergrid-features","jersey2skeleton/README","orgs-and-apps/admin-user","orgs-and-apps/application","orgs-and-apps/managing","orgs-and-apps/organization","push-notifications/adding-push-support","push-notifications/creating-and-managing-notifications","push-notifications/creating-notifiers","push-notifications/getting-started","push-notifications/managing-users-and-devices","push-notifications/overview","push-notifications/registering","push-notifications/tbd","push-notifications/troubleshooting","push-notifications/tutorial","push-notifications/users-devices","reference/contribute-code","reference/presos-and-videos","rest-endpoints/api-docs","sdks/ios-new","sdks/sdk-outline","sdks/tbd","security-and-auth/app-security","security-and-auth/authenticating-api-requests","security-and-auth/authenticating-users-a
 nd-application-clients","security-and-auth/changing-token-time-live-ttl","security-and-auth/facebook-sign","security-and-auth/revoking-tokens-logout","security-and-auth/securing-your-app","security-and-auth/user-authentication-types","security-and-auth/using-permissions","security-and-auth/using-roles","user-management/activity","user-management/group","user-management/groups","user-management/messagee-example","user-management/user-connections","user-management/user-management","user-management/working-user-data"],objects:{},objnames:{},objtypes:{},terms:{"005056c00008":72,"00767101f6b4f2cf5d02ed510dbcf0b4":67,"02e81ac5a17b":[2,10],"02e81adcf3d0":[5,6,8,13,15,18,19,24,53,64,65,66,67],"02e81ae236e9":67,"02e81ae61238":67,"02e81ae640dc":[2,66],"02e81ae66238":67,"02e81aeb2129":67,"02e81aeb26e9":67,"02e9sjwsf3d0":[15,53],"03ae956a":20,"0455fc92de2636fc7a176cc5d298bb78":67,"08fe":53,"0abe":[13,53],"0d7cf92a":[15,53],"0d7e":38,"0d7f":38,"0f1ff3650d20":[17,67,72],"10e":10,"10e10":10,"11api
 geeapsdestination11":40,"11e0":[8,72],"11e1":[2,24,31,35,38,66,67,72],"11e2":[2,5,6,8,10,12,13,15,18,19,24,38,53,64,65,66,67],"11e3":[5,13,15,17,18,19,20,24,53,59,65,67,72],"1231380a0284":66,"12313b01d5c1":[2,24,31,66],"12313b06ae01":66,"12313b06d112":66,"12313b111c56":38,"12313b122c56":[35,38],"12313d027361":38,"12313d027471":38,"12313d14bde7":67,"12313d1520f1":66,"12313d1c4491":[2,35,38,66],"12313d1c44914":66,"12313d1c5591":38,"12313d288ee0":38,"12313d288ff0":38,"12313d331ae8":66,"12313f0204b":72,"12313f0204bb":[8,72],"12313f0204bb8":72,"12331b144c65":35,"12331d1c5591":[35,38],"12424d1c4491":35,"174785aa":17,"19a0":[15,53],"1a62":[13,53],"1a9356ba":[13,15,53],"1bd100b8059e":[13,53],"1c8f60e4":72,"1f3567aa":66,"1px":51,"1st":52,"20adr":72,"20c57d4f41cf51f2db44165eb058b3b2":12,"20employe":67,"20or":15,"20titl":67,"20uuid":15,"20where":[67,72],"22000a1c4e22":67,"22000a1c5a67":[67,72],"2440ca58":66,"2482a1c5":66,"249f":20,"2ac6":2,"2ac8":2,"2d00":66,"2d21":2,"2e1db7299b0a667ed80e674a0
 ef9d653":5,"2nd":52,"31847b9a":[13,53],"3192ac6a":[13,53],"327b527f":[35,38],"328b526e":35,"328fe64a":[15,53],"335b527f":[35,38],"33dd0563":[35,38],"3400ba10":[2,38,66],"348388de":65,"34e26bc9":66,"3500ba10":38,"37f3":66,"382d0991":65,"38dc":15,"3bee":43,"3c1e":65,"3d1a9356ba":15,"3rd":26,"410b213a":[5,65],"411c466c4f2c":12,"417f":[17,67,72],"4353136f":72,"438a1ca1":8,"477d":67,"48c92c73":38,"496ca1d42ce7":[13,53],"49ff":66,"4a1edb70":[15,53],"4d2664c8e0c3":67,"4f511f12a386":43,"5005a0fa":67,"503f17da":24,"50gb":1,"5111c463":66,"5373d7165c2d":59,"53fe3700":[13,53],"563f5d96":66,"58606d0a":[18,19],"58e8":[67,72],"595955dff9ee4a706de9d97b86c5f0636fe24b43":26,"5ae1fa7a":[13,53],"5bb76bca":[13,15,53],"5bcc47ca":[18,19],"5bd5fa5f701f":53,"5c0c1789":[2,31],"5de0bb69":38,"5f4a65c16193":[15,53],"5wugd":58,"61c9":66,"62de5d97":24,"62fd53c78ce7":64,"65c8":38,"6640a601":2,"6715d5ef47a6":[15,53],"67cb":67,"698b":67,"699740088e05":6,"6a42":66,"6b07e44495ef":65,"6be0003c809b":[13,53],"6c56ffda":1
 7,"6fbc8157":67,"6ldstnesaaaaakhdvglhmmu86_eoyxsjjqqd1ipz":[35,72],"74bb":65,"74d2d7da":67,"78c54a82":72,"7a0a1cba":43,"7bf47435":2,"7fb8d891":67,"802f":67,"81581bbaf055":[13,15,53],"8272c9b0":12,"83ceb9965c26":67,"83de":67,"83e9b7ea":[15,53],"84a5":72,"84c0":66,"84df":[15,53],"87b9":38,"884d":72,"89ab":[13,53],"8a2a":[15,53],"8a4c":64,"8ae3":43,"8ae8a6ea":72,"8bde":[18,19],"8cef":12,"8d05e96f700d":[13,53],"8d5c":24,"8dd1801e534c":17,"8e0cd3866ee20746c99e9a9825f38ad8":2,"8ea8":17,"903f":[13,15,53],"90f823ba15655b8cc8e3b4d63377576f":67,"917d":[15,53],"924d":10,"92c3":2,"92e2":12,"9501cda1":2,"95c8":[35,38],"96f6":66,"98b9":38,"9953085ea376":[5,65],"999e12039f87":53,"99a7":59,"99fd":17,"9a18":43,"9c1b":67,"9ce3":[15,53],"9d3a":6,"9de5":65,"9e75":17,"9e92":[15,53],"9efc8ad529d8":65,"9f80":20,"9ff6c621a7a4":[13,15,53],"9ffc":66,"____usergrid":27,"__weak":40,"_set":26,"boolean":[10,38,49,52],"byte":40,"case":[9,16,27,30,39,42,47,49,52,53,66,68,70],"catch":53,"class":[1,26,29,35,40,43,58,
 61,72],"default":[1,10,11,12,13,14,15,20,24,25,26,27,29],"export":[26,45,48,53],"final":[43,45],"float":10,"function":[6,30,33,43,60,63,66,67,68,69,71],"import":[23,24,30,31,33,39,42,43,48,56],"long":[10,31,40,49,68],"new":[6,9,13,15,16],"null":[6,43,60],"public":[35,43,45,72],"return":[10,11,12,13,16,19,20,24,28,30,35,38,43,45,49,52,58,59,60,61,64,66,67],"short":[22,66],"static":[26,27,43],"super":25,"throw":[39,47],"transient":29,"true":[10,12,18,19,24,26,27,28,29,35,38,40,43,52,60,65,67,72],"try":[22,23,28,35,39,40,47,53,56,60,64],"typeof":60,"var":[9,26,35,43,60],"void":[40,43],"while":[23,27,30,31,33,39,42,43,44,47,49,64,65],a065:66,a0dd:24,a0e5:[5,65],a0f7:66,a166:[5,6,8,13,15,18,19,24,53,64,65,67],a24f:[13,53],a407b1e7:[67,72],a51b:[15,53],a554b7fbd57a:24,a5c5:65,a668717b:67,a694:[18,19],a6e3:67,a71c:64,a72a:[13,15,53],a7e008061e10:[18,19],a7f7:[5,6,8,13,15,18,19,24,53,64,65,67],a9c1:53,abbrevi:[12,16,24,45],abil:[20,22,33,70,71],abl:[16,24,26,27,29,39,40,42,48,62,63,66,71,72
 ],about:[0,10,16,22,23,24,25,27,33,35,37,38,39,40,42,43,44],abov:[5,6,10,19,26,27,28,29,39,42,43,48,65,66],abstractbatch:26,abstractcomposit:26,ac46:[67,72],accept:[4,41,43,58,64],access:[2,13,14,15,16,19,21,22,23],access_token:[28,52,57,58,59,60],accessid:1,accesstokenrespons:25,accesstokenttl:59,accomplish:[40,61],accord:58,account:[12,15,16],achiev:70,acquaint:66,acquir:25,across:[8,16,40],act:[12,66,69],action:[2,5,6,7,8,12,13,14,15,16,17,18,19,24,25,26,27,33,35,36,38,39,40,48],activ:[5,10,12,18,19,20,22,24,25,26,27,29,31],activit:35,activityfe:25,actor:[35,38,52,66],actual:[16,39,42,48],add:[1,9,14,15,16,21,22,23,25],add_invoc:26,addit:[8,16,22,25],addobject:53,address:[12,24,26,27,35,38,39,42,45,49,52,58,72],addrol:25,adjust:[11,65],admin:[21,22,23,25,26,27,28,29],admin_password:58,admin_usernam:58,admin_users_require_activ:[26,27,29],admin_users_require_confirm:[26,27,29],admingmail:35,administr:[27,28,31,33,36,38,49,58,62,63,65],adminus:[35,38,52],adomain:72,adopt:[33,50],ad
 vantag:33,advertis:20,advis:62,ae1f:17,aec3:66,afad:66,affect:59,after:[6,10,24,28,30,39,40,42,43,48,58,60,62,65,69],again:[27,35,39,47],against:[18,29,36,57,58,62,64],aggreg:8,air:14,aizasyckxotbq7a9gojsslqzlod_yjefxxxxxxx:41,alert:[20,30,40,43,67,68],alerttext:40,alia:[65,72],all:[0,6,8],alloc:[40,43,53],allow:[7,10,12,20,24,26,27,29,31,33,38,40,43,45,48,49,60,63,64,65,66,67,68,70,71,72],allowajaxfilt:26,almost:71,alon:[39,42],along:[11,16,39,43,47],alreadi:[15,16,22,26,27,39,40,41,43,49,52,53,60,62,69],also:[1,2,6,7,8,11,13,15,16,21,26,28,29,31,33,35,36,38,39,40,41,42,43,48,49,52,58,60,61,62,64,66,67,68,69,70,72],alter:65,altern:[12,13,67,68],although:[13,15,35,40,66,67,72],alwai:[31,40],amazon:1,amazonaw:27,amount:[11,63,66],amuramoto:[5,15,53,59],analysi:33,analyt:22,analyz:[33,57,58,62,63],android:[24,25,30,32],androiddev:41,androidmanifest:48,anew:[39,47],ani:[5,6,8,10,12,14,15,16,20,26,29,30,31,33,35,37,40,43,48,52,56,57,58,59,62,63,64,65,66,67,69,70,71,72],annot:34,announc:
 44,anonym:[49,66,72],anoth:[12,16,23,39,40,42,47,48,57,66,69,70,72],answer:72,ant:64,anuff:51,anyon:[63,66],anyth:27,anytim:66,anywher:11,apachecon:51,apidocgener:0,apige:[24,39,40,43,44,45,48,51,53,67],apigeeapsdestin:40,apigeeapspayload:40,apigeecli:[43,53],apigeeclientrespons:[40,43,53],apigeecollect:53,apigeedatacli:40,apigeedataclientcompletionhandl:40,apigeemobileconfig:59,apikei:[41,60],apirequest:53,apirespons:43,apiresponsecallback:43,apn:25,app1:52,app2:52,app:[2,4,5,6,7,8,12,13,14,15,16,17,18,19],app_id:[15,52,66,67,72],app_nam:[36,59,61],app_uuid:[14,16],appdata:25,appdeleg:[40,43,48,53],appear:[19,29,41,45,52,66,69,70],append:[8,9,13,16,20,26,40,57,60],appid:[52,60],appl:[25,33],appledev:48,applenotifi:41,appleopt:43,appli:[24,29,59,62,64,65,70,71,72],applic:[2,4,5,6,7,8,12,13,14,15,16,17,18,19,20],application_client_secret:58,application_clientid:58,application_info:38,applicationdata:52,applicationdidbecomeact:43,applicationid:[35,38,43,52],applicationnam:[2,5,6,8,12,
 13,14,15,16,17,18,19,24,52,53,59,64,65,66,67,72],appnam:[9,43,48,58,60],appropri:[31,40,41,43,49,60],approv:[26,27,29],appservic:43,aps_develop:45,apspayload:40,arbitrari:[24,70],architectur:[14,27],archiv:26,area:[22,23,35,40,45,56,72],aren:[14,16],arg:[1,36,38,66,67],argument:[1,43],arm:62,around:[0,16,26],arrai:[10,12,14,15,16,19,24,52,53],arthur:[17,18,19,70,71],articl:[12,13,15,57,65],asc:11,ascend:11,ask:[12,48],aspect:[7,33],asset1:2,asset:1,assets_id:2,assign:[6,25,31,33,49],assist:45,associ:[5,10,13,19,20,21,24,31,33,38,39,40,41,42,43,45,48,49,52,53,56,58,59,61,63,65,67,69,71,72],assum:[16,29,43,48,57],async:25,asynchron:25,atistophan:35,atom:15,atop:48,attach:[4,5],attack:[56,62],attempt:[38,52,57],attribut:14,audio:[5,33],auth:[27,29,41,45,49,60],authent:[13,15,23],author:[28,37,41,43,45,57,59,60,66,71],author_uuid:16,authorid:[14,16],authorimag:16,authornam:16,authoruuid:16,authrespons:60,auto:[26,27,29],automat:[5,6,13,15,21,22,29,31,33,34,52,58,60,61,64,65,66,70],avail
 :[13,15,20,22,24,26,28,33,39,41,43,53,58,69,71],avatar:[12,24,66,67,72],avoid:[16,69],awai:16,awar:[10,20],awssdks3binarystor:1,b0c6:67,b11217fc:6,b1f7:[13,53],b24e:6,b2bd:67,b2e4:15,b31d:59,b36a:[2,31],b379:[5,65],b3aad0a4:53,b3u68vghi6fmeekn9wlogtzz0a:36,b3u6aaabmqz:58,b3u6zuz5_u8i:36,b4c6:2,b690:67,b6dd:66,b77ec8addc0d:67,b90c:67,b93d:72,baa:[26,35,38,40,41,45,56],back:[14,16,28,32,33,43,50,69],backend:[12,25,26,31,40],backslash:40,bad:[38,58,63],badg:[40,43],banner:7,bar1234b:72,bar:[24,32],barnei:[67,70],base:[0,13,20],baseurl:[26,43],bash:26,batch:11,baz:24,bcc1:8,bcf7:[2,35,38,66],bcf8:[35,38],bd397ea1:64,be04:[13,53],be08a5f9:38,be09a5f9:38,bean:[1,26],bearer:[28,41,57],beca:38,becaus:[14,20,23,27,39,47,52,58,62,63,66,69],becom:[11,12,20,27,33,45,66,67,68],been:[6,16,39,40,43,47,48,52,57,60,61,62,66],bef8:[35,38],befor:[0,1,22,23,25,26,30,39,40,42,43,45,47],begin:[8,11,25,26,37],behalf:58,behav:69,behavior:33,behind:[22,49,60],belong:[28,31,40,49,66,68],below:[13,14,15,16,26
 ,27,29,35,39,40,42,48,53,54,60,66,67,69,72],beneath:69,benefici:30,benefit:[14,27],besid:65,best:[11,12],better:[16,58,63],bewar:29,beyond:66,bike:10,bin:[26,29],binari:[26,33,57,58,62,63],binarystor:1,bit:14,blank:[45,65],block:30,blog:65,blue:43,board:69,boat:10,boavijt0oyrkjf:36,bodi:[6,16,35,36,38,40,52,59,66,67,72],book:[11,33,53],bool:43,bootstrap:[26,29],border:51,both:[6,14,17,29,30,31,40,43,50,52,63,71],bottom:10,bounc:16,bouncer:16,bounci:[14,16],box:[21,23,40,48,65,69,71],bracket:15,bread:[13,15,53],brief:[30,60],broad:[57,58,63],brows:[26,32],browser:[26,27,35,39,42,60],bucketnam:1,bug:32,buildcurl:60,built:[16,24,26,27,48,66],bunch:26,bundl:[43,48],busi:20,button:[7,21,23,35,39,42,45,47,48,65,69,72],button_click:[6,8],c2v7n61dy90mcdg78xixprxfdq:38,c2v7wedxiutzwekwdyslct_lydfvmmn:38,c5e707256e71:[15,53],california:[35,67,68],call:8,callback:[30,43,60],campaign:33,can:[0,1,2,4,5,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,31,33,35,36,37,38,39,40,41,42,4
 3],cancel:25,cannot:[13,15,24,30,31,34,63],capabl:62,captcha:[35,52,72],captur:[12,16,20,33],car:10,care:[42,44,45],carefulli:63,carri:[37,41,48],cassandra:[14,16,25],cassandra_cluster_nam:26,cassandra_host:26,cassandraavail:26,cassandrastatu:26,cassanrda:26,cast:51,castl:[14,16],cat:28,catalina:[26,29],catalog:33,categori:[14,35,38,52],caus:[0,15,52],caution:59,cautiou:[57,58,63],ccc:51,cd0c:[2,35,38,66],cd0d:[35,38],cd789b00:67,cd796d0a:67,cdf1ce04c1c0:12,cdn:33,cede5b7:38,cede5b8:38,cell:0,center:[20,39,42,48],central:[0,1],cer:45,certain:[15,16,31,40,61,71],certif:[25,39,41,42],certsigningrequest:45,cf3e981c:35,cf4d981c:[35,38],cf9b:8,cfed:[18,19],chain:6,challeng:[24,35,52,72],chang:[0,1,25,26,27,29,31,48,52,57],changelog:26,channel:60,channelurl:60,charact:[11,66,72],characterist:[42,43],charset:[35,72],check:[23,26,27,28,29,43,48,60,63,64,65,66],checkbox:65,checksum:[2,5],chicago:72,choic:48,choos:[16,40,41,45],chose:48,circl:[33,66],circumst:61,cite:15,citi:[11,35,72],clara:
 51,classpath:1,clean:[0,27,28,29,35],cli:27,click:[7,16,21,23,37,39,40,41,42,45,47,48,65,69],client:[9,11,13,14,15,16,24,25,26,27,29,30,33,35,36,37],client_credenti:[36,52,58],client_id:[36,38,52,57,58,60],client_secret:[36,38,52,57,58],climb:16,clone:[0,26,27,29],close:48,closer:16,cloud:[1,4,5,26,33,39,42,45,48],clue:27,cluster:[26,27,29],cluster_nam:[26,29],cn0wtdxxkxmqlgzvtmubcp20fulczq:58,code:[1,11,16,24,25,26,27,28,30,32,33,34,39,40,42,43,44,45,47,48],codesign:48,coffe:14,colleagu:66,colleciton:53,collect:[4,5,12],collection_nam:13,collectionid:52,color:[10,43],column:[14,16],com:[2,4,5,6,8,12,13,14,15,16,17,18,19,20,24,26,27,28,29,31,35,36,38,40,41,43,45,48,49,53,58,59,60,61,64,65,66,67,69,70,71,72],combin:[16,34,39,40,42,62,72],come:[23,25,26,27,29],comma:[12,26,40,53,60,64],comma_separated_list_of_permission_nam:60,command:[0,22,26,27,28,29,48,60,67],comment:[33,43,66],commit:0,committ:50,common:[12,62,66,72],commonli:65,commun:[26,42,44,69],compani:[37,38,69],compar:[12,4
 2],comparison:[10,65],compil:[48,57,58,62,63],complet:[12,25,27,30,31,33],completedsuccessfulli:[40,43],completemsg:52,completionhandl:40,complex:[15,16,25,33],compliant:33,complic:27,compon:[31,33],compris:26,compromis:57,concept:[14,22],config:[26,29],confim:52,confirm:[26,27,29,35,38,39,47,52,69],confirm_email:[35,38,52],conflict:69,conform:10,conjunct:[33,71],connect:[0,2,5,12,16],connected_collect:[17,18],connected_ent:[17,18],connecteeid:43,connectent:43,connectentitiesasync:43,connecting_collect:[17,18],connecting_ent:[17,18],connectorid:43,consid:[39,47,58,62,65],consider:[57,58,63],consol:25,consoleappend:26,constrain:14,constructor:1,consult:22,consum:[33,66],contact:45,contain:10,containslook:11,containswil:11,content_typ:4,context:[1,33,43],contextu:33,continu:[11,30,45,69],contrast:[16,70],contribut:[25,32],contributor:[32,50],control:[26,33,42,45,59,62,65,72],conveni:[9,57,67,69],convent:31,conversionpattern:26,cooki:60,coordin:40,copi:[0,16,26,27,45,69],core:[26,28,29
 ,33,48],cores:29,correct:[34,39,47,49,60,69],correctli:29,correl:[39,42,43,47],correspond:[12,13,15,24,31,43,45,48,52,53],cost:33,costli:16,could:[2,11,16,30,42,43,57,58,62,63,67,68,70,71],couldn:43,count:[7,8,12,13,14,15,26,52,53,66],counter_nam:[6,8],coupl:[32,42],cours:26,cpu:42,creat:[2,5],createact:25,createadminus:25,createcollect:53,createent:[25,30],createev:25,creategroup:25,createnotif:25,createorg:25,createus:25,creation:[49,52,59,68],credenti:[25,26,27,29],criteria:33,cross:66,css:[35,48,72],cumul:6,curiou:22,curl:[4,5,6,8,9,11,12,13,15,17,18,19,20,26,28,29,35,36,38],current:[6,13,20,31,32,34,39,43,52,64,66,72],custom:[9,13],custom_id:9,custompayload:40,d0d7d0ba:12,d16344f5a0e1:20,d20976ff:67,d28c:24,d503:[2,31],d7a8:[15,53],d86a:12,d878de4r:59,d87edec7:66,d9693ec3:66,da448955:66,da4a50dc:15,da67:72,da71:72,da83:66,dai:[7,8,59],daili:8,dashboard:[39,60],data:1,databas:[11,14,16,20,25],datacli:[9,40,43,53,58,61],datastax:26,date:[10,40],dave:51,david:51,db1e60a0:[17,67,72
 ],dbf5228024a7:[18,19],dbm:[11,12,14,16],dc5d478e9c029853fbd025bed0dc51f8:24,debug:[39,42,43,48],decim:10,declar:43,decompil:62,dedic:6,defin:[7,14,15,23,31,43,53,56,58,59,64,65,66,67,71,72],definit:[52,64],deflat:41,degre:[40,59],deleat:52,deleg:53,delet:[11,12],deletecollect:53,deleteent:53,delimit:[10,64,68],deliv:[33,40,45,48,52],deliveri:[33,40,52],denot:[67,70],depend:[24,26,41,43,44,67,68],deploi:25,deploy:25,deploywar:26,desc:11,descend:11,describ:[11,12,13,15,16,20,24,37,41,43,45,48,49,56,57,58,60,65,67,69],descript:[4,5,6,8,11,13,14,15,17,18,19,25,26,31,35,36,37,38,40,45,49,52,53,58,63,64,65,66],design:[14,16,20,27,33,34,48,66,67,68,69,71],desir:45,desktop:[41,45],destin:[1,40],destinationsingledevic:40,destroi:61,detail:[13,15,22,31,33,35,36,37,38,39,40,41,42,52,58,60,65,66,67,70,72],detect:[5,20],determin:[20,34,66,72],dev:[29,39,41,42],develop:[10,20,23,26,31,32,33,39,40,41,42,45,48,62,69,71],devic:[5,18,19,20,21,24,25,31,33,39],device_id:40,deviceid:[40,43,52],devicere
 gistrationcallback:43,devicetoken:43,deviceuuid:43,dfr4d5m1mjmoeeogvpncm:59,diagram:[39,42],dialog:[21,23,35,45,48],did:15,didfailtoregisterforremotenotificationswitherror:43,didfinishlaunchingwithopt:43,didregisterforremotenotificationswithdevicetoken:43,differenti:33,dimens:71,diner:11,dino:[24,70],dir:0,direct:[0,16],directli:[0,36,45],directori:[0,26,27,28,29,48,50,60,69],disabl:[23,27,35,38,49,52],disk:45,displai:[8,11,20,48,49,52,60,65,66,68,69],displayemail:52,displayemailaddress:[35,38],displaymessag:43,displaynam:[35,38,52,66],dist:26,distanc:20,distance_in_met:20,distinctli:32,distribut:[14,16,62],div:[35,72],dk88fh4r:19,dlog4j:26,doctyp:[35,72],doe:[0,15,24,26,31,39,47,49,52,53,57,58,59,60,66,67,72],doesn:[14,16,23,39,43,47,48],dog:[15,24,30,67,68,70],dogcreatecallback:30,doge:[67,68],domain:[45,60],don:[26,27,39,42,44,48,62,66,72],done:[0,26,27,29,33,41,43,45,52,60,62,63,72],dot:[6,10],doubl:[29,40,45],down:[10,21,26,32,40,43,45,65],download:[25,26],drive:[1,33],drop:[21
 ,40,45,65],dropdown:21,dskiptest:[27,28,29],dtd:[35,72],due:[11,12,16,58],duplic:16,durat:[2,5,6,8,12,13,14,15,16,17,18,19,24,26,27,35,36,38,52,53,59,61,64,65,66,67,72],dure:[62,65],duti:65,e13743a7f1db7f4246badd6fd6ff54ff:72,e694:67,e7127751:67,e7d0:66,e8f5:[15,53],e94123890c7a:[15,53],e978:72,e97b:12,each:[0,6,7,8,10,12,13,14,15,16,20,23,24,26,31,35,39,40,42,45,49,52,53,54,60,63,65,66,67,72],earlier:[39,41,42,48],eas:33,easi:[0,33,71],easier:[9,11,12,16,23,24,39,62,67,70],easiest:65,easili:[6,20,31,33,62,71],easist:26,east:27,easy_instal:0,eb20e5bce407:17,ebc6f49d1fc4:[15,53],ec2:26,ec39:24,edit:[0,1,25,26,27,45],edort1:35,ee912c4b:10,ef0b:[15,53],effb:[15,53],effect:33,effici:[12,16],either:[1,13,17,52,57,60,65],elast:26,elastic_search_host:26,elasticsearch_cluster_nam:26,elasticsearch_host:26,elev:62,elimin:[33,57,62],els:[30,43,60],email:[12,24,26,27,28,29,31,35,38,42,45,49,52,58,66,67,69,72],email_address:[24,72],embed:29,embed_cod:51,employe:67,empti:[13,53,69],emul:[39,42],e
 nabl:[20,27,33,39,42,43,44,45,48,49,60,62,65,66],enabledremotenotificationtyp:43,enabledtyp:43,enclos:[12,52],encod:[9,11,12,15,41],end:8,end_tim:8,endpoint:[0,6,18,25,36,39],engag:[20,33],engin:[26,32],enhanc:20,enough:[23,48],ensur:[10,16,24,26,33,39,40,42,45,48,56,58,62],enter:[21,23,35,40,41,45,48,60,65,69,72],entir:[11,40,52],entit:16,entiti:[0,2],entity_nam:15,entity_typ:[15,53],entity_uuid:15,entityid1:52,entityid2:52,entityid:[52,53,65],entityproperti:52,entitytyp:[35,38,52,65],entri:[11,40,60],environ:[22,41,48,62],equal:[10,12,43,59],equiv:[35,72],equival:10,err:[30,43,60],error:[6,25,26,29,30,38],errorcod:52,errormessag:52,escap:[40,53],essenti:[48,71],establish:[52,66,71],etag:[2,5],etc:[26,32,49],evalu:[10,27],even:[8,11,16,26,27,31,42,57,58,62,63,70],event:6,everi:[8,9,24,31,57,62,63,65,67,68],everyth:[0,24,26],exact:[20,71],exactli:11,examin:[8,62],exampl:[0,1],except:[15,39,43,47,57,62],exchang:45,execut:[9,11,12,29,30],exhaust:62,exist:[5,6,15,16,20,26,27,38,43,49,5
 2,53,59,60,66,67],expect:[10,20,35,38,44,53,71],experi:[14,20,33,71],experiment:[23,56],expir:25,expires_in:[52,58],explain:[0,26,27],explan:30,explicit:45,explicitli:[43,57,61,65],expos:28,express:[10,11,26],extend:70,extens:69,extern:50,extract:[27,28,29,57,58,60,63],f18e8f6fb3bc:72,f315e5aa568a:[15,53],f322:53,f34f4222:[5,6,8,13,15,24,53,64,65,67],f399:66,f3a8061a:[15,53],f3aa:66,f3be262a:[15,53],f3teeg:36,f42752aa:53,f8zemolceecubwbqvsaaca:58,f_gubelxeecfrgbqvsaaca:58,facebook:[24,25,33],facebookaccesstoken:60,facebooktoken:60,factor:[26,27],fail:[39,40,43],failur:[14,52],fals:[10,26,27,29,35,38,52],famili:[14,20],familiar:[16,22],faq:27,far:21,fast:14,favorit:[29,42,43,72],favoritecolor:43,fb_access_token:[49,60],fbasynchinit:60,fbasyncinit:60,fc4d:66,fdd3:38,fe80:35,fe90:[35,38],featur:[16,20,22,24,25],feed:[5,12,18,19,24,25,33],feel:29,few:[11,20,39,44,69,71],ffd79647:66,field:[1,11,15,33,35,40,41,45,52,65],fieldset:[35,72],file_loc:5,filenam:5,files:1,filter:[12,66,67,72],fi
 nd:[0,11,20,26,27,39,43],fine:[29,33],finish:[39,42,52,69],first:[0,10,11,12,13,16,22,24,29,30,35,39,41,44,45,47,48,49,53,62,65],first_nam:24,firstnam:[11,12,49],fish:28,fit:63,five_minut:8,fix:[39,47],flash:42,flexibl:[14,16,25,31],flow:[60,72],fluffi:28,fobnszewobnioerabnoiawegbrn:[5,65],focu:[24,33],folder:1,folk:26,follow:[0,2,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,22,23,24,25,26,27,28,29,30,31,37,39,40,41,42,43,45,47,48,49,52],foo9876a:72,foo:24,footprint:[42,44],forappl:43,force_refresh:29,ford:[18,19,70,71],forgot:72,fork:50,forkei:[40,53],form:[15,26,31,35,38,40,52,53],format:[0,2,12,13,14,15,20],fornotifi:43,fortun:8,forward:[39,41,42,43,60,67],found:[36,57,58],four:[58,63],foursquar:66,fragment:60,framebord:51,framework:[42,69],francisco:[20,35,67,68],fred:[11,67,70],free:[29,31,39],friend:[18,20,33,42,65,66],from:[0,4,9,11,12],full:[11,15,23,26,33,35,37,39,42,48,57,58,62,63,65,70],fulli:[24,29,53],further:[24,30,37,43,49,57,60,62],furthest:[11,20],futur:[15,62],g9qgaaaur
 v_lfq7uu6ayhjjjn7qcrgovnvu:59,gain:[57,62],game:[7,42],ganyo:48,gatewai:45,gaufeolxeecfrgbqvsaaca:58,gcm:25,gcm_sender_id:48,gcmregistrar:43,gcmsenderid:43,gener:[0,6,7,24,25,28,29,31,34],geo:25,geocoordin:20,geograph:11,geoloc:11,get:[2,4,8,11,12,13,14,15],getapigeedeviceid:43,getclient:43,getcollect:53,getconnect:43,getdatacli:43,getent:53,getloggedinus:43,getregistrationid:43,gettingstart:26,getuniquedeviceid:[40,43],getuuid:43,ggkaaqmaggkabge5ffm1aqcadqaq_9ewr_ozeeguwxixowauaqcadqaqablaovoaeeguwxixowauaqa:66,ggkaaqmaggkabge5mlfh7gcadqaqjikhxefqeegw9hixowbregcadqaqjnep6ufqeegw9hixowbrega:66,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz3soh_6qeegvybixoxisvga:38,ggkaaqmaggkabge5xc3r1gcadqaqz02yhp6qeegvybixoxisvgcadqaqz4zbyf6qeegvybixoxisvga:35,ggkaaqmaggkabge7pehcgwcadqaqvj9dljfzeekg9wloguza3acadqaqvkvrctfzeekg9wloguza3aa:66,git:[0,26,50],github:[27,32,48,50],give:[6,16,23,24,32,33,42,45,59,64,65,71],given:[10,15,16,23,31,38,51,52,57,62],gladi:12,gmail:[29,35,66,72],goa
 l:[11,34],goe:[26,27],gold:28,good:[0,23,26,62],googl:[25,33,35],gool:[39,47],got:[39,42],gotten:[26,39,42],govern:[56,58,63,67],grain:33,grant:[24,52,57,58,60,62,63,65],grant_typ:[28,36,52,58,59],granular:[6,8],graph:[25,33],graph_async:29,graph_us:29,gravatar:[12,24,66,67,72],great:[33,49,65,67,68],greater:[10,11,59],greatest:63,green:26,groovi:0,group:[5,10,12,14,15,18,19,24,25,31],group_path:40,groupid:52,groupnam:[66,67],grouppath:67,groupproperti:52,gte:10,guarante:30,guest:[23,43,57,62,65,66,72],guid:9,guidanc:48,gzip:41,hacker:[57,58,62,63],had:40,half_hour:8,hand:16,handi:22,handl:[21,33,35,43,71],handlepushnotif:43,happen:[20,42],happi:[0,66],happy_cloud:5,hard:[1,63],hardwar:[39,42],hava:0,have:[0,12,14,15,16,19,22,24,26,29,31,32,36,38,39,40,41,42,43,48,49,52,58,59,60,62,63,65,66,67,68,69,71,72],haven:26,head:[35,72],header:[4,57],heap:26,heavi:42,hector:26,height:[51,52,66],hello:66,help:[7,11,14,26,29,31,33,56,58],her:[16,35,42],here:[2,12,16,20,24,26,27,28,29,31,42,50,
 60,66,67,69,72],hierarchi:[6,31,37,38,64,67],high:[14,16,40,42,43,44,56,59],higher:[28,63],highest:[37,38],highlight:16,hike:63,him:28,histori:40,hold:[5,53],home:20,homepag:6,host:[26,27,29,57,60],hostconfig:26,hostnam:[26,29],hotmail:38,hour:8,hous:16,howev:[8,11,12,13,15,29,30,31,39,42,48,49,60,62,65,66,69],href:[35,38,72],html4:[35,72],html5:[24,25,26,39],html:[0,26,35,45,48,52,60,69,72],htmldisplayemail:52,htmldisplayemailaddress:[35,38],http:[2,4,5,6,8,12,13,14,15,16,17,18,19,20],httpd:26,human:[35,72],hundr:11,hurrai:60,hystrix:29,icon:[45,66,69],idea:62,ident:[16,48],identif:[48,52],identifi:[9,16,31,35,41,43,45,49,53,72],ifram:51,illlustr:43,illustr:[14,39,40,42,43,56],imag:[2,4,5,14,33,39,42,48,52,66],imagemodel:25,imagin:[12,16,40,63],immedi:[33,40,65,72],immut:31,implement:[24,33,39,43,56,57,58,60,63,72],implicit:65,improv:[20,32,33],inact:[43,65],inbox:[49,66,68],includ:[6,11,12,14,15,16,21,22,23,24,26,31,33,35,39,40,41,42,43,48,52,53,57,58,59,60,62,65,67,72],incorpor:6
 9,incorrect:[24,35],increas:[13,20,33],increment_valu:6,index:[0,10,11,15,26,29,31,48,69],index_prefix:29,indic:[26,52,59,66,67],individu:[15,31,59,63],ineffici:[11,12,16],inflat:16,info:[26,35,52],inform:[4,8,11,12,13,14,15,16,20,22,24,27,31,33,35,37,39,40,41,42,43,45,48,49,50,53,56,57,60,62,66,67,69,70,72],infrastructur:[31,33],ing:66,inher:62,init:[26,40,53,60],initi:9,initwithobject:53,initwithorganizationid:43,inner:16,input:[35,72],insecur:62,insert:60,insid:24,instal:[0,9,22,24,25,26],instanc:[26,27,28,31,43,53,58,61,69],instead:[16,24,33,58,62,63],instruct:[0,26,27,39,60,69,72],integ:[11,52],integr:[20,24,33,39,60],intention:16,interact:[39,47],interest:[8,33],interfac:[27,69],intern:25,interpret:[24,64],intersect:10,intrins:24,introduct:[25,44],invalid:[49,60],invok:[39,42,43],iphon:69,isloggedin:43,isn:[14,22,24,43,56],iso:[35,72],isregisteredonserv:43,issu:[0,2],item:[10,12,13,15,24,40,53,66],items:13,itself:16,jan:26,jane:72,jar:[28,48],java:[0,26,27,28],java_opt:26,java
 script:[6,9,12,14,24,25,26,27,30,32,35,39],javscript:30,jdk:[26,27,28,29],jdoe57:31,jenni:16,jersei:34,jim:35,jin:51,jinm:35,job:65,joex:43,john:[24,31,58,66,67,72],johnson:51,join:16,jpeg:[2,4,5],jpg:[2,5,14,16],json:[10,12,14,15,16,19,24,26,28,31,35,36,40,41,53,60,66,67,71],json_arrai:15,json_object:15,just:[14,16,17,20,23,24,27,39,42,44,48,66,71],k88dh4f:18,kbundledsoundnamewithext:40,keep:[1,7,9,11,12,23,33,39,42,44,57,58,62,63],kei:[13,15,16,24,25,33,39,41,42,43,45,47],keychain:[45,48],keyspac:[27,29],keyword:15,kid:16,kind:[11,12,16],know:[8,26,42,45],knowledg:26,known:43,kravitz:12,kugclientresponsesuccess:43,label:35,lack:23,lag:30,languag:[10,14,15,24],larg:[0,10,11,66],last:[5,11,31,38,49,52],lastnam:[11,12,49],lat:40,latenc:30,later:[16,20,40,45],latest:[27,28,48],latitud:[11,20,40],latitude_coordin:20,launch:[8,26,39,42,43,45,47,48,62],launcher:25,launchopt:43,layer:28,layout:26,lceecubwbqvsaaca:58,learn:[22,23,25,33,39,42],least:[26,27],leav:[27,45,65],left:[21,32,40,41
 ,45,48,65,66,69],length:[2,5],less:[10,14,59,66],let:[8,26,28,33,40,42,65],letter:72,level:[6,8,14,15,21,22,23,25,26,28,31,33,36,37,38,39,40,43,48,56,57],leverag:[33,69],lib:[26,27,29,48],librari:[26,39,42,48],licens:26,lightweight:71,like:[0,2,5,8,10,14,16,17,18,19,23,26,27,29,30,33,35,39,40,42,49,60,62,64,65,66,68,69,70,71,72],liked_bi:70,limit:1,line:[0,16,26,27,28],linear:[14,27],linux:26,listen:42,live:[23,25,57],load:[28,60],localfilebinarystor:1,localhost:[26,27,28,29],localizeddescript:43,locat:5,log4:26,log4j:26,log:6,logger:26,login:[25,26],logincredenti:25,loginfacebook:60,loginus:43,logout:25,longer:[11,62],longitud:[11,20,40],longitude_coordin:20,look:[2,8,10,11,16,26,39,40,42,60,63,66,72],loos:[35,72],love:16,low:[42,44],lower:[6,10],lte:10,ltixndg0nduxndpvdjb0jwrevls1vcd0xvr3nwt0jrqq:11,lunch:42,mac:[39,42,45],machin:[26,45,48],made:[19,24,64,70],magic:16,mai:[0,6,9,10,13,15,23,26,31,40,41,43,48,52,61,62,65,67],mail:[27,29,31,67],mailer:[26,27,29],mailto:[35,38],main:
 [0,1,60],maintain:[16,60],mainten:32,make:[0,9,11,12,14,16,22,23,24,26,29,30,31,33,37,39,43,47,48,49,57,58,60,61,62,66,69,70,71,72],makefil:0,maker:14,malici:[56,57,58,63],manag:[5,11,12,22,23,25,26,27,28,29,31,32],managementappindexstatu:26,mandatori:[1,49,67,68,72],mani:[7,11,12,14,16,20,23,26,31,40,65,71],manual:[66,70],map:14,marginheight:51,marginwidth:51,market:42,massoddb:66,match:[11,15,26,29,39,47,48,53,64,72],matter:[33,39,42,48],mattress:14,maven:[0,27,28,29],max:29,maximum:[11,40,59],mayb:16,mean:[10,14,15,16,23,30,31,40,56,57,62,70,71],meant:66,meanwhil:30,measur:56,mechan:69,meet:27,member:[31,35,37,48,52,63,66,67,68],meme:[67,68],memori:[20,42],menu:[21,36,39,42,45,65,69],messag:[6,25,26,27,29,33,35],message:25,meta:[35,72],metadata:[2,4,5,6,10,12,13,14,15,16,17,18,19,20,24,25,35,38],metadataproperti:52,meter:[11,20,40],method:[6,8,11,15,19],mfdsadfdsaoabl:66,microsecond:26,middl:49,middlenam:49,might:[7,8,9,11,12,14,15,16,22,26,27,29,31,33,36,39,40,42,43,45,47,62,65,
 67],mile:20,milk:[13,15,53],million:33,millisecond:[31,52,59],mimic:34,mind:[1,9,11,12,16,20,23,39,42],minim:[16,26,27,29,34],minimum:[31,36,38],minu:16,minut:[8,33],mix:24,moab:66,mobil:[14,16,20,23,25,36,39,41,42,43],model:14,modern:[31,66],modif:[49,68],modifi:[2,5,6,12,13,14,15,16,17,18,19,20,24,31,35,38,48,49,52,53,59,65,66,67,68,72],modul:6,monitor:[26,33],month:[8,33],more:[4,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,27,31,33,38,39,40,41,42,43],morn:8,most:[8,11,16,22,29,30,31,32,33,36,62,66,70,71,72],mountain:63,move:[26,43,48],much:[10,14,16,62,69],multi:[15,26,53],multipl:[0,11],must:[0,10,15,16,26,28,29,31,38,40,41,42,43,45,48,52,53,57,59,65,66,67,69,70,72],mustach:0,mvn:[27,28,29],my_app:[14,16,49,60],my_org:[14,16,49,60],myadmin:28,myapp:[12,28],myasset:2,mycollect:10,myfirstorg:28,mygroup:[66,67],mynewapp:[67,72],mynewgroup:67,mynewpassword:35,myorg:[12,67],mypassword:28,myself:[16,27,29],myuser:28,name:[1,2,4,5,6,8,10,11,12,13,14,15,16,17,18,19,20,21,23,24,26,27,28
 ,29,31,35,36,38,39,40,41,42,43,45,47,48,49,52,53,57,59,60,62,64,65,66,67,68,69,72],narrow:[10,65],nativ:[0,14,43,48],natur:[11,12],nav:[40,41,45],navig:[27,28,29,48],nearbi:20,nearest:[11,20],nearli:16,necessari:[16,33,39,42,43,48,65],need:[0,1,2,8,9,11,12,13,14,15,16,21,22,24,26,27,29,31,32,33,35,36,37,38,39,40,42,43,44,45,48,49,57,58,60,61,62,63,65,66,67,69,70,71,72],neg:6,nest:[15,31,53],net:[24,51],network:33,never:[23,25,36,57,58,59],new_password:[35,72],new_review_uuid:16,newdevicetoken:43,newent:53,newli:[45,52,64,66],neword:40,newpassword:[35,52,72],next:[10,11,13,21],nil:[43,53],node:[24,26,27,29,53,54,58,61],nodej:29,noisi:26,non:[14,16],none:65,normal:[4,15,16],nosql:[11,12,14],notat:[10,12,14],note__:72,notic:[5,16,19,26,60,66],notif:[20,22,25,26,27,29,31],notifc:52,notifi:[25,31,39],notificationid:52,notificationupd:25,notifier_nam:40,notifiernam:43,notify_sysadmin_of_new_admin_us:[26,27,29],notify_sysadmin_of_new_organ:[26,27,29],now:[26,27,28,29,40,42,48,60,69],nsarra
 i:53,nsdata:43,nsdictionari:[43,53],nserror:43,nsexcept:53,nslog:43,nsmutablearrai:53,nsmutabledictionari:[40,53],nsstring:[40,53],number:[6,7,11,12,13,14,26,31,33,39,42,45,47,48,52,62,65,66,72],number_of_replica:26,numebr:52,ob5ko:59,object:[5,9,10,12,14,15,24,25,31,33,35,36,38,40,43],objectforkei:43,objectproperti:52,objecttyp:[35,38,52],objectuuid:52,obtain:[49,57,59,60,62],occur:[7,20,39,47],occurr:11,octal:10,off:[27,40,43,60],offer:[20,23,24,33,62,70,71],offici:[26,69],often:[8,10,16,31,33,66],old:[35,52,72],old_password:[35,72],oldpassword:[35,72],omit:12,onc:[0,11,16,26,27,29,30,39,41,42,45,47,48,60,62,65,72],onexcept:43,ongo:[33,66],onli:[5,9,11,12,16,21,23,24,26,27,29,30,31,36,52,56,57,58,59,62,63,64,66,67,70,72],onlin:66,onrespons:43,oop:60,opdata:53,open:[14,16,23,25,29,32,48],optim:[11,12,14,16],option:[5,9,26,27,29,31,43,48,53,57,60],order:[2,10],orderl:11,org:[1,2,4,5,6,8,12,13,15,17,18,19,20,24,26,27,28,29,35,36,38,40,41,43,48,52],org_client_secret:58,org_clientid:58
 ,org_id:[15,52,66,67,72],org_nam:[36,38,59,61],org_uuid:[36,38],organ:[0,2,4,5,6,8,12,13,14,15,16,17,18,19,21,23,24,25,26,27,28,29],organizationnam:59,organizations_require_activ:[26,27,29],orgid:52,orgnam:[9,43,48,52,58,60],orguuid:52,origin:[45,67],originali:68,oscar:28,otherwis:26,our:[0,9,10,11,12,27,28,29,32,40,50,53,71],out:11,outbox:66,outgo:[26,29],outlin:5,output:[26,43,60],over:[8,42,59],overrid:[29,43,59],overrideurl:26,overview:[11,12,25,31],overwritten:15,own:[7,23,26,33,40,52,60,64,66,67,68,72],owner:[2,38,52,66,67],p12:[39,41,42],p12certif:41,packag:[26,27,60,69],page:[22,23,26,28,35,40,41,45,58,60],pair:[13,15,40,53],pane:[48,65],param:[2,5,6,8,12,13,14,15,16,17,18,19,24,43,53,59,64,65,66,67,72],paramet:[4,5,6,8,9],parenthes:10,pars:60,part:[9,11,12,16,20,24,26,40,45],parti:26,partial:[11,31],particular:[10,16,40,66],particularli:[14,16,64,66,70],partit:22,pass:[11,36,43],passiv:71,password:[24,25,26,27,28,29],path:[2,5,6,12,13,14,15,16,17,18,19,20,23,24,25,26,27,29,
 35,38,39,40,47,48,52,53,60],path_to_imag:16,pathnam:60,pattern:[43,52,64],patternlayout:26,payload:[40,48,52],peak:8,peopl:[7,31,66,67,68,69],per:[13,14,60,65],perceiv:30,perform:[4,5,13,14,16,18,26,30,33,35,37,39,49,57,58,63,64,66,68,72],period:[7,8,20,65],permiss:[5,12,18,19,23,24,25],persist:[24,28,29],person:[16,20,26,32,35,38,45,69],perspect:31,pertin:37,pet:28,phone:12,phone_numb:12,phone_typ:40,phonegap:25,photo:[20,71],physic:20,pictur:[4,5,12,20,24,49,52,67,72],pinterest:66,pip:0,place:[14,15,16,26,27,31,53,58,72],plai:[7,22,42],plain:4,plan:16,platform:[33,39,40,41,42,43,44,45,48],pleas:[10,35,40,57,59,65,70],plenti:0,plu:26,plug:[39,43,48],plugin:[43,48],plural:[13,15,31,52],png:16,point:[10,11,14,20,26,29,30,33,34,60,69],polici:[50,62],pop:69,popul:[67,69,71],popular:[33,69],popup:65,port:[26,27,28,29],portal:[21,22,23,25],portion:[40,52],pose:59,posit:[11,20],possibl:[16,39,42,43,47,62,70],post:[2,5,6,7,13,15,16,17,18,21,23,24,25,28,35,36,37,38,40,41,43,48,52],postal:11
 ,potenti:11,power:[20,28,31,33,51,58,63,70],practic:[11,12],precis:66,predefin:31,prefer:[11,24,27,39],prefix:36,prepar:62,present:[16,25],preserv:67,press:[39,47,48],prettyprint:26,prevent:[11,12],preview:0,previou:[45,66,69],previous:69,price:[10,13,15,53],primari:[16,49],prior:62,privaci:66,privat:33,privileg:38,probabali:26,probabl:[0,16,26,27,30],problem:29,process:[28,31,35,42,43,52,71],product:[14,16,21,23,25,26,27,31,40,41,45,56],product_uuid:[14,16],productid:16,productimag:16,productnam:16,productuuid:16,profil:[20,33,39,42],program:30,programat:21,programmat:[25,36],progress:40,project:[0,28,34,37,38,39,42,45,47,48,50,69],prompt:[27,48,60],prone:66,proof:[35,72],prop:53,proper:48,properit:20,properli:[28,30],properti:[1,4,5,6,9,10,11],properties____:27,property_1:[13,15],property_2:[13,15],property_nam:11,props1:53,props2

<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/content/img/miked.jpg
----------------------------------------------------------------------
diff --git a/content/img/miked.jpg b/content/img/miked.jpg
new file mode 100644
index 0000000..8dca2ee
Binary files /dev/null and b/content/img/miked.jpg differ


[45/50] [abbrv] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid

Posted by sn...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid


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

Branch: refs/heads/asf-site
Commit: 4218c1934a1712b495e20a9a979b84e632a49f18
Parents: 3fbb7d4 b669892
Author: Dave Johnson <sn...@apache.org>
Authored: Wed Feb 3 21:23:23 2016 -0800
Committer: Dave Johnson <sn...@apache.org>
Committed: Wed Feb 3 21:23:23 2016 -0800

----------------------------------------------------------------------
 tests/integration/lib/connections.js          |  63 +++++++
 tests/integration/lib/devices.js              |  43 +++++
 tests/integration/lib/entities.js             |  19 +-
 tests/integration/lib/groups.js               |  43 +++++
 tests/integration/lib/notifications.js        |  34 ++++
 tests/integration/lib/users.js                |   2 +-
 tests/integration/test/authentication/user.js |   2 +-
 tests/integration/test/entities/create.js     |  12 +-
 tests/integration/test/groups/groups.js       | 192 +++++++++++++++++++++
 tests/integration/test/main.js                |   5 +-
 tests/integration/test/setup.js               |  23 ++-
 tests/integration/test/teardown.js            |  24 +++
 12 files changed, 439 insertions(+), 23 deletions(-)
----------------------------------------------------------------------



[17/50] [abbrv] usergrid git commit: USERGRID-1241: fix broken tests

Posted by sn...@apache.org.
USERGRID-1241: fix broken tests


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

Branch: refs/heads/asf-site
Commit: 27b60febd926b60e88f314ef9056ac7ebba6367d
Parents: 5cc39fb
Author: Mike Dunker <md...@apigee.com>
Authored: Thu Jan 28 18:20:02 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Thu Jan 28 18:20:02 2016 -0800

----------------------------------------------------------------------
 .../usergrid/rest/management/users/UserResource.java    | 12 ++++++++----
 .../management/cassandra/ManagementServiceImpl.java     | 12 +++++++++++-
 2 files changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/27b60feb/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
index a968508..185559e 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/users/UserResource.java
@@ -219,9 +219,11 @@ public class UserResource extends AbstractContextResource {
         try {
             this.token = token;
             TokenInfo tokenInfo = management.getPasswordResetTokenInfoForAdminUser(token);
-            organizationId = tokenInfo.getWorkflowOrgId();
+            if (tokenInfo != null) {
+                organizationId = tokenInfo.getWorkflowOrgId();
+            }
 
-            if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), tokenInfo ) ) {
+            if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), token ) ) {
                 return handleViewable( "resetpw_set_form", this, organizationId );
             }
             else {
@@ -264,7 +266,9 @@ public class UserResource extends AbstractContextResource {
         try {
             this.token = token;
             TokenInfo tokenInfo = management.getPasswordResetTokenInfoForAdminUser(token);
-            organizationId = tokenInfo.getWorkflowOrgId();
+            if (tokenInfo != null) {
+                organizationId = tokenInfo.getWorkflowOrgId();
+            }
 
             //      if(user == null) {
             //        errorMsg = "Incorrect username entered";
@@ -272,7 +276,7 @@ public class UserResource extends AbstractContextResource {
             //      }
 
             if ( ( password1 != null ) || ( password2 != null ) ) {
-                if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), tokenInfo ) ) {
+                if ( management.checkPasswordResetTokenForAdminUser( user.getUuid(), token ) ) {
                     if ( ( password1 != null ) && password1.equals( password2 ) ) {
                         management.setAdminUserPassword( user.getUuid(), password1 );
                         management.revokeAccessTokenForAdminUser( user.getUuid(), token );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/27b60feb/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index cc5fc9c..c65c608 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -2198,7 +2198,14 @@ public class ManagementServiceImpl implements ManagementService {
 
     @Override
     public TokenInfo getPasswordResetTokenInfoForAdminUser( String token ) throws Exception {
-        return getTokenInfoFromAccessToken(token, TOKEN_TYPE_PASSWORD_RESET, ADMIN_USER);
+        TokenInfo tokenInfo = null;
+        try {
+            tokenInfo = getTokenInfoFromAccessToken(token, TOKEN_TYPE_PASSWORD_RESET, ADMIN_USER);
+        }
+        catch (Exception e) {
+            // intentionally empty
+        }
+        return tokenInfo;
     }
 
 
@@ -2210,6 +2217,9 @@ public class ManagementServiceImpl implements ManagementService {
 
     @Override
     public boolean checkPasswordResetTokenForAdminUser( UUID userId, TokenInfo tokenInfo ) throws Exception {
+        if (tokenInfo == null) {
+            return false;
+        }
         AuthPrincipalInfo principal = null;
         try {
             principal = tokenInfo.getPrincipal();


[40/50] [abbrv] usergrid git commit: Add DRAFT Usergrid 2.1.0 deployment guide and upgrade website to use Nanoc 4.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/tmp/dependencies
----------------------------------------------------------------------
diff --git a/website/tmp/dependencies b/website/tmp/dependencies
deleted file mode 100644
index 543a902..0000000
--- a/website/tmp/dependencies
+++ /dev/null
@@ -1,6 +0,0 @@
-{:	data{:
-edges[[iPi[iQiF[iQiN[iQi[iSiF[iSiN[iSi[iTiF[iTiN[iTi:
vertices[U0[:	itemI"/bootstrap/bootstrap/:ET[;I"/community/;	T[;I"/css/bootflat-extensions/;	T[;I"/css/bootflat-square/;	T[;I"/css/bootflat/;	T[;I"/css/font-awesome/;	T[;I"/css/usergrid-site/;	T[;I"/favicon/;	T[;I"#/font/fontawesome-webfont-eot/;	T[;I"#/font/fontawesome-webfont-svg/;	T[;I"#/font/fontawesome-webfont-ttf/;	T[;I"$/font/fontawesome-webfont-woff/;	T[;I"/font/FontAwesome/;	T[;I"/img/alberto/;	T[;I"/img/alex/;	T[;I""/img/apache_usergrid_favicon/;	T[;I"%/img/apache_usergrid_logo_white/;	T[;I"+/img/apache_usergrid_logo_white_small/;	T[;I"/img/check_flat/default/;	T[;I"/img/dave/;	T[;I"
/img/ed/;	T[;I"/img/egg-logo/;	T[;I"/img/github/;	T[;I"/img/grey/;	T[;I"/img/intellij/;	T[;I"/img/jeff/;	T[;I"/img/michael_r/;	T[;I"/img/mike_d/;	T[;I"/img/nate/;	T[;I"/img/rod/;	T[;I"/img/scott/;	T[;I"/img/s
 hawn/;	T[;I"/img/stliu/;	T[;I"/img/strong/;	T[;I"/img/structure101/;	T[;I"/img/sungju/;	T[;I"/img/tim/;	T[;I"/img/todd/;	T[;I"/img/usergrid-logo/;	T[;I"/img/usergrid/;	T[;I"/img/usergrid_160/;	T[;I"/img/usergrid_200/;	T[;I"/img/usergrid_300/;	T[;I"#/img/usergrid_300_transparent/;	T[;I"/img/usergrid_400/;	T[;I"/img/usergrid_800/;	T[;I"/img/usergrid_card/;	T[;I"/img/usergrid_logo/;	T[;I"/img/usergrid_logo_205_50/;	T[;I"/img/usergrid_logo_260_50/;	T[;I"/img/usergrid_logo_720/;	T[;I"/img/usergrid_logo_720p/;	T[;I" /img/usergrid_logo_900_200/;	T[;I"/img/usergrid_logo_white/;	T[;I"/img/usergrid_profile_128/;	T[;I"/img/usergrid_profile_256/;	T[;I"%/img/usergrid_profile_256_white/;	T[;I"'/img/usergrid_profile_512_margins/;	T[;I"$/img/usergrid_profile_64_white/;	T[;I"&/img/usergrid_profile_background/;	T[;I"!/img/usergrid_screencast_bg/;	T[;I"/img/usergrid_small_100/;	T[;I"/im
 g/usergrid_wiki/;	T[;I"/img/yourkit/;	T[;I"/;	T[;I"/js/bootstrap/;	T[;I"/js/head/;	T[;I"/js/html5shiv/;	T[;I"/js/jquery-1/;	T[;I"/js/jquery/;	T[;I"/js/respond/;	T[;I"/js/usergrid-site/;	T[;I"/releases/;	T[;I"/static/github-btn/;	T[:layoutI"/community/;	T[;
-I"/default/;	T[;
-I"/docs/;	T[;
-I"
/footer/;	T[;
-I"
/header/;	T:versioni	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/tmp/rule_memory
----------------------------------------------------------------------
diff --git a/website/tmp/rule_memory b/website/tmp/rule_memory
deleted file mode 100644
index 38d24e4..0000000
Binary files a/website/tmp/rule_memory and /dev/null differ


[42/50] [abbrv] usergrid git commit: Add DRAFT Usergrid 2.1.0 deployment guide and upgrade website to use Nanoc 4.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/docs/installation/deployment-guide.md
----------------------------------------------------------------------
diff --git a/docs/installation/deployment-guide.md b/docs/installation/deployment-guide.md
new file mode 100644
index 0000000..86a7506
--- /dev/null
+++ b/docs/installation/deployment-guide.md
@@ -0,0 +1,451 @@
+# Usergrid 2.1.0 Deployment Guide
+
+## DRAFT 
+
+This document explains how to deploy the Usergrid Backend-as-a-Service (BaaS), 
+which comprises the Usergrid Stack, a Java web application, and the Usergrid Portal,
+which is an HTML5/JavaScript application. 
+
+
+## Intended audience
+
+You should be able to follow this guide if you are a developer, system admin or 
+operations person with some knowledge of Java application deployment and good 
+knowledge of Linux and the bash shell.
+
+This guide is a starting point and does NOT explain everything you need to know to 
+run Usergrid at-scale and in production. To do that you will need some additional 
+skills and knowledge around running, monitoring and trouble-shooting Tomcat 
+applications, multi-node Cassandra & ElasticSearch clusters and more.
+
+
+## Prerequsites
+
+Below are the software requirements for Usergrid 2.1.0 Stack and Portal. 
+You can install them all on one computer for development purposes, and for 
+deployment you can deploy them separately using clustering.
+
+   * Linux or a UNIX-like system (Usergrid may run on Windows, but we haven't tried it)
+   
+   * [Java SE 8 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
+   
+   * [Apache Tomcat 7+](https://tomcat.apache.org/download-70.cgi)
+   
+   * [Apache Cassandra 1.2.1+](http://cassandra.apache.org/download/)
+   
+   * [ElasticSearch 1.4+](https://www.elastic.co/downloads/elasticsearch)  
+   
+Optional but helpful:
+
+   * An HTTP or REST client, such as [curl](http://curl.haxx.se)
+   * A web server such as [Apache HTTPD](https://httpd.apache.org) for running the Usergrid Portal
+      
+   
+## Getting Started
+
+Deploying Usergrid starts with downloaded the Apache Usergrid release. There are three ways to go:
+
+1. Clone the Usergrid Git repo, get the `usergrid-2.1.0` tag (not available yet) and build Usergrid yourself.
+2. Download the official Apache Usergrid 2.1.0 source-code release (not available yet) and build Usergrid
+3. Download the Apache Usergrid 2.1.0 binary release (not available).
+
+The easist way to go is option #3 and so that's what we will do in this document. 
+
+__Get started by downloading the Apache Usergrid 2.1.0__ binary release from the Usergrid releases page:
+
+* [Apache Usergrid Releases](https://usergrid.apache.org/releases)
+
+When you un-tar the Usergrid binary release, you will see a directory layout like this:
+
+    +-- apache-usergrid-2.1.0
+        |
+        +-- LICENSE
+        |
+        +-- NOTICE
+        |
+        +-- CHANGELOG
+        |
+        +-- stack
+        |   | 
+        |   + ROOT.war
+        |
+        +-- portal
+        |   |
+        |   +-- dist
+        |       |
+        |       + usergrid-portal.tar    
+        |
+        +-- sdks
+        |   |
+        |   +-- html5-javascript (JavaScript SDK and source)
+        |   | 
+        |   +-- java (Java SDK and source)
+        
+The files that you need for deploying Usergrid Stack and Portal are `ROOT.war` and `usergrid-portal.tar`.
+                    
+
+## Deploying the Usergrid Stack
+
+The Usergrid Stack is a Java EE web application that runs on Tomcat, 
+uses the Cassandra database for storage and the ElasticSearch search-engine for queries.
+ 
+Before installing the Usegrid Stack into Tomcat, you'll start by setting up the 
+required database and search engine nodes. 
+ 
+   
+### Stack STEP #1: Setup Cassandra 
+
+Usergrid needs access to at least one Apache Cassandra node. You can setup a single node of
+Cassandra on your computer for development and testing. For production deployment, 
+a three or more node cluster is recommended.
+
+__Use the right Java.__ Cassandra requires Java and we recommend that you use the same version of Java 
+for Cassandra as you use to run Tomcat and ElasticSearch.
+
+__Refer to the [Apache Cassandra documentation](http://wiki.apache.org/cassandra/GettingStarted) 
+for instructions on how to install Cassandra__. The [Datastax documentation for Cassandra 1.2](http://docs.datastax.com/en/cassandra/1.2/cassandra/features/featuresTOC.html) is also helpful. 
+Once you are up and running make a note of these things:
+
+   * The name of the Cassandra cluster
+   * Hostname or IP address of each Cassandra node
+   * Port number used for Cassandra RPC (the default is 9160)
+   * Replication factor of Cassandra cluster
+   
+
+### Stack STEP #2: Setup ElasticSearch
+
+Usergrid also needs access to at least one ElasticSearch node. As with Cassandra, 
+you can setup single ElasticSearch node on your computer, and you should run 
+a cluster in production.
+
+__Use the right Java__. ElasticSearch requires Java and you *must* ensure that you use the 
+same version of Java for ElasticSearch as you do for running Tomcat.
+
+__Refer to the 
+[ElasticSearch 1.4 documentation](https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index.html) 
+for instructions on how to install__. Once you are up and running make a note of these things:
+
+   * The name of the ElasticSearch cluster
+   * Hostname or IP address of each ElasticSearch node
+   * Port number used for ElasticSearch protocol (the default is 9200)
+
+__Running a single-node?__ If you are running a single-node ElasticSearch cluster then 
+you should set the number of replicas to zero, otherwise the cluster will report status YELLOW. 
+  
+    curl -XPUT 'localhost:9200/_settings' -d '{"index" : { "number_of_replicas" : 0}}'
+    
+
+### Stack STEP #3: Setup Tomcat
+
+The Usergrid Stack is contained in a file named ROOT.war, a standard Java EE WAR
+ready for deployment to Tomcat. On each machine that will run the Usergrid Stack 
+you must install the Java SE 8 JDK and Tomcat 7+. 
+
+__Refer to the [Apache Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/setup.html) documentation for  instructions on how to install__. Once Tomcat installed, you need to create and edit some configuration files.
+
+
+### Stack STEP #4: Configure Usergrid Stack & Logging
+
+You must create a Usergrid properties file called `usergrid-deployment.properties`. 
+The properties in this file tell Usergrid how to communicate with Cassandra and
+ElasticSearch, and how to form URLs using the hostname you wish to use for Usegrid.
+There are many properties that you can set to configure Usergrid. 
+
+Once you have created your Usergrid properties file, place it in the Tomcat lib directory.
+On a Linux system, that directory is probably located at `/usr/share/tomcat7/lib`.
+
+__What goes in a properties file?__
+
+The default properties file that is built into Usergrid contains the full list of properties, defaults and some documentation:
+   
+   * [The Default Usergrid Properties File](https://github.com/apache/usergrid/blob/master/stack/config/src/main/resources/usergrid-default.properties)
+
+You should review the defaults in the above file. To get you started, let's look at a minimal example properties file that you can edit and use as your own.
+
+
+#### Example Usergrid Stack Properties File
+
+Below is an minimal example Usergrid properties file with the parts you need to change indicated like 
+shell variables, e.g. `${USERGRID_CLUSTER_NAME}`. Here's a guide to the things you need to set:
+
+__Table 1: Values to set in Example Properties file:__
+
+| Value       | Description |
+|-------------|-------------|
+| __BASEURL__ | This is the base URL for the Usergrid installation, e.g. `https://api.example.com`. |
+| __USERGRID_CLUSTER_NAME__ | This is your name for your Usergrid installation. |
+| __CASSANDRA_CLUSTER_NAME__ | Name of Cassandra cluster, must match what's in Cassandra configuration. |
+| __CASSANDRA_HOSTS__ | Comma-separated lists of Cassandra hosts, with port numbers if you are not using the default 9120. The default for this property is `localhost:9120` |
+| __ELASTICSEARCH_CLUSTER_NAME__ | Name of ElasticSearch cluster, must match what's in ElasticSearch configuration. |
+| __ELASTICSEARCH_HOSTS__ | Comma-separated lists of ElasticSearch hosts, with port numbers if you are not using the default 9300. The default for this property is `localhost:9300` |
+| __SUPER_USER_EMAIL__ | Email address of person responsible for the superuser account. |
+| __SUPER_USER_PASSWORD__ | Password for the superuser account. |
+| __TEST_ADMIN_USER_EMAIL__ | If `usergrid.setup-test-account=true`, as shown below, Usergrid will create a test account and you should specify a valid email here. |
+| __TEST_ADMIN_USER_PASSWORD__ | Password for the username 'test' account. |
+   
+   
+Make sure you set all of the above properties when you edit this example for your installation.   
+   
+Example 1: usergrid-deployment.properties file
+
+    usergrid.cluster_name=${USERGRID_CLUSTER_NAME}
+
+    cassandra.url=${CASSANDRA_HOSTS}
+    cassanrda.cluster=${CASSANDRA_CLUSTER_NAME}
+
+    elasticsearch.cluster_name=${ELASTICSEARCH_CLUSTER_NAME}
+    elasticsearch.hosts=${ELASTIC_SEARCH_HOSTS}
+
+    ######################################################
+    # Admin and test user setup
+
+    usergrid.sysadmin.login.allowed=true
+    usergrid.sysadmin.login.name=superuser
+    usergrid.sysadmin.login.password=${SUPER_USER_PASSWORD}
+    usergrid.sysadmin.login.email=${SUPER_USER_EMAIL}
+
+    usergrid.sysadmin.email=${SUPER_USER_EMAIL}
+    usergrid.sysadmin.approve.users=true
+    usergrid.sysadmin.approve.organizations=true
+
+    # Base mailer account - default for all outgoing messages
+    usergrid.management.mailer=Admin <${SUPER_USER_EMAIL}>
+
+    usergrid.setup-test-account=true
+    usergrid.test-account.app=test-app
+    usergrid.test-account.organization=test-organization
+    usergrid.test-account.admin-user.username=test
+    usergrid.test-account.admin-user.name=Test User
+    usergrid.test-account.admin-user.email=${TEST_ADMIN_USER_EMAIL}
+    usergrid.test-account.admin-user.password=${TEST_ADMIN_USER_PASSWORD}
+
+    ######################################################
+    # Auto-confirm and sign-up notifications settings
+
+    usergrid.management.admin_users_require_confirmation=false
+    usergrid.management.admin_users_require_activation=false
+
+    usergrid.management.organizations_require_activation=false
+    usergrid.management.notify_sysadmin_of_new_organizations=true
+    usergrid.management.notify_sysadmin_of_new_admin_users=true
+
+    ######################################################
+    # URLs
+
+    # Redirect path when request come in for TLD
+    usergrid.redirect_root=${BASEURL}/status
+
+    usergrid.view.management.organizations.organization.activate=${BASEURL}/accounts/welcome
+    usergrid.view.management.organizations.organization.confirm=${BASEURL}/accounts/welcome
+    
+    usergrid.view.management.users.user.activate=${BASEURL}/accounts/welcome
+    usergrid.view.management.users.user.confirm=${BASEURL}/accounts/welcome
+
+    usergrid.admin.confirmation.url=${BASEURL}/management/users/%s/confirm
+    usergrid.user.confirmation.url=${BASEURL}/%s/%s/users/%s/confirm
+    usergrid.organization.activation.url=${BASEURL}/management/organizations/%s/activate
+    usergrid.admin.activation.url=${BASEURL}/management/users/%s/activate
+    usergrid.user.activation.url=${BASEURL}%s/%s/users/%s/activate
+
+    usergrid.admin.resetpw.url=${BASEURL}/management/users/%s/resetpw
+    usergrid.user.resetpw.url=${BASEURL}/%s/%s/users/%s/resetpw
+    
+
+#### Configure Logging
+
+Usegrid includes the Apache Log4j logging system and you can control the levels of logs for each
+Usergrid package and even down to the class level by providing your own __log4j.properties__ file.
+
+To configure logging you need to:
+
+1. Create a __log4j.properties__ file and place it on the computer where Tomcat is running
+2. Add __-D__ system property to Tomcat so that Tomcat can find your Log4j properties file.
+
+
+##### Example Logging Configuration
+
+The Log4j properties file below is a good starting point for Usergrid. It configures ERROR level
+logging for the 3rd party libraries that Usergrid depends on, and INFO level logging for Usergrid.
+Plus, it configures some noisy parts of Usergrid to be quiet.
+
+Example 2: log4.properties file
+
+    # output messages into a rolling log file as well as stdout
+    log4j.rootLogger=ERROR,stdout
+
+    # stdout
+    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+    log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
+
+    log4j.logger.org.apache.usergrid=INFO
+    
+    log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN
+    log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN
+    log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR
+    
+    
+##### Add Logging Configuration to Tomcat
+
+You can configure Tomcat to use your Log4j properties file but adding a system property to Tomcat
+named `log4j.configuration` which must be set to a `file:/` URL that points to your
+properties file. One way to add the above property to the Tomcat start-up is to add a line to a 
+Tomcat `setenv.sh` script in Tomcat's bin directory. If that file does not exist, then create it.
+
+For example, if your property file is in `/usr/share/tomcat7/lib/log4j.properties`, then you 
+would add the following line to `setenv.sh`:
+
+    export JAVA_OPTS="-Dlog4j.configuration=file:///usr/share/tomcat7/lib/log4j.properties"
+    
+If the file already exists and already sets the JAVA_OPTS variable, then you'll have to 
+add your `-D` option to ones already there. Also note, you might want set other `-D` and `-X` 
+options in that setenv file, e.g. Java heap size.
+
+
+### Stack STEP #5: Deploy ROOT.war to Tomcat
+
+The next step is to deploy the Usergrid Stack software to Tomcat. There are a variey of ways 
+of doing this and the simplest is probably to place the Usergrid Stack `ROOT.war` file into
+the Tomcat `webapps` directory, then restart Tomcat.
+
+
+__For example, on Linux...__
+
+You would probabaly copy the ROOT.war file like so:
+
+    cp ROOT.war /usr/share/tomcat7/webapps
+    
+And you would restart Tomcat 7 like so:
+
+    /etc/init.d/tomcat7 restart
+    
+You can watch the Tomcat log in `/var/log/tomcat7/catalina.out` for errors:
+
+    tail -f /var/log/tomcat7/catalina.out
+    
+ Look for messages like this, which indicate that the ROOT.war file was deployed:
+ 
+    INFO: Starting service Catalina
+    Jan 29, 2016 1:00:32 PM org.apache.catalina.core.StandardEngine startInternal
+    INFO: Starting Servlet Engine: Apache Tomcat/7.0.59
+    Jan 29, 2016 1:00:32 PM org.apache.catalina.startup.HostConfig deployWAR
+    INFO: Deploying web application archive /usr/share/tomcat7/webapps/ROOT.war
+    
+    
+__Does it work?__
+
+Check to see if Usergrid is up and running by calling the status end-point. 
+If your web browser is running on the same computer as Tomcat (and Tomcat is on port 8080), 
+then you can browse to [http://localhost:8080/status](http://localhost:8080/status) 
+to view the Usergrid status page. 
+
+Or you can use curl:
+
+    curl http://localhost:8080/status
+    
+If you get a JSON file of status data, then you're ready to move to the next step.
+You should see a response that begins like this:
+
+    {
+      "timestamp" : 1454090178953,
+        "duration" : 10,
+        "status" : {
+          "started" : 1453957327516,
+          "uptime" : 132851437,
+          "version" : "201601240200-595955dff9ee4a706de9d97b86c5f0636fe24b43",
+          "cassandraAvailable" : true,
+          "cassandraStatus" : "GREEN",
+          "managementAppIndexStatus" : "GREEN",
+          "queueDepth" : 0,
+          "org.apache.usergrid.count.AbstractBatcher" : {
+            "add_invocation" : {
+              "type" : "timer",
+              "unit" : "microseconds",
+              
+     ... etc. ...
+ 
+
+#### Initialize the Usergrid Database
+
+Next, you must initialize the Usergrid database, index and query systems.
+
+To do this you must issue a series of HTTP operations using the superuser credentials.
+You can only do this if Usergrid is configured to allow superused login via
+this property `usergrid.sysadmin.login.allowed=true` and if you used the 
+above example properties file, it is allowed.
+
+The three operation you must perform are expressed by the curl commands below and,
+of course, you will have ot change the password 'test' to match the superuser password 
+that you set in your Usergrid properties file.
+
+    curl -X PUT http://localhost:8080/system/database/setup     -u superuser:test
+    curl -X PUT http://localhost:8080/system/database/bootstrap -u superuser:test
+    curl -X GET http://localhost:8080/system/superuser/setup    -u superuser:test
+    
+When you issue each of those curl commands, you should see a success message like this:
+
+    {
+        "action" : "cassandra setup",
+        "status" : "ok",
+        "timestamp" : 1454100922067,
+        "duration" : 374
+    }    
+
+If you don't see a success message, then refer to the Tomcat logs for error message and
+seek help from the Usergrid community.
+
+Now that you've gotten Usergrid up and running, you're ready to deploy the Usergrid Portal.
+
+
+## Deploying the Usergrid Portal
+
+The Usergrid Portal is an HTML5/JavaScript application, a bunch of static files that 
+can be deployed to any web server, e.g. Apache HTTPD or Tomcat.
+
+To deploy the Portal to a web server, you will un-tar the `usergrid-portal.tar` file into 
+directory that serves as the root directory of your web pages. 
+
+For example, with Tomcat on Linux you might do something like this:
+
+    cp usergrid-portal.tar /usr/share/tomcat7/webapps
+    cd /usr/share/tomcat7/webapps
+    tar xf usergrid-portal.tar
+    
+Then you will probably want to rename the Portal directory to something that will work
+well in a URL. For example, if you want your Portal to exist at the path `/portal` then:
+
+    mv usergrid-portal.2.0.18 portal
+    
+Once you have done that there is one more step. You need to configure the portal so that 
+it can find the Usergrid stack. You do that by editing the `portal/config.js` and changing
+this line:
+
+    Usergrid.overrideUrl = 'http://localhost:8080/';
+
+To set the hostname that you will be using for your Usergrid installation. 
+
+Start your web server and Portal should be up and running!
+
+
+## Additional Resources
+
+Resources that might be useful to those deploying Usergrid:
+
+[Usergrid-Vagrant](https://github.com/snoopdave/usergrid-vagrant): A VagrantFile and set of bash scripts that will launch a Linux Virtual Machine running Cassandra, ElasticSearch, Tomcat and the Usergrid 2.1 Stack and Portal. 
+
+[Usergrid AWS Cluster](https://github.com/apache/usergrid/tree/master/deployment/aws): An AWS Cloud Formation template and supporting scripts that create a set of multiple EC2 instances running Usergrid Stack/Portal and a set of EC2 instances running Cassandra and ElasticSearch.
+
+
+## The End
+
+That's all folks.
+
+
+
+
+
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/README.md
----------------------------------------------------------------------
diff --git a/website/README.md b/website/README.md
index 23f0766..2271ee0 100644
--- a/website/README.md
+++ b/website/README.md
@@ -22,7 +22,7 @@ Install Pygments (Python-basd syntax coloring library):
 
 Install Nanoc and other Ruby Gems needed:
 
-    $ sudo gem install nanoc pygments.rb htmlentities pandoc-ruby nokogiri rack mime-types
+    $ sudo gem install nanoc pygments.rb htmlentities pandoc-ruby nokogiri rack mime-types adsf
 
 ## How to change/update the website 
 
@@ -38,7 +38,7 @@ If you need to change the layout or styling of the site, then you will probably
 
 To test locally, you can use the autocompiler (will build changes on every request) and check the website at [http://0.0.0.0:3000](http://0.0.0.0:3000)
 
-    $ nanoc autocompile
+    $ nanoc view
     
 ## 3. Publish your changes to the site    
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/crash.log
----------------------------------------------------------------------
diff --git a/website/crash.log b/website/crash.log
deleted file mode 100644
index fb3faea..0000000
--- a/website/crash.log
+++ /dev/null
@@ -1,143 +0,0 @@
-Crashlog created at 2015-09-25 15:15:43 -0400
-
-===== MESSAGE:
-
-RuntimeError: Found 3 content files for content/v101-portal-demo/bower_components/sizzle/dist/sizzle; expected 0 or 1
-
-===== COMPILATION STACK:
-
-  (empty)
-
-===== STACK TRACE:
-
-  0. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/data_sources/filesystem.rb:170:in `block in all_split_files_in'
-  1. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/data_sources/filesystem.rb:160:in `each_pair'
-  2. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/data_sources/filesystem.rb:160:in `all_split_files_in'
-  3. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/data_sources/filesystem.rb:86:in `load_objects'
-  4. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/data_sources/filesystem.rb:45:in `items'
-  5. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:343:in `block in load_items'
-  6. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:342:in `each'
-  7. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:342:in `load_items'
-  8. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:244:in `block in load'
-  9. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:306:in `with_datasources'
-  10. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:243:in `load'
-  11. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:128:in `layouts'
-  12. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/compilation/compiler.rb:188:in `dependency_tracker'
-  13. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/memoization.rb:56:in `block in memoize'
-  14. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/compilation/compiler.rb:460:in `stores'
-  15. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/compilation/compiler.rb:147:in `unload'
-  16. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:279:in `unload'
-  17. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:259:in `rescue in load'
-  18. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/base/source_data/site.rb:263:in `load'
-  19. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/command_runner.rb:64:in `load_site'
-  20. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/commands/compile.rb:392:in `run'
-  21. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/command_runner.rb:14:in `block in call'
-  22. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/error_handler.rb:74:in `handle_while'
-  23. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
-  24. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/command_runner.rb:13:in `call'
-  25. /Library/Ruby/Gems/2.0.0/gems/cri-2.6.1/lib/cri/command_dsl.rb:223:in `block in runner'
-  26. /Library/Ruby/Gems/2.0.0/gems/cri-2.6.1/lib/cri/command.rb:298:in `call'
-  27. /Library/Ruby/Gems/2.0.0/gems/cri-2.6.1/lib/cri/command.rb:298:in `run_this'
-  28. /Library/Ruby/Gems/2.0.0/gems/cri-2.6.1/lib/cri/command.rb:251:in `run'
-  29. /Library/Ruby/Gems/2.0.0/gems/cri-2.6.1/lib/cri/command.rb:264:in `run'
-  30. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli.rb:59:in `block in run'
-  31. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/error_handler.rb:74:in `handle_while'
-  32. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
-  33. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib/nanoc/cli.rb:57:in `run'
-  34. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/bin/nanoc:25:in `<top (required)>'
-  35. /usr/bin/nanoc:23:in `load'
-
-===== VERSION INFORMATION:
-
-nanoc 3.7.4 © 2007-2014 Denis Defreyne.
-Running ruby 2.0.0 (2014-05-08) on universal.x86_64-darwin14 with RubyGems 2.0.14.
-
-===== SYSTEM INFORMATION:
-
-Darwin macsnoopdave2013.local 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
-
-===== INSTALLED GEMS:
-
-  CFPropertyList 2.2.8
-  bigdecimal 1.2.0
-  colored 1.2
-  cri 2.6.1
-  htmlentities 4.3.3
-  io-console 0.4.2
-  json 1.7.7
-  libxml-ruby 2.6.0
-  mime-types 2.4.3
-  mini_portile 0.6.2
-  minitest 4.3.2
-  nanoc 3.7.4
-  nokogiri 1.5.6, 1.6.5
-  pandoc-ruby 0.7.5
-  posix-spawn 0.3.9
-  psych 2.0.0
-  pygments.rb 0.6.0
-  rack 1.6.0
-  rake 0.9.6
-  rdoc 4.0.0
-  sqlite3 1.3.7
-  test-unit 2.0.0.0
-  yajl-ruby 1.1.0
-
-===== ENVIRONMENT:
-
-ANDROID_HOME => "/Applications/Java/android-sdk-macosx/"
-ANT_HOME => "/Applications/Java/apache-ant-1.9.4"
-Apple_PubSub_Socket_Render => "/private/tmp/com.apple.launchd.0f4KqJYx5b/Render"
-CASSANDRA_HOME => "/Applications/Java/apache-cassandra-1.2.19"
-CATALINA_HOME => "/Applications/Java/apache-tomcat-7.0.59"
-CATALINA_OPTS => "-Dlog4j.configuration=file:/Applications/Java/apache-tomcat-7.0.59/lib/log4j.properties"
-CATALINA_PID => "/Applications/Java/apache-tomcat-7.0.59/catalina.pid"
-DISPLAY => ":0.0"
-ELASTICSEARCH_HOME => "/Applications/Java/elasticsearch-1.4.4-ug"
-GATLING_HOME => "/Applications/Java/gatling-charts-highcharts-2.0.0-RC5"
-GIT_SSL_NO_VERIFY => "true"
-GROOVY_HOME => "/Applications/Java/groovy"
-HOME => "/Users/ApigeeCorporation"
-JAVA_HOME => "/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home"
-JMETER_HOME => "/Applications/Java/jmeter"
-JRE_HOME => "/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home"
-LC_CTYPE => "en_US.UTF-8"
-LOGNAME => "ApigeeCorporation"
-M2_HOME => "/Applications/Java/apache-maven-3.3.1"
-MAVEN2_HOME => "/Applications/Java/apache-maven-3.3.1"
-MAVEN3_HOME => "/Applications/Java/apache-maven-3.3.1"
-MAVEN_OPTS => "-Xms7001m -Xmx7001m"
-OLDPWD => "/Users/ApigeeCorporation/src/usergrid"
-PATH => "/Users/ApigeeCorporation/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin:/Applications/Java/apache-maven-3.3.1/bin:/Applications/Java/apache-tomcat-7.0.59/bin:/Applications/Java/apache-cassandra-1.2.19/bin:/Applications/Java/elasticsearch-1.4.4-ug/bin:/Applications/Java/jmeter/bin:/Applications/Java/apache-ant-1.9.4/bin:/Applications/Java/gatling-charts-highcharts-2.0.0-RC5/bin:/Applications/Java/android-sdk-macosx//tools:/Applications/Java/android-sdk-macosx//platform-tools:/Applications/Java/groovy/bin:/usr/local/Cellar/ruby/2.0.0-p247/bin:/usr/local/bin:/usr/local/git/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/sw/bin:/usr/X11R6/bin:/opt/local/bin"
-PWD => "/Users/ApigeeCorporation/src/usergrid/website"
-RUBY_GEMS => "/usr/local/Cellar/ruby/2.0.0-p247"
-SHELL => "/bin/bash"
-SHLVL => "1"
-SSH_AUTH_SOCK => "/private/tmp/com.apple.launchd.hKMuDO4tvG/Listeners"
-TERM => "xterm-256color"
-TMPDIR => "/var/folders/mv/k7rks8y52hvb6n8rsz_j0_jc0000gp/T/"
-USER => "ApigeeCorporation"
-VIM_APP_DIR => "/Applications"
-XPC_FLAGS => "0x0"
-XPC_SERVICE_NAME => "0"
-_ => "/usr/bin/nanoc"
-__CF_USER_TEXT_ENCODING => "0x1F6:0x0:0x0"
-
-===== LOAD PATHS:
-
-  0. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib
-  1. /Library/Ruby/Gems/2.0.0/gems/colored-1.2/lib
-  2. /Library/Ruby/Gems/2.0.0/gems/cri-2.6.1/lib
-  3. /Library/Ruby/Gems/2.0.0/gems/nanoc-3.7.4/lib
-  4. /Library/Ruby/Gems/2.0.0/gems/pandoc-ruby-0.7.5/lib
-  5. /Library/Ruby/Gems/2.0.0/gems/htmlentities-4.3.3/lib
-  6. /Library/Ruby/Site/2.0.0
-  7. /Library/Ruby/Site/2.0.0/x86_64-darwin14
-  8. /Library/Ruby/Site/2.0.0/universal-darwin14
-  9. /Library/Ruby/Site
-  10. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
-  11. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin14
-  12. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin14
-  13. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
-  14. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
-  15. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin14
-  16. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/lib/default.rb
----------------------------------------------------------------------
diff --git a/website/lib/default.rb b/website/lib/default.rb
index 8adfad9..1a3609d 100644
--- a/website/lib/default.rb
+++ b/website/lib/default.rb
@@ -5,7 +5,7 @@ include Nanoc::Helpers::Rendering
 require 'pandoc-ruby'
 require 'htmlentities'
 
-class PandocFilter < Nanoc3::Filter
+class PandocFilter < Nanoc::Filter
   identifier :pandoc
   type :text
 
@@ -14,7 +14,7 @@ class PandocFilter < Nanoc3::Filter
   end
 end
 
-class FencedCodeBlock < Nanoc3::Filter
+class FencedCodeBlock < Nanoc::Filter
   identifier :fenced_code_block
   
   def run(content, params={})

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/nanoc.yaml
----------------------------------------------------------------------
diff --git a/website/nanoc.yaml b/website/nanoc.yaml
index ca1b598..ad4c5b5 100644
--- a/website/nanoc.yaml
+++ b/website/nanoc.yaml
@@ -33,11 +33,13 @@ prune:
 # hashes; each array element represents a single data source. By default,
 # there is only a single data source that reads data from the “content/” and
 # “layout/” directories in the site directory.
+string_pattern_type: legacy
 data_sources:
   -
     # The type is the identifier of the data source. By default, this will be
     # `filesystem_unified`.
     type: filesystem_unified
+    identifier_type: legacy
 
     # The path where items should be mounted (comparable to mount points in
     # Unix-like systems). This is “/” by default, meaning that items will have

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/run.sh
----------------------------------------------------------------------
diff --git a/website/run.sh b/website/run.sh
index cf1f043..b8da765 100755
--- a/website/run.sh
+++ b/website/run.sh
@@ -1 +1 @@
-nanoc autocompile
+nanoc view

http://git-wip-us.apache.org/repos/asf/usergrid/blob/3fbb7d47/website/tmp/checksums
----------------------------------------------------------------------
diff --git a/website/tmp/checksums b/website/tmp/checksums
deleted file mode 100644
index 4d256c0..0000000
--- a/website/tmp/checksums
+++ /dev/null
@@ -1,2 +0,0 @@
-{:	data{X[:	itemI"/bootstrap/bootstrap/:ETI"!YUoAHXSU496Zr8/S3Yd4cLZhRak=;F[;I"/community/;TI"!VZS4Q6jkydy+EZIEH6veYjJdp1U=;F[;I"/css/bootflat-extensions/;TI"!80jNRRDXOQd3Hqq9uFWHOSYjt9k=;F[;I"/css/bootflat-square/;TI"!fmcFRTmmu2E+nlYToVNFUW0hl04=;F[;I"/css/bootflat/;TI"!s3pj2lk1R+G2jYcp8xSmmnJt50A=;F[;I"/css/font-awesome/;TI"!L6HntW7X62auSV5nn6e7TRo8wfw=;F[;I"/css/usergrid-site/;TI"!lbp3e3xKxdPs88+XmfptUlMRDIU=;F[;I"/favicon/;TI"!4smyALZJYBMIjWuCmX1/Vehr0UI=;F[;I"#/font/fontawesome-webfont-eot/;TI"!LRParNNq2Rtr4KLCZp9VGb6tY9g=;F[;I"#/font/fontawesome-webfont-svg/;TI"!Gmc7jPZDpJCaXKhTSFMJBy3e5cA=;F[;I"#/font/fontawesome-webfont-ttf/;TI"!322E1FFOsC3m5lj1+2sOwHw+dCw=;F[;I"$/font/fontawesome-webfont-woff/;TI"!3U314P6TXZ/0x8emFo+a8C3pgn4=;F[;I"/font/FontAwesome/;TI"!YnXnkoHG4sUQGhyM0z710OdnwI4=;F[;I"/img/alberto/;TI"!WoW4bmapTfP3oN7oINZqaUeJs4I=;F[;I"/img/alex/;TI"!jDROtfgu0tIADH4Z95zsw5
 GwhGc=;F[;I""/img/apache_usergrid_favicon/;TI"!J2Ojtxa8TRBuZuEA/FUTZJ0ozwo=;F[;I"%/img/apache_usergrid_logo_white/;TI"!4pdQF1Wd0joMXt/iXYWUtZ6OlTA=;F[;I"+/img/apache_usergrid_logo_white_small/;TI"!L7tcCtaBPz4wZdfc4O06AD9UkdQ=;F[;I"/img/check_flat/default/;TI"!qvFScfk4lldM7QMp2IbTDfCHw7U=;F[;I"/img/dave/;TI"!WVfvg0oAX9OTAcA9Dl8o8AzxwnY=;F[;I"
/img/ed/;TI"!dG6vqkqNYU313WlkeeX70v8uCrI=;F[;I"/img/egg-logo/;TI"!iwunI0vDIE+SDFQv91tI6E/b92c=;F[;I"/img/github/;TI"!+86quf3enEWPUNu7076SgT9kj1g=;F[;I"/img/grey/;TI"!ibXxwHIz35wmSa3oZnTBJzAKsP0=;F[;I"/img/intellij/;TI"!qBB3+rDQ087MfPpWDwGsovdDRUo=;F[;I"/img/jeff/;TI"!RbEYH0iQgQTeREyWmb+7Mq9b02s=;F[;I"/img/michael_r/;TI"!UXLGJNL50qHr77X2s+Ds5crN/JU=;F[;I"/img/mike_d/;TI"!VzkdDF9Raqf/2U4yAAVpRpBLZV0=;F[;I"/img/nate/;TI"!1t1y5YPHyRxyv8iyheJY9JGoLtM=;F[;I"/img/rod/;TI"!/gpAs4yLw63OGpUNgT2s/QpMr4o=;F[;I"/img/scott/;TI"!KGStcjMwSUJ4s4I+8DpbvtR1n
 Dg=;F[;I"/img/shawn/;TI"!RTTqvuh0gBGB5Rz+Ob1BBz68Hl0=;F[;I"/img/stliu/;TI"!0JmFFiQZodPbuEgSCSf1DComGdY=;F[;I"/img/strong/;TI"!0qXHaf494HstngPwMzjsF4z2afk=;F[;I"/img/structure101/;TI"!84sJ4M0JYrZnZchlAl1Ko4Jt6nc=;F[;I"/img/sungju/;TI"!WiOoe/70g/gbPZIkrtr7ZHesTso=;F[;I"/img/tim/;TI"!5XtnJMfzZ7U9pTcq3gkSrsOiZF4=;F[;I"/img/todd/;TI"!mT2XUzdl+Mbo2P67jiS+5tsnCdY=;F[;I"/img/usergrid-logo/;TI"!10Y/fj+M83dqejKO4huPGJBPhVw=;F[;I"/img/usergrid/;TI"!1eQaVjeVq5DMX/duAdIp/MoDFIg=;F[;I"/img/usergrid_160/;TI"!QpEa0XK5auDvfbDNdybsWC1KRUI=;F[;I"/img/usergrid_200/;TI"!EaM2rLslqqUzlEtyOAVfdjADAB0=;F[;I"/img/usergrid_300/;TI"!2ZP0iuH4WwTCqWJa9ViVffqeirI=;F[;I"#/img/usergrid_300_transparent/;TI"!jkfHw6VBZI3BKVNt6fEUZ7eMIeQ=;F[;I"/img/usergrid_400/;TI"!1ac6bNRh8Xr5KFtHaVTFMdHZ1nk=;F[;I"/img/usergrid_800/;TI"!w/tknopar5i/1ee41zQRXB6YejY=;F[;I"/img/usergrid_card/;TI"!khOw34EC1ImbC5ta79uV09Xy8Yc=;
 F[;I"/img/usergrid_logo/;TI"!1vIHlfp7TYm6ESHj9BjOiJZYVc8=;F[;I"/img/usergrid_logo_205_50/;TI"!Cc6CKcz/ZoKhl2XqKCfFaQSPZPU=;F[;I"/img/usergrid_logo_260_50/;TI"!Kr6oc40kf6W/ILfeVPHKR1ROK4w=;F[;I"/img/usergrid_logo_720/;TI"!Ui+Llu18WKpsEA3kyTbQpmbC2W0=;F[;I"/img/usergrid_logo_720p/;TI"!0r8k3EqvGX10rfS553hf2tRYk8k=;F[;I" /img/usergrid_logo_900_200/;TI"!vunhiKHxx9glB+baiwjeEEiJ0KI=;F[;I"/img/usergrid_logo_white/;TI"!RQl3eEzZE2ENkD78JrWFEjtIHCE=;F[;I"/img/usergrid_profile_128/;TI"!tWP/qK2jnI3a01/wfbz9jCW/4Mc=;F[;I"/img/usergrid_profile_256/;TI"!QEfoU4T3e3MexN7pRr3CM0ATlYA=;F[;I"%/img/usergrid_profile_256_white/;TI"!goWISnj/V0r02DQKs3uwnNnMEZ0=;F[;I"'/img/usergrid_profile_512_margins/;TI"!r6mlNE+Krjp7rnW5lIBzv9CqmoQ=;F[;I"$/img/usergrid_profile_64_white/;TI"!9HF0Lw7AGZnDrckK8fkfYoN526k=;F[;I"&/img/usergrid_profile_background/;TI"!29t7fD/KA6refcTIvbOeBmELVVI=;F[;I"!/img/usergrid_screencast_bg/;TI"!tjYC
 DxBt+WvTWCOSmwx6xbx11gc=;F[;I"/img/usergrid_small_100/;TI"!LqF8d8xueb3y7O5O/v7iJ/ND5aE=;F[;I"/img/usergrid_wiki/;TI"!sjc6u4I7Lk8QpK8NXo/YBZKi/2c=;F[;I"/img/yourkit/;TI"!Bwcb+MwxtGuUMqnANgNtzq5X/tw=;F[;I"/;TI"!eqRaBXu3YUN52v2fgsENaugcmk8=;F[;I"/js/bootstrap/;TI"!xTcEiCgdxrEdE1kho/jKCMcWqqc=;F[;I"/js/head/;TI"!KNtvUxuNH9eUiy9JhQLEcuT+q+4=;F[;I"/js/html5shiv/;TI"!bvbw91ergR0oPLK+pMmuATJpYuI=;F[;I"/js/jquery-1/;TI"!s1JOCn7uKtHuvJuscghxN9hq8wQ=;F[;I"/js/jquery/;TI"!ebkz2Hv86oQU1R35xLYNRnl3vvk=;F[;I"/js/respond/;TI"!2f7+RS9dfVUu1S0NNrAdW8ysYDU=;F[;I"/js/usergrid-site/;TI"!6d1mVODYvaFl6qDYA+rtmG46IOI=;F[;I"/releases/;TI"!4T1+U8tBYWuIoFfhL4+UqALf6mk=;F[;I"/static/github-btn/;TI"!Uk0HFXlxNXgV+9V8s9/9i2nr27s=;F[:layoutI"/community/;TI"!Vz6WtgEl8BB6t96FGbzN5hhVc4c=;F[;I"/default/;TI"!k9I6lOQ4z4+nHoc8WQw7P2MoKbY=;F[;I"/docs/;TI"!tmBld5ZHivR/56iHwp6I0LUoPlc=;F[;I"
/footer/;TI"!iL
 zZaL9jsE9qH/1mj/yosIoCfH0=;F[;I"
/header/;TI"!Diks9ApifD4Ze6SOwHw1aW++SOA=;F[:code_snippetI"lib/default.rb;TI"!obtwYGHKsZcksb03nMTPrlOqd5U=;F[;	I"lib/helpers_.rb;TI"!huKhcwQYeoQiIuYmRpgzAwKwrbc=;F:configI"!Sxvusj+Tnw1yNJuSGRkZ7fv3R2Q=;F:
-rulesI"!nclWn6tIAjzNd8AV/It9HpNy9y0=;F:versioni
\ No newline at end of file


[03/50] [abbrv] usergrid git commit: USERGRID-1200: EmailFlowIT fix

Posted by sn...@apache.org.
USERGRID-1200: EmailFlowIT fix


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

Branch: refs/heads/asf-site
Commit: 586dad08091ed19e532695f234a0d973176ad3b6
Parents: 4610eed
Author: Mike Dunker <md...@apigee.com>
Authored: Mon Jan 25 17:23:58 2016 -0800
Committer: Mike Dunker <md...@apigee.com>
Committed: Mon Jan 25 17:23:58 2016 -0800

----------------------------------------------------------------------
 .../test/java/org/apache/usergrid/management/EmailFlowIT.java    | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/586dad08/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
index e9c0bd8..a46bd60 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java
@@ -78,7 +78,6 @@ public class EmailFlowIT {
         setup.set( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
         setup.set( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
         setup.set( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
-        setup.set( PROPERTIES_DEFAULT_SYSADMIN_EMAIL, "sysadmin-1@mockserver.com" );
         setup.set( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" );
 
         final String orgName = uniqueOrg();
@@ -121,7 +120,6 @@ public class EmailFlowIT {
         setup.set( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" );
         setup.set( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
         setup.set( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
-        setup.set( PROPERTIES_DEFAULT_SYSADMIN_EMAIL, "sysadmin-2@mockserver.com" );
 
         final String orgName = uniqueOrg();
         final String userName = uniqueUsername();
@@ -156,7 +154,7 @@ public class EmailFlowIT {
 
         assertEquals( "User Account Confirmed", confirmation.getSubject() );
 
-        List<Message> sysadmin_inbox = Mailbox.get( "sysadmin-2@mockserver.com" );
+        List<Message> sysadmin_inbox = Mailbox.get( "testadmin@usergrid.com" );
         assertFalse( sysadmin_inbox.isEmpty() );
 
         Message activation = sysadmin_inbox.get( 0 );


[31/50] [abbrv] usergrid git commit: Merge commit 'refs/pull/475/head' of github.com:apache/usergrid

Posted by sn...@apache.org.
Merge commit 'refs/pull/475/head' of github.com:apache/usergrid


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

Branch: refs/heads/asf-site
Commit: 10733b261db1403ad0b744706839dc778dac88fd
Parents: 019d49e a434b52
Author: Michael Russo <mi...@gmail.com>
Authored: Mon Feb 1 08:46:17 2016 -0800
Committer: Michael Russo <mi...@gmail.com>
Committed: Mon Feb 1 08:46:17 2016 -0800

----------------------------------------------------------------------
 .../main/resources/usergrid-default.properties  |  5 ++
 .../usergrid/rest/AbstractContextResource.java  | 52 ++++++++++++++-
 .../rest/applications/ApplicationResource.java  | 10 ++-
 .../rest/applications/ServiceResource.java      | 12 ++--
 .../rest/applications/users/UserResource.java   | 41 ++++++------
 .../rest/applications/users/UsersResource.java  | 14 ++---
 .../rest/management/ManagementResource.java     |  5 +-
 .../organizations/OrganizationResource.java     | 14 ++---
 .../rest/management/users/UserResource.java     | 66 +++++++++++++-------
 .../usergrid/management/ManagementService.java  | 13 ++++
 .../usergrid/management/OrganizationConfig.java | 27 ++++----
 .../management/OrganizationConfigProps.java     |  4 ++
 .../cassandra/ManagementServiceImpl.java        | 54 ++++++++++++++--
 .../cassandra/OrganizationConfigPropsImpl.java  | 45 ++++++++++---
 14 files changed, 266 insertions(+), 96 deletions(-)
----------------------------------------------------------------------