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 2014/03/24 18:20:49 UTC

[01/26] git commit: Initial commit of async processing framework. Need to evaluate it a bit more on the async processing.

Repository: incubator-usergrid
Updated Branches:
  refs/pull/76/head 86da615b0 -> 5475be27e
  refs/pull/76/merge 54de0f115 -> dcd0bc7e3 (forced update)
  refs/pull/77/head fe2bb3bb1 -> 269100c3b
  refs/pull/77/merge 0490156f5 -> 671371dcb (forced update)


Initial commit of async processing framework.  Need to evaluate it a bit more on the async processing.


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

Branch: refs/pull/77/head
Commit: 1dc3973fa9eaeee62c24ad49616e240017c656ab
Parents: 0f5ad33
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Feb 21 16:46:11 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Feb 21 16:46:11 2014 -0700

----------------------------------------------------------------------
 .../graph/consistency/AsyncProcessor.java       |  14 +-
 .../graph/consistency/AsyncProcessorImpl.java   |  94 ++++++-
 .../graph/consistency/TimeService.java          |  33 +++
 .../persistence/graph/guice/GraphModule.java    |   7 +-
 .../graph/consistency/AsyncProcessorTest.java   | 273 +++++++++++++++++++
 5 files changed, 408 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
index 948ef2b..d5efc52 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
@@ -13,21 +13,23 @@ public interface AsyncProcessor {
      * The processor implementation is responsible for guaranteeing the events fire in the runtime environment.
      * This could be local or clustered, consult the documentation on the implementation.  Note that events published
      * here could possibly be double published if the operation reaches it's timeout before completion.  As a result, every
-     * receiver of the event should operate in an idempotent way.
+     * receiver of the event should operate in an idempotent way.  Note that the event will fire at a time >= the timeout time.
+     * Firing immediately should not be assumed.
      *
      * @param event The event to be scheduled for verification
-     * @param timeout  The epoch time in milliseconds the event should fire
+     * @param timeout  The time in milliseconds we should wait before the event should fire
      */
-    public <T> TimeoutEvent<T> verify(T event, long timeout);
+    public <T> TimeoutEvent<T> setVerification( T event, long timeout );
 
 
     /**
-     * Start processing the event immediately asynchronously.
+     * Start processing the event immediately asynchronously.  In the event an exception is thrown, the TimeoutEvent should be re-tried.
+     * It is up to the implementer to commit the event so that it does not fire again.  This should never throw exceptions.
      *
-     * @param event
+     * @param event The event to start
      * @param <T>
      */
-    public <T> void start(T event);
+    public <T> void start(TimeoutEvent<T> event);
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
index 2ee308a..807b2b4 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
@@ -1,9 +1,20 @@
 package org.apache.usergrid.persistence.graph.consistency;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import com.google.common.eventbus.EventBus;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
+import com.netflix.hystrix.HystrixCommand;
+import com.netflix.hystrix.HystrixCommandGroupKey;
+
+import rx.Observer;
+import rx.Scheduler;
 
 
 /**
@@ -12,26 +23,97 @@ import com.google.inject.Singleton;
 @Singleton
 public class AsyncProcessorImpl implements AsyncProcessor {
 
+    private static final HystrixCommandGroupKey GRAPH_REPAIR = HystrixCommandGroupKey.Factory.asKey( "Graph_Repair" );
+
     private final EventBus bus;
     private final TimeoutQueue queue;
+    private final Scheduler scheduler;
+
+    private static final Logger LOG = LoggerFactory.getLogger( AsyncProcessor.class );
+
+    private List<ErrorListener> listeners = new ArrayList<ErrorListener>();
 
 
     @Inject
-    public AsyncProcessorImpl( final EventBus bus, final TimeoutQueue queue ) {
+    public AsyncProcessorImpl( final EventBus bus, final TimeoutQueue queue, final Scheduler scheduler ) {
         this.bus = bus;
         this.queue = queue;
+        this.scheduler = scheduler;
     }
 
 
     @Override
-    public <T> TimeoutEvent<T> verify( final T event, final long timeout ) {
-        return queue.queue( event, timeout  );
+    public <T> TimeoutEvent<T> setVerification( final T event, final long timeout ) {
+        return queue.queue( event, timeout );
     }
 
 
     @Override
-    public <T> void start( final T event ) {
-        //TODO, wrap this in hystrix for timeouts and capacity
-        bus.post( event );
+    public <T> void start( final TimeoutEvent<T> event ) {
+
+
+        //run this in a timeout command so it doesn't run forever. If it times out, it will simply resume later
+        new HystrixCommand<Void>( GRAPH_REPAIR ) {
+
+            @Override
+            protected Void run() throws Exception {
+                final T busEvent = event.getEvent();
+                bus.post( busEvent );
+                return null;
+            }
+        }.toObservable( scheduler ).subscribe( new Observer<Void>() {
+            @Override
+            public void onCompleted() {
+                queue.remove( event );
+            }
+
+
+            @Override
+            public void onError( final Throwable throwable ) {
+                LOG.error( "Unable to process async event", throwable );
+
+                for ( ErrorListener listener : listeners ) {
+                    listener.onError( event, throwable );
+                }
+            }
+
+
+            @Override
+            public void onNext( final Void args ) {
+                //nothing to do here
+                System.out.print( "next" );
+                //To change body of implemented methods use File | Settings | File Templates.
+            }
+        } );
+
+        //                new Action1<Void>() {
+        //                                                   @Override
+        //                                                   public void call( final Void timeoutEvent ) {
+        //
+        //                                                   }
+        //                                               }, new Action1<Throwable>() {
+        //                                                   @Override
+        //                                                   public void call( final Throwable throwable ) {
+        //
+        //                                                   }
+        //                                               }
+        //                                             );
+    }
+
+
+    /**
+     * Add an error listener
+     */
+    public void addListener( ErrorListener listener ) {
+        this.listeners.add( listener );
+    }
+
+
+    /**
+     * Internal listener for errors, really only used for testing.  Can be used to hook into error state
+     */
+    public static interface ErrorListener {
+
+        public <T> void onError( TimeoutEvent<T> event, Throwable t );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java
new file mode 100644
index 0000000..1625550
--- /dev/null
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java
@@ -0,0 +1,33 @@
+/*
+ * 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.persistence.graph.consistency;
+
+
+/**
+ * Simple time service to get the current system time.  Useful in mocking
+ */
+public interface TimeService {
+
+    /**
+     * Get the current time
+     * @return
+     */
+    public long getCurrentTime();
+}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
index 00b1c41..a2506a3 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
@@ -28,6 +28,8 @@ import org.apache.usergrid.persistence.collection.mvcc.event.PostProcessObserver
 import org.apache.usergrid.persistence.graph.EdgeManager;
 import org.apache.usergrid.persistence.graph.EdgeManagerFactory;
 import org.apache.usergrid.persistence.graph.GraphFig;
+import org.apache.usergrid.persistence.graph.consistency.AsyncProcessor;
+import org.apache.usergrid.persistence.graph.consistency.AsyncProcessorImpl;
 import org.apache.usergrid.persistence.graph.impl.CollectionIndexObserver;
 import org.apache.usergrid.persistence.graph.impl.EdgeManagerImpl;
 import org.apache.usergrid.persistence.graph.serialization.CassandraConfig;
@@ -87,11 +89,12 @@ public class GraphModule extends AbstractModule {
         migrationBinding.addBinding().to( NodeSerializationImpl.class );
 
 
+
         /**
          * Graph event bus, will need to be refactored into it's own classes
          */
 
-        final EventBus eventBus = new EventBus("asyncCleanup");
+        final EventBus eventBus = new EventBus("AsyncProcessorBus");
         bind(EventBus.class).toInstance(eventBus);
 
         //auto register every impl on the event bus
@@ -106,6 +109,8 @@ public class GraphModule extends AbstractModule {
            }
         });
 
+        bind(AsyncProcessor.class).to(AsyncProcessorImpl.class);
+
 
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java
new file mode 100644
index 0000000..c58b2c0
--- /dev/null
+++ b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java
@@ -0,0 +1,273 @@
+/*
+ * 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.persistence.graph.consistency;
+
+
+import java.util.Stack;
+import java.util.concurrent.CountDownLatch;
+
+import org.junit.Test;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import com.google.common.eventbus.EventBus;
+import com.google.common.eventbus.Subscribe;
+
+import rx.concurrency.Schedulers;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+
+/**
+ *
+ *
+ */
+public class AsyncProcessorTest {
+
+
+    @Test
+    public void verificationSchedule() {
+
+
+        final long timeout = 500;
+        final TestEvent event = new TestEvent();
+
+
+        final TimeoutEvent<TestEvent> timeoutEvent = new TimeoutEvent<TestEvent>() {
+            @Override
+            public TestEvent getEvent() {
+                return event;
+            }
+
+
+            @Override
+            public long getTimeout() {
+                return timeout;
+            }
+        };
+
+        final TimeoutQueue queue = mock( TimeoutQueue.class );
+
+
+        AsyncProcessor asyncProcessor = constructProcessor( null, queue );
+
+
+        //mock up the queue
+        when( queue.queue( event, timeout ) ).thenReturn( timeoutEvent );
+
+
+        TimeoutEvent<TestEvent> returned = asyncProcessor.setVerification( event, timeout );
+
+        //ensure the timeouts are returned from the Queue subsystem
+        assertSame( timeoutEvent, returned );
+    }
+
+
+    @Test( timeout = 5000 )
+    public void verifyAsyncExecution() throws InterruptedException {
+
+        final TestListener listener = new TestListener();
+
+        final EventBus testBus = new EventBus( "test" );
+
+        testBus.register( listener );
+
+
+        final TestEvent event = new TestEvent();
+
+
+        final TimeoutEvent<TestEvent> timeoutEvent = new TimeoutEvent<TestEvent>() {
+            @Override
+            public TestEvent getEvent() {
+                return event;
+            }
+
+
+            @Override
+            public long getTimeout() {
+                return 500;
+            }
+        };
+
+        final TimeoutQueue queue = mock( TimeoutQueue.class );
+
+
+        final AsyncProcessor asyncProcessor = constructProcessor( testBus, queue );
+
+        final CountDownLatch latch = new CountDownLatch( 1 );
+
+        //mock up the ack to allow us to block the test until the async confirm fires
+        when( queue.remove( timeoutEvent ) ).thenAnswer( new Answer<Boolean>() {
+            @Override
+            public Boolean answer( final InvocationOnMock invocation ) throws Throwable {
+                latch.countDown();
+                return true;
+            }
+        } );
+
+
+        asyncProcessor.start( timeoutEvent );
+
+
+        //block until the event is fired.  The correct invocation is implicitly verified by the remove mock
+
+        latch.await();
+
+        final TestEvent firedEvent = listener.events.peek();
+
+        assertSame( event, firedEvent );
+    }
+
+
+    @Test( timeout = 5000 )
+//    @Test
+    public void verifyErrorExecution() throws InterruptedException {
+
+        final ErrorListener listener = new ErrorListener();
+
+        final EventBus testBus = new EventBus( "test" );
+
+        testBus.register( listener );
+
+
+        final TestEvent event = new TestEvent();
+
+        final boolean[] invoked = new boolean[]{false, false};
+
+
+        final TimeoutEvent<TestEvent> timeoutEvent = new TimeoutEvent<TestEvent>() {
+            @Override
+            public TestEvent getEvent() {
+                return event;
+            }
+
+
+            @Override
+            public long getTimeout() {
+                return 500;
+            }
+        };
+
+        final TimeoutQueue queue = mock( TimeoutQueue.class );
+
+
+        final AsyncProcessorImpl asyncProcessor = constructProcessor( testBus, queue );
+
+        final CountDownLatch latch = new CountDownLatch( 1 );
+
+        final TimeoutEvent<?>[] errorEvents = { null };
+
+        //countdown the latch so the test can proceed
+        asyncProcessor.addListener( new AsyncProcessorImpl.ErrorListener() {
+            @Override
+            public <T> void onError( final TimeoutEvent<T> event, final Throwable t ) {
+                errorEvents[0] = event;
+                invoked[1] = true;
+                latch.countDown();
+            }
+        } );
+
+        //throw an error if remove is called.  This shouldn't happen
+        when( queue.remove( timeoutEvent ) ).then( new Answer<Boolean>() {
+            @Override
+            public Boolean answer( final InvocationOnMock invocation ) throws Throwable {
+                invoked[0] = true;
+                return false;
+            }
+        } );
+
+
+
+        //fire the event
+        asyncProcessor.start( timeoutEvent );
+
+
+        //block until the event is fired.  The invocation verification is part of the error listener unlocking
+        latch.await();
+
+        final TestEvent firedEvent = listener.events.peek();
+
+        assertSame( event, firedEvent );
+
+        assertFalse("Queue remove should not be invoked", invoked[0]);
+
+        assertTrue("Error listener should be invoked", invoked[1]);
+
+        assertEquals( event, errorEvents[0] );
+    }
+
+
+    /**
+     * Construct the async processor
+     */
+    public AsyncProcessorImpl constructProcessor( EventBus eventBus, TimeoutQueue queue ) {
+
+        return new AsyncProcessorImpl( eventBus, queue, Schedulers.threadPoolForIO() );
+    }
+
+
+    /**
+     * Marked class for events, does nothing
+     */
+    public static class TestEvent {
+
+        public boolean equals(Object other){
+            return other == this;
+        }
+    }
+
+
+    public static class TestListener {
+
+        public final Stack<TestEvent> events = new Stack<TestEvent>();
+
+
+        public TestListener() {
+
+        }
+
+
+        @Subscribe
+        public void fireTestEvent( TestEvent e ) {
+            events.push( e );
+        }
+    }
+
+
+    /**
+     * Throw error after the event is fired
+     */
+    public static class ErrorListener  {
+
+        public final Stack<TestEvent> events = new Stack<TestEvent>();
+
+
+        @Subscribe
+        public void fireTestEvent( final TestEvent e ) {
+            events.push( e );
+            throw new RuntimeException( "Test Exception thrown.  Failed to process event" );
+        }
+    }
+}


[25/26] git commit: Merge branch 'master' of https://github.com/usergrid/usergrid into Export_Persistance_Integration

Posted by sn...@apache.org.
Merge branch 'master' of https://github.com/usergrid/usergrid into Export_Persistance_Integration

# By Dave Johnson
# Via Dave Johnson
* 'master' of https://github.com/usergrid/usergrid:
  Update README.md
  Update README.md


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

Branch: refs/pull/76/head
Commit: 5475be27e2a3da200440675a481e5a39f6fa8158
Parents: 86da615 268250e
Author: grey <gr...@apigee.com>
Authored: Mon Mar 24 09:58:14 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 24 09:58:14 2014 -0700

----------------------------------------------------------------------
 README.md | 64 +++-------------------------------------------------------
 1 file changed, 3 insertions(+), 61 deletions(-)
----------------------------------------------------------------------



[09/26] git commit: Dependency and other cleanup.

Posted by sn...@apache.org.
Dependency and other cleanup.


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

Branch: refs/pull/77/head
Commit: e1b4cffafaa6f8350cff78885c47e977f9e14cba
Parents: 9d6ed41
Author: Dave Johnson <dm...@apigee.com>
Authored: Sat Mar 22 18:15:51 2014 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Sat Mar 22 18:15:51 2014 -0400

----------------------------------------------------------------------
 stack/corepersistence/perftest1/pom.xml         |  9 ++---
 .../persistence/Usergrid1PerformanceTest.java   | 36 +++++++++++---------
 2 files changed, 22 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e1b4cffa/stack/corepersistence/perftest1/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/perftest1/pom.xml b/stack/corepersistence/perftest1/pom.xml
index 0e380b1..0307bde 100644
--- a/stack/corepersistence/perftest1/pom.xml
+++ b/stack/corepersistence/perftest1/pom.xml
@@ -31,11 +31,6 @@
         </dependency>
 
         <dependency>
-            <artifactId>groovy-all</artifactId>
-            <groupId>org.codehaus.groovy</groupId>
-            <version>2.2.2</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.usergrid</groupId>
             <artifactId>usergrid-tools</artifactId>
             <version>0.0.29-SNAPSHOT</version>
@@ -49,7 +44,7 @@
     <build>
         <plugins>
 
-            <plugin>
+<!--            <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>2.3.2</version>
                 <dependencies>
@@ -69,7 +64,7 @@
                 <groupId>org.codehaus.groovy</groupId>
                 <version>2.6.0-01</version>
                 <extensions>true</extensions>
-            </plugin>
+            </plugin>-->
 
         </plugins>
     </build>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e1b4cffa/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java b/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
index a818199..7aee702 100644
--- a/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
+++ b/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
@@ -36,8 +36,8 @@ import org.slf4j.LoggerFactory;
 /**
  * TODO: make configurable, add CHOP markup.
  */
-public class Usegrid1PerformanceTest {
-    private static final Logger log = LoggerFactory.getLogger(Usegrid1PerformanceTest.class);
+public class Usergrid1PerformanceTest {
+    private static final Logger log = LoggerFactory.getLogger(Usergrid1PerformanceTest.class);
 
     // max entities we will write and read
     static int maxEntities = Integer.MAX_VALUE;
@@ -53,7 +53,7 @@ public class Usegrid1PerformanceTest {
     private final EntityManagerFactory emf;
 
 
-    public Usegrid1PerformanceTest() throws Throwable {
+    public Usergrid1PerformanceTest() throws Throwable {
         emf = UsergridBootstrap.newInstance().getBean( EntityManagerFactory.class );
     }
    
@@ -66,13 +66,13 @@ public class Usegrid1PerformanceTest {
     @Test
     public void loadAndReadData() throws Exception {
 
-        log.info("Start Data Load");
+        log("Start Data Load");
         List<UUID> apps = loadData();
-        log.info("Finish Data Load");
+        log("Finish Data Load");
 
-        log.info("Start Data Read");
+        log("Start Data Read");
         readData( apps );
-        log.info("Finish Data Read");
+        log("Finish Data Read");
 
         runSelectedQueries( apps );
 
@@ -167,13 +167,13 @@ public class Usegrid1PerformanceTest {
                     results = em.searchCollection( em.getApplicationRef(), "reviews", query );
                 } catch (Exception ex) {
                     log.error("Error on search, aborting", ex);
-                    log.info("Read {} reviews in {}", count, appId );
+                    log( String.format("Read %d reviews in %s", count, appId) );
                     return;
                 }
                 results.getEntities(); // cause retrieval from Cassanda;
                 count += results.size();
 
-                log.info("Read {} reviews in {}", count, appId );
+                log( String.format("Read %d reviews in %s", count, appId.toString()) );
             }
         }
     }
@@ -223,8 +223,8 @@ public class Usegrid1PerformanceTest {
                             Entity entity = em.create("review", currentEntityMap );
                             
                             if ( maxEntities < 20 ) {
-                                log.info("Index written for {}", entity.getUuid());
-                                log.info("---");
+                                log( String.format("Index written for %s", entity.getUuid().toString()));
+                                log("---");
                             }
                             
                             // create the next entity
@@ -232,7 +232,7 @@ public class Usegrid1PerformanceTest {
                             
                             count++;
                             if (count % 100000 == 0) {
-                                log.info("Indexed {} reviews in {}", count, appId );
+                                log( String.format("Indexed %d reviews in %s", count, appId.toString()) );
                             }
                             continue;
                         }
@@ -242,7 +242,7 @@ public class Usegrid1PerformanceTest {
                         String value = s.substring( s.indexOf(":") + 1 ).trim();
                         
                         if ( maxEntities < 20 ) {
-                            log.info("Indexing {} = {}", name, value);
+                            log( String.format("Indexing %s = %s", name, value));
                         }
                         
                         if ( NumberUtils.isNumber(value) && value.contains(".")) {
@@ -256,7 +256,7 @@ public class Usegrid1PerformanceTest {
                         } 
 
                     } catch ( Exception e ) {
-                        log.info("Error on line " + count);
+                        log("Error on line " + count);
                     }
                 }
 
@@ -293,10 +293,14 @@ public class Usegrid1PerformanceTest {
         }
     }
 
-    public static void query( EntityManager em, String query ) throws Exception {
+    public void query( EntityManager em, String query ) throws Exception {
         Query q = Query.fromQL(query) ;
         Results results = em.searchCollection( em.getApplicationRef(), "reviews", q );
-        log.info("size = {} returned from query {}",results.size(), q.getQl() );
+        log( String.format("size = %d returned from query %s", results.size(), q.getQl()) );
     }
 
+    private void log( String s ) {
+        //log.info(s);
+        System.out.println( System.currentTimeMillis() + ": " + s );
+    }
 }


[21/26] git commit: Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into binary_serialization

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into binary_serialization

# By Todd Nine (3) and Dave Johnson (1)
# Via Todd Nine (4) and Dave Johnson (1)
* 'two-dot-o' of https://github.com/usergrid/usergrid:
  Fixed typo in readme
  Dependency and other cleanup.
  Fixes bug in query for wait script
  Initial commit of async processing framework.  Need to evaluate it a bit more on the async processing.


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

Branch: refs/pull/77/merge
Commit: 269100c3b9ea7481a6263f121f2cb983ce471736
Parents: fe2bb3b fc10597
Author: grey <gr...@apigee.com>
Authored: Mon Mar 24 09:56:00 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 24 09:56:00 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/README.md                      |   2 +-
 .../src/main/groovy/wait_for_instances.groovy   |   2 +-
 .../graph/consistency/AsyncProcessor.java       |  14 +-
 .../graph/consistency/AsyncProcessorImpl.java   |  94 ++++++-
 .../graph/consistency/TimeService.java          |  33 +++
 .../persistence/graph/guice/GraphModule.java    |   7 +-
 .../graph/consistency/AsyncProcessorTest.java   | 273 +++++++++++++++++++
 stack/corepersistence/perftest1/pom.xml         |   9 +-
 .../persistence/Usergrid1PerformanceTest.java   |  36 +--
 9 files changed, 432 insertions(+), 38 deletions(-)
----------------------------------------------------------------------



[19/26] git commit: Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/head
Commit: fc105970fa93f486b24cc1fbfc0df85349d96f97
Parents: a4dd97a c4f9d0f
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Mar 24 08:16:24 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Mar 24 08:16:24 2014 -0700

----------------------------------------------------------------------
 stack/corepersistence/perftest1/pom.xml         |  9 ++---
 .../persistence/Usergrid1PerformanceTest.java   | 36 +++++++++++---------
 2 files changed, 22 insertions(+), 23 deletions(-)
----------------------------------------------------------------------



[16/26] git commit: Update README.md

Posted by sn...@apache.org.
Update README.md

Adding link to the website

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

Branch: refs/pull/76/merge
Commit: 268250ee7690ec1539b7eff15425bea30e31e7db
Parents: 3ccd913
Author: Dave Johnson <da...@rollerweblogger.org>
Authored: Sun Mar 23 18:05:17 2014 -0400
Committer: Dave Johnson <da...@rollerweblogger.org>
Committed: Sun Mar 23 18:05:17 2014 -0400

----------------------------------------------------------------------
 README.md | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/268250ee/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 533f593..079ad0c 100644
--- a/README.md
+++ b/README.md
@@ -11,3 +11,7 @@ This repository contains all the code for Apache Usergrid, including the server
 * SDKs for [iOS](sdks/ios), [Android](sdks/android), [HTML5/JavaScript](sdks/html5-javascript), [node.js](sdks/nodejs), [Ruby on Rails](ruby-on-rails), [pure Ruby](sdks/ruby), [PHP](sdks/php), (server-side) [Java](sdks/java) and [.Net / Windows](sdks/dotnet), located in their respective subdirectories under [`/sdks`](sdks).
 
 
+For more information
+===
+See the [Apache Usergrid web site](http://usergrid.incubator.apache.org/).
+


[22/26] git commit: Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into binary_serialization

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into binary_serialization

# By Todd Nine (3) and Dave Johnson (1)
# Via Todd Nine (4) and Dave Johnson (1)
* 'two-dot-o' of https://github.com/usergrid/usergrid:
  Fixed typo in readme
  Dependency and other cleanup.
  Fixes bug in query for wait script
  Initial commit of async processing framework.  Need to evaluate it a bit more on the async processing.


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

Branch: refs/pull/77/head
Commit: 269100c3b9ea7481a6263f121f2cb983ce471736
Parents: fe2bb3b fc10597
Author: grey <gr...@apigee.com>
Authored: Mon Mar 24 09:56:00 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 24 09:56:00 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/README.md                      |   2 +-
 .../src/main/groovy/wait_for_instances.groovy   |   2 +-
 .../graph/consistency/AsyncProcessor.java       |  14 +-
 .../graph/consistency/AsyncProcessorImpl.java   |  94 ++++++-
 .../graph/consistency/TimeService.java          |  33 +++
 .../persistence/graph/guice/GraphModule.java    |   7 +-
 .../graph/consistency/AsyncProcessorTest.java   | 273 +++++++++++++++++++
 stack/corepersistence/perftest1/pom.xml         |   9 +-
 .../persistence/Usergrid1PerformanceTest.java   |  36 +--
 9 files changed, 432 insertions(+), 38 deletions(-)
----------------------------------------------------------------------



[05/26] git commit: Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/head
Commit: 56a2e214d4a529c5f7b908c52d1dc7f4e1c13e99
Parents: 1b5a581 9d6ed41
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Mar 21 15:54:20 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Mar 21 15:54:20 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |   6 +
 stack/awscluster/README.md                      |  31 +-
 stack/awscluster/cassandra-cf.json              | 315 ---------
 stack/awscluster/pom.xml                        |   6 +-
 .../main/dist/init_instance/init_db_server.sh   |  54 ++
 .../main/dist/init_instance/init_instance.sh    |  54 --
 .../main/dist/init_instance/init_rest_server.sh |  41 ++
 .../dist/init_instance/install_cassandra.sh     |  63 +-
 stack/awscluster/src/main/dist/update.sh        |  16 +
 .../src/main/groovy/configure_cassandra.groovy  |   2 +-
 .../src/main/groovy/configure_portal_new.groovy |  17 +
 .../src/main/groovy/configure_usergrid.groovy   | 126 ++++
 stack/awscluster/ugcluster-cf.json              | 647 +++++++++++++++++++
 .../serialization/SerializationFig.java         |   5 +
 ...MvccEntitySerializationStrategyImplTest.java |  57 +-
 stack/corepersistence/perftest1/pom.xml         |  76 +++
 .../usergrid/persistence/UsergridBootstrap.java | 303 +++++++++
 .../src/main/resources/log4j.properties         |  44 ++
 .../src/main/resources/project.properties       |   1 +
 .../main/resources/usergrid-test-context.xml    |  39 ++
 .../persistence/Usergrid1PerformanceTest.java   | 302 +++++++++
 .../persistence/UsergridBootstrapTest.java      |  56 ++
 stack/corepersistence/perftest2/pom.xml         |  64 ++
 .../main/groovy/perftest2/CreateEntity.groovy   | 100 +++
 .../persistence/CorePerformanceTest.java        | 318 +++++++++
 .../index/guice/TestIndexModule.java            |  30 +
 .../usergrid/persistence/index/IndexFig.java    |   8 +-
 .../index/impl/EsEntityCollectionIndex.java     |  16 +-
 .../persistence/index/impl/EsProvider.java      |  53 +-
 .../index/legacy/EntityManagerFacade.java       | 200 ++++++
 .../apache/usergrid/utils/EntityBuilder.java    | 177 +++++
 .../index/impl/CorePerformanceIT.java           | 304 +++++++++
 .../index/impl/EntityCollectionIndexTest.java   |   2 +-
 .../persistence/index/legacy/EntityBuilder.java | 177 -----
 .../index/legacy/EntityManagerFacade.java       | 200 ------
 .../src/test/resources/dynamic-test.properties  |   2 +-
 .../src/test/resources/usergrid-CHOP.properties |   5 +-
 .../src/test/resources/usergrid-UNIT.properties |   2 +-
 stack/pom.xml                                   |   4 +-
 39 files changed, 3054 insertions(+), 869 deletions(-)
----------------------------------------------------------------------



[14/26] git commit: Update README.md

Posted by sn...@apache.org.
Update README.md

Moving docs to the website.

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

Branch: refs/pull/76/head
Commit: 3ccd913b692bea8902ee40e18d6d03c94318e60d
Parents: 3f93ca7
Author: Dave Johnson <da...@rollerweblogger.org>
Authored: Sun Mar 23 18:03:51 2014 -0400
Committer: Dave Johnson <da...@rollerweblogger.org>
Committed: Sun Mar 23 18:03:51 2014 -0400

----------------------------------------------------------------------
 README.md | 62 ----------------------------------------------------------
 1 file changed, 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ccd913b/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index faaf832..533f593 100644
--- a/README.md
+++ b/README.md
@@ -10,66 +10,4 @@ This repository contains all the code for Apache Usergrid, including the server
 * the admin portal and the many SDKs. A pure HTML5+JavaScript app allowing you to register developers and let them manage their apps in a multi-tenant cluster. Located under [`/portal`](portal)
 * SDKs for [iOS](sdks/ios), [Android](sdks/android), [HTML5/JavaScript](sdks/html5-javascript), [node.js](sdks/nodejs), [Ruby on Rails](ruby-on-rails), [pure Ruby](sdks/ruby), [PHP](sdks/php), (server-side) [Java](sdks/java) and [.Net / Windows](sdks/dotnet), located in their respective subdirectories under [`/sdks`](sdks).
 
-How to build and run Usergrid locally
--------------------------------------
 
-It's easy to build and run Usergrid locally. All you need is the Java JDK 1.7 and Maven 3.0.5 installed and on your path. Here's how you do it. First you get the source code like this:
-
-    git clone git@github.com:usergrid/usergrid.git
-
-Next, you change directories into the Java SDK package and build the SDK:
-
-    cd usergrid/sdks/java
-    mvn clean install
-
-Next, you change directory into the stack directory and build the Usergrid WAR and launcher:
-
-    cd ../..
-    cd stack
-    mvn clean install
-
-Finally, you can run Usergrid locally by using the all-in-one launcher, which includes a web server (Grizzly) and the database (Cassandra):
-
-    cd launcher
-    java -jar target/usergrid-launcher-0.0.29-SNAPSHOT.jar
-
-(you might have to substitute 0.0.29-SNAPSHOT with something newer)
-
-You should see the Usergrid launcher UI and from there you can start Usergrid and access the admin console.
-
-If not, subscribe to the [user mailing list](mailto:user-subscribe@usergrid.incubator.apache.org) and we can help you out.
-    
-
-Backwards compatibility
------------------------
-
-If you previously developed with Apache Usergrid, you know our code used to be structured into _separate_ repositories: usergrid-stack, usergrid-portal, etc. We are now using a _merged_ repository.
-
-### How to update your code setup & pull changes from your old forks
-
-You just need to clone this repository, and use [git subtree (usually requires git 1.8+)](http://engineeredweb.com/blog/how-to-install-git-subtree/) to merge your changes under the new structure. Here’s an example for a portal fork. Adjust the prefix, repository address and branch you want to pull from as necessary.
-
-    git clone git@github.com:usergrid/usergrid.git
-    cd usergrid
-    git subtree pull --prefix=portal git@github.com:my-github-account/my-usergrid-portal-fork.git master
-
-This will pull (i.e. merge) the changes you made from the master branch of github.com/my-github-account/my-usergrid-portal-fork into the portal/ subfolder. It should ask you to provide a commit message for the merge. There’s lot of flexibility on how to fetch and merge, [please see the git subtree manual](https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt) for details. Then please do consider sending us a pull request with these changes ;)
-
-
-### How to pull commits made on this repo into your old forks
-
-You should really update your old repositories to the new structure with the instructions above, but the following may work for you, although we make no guarantee they will work in the future.
-
-You can produce a branch compatible with the old repos by using [git subtree (usually requires git 1.8+)](http://engineeredweb.com/blog/how-to-install-git-subtree/). Then from this repository you can
-
-    git clone git@github.com:usergrid/usergrid.git
-    cd usergrid
-    git checkout master
-    git subtree split --prefix=portal -b portal
-    git checkout portal
-
-This will create a “portal” branch that is compatible with the old usergrid-portal repository, from the code under the portal/ directory. You can pull from that branch (or push changes to it, although we will not accept pull requests sent thusly).
-
-The `git subtree split` above should function for portal, ugc, and any of the SDKs, but will not work for the stack, due to some anonymous comments left in the tree that prevent a split, and cannot be corrected lest we break the history and force a rebase on all forks.
-
-**Please update your code setup as soon as possible and [ask the dev list](https://mail-archives.apache.org/mod_mbox/incubator-usergrid-dev/) if you have any questions!**


[23/26] git commit: Merge 269100c3b9ea7481a6263f121f2cb983ce471736 into fc105970fa93f486b24cc1fbfc0df85349d96f97

Posted by sn...@apache.org.
Merge 269100c3b9ea7481a6263f121f2cb983ce471736 into fc105970fa93f486b24cc1fbfc0df85349d96f97


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

Branch: refs/pull/77/merge
Commit: 671371dcbef0ff5841a11fd1c73a72b569c39c7f
Parents: fc10597 269100c
Author: GERey <gr...@apigee.com>
Authored: Mon Mar 24 16:57:33 2014 +0000
Committer: GERey <gr...@apigee.com>
Committed: Mon Mar 24 16:57:33 2014 +0000

----------------------------------------------------------------------
 .../MvccEntitySerializationStrategyImpl.java    | 63 ++++++++++--------
 ...MvccEntitySerializationStrategyImplTest.java | 67 ++++++++++++++++++++
 stack/corepersistence/model/pom.xml             | 33 ++++++++++
 .../persistence/model/entity/Entity.java        |  8 ++-
 .../model/field/value/EntityObject.java         | 30 +++++++++
 .../persistence/model/field/value/Location.java | 11 +++-
 .../index/impl/EsEntityCollectionIndex.java     | 46 ++++++++------
 .../org/apache/usergrid/utils/JsonUtils.java    | 26 ++------
 .../index/impl/CorePerformanceIT.java           | 18 ++++--
 stack/pom.xml                                   | 43 +++++++++++++
 10 files changed, 268 insertions(+), 77 deletions(-)
----------------------------------------------------------------------



[26/26] git commit: Merge 5475be27e2a3da200440675a481e5a39f6fa8158 into 268250ee7690ec1539b7eff15425bea30e31e7db

Posted by sn...@apache.org.
Merge 5475be27e2a3da200440675a481e5a39f6fa8158 into 268250ee7690ec1539b7eff15425bea30e31e7db


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

Branch: refs/pull/76/merge
Commit: dcd0bc7e32a4f1c1057e42c530746fc3bdaaeebf
Parents: 268250e 5475be2
Author: GERey <gr...@apigee.com>
Authored: Mon Mar 24 16:58:34 2014 +0000
Committer: GERey <gr...@apigee.com>
Committed: Mon Mar 24 16:58:34 2014 +0000

----------------------------------------------------------------------
 .../applications/ApplicationResource.java       |   1 -
 stack/services/pom.xml                          |   6 +-
 .../management/export/ExportServiceImpl.java    |  59 +---
 .../management/export/S3ExportImpl.java         |  10 +-
 .../cassandra/ManagementServiceIT.java          | 290 +++++++++++++++++--
 .../management/cassandra/MockS3ExportImpl.java  |   1 -
 6 files changed, 280 insertions(+), 87 deletions(-)
----------------------------------------------------------------------



[13/26] git commit: Update README.md

Posted by sn...@apache.org.
Update README.md

Moving docs to the website.

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

Branch: refs/pull/76/merge
Commit: 3ccd913b692bea8902ee40e18d6d03c94318e60d
Parents: 3f93ca7
Author: Dave Johnson <da...@rollerweblogger.org>
Authored: Sun Mar 23 18:03:51 2014 -0400
Committer: Dave Johnson <da...@rollerweblogger.org>
Committed: Sun Mar 23 18:03:51 2014 -0400

----------------------------------------------------------------------
 README.md | 62 ----------------------------------------------------------
 1 file changed, 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3ccd913b/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index faaf832..533f593 100644
--- a/README.md
+++ b/README.md
@@ -10,66 +10,4 @@ This repository contains all the code for Apache Usergrid, including the server
 * the admin portal and the many SDKs. A pure HTML5+JavaScript app allowing you to register developers and let them manage their apps in a multi-tenant cluster. Located under [`/portal`](portal)
 * SDKs for [iOS](sdks/ios), [Android](sdks/android), [HTML5/JavaScript](sdks/html5-javascript), [node.js](sdks/nodejs), [Ruby on Rails](ruby-on-rails), [pure Ruby](sdks/ruby), [PHP](sdks/php), (server-side) [Java](sdks/java) and [.Net / Windows](sdks/dotnet), located in their respective subdirectories under [`/sdks`](sdks).
 
-How to build and run Usergrid locally
--------------------------------------
 
-It's easy to build and run Usergrid locally. All you need is the Java JDK 1.7 and Maven 3.0.5 installed and on your path. Here's how you do it. First you get the source code like this:
-
-    git clone git@github.com:usergrid/usergrid.git
-
-Next, you change directories into the Java SDK package and build the SDK:
-
-    cd usergrid/sdks/java
-    mvn clean install
-
-Next, you change directory into the stack directory and build the Usergrid WAR and launcher:
-
-    cd ../..
-    cd stack
-    mvn clean install
-
-Finally, you can run Usergrid locally by using the all-in-one launcher, which includes a web server (Grizzly) and the database (Cassandra):
-
-    cd launcher
-    java -jar target/usergrid-launcher-0.0.29-SNAPSHOT.jar
-
-(you might have to substitute 0.0.29-SNAPSHOT with something newer)
-
-You should see the Usergrid launcher UI and from there you can start Usergrid and access the admin console.
-
-If not, subscribe to the [user mailing list](mailto:user-subscribe@usergrid.incubator.apache.org) and we can help you out.
-    
-
-Backwards compatibility
------------------------
-
-If you previously developed with Apache Usergrid, you know our code used to be structured into _separate_ repositories: usergrid-stack, usergrid-portal, etc. We are now using a _merged_ repository.
-
-### How to update your code setup & pull changes from your old forks
-
-You just need to clone this repository, and use [git subtree (usually requires git 1.8+)](http://engineeredweb.com/blog/how-to-install-git-subtree/) to merge your changes under the new structure. Here’s an example for a portal fork. Adjust the prefix, repository address and branch you want to pull from as necessary.
-
-    git clone git@github.com:usergrid/usergrid.git
-    cd usergrid
-    git subtree pull --prefix=portal git@github.com:my-github-account/my-usergrid-portal-fork.git master
-
-This will pull (i.e. merge) the changes you made from the master branch of github.com/my-github-account/my-usergrid-portal-fork into the portal/ subfolder. It should ask you to provide a commit message for the merge. There’s lot of flexibility on how to fetch and merge, [please see the git subtree manual](https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt) for details. Then please do consider sending us a pull request with these changes ;)
-
-
-### How to pull commits made on this repo into your old forks
-
-You should really update your old repositories to the new structure with the instructions above, but the following may work for you, although we make no guarantee they will work in the future.
-
-You can produce a branch compatible with the old repos by using [git subtree (usually requires git 1.8+)](http://engineeredweb.com/blog/how-to-install-git-subtree/). Then from this repository you can
-
-    git clone git@github.com:usergrid/usergrid.git
-    cd usergrid
-    git checkout master
-    git subtree split --prefix=portal -b portal
-    git checkout portal
-
-This will create a “portal” branch that is compatible with the old usergrid-portal repository, from the code under the portal/ directory. You can pull from that branch (or push changes to it, although we will not accept pull requests sent thusly).
-
-The `git subtree split` above should function for portal, ugc, and any of the SDKs, but will not work for the stack, due to some anonymous comments left in the tree that prevent a split, and cannot be corrected lest we break the history and force a rebase on all forks.
-
-**Please update your code setup as soon as possible and [ask the dev list](https://mail-archives.apache.org/mod_mbox/incubator-usergrid-dev/) if you have any questions!**


[08/26] git commit: Fixes bug in query for wait script

Posted by sn...@apache.org.
Fixes bug in query for wait script

Fixed typo


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

Branch: refs/pull/77/merge
Commit: a705630f6e927b70452c22f426c746bc94b9ab71
Parents: 56a2e21
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Mar 21 15:54:49 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Mar 21 15:55:21 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/src/main/groovy/wait_for_instances.groovy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a705630f/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
index 4f125b6..a157ceb 100644
--- a/stack/awscluster/src/main/groovy/wait_for_instances.groovy
+++ b/stack/awscluster/src/main/groovy/wait_for_instances.groovy
@@ -24,7 +24,7 @@ println "Waiting..."
 def count = 0
 while (true) {
     try {
-        def selectResult = sdbClient.select(new SelectRequest((String)"select * from ${domain}"))
+        def selectResult = sdbClient.select(new SelectRequest((String)"select * from `${domain}`"))
         for (item in selectResult.getItems()) {
             def att = item.getAttributes().get(0)
             if (att.getValue().equals(stackName)) {


[17/26] git commit: Fixed typo in readme

Posted by sn...@apache.org.
Fixed typo in readme


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

Branch: refs/pull/77/merge
Commit: a4dd97aae7b368107bd50071072a8001fa83e017
Parents: a705630
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Mar 24 08:16:02 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Mar 24 08:16:02 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a4dd97aa/stack/awscluster/README.md
----------------------------------------------------------------------
diff --git a/stack/awscluster/README.md b/stack/awscluster/README.md
index b7558b6..476601a 100644
--- a/stack/awscluster/README.md
+++ b/stack/awscluster/README.md
@@ -32,7 +32,7 @@ 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 depoy` in the same
+* __Deploy this the  AWS Cluster assembly__ by running the Maven command `mvn deploy` in the same
 directory as this README file. 
 
 


[15/26] git commit: Update README.md

Posted by sn...@apache.org.
Update README.md

Adding link to the website

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

Branch: refs/pull/76/head
Commit: 268250ee7690ec1539b7eff15425bea30e31e7db
Parents: 3ccd913
Author: Dave Johnson <da...@rollerweblogger.org>
Authored: Sun Mar 23 18:05:17 2014 -0400
Committer: Dave Johnson <da...@rollerweblogger.org>
Committed: Sun Mar 23 18:05:17 2014 -0400

----------------------------------------------------------------------
 README.md | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/268250ee/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 533f593..079ad0c 100644
--- a/README.md
+++ b/README.md
@@ -11,3 +11,7 @@ This repository contains all the code for Apache Usergrid, including the server
 * SDKs for [iOS](sdks/ios), [Android](sdks/android), [HTML5/JavaScript](sdks/html5-javascript), [node.js](sdks/nodejs), [Ruby on Rails](ruby-on-rails), [pure Ruby](sdks/ruby), [PHP](sdks/php), (server-side) [Java](sdks/java) and [.Net / Windows](sdks/dotnet), located in their respective subdirectories under [`/sdks`](sdks).
 
 
+For more information
+===
+See the [Apache Usergrid web site](http://usergrid.incubator.apache.org/).
+


[11/26] git commit: Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/head
Commit: c4f9d0f20ee4c342f7fec643f4eca35d2c384518
Parents: e1b4cff a705630
Author: Dave Johnson <dm...@apigee.com>
Authored: Sat Mar 22 18:16:08 2014 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Sat Mar 22 18:16:08 2014 -0400

----------------------------------------------------------------------
 .../src/main/groovy/wait_for_instances.groovy   |   2 +-
 .../graph/consistency/AsyncProcessor.java       |  14 +-
 .../graph/consistency/AsyncProcessorImpl.java   |  94 ++++++-
 .../graph/consistency/TimeService.java          |  33 +++
 .../persistence/graph/guice/GraphModule.java    |   7 +-
 .../graph/consistency/AsyncProcessorTest.java   | 273 +++++++++++++++++++
 6 files changed, 409 insertions(+), 14 deletions(-)
----------------------------------------------------------------------



[18/26] git commit: Fixed typo in readme

Posted by sn...@apache.org.
Fixed typo in readme


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

Branch: refs/pull/77/head
Commit: a4dd97aae7b368107bd50071072a8001fa83e017
Parents: a705630
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Mar 24 08:16:02 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Mar 24 08:16:02 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a4dd97aa/stack/awscluster/README.md
----------------------------------------------------------------------
diff --git a/stack/awscluster/README.md b/stack/awscluster/README.md
index b7558b6..476601a 100644
--- a/stack/awscluster/README.md
+++ b/stack/awscluster/README.md
@@ -32,7 +32,7 @@ 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 depoy` in the same
+* __Deploy this the  AWS Cluster assembly__ by running the Maven command `mvn deploy` in the same
 directory as this README file. 
 
 


[24/26] git commit: Merge branch 'master' of https://github.com/usergrid/usergrid into Export_Persistance_Integration

Posted by sn...@apache.org.
Merge branch 'master' of https://github.com/usergrid/usergrid into Export_Persistance_Integration

# By Dave Johnson
# Via Dave Johnson
* 'master' of https://github.com/usergrid/usergrid:
  Update README.md
  Update README.md


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

Branch: refs/pull/76/merge
Commit: 5475be27e2a3da200440675a481e5a39f6fa8158
Parents: 86da615 268250e
Author: grey <gr...@apigee.com>
Authored: Mon Mar 24 09:58:14 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 24 09:58:14 2014 -0700

----------------------------------------------------------------------
 README.md | 64 +++-------------------------------------------------------
 1 file changed, 3 insertions(+), 61 deletions(-)
----------------------------------------------------------------------



[02/26] git commit: Initial commit of async processing framework. Need to evaluate it a bit more on the async processing.

Posted by sn...@apache.org.
Initial commit of async processing framework.  Need to evaluate it a bit more on the async processing.


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

Branch: refs/pull/77/merge
Commit: 1dc3973fa9eaeee62c24ad49616e240017c656ab
Parents: 0f5ad33
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Feb 21 16:46:11 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Feb 21 16:46:11 2014 -0700

----------------------------------------------------------------------
 .../graph/consistency/AsyncProcessor.java       |  14 +-
 .../graph/consistency/AsyncProcessorImpl.java   |  94 ++++++-
 .../graph/consistency/TimeService.java          |  33 +++
 .../persistence/graph/guice/GraphModule.java    |   7 +-
 .../graph/consistency/AsyncProcessorTest.java   | 273 +++++++++++++++++++
 5 files changed, 408 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
index 948ef2b..d5efc52 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessor.java
@@ -13,21 +13,23 @@ public interface AsyncProcessor {
      * The processor implementation is responsible for guaranteeing the events fire in the runtime environment.
      * This could be local or clustered, consult the documentation on the implementation.  Note that events published
      * here could possibly be double published if the operation reaches it's timeout before completion.  As a result, every
-     * receiver of the event should operate in an idempotent way.
+     * receiver of the event should operate in an idempotent way.  Note that the event will fire at a time >= the timeout time.
+     * Firing immediately should not be assumed.
      *
      * @param event The event to be scheduled for verification
-     * @param timeout  The epoch time in milliseconds the event should fire
+     * @param timeout  The time in milliseconds we should wait before the event should fire
      */
-    public <T> TimeoutEvent<T> verify(T event, long timeout);
+    public <T> TimeoutEvent<T> setVerification( T event, long timeout );
 
 
     /**
-     * Start processing the event immediately asynchronously.
+     * Start processing the event immediately asynchronously.  In the event an exception is thrown, the TimeoutEvent should be re-tried.
+     * It is up to the implementer to commit the event so that it does not fire again.  This should never throw exceptions.
      *
-     * @param event
+     * @param event The event to start
      * @param <T>
      */
-    public <T> void start(T event);
+    public <T> void start(TimeoutEvent<T> event);
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
index 2ee308a..807b2b4 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorImpl.java
@@ -1,9 +1,20 @@
 package org.apache.usergrid.persistence.graph.consistency;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import com.google.common.eventbus.EventBus;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
+import com.netflix.hystrix.HystrixCommand;
+import com.netflix.hystrix.HystrixCommandGroupKey;
+
+import rx.Observer;
+import rx.Scheduler;
 
 
 /**
@@ -12,26 +23,97 @@ import com.google.inject.Singleton;
 @Singleton
 public class AsyncProcessorImpl implements AsyncProcessor {
 
+    private static final HystrixCommandGroupKey GRAPH_REPAIR = HystrixCommandGroupKey.Factory.asKey( "Graph_Repair" );
+
     private final EventBus bus;
     private final TimeoutQueue queue;
+    private final Scheduler scheduler;
+
+    private static final Logger LOG = LoggerFactory.getLogger( AsyncProcessor.class );
+
+    private List<ErrorListener> listeners = new ArrayList<ErrorListener>();
 
 
     @Inject
-    public AsyncProcessorImpl( final EventBus bus, final TimeoutQueue queue ) {
+    public AsyncProcessorImpl( final EventBus bus, final TimeoutQueue queue, final Scheduler scheduler ) {
         this.bus = bus;
         this.queue = queue;
+        this.scheduler = scheduler;
     }
 
 
     @Override
-    public <T> TimeoutEvent<T> verify( final T event, final long timeout ) {
-        return queue.queue( event, timeout  );
+    public <T> TimeoutEvent<T> setVerification( final T event, final long timeout ) {
+        return queue.queue( event, timeout );
     }
 
 
     @Override
-    public <T> void start( final T event ) {
-        //TODO, wrap this in hystrix for timeouts and capacity
-        bus.post( event );
+    public <T> void start( final TimeoutEvent<T> event ) {
+
+
+        //run this in a timeout command so it doesn't run forever. If it times out, it will simply resume later
+        new HystrixCommand<Void>( GRAPH_REPAIR ) {
+
+            @Override
+            protected Void run() throws Exception {
+                final T busEvent = event.getEvent();
+                bus.post( busEvent );
+                return null;
+            }
+        }.toObservable( scheduler ).subscribe( new Observer<Void>() {
+            @Override
+            public void onCompleted() {
+                queue.remove( event );
+            }
+
+
+            @Override
+            public void onError( final Throwable throwable ) {
+                LOG.error( "Unable to process async event", throwable );
+
+                for ( ErrorListener listener : listeners ) {
+                    listener.onError( event, throwable );
+                }
+            }
+
+
+            @Override
+            public void onNext( final Void args ) {
+                //nothing to do here
+                System.out.print( "next" );
+                //To change body of implemented methods use File | Settings | File Templates.
+            }
+        } );
+
+        //                new Action1<Void>() {
+        //                                                   @Override
+        //                                                   public void call( final Void timeoutEvent ) {
+        //
+        //                                                   }
+        //                                               }, new Action1<Throwable>() {
+        //                                                   @Override
+        //                                                   public void call( final Throwable throwable ) {
+        //
+        //                                                   }
+        //                                               }
+        //                                             );
+    }
+
+
+    /**
+     * Add an error listener
+     */
+    public void addListener( ErrorListener listener ) {
+        this.listeners.add( listener );
+    }
+
+
+    /**
+     * Internal listener for errors, really only used for testing.  Can be used to hook into error state
+     */
+    public static interface ErrorListener {
+
+        public <T> void onError( TimeoutEvent<T> event, Throwable t );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java
new file mode 100644
index 0000000..1625550
--- /dev/null
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/consistency/TimeService.java
@@ -0,0 +1,33 @@
+/*
+ * 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.persistence.graph.consistency;
+
+
+/**
+ * Simple time service to get the current system time.  Useful in mocking
+ */
+public interface TimeService {
+
+    /**
+     * Get the current time
+     * @return
+     */
+    public long getCurrentTime();
+}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
index 00b1c41..a2506a3 100644
--- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
+++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
@@ -28,6 +28,8 @@ import org.apache.usergrid.persistence.collection.mvcc.event.PostProcessObserver
 import org.apache.usergrid.persistence.graph.EdgeManager;
 import org.apache.usergrid.persistence.graph.EdgeManagerFactory;
 import org.apache.usergrid.persistence.graph.GraphFig;
+import org.apache.usergrid.persistence.graph.consistency.AsyncProcessor;
+import org.apache.usergrid.persistence.graph.consistency.AsyncProcessorImpl;
 import org.apache.usergrid.persistence.graph.impl.CollectionIndexObserver;
 import org.apache.usergrid.persistence.graph.impl.EdgeManagerImpl;
 import org.apache.usergrid.persistence.graph.serialization.CassandraConfig;
@@ -87,11 +89,12 @@ public class GraphModule extends AbstractModule {
         migrationBinding.addBinding().to( NodeSerializationImpl.class );
 
 
+
         /**
          * Graph event bus, will need to be refactored into it's own classes
          */
 
-        final EventBus eventBus = new EventBus("asyncCleanup");
+        final EventBus eventBus = new EventBus("AsyncProcessorBus");
         bind(EventBus.class).toInstance(eventBus);
 
         //auto register every impl on the event bus
@@ -106,6 +109,8 @@ public class GraphModule extends AbstractModule {
            }
         });
 
+        bind(AsyncProcessor.class).to(AsyncProcessorImpl.class);
+
 
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1dc3973f/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java
new file mode 100644
index 0000000..c58b2c0
--- /dev/null
+++ b/stack/corepersistence/graph/src/test/java/org/apache/usergrid/persistence/graph/consistency/AsyncProcessorTest.java
@@ -0,0 +1,273 @@
+/*
+ * 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.persistence.graph.consistency;
+
+
+import java.util.Stack;
+import java.util.concurrent.CountDownLatch;
+
+import org.junit.Test;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import com.google.common.eventbus.EventBus;
+import com.google.common.eventbus.Subscribe;
+
+import rx.concurrency.Schedulers;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+
+/**
+ *
+ *
+ */
+public class AsyncProcessorTest {
+
+
+    @Test
+    public void verificationSchedule() {
+
+
+        final long timeout = 500;
+        final TestEvent event = new TestEvent();
+
+
+        final TimeoutEvent<TestEvent> timeoutEvent = new TimeoutEvent<TestEvent>() {
+            @Override
+            public TestEvent getEvent() {
+                return event;
+            }
+
+
+            @Override
+            public long getTimeout() {
+                return timeout;
+            }
+        };
+
+        final TimeoutQueue queue = mock( TimeoutQueue.class );
+
+
+        AsyncProcessor asyncProcessor = constructProcessor( null, queue );
+
+
+        //mock up the queue
+        when( queue.queue( event, timeout ) ).thenReturn( timeoutEvent );
+
+
+        TimeoutEvent<TestEvent> returned = asyncProcessor.setVerification( event, timeout );
+
+        //ensure the timeouts are returned from the Queue subsystem
+        assertSame( timeoutEvent, returned );
+    }
+
+
+    @Test( timeout = 5000 )
+    public void verifyAsyncExecution() throws InterruptedException {
+
+        final TestListener listener = new TestListener();
+
+        final EventBus testBus = new EventBus( "test" );
+
+        testBus.register( listener );
+
+
+        final TestEvent event = new TestEvent();
+
+
+        final TimeoutEvent<TestEvent> timeoutEvent = new TimeoutEvent<TestEvent>() {
+            @Override
+            public TestEvent getEvent() {
+                return event;
+            }
+
+
+            @Override
+            public long getTimeout() {
+                return 500;
+            }
+        };
+
+        final TimeoutQueue queue = mock( TimeoutQueue.class );
+
+
+        final AsyncProcessor asyncProcessor = constructProcessor( testBus, queue );
+
+        final CountDownLatch latch = new CountDownLatch( 1 );
+
+        //mock up the ack to allow us to block the test until the async confirm fires
+        when( queue.remove( timeoutEvent ) ).thenAnswer( new Answer<Boolean>() {
+            @Override
+            public Boolean answer( final InvocationOnMock invocation ) throws Throwable {
+                latch.countDown();
+                return true;
+            }
+        } );
+
+
+        asyncProcessor.start( timeoutEvent );
+
+
+        //block until the event is fired.  The correct invocation is implicitly verified by the remove mock
+
+        latch.await();
+
+        final TestEvent firedEvent = listener.events.peek();
+
+        assertSame( event, firedEvent );
+    }
+
+
+    @Test( timeout = 5000 )
+//    @Test
+    public void verifyErrorExecution() throws InterruptedException {
+
+        final ErrorListener listener = new ErrorListener();
+
+        final EventBus testBus = new EventBus( "test" );
+
+        testBus.register( listener );
+
+
+        final TestEvent event = new TestEvent();
+
+        final boolean[] invoked = new boolean[]{false, false};
+
+
+        final TimeoutEvent<TestEvent> timeoutEvent = new TimeoutEvent<TestEvent>() {
+            @Override
+            public TestEvent getEvent() {
+                return event;
+            }
+
+
+            @Override
+            public long getTimeout() {
+                return 500;
+            }
+        };
+
+        final TimeoutQueue queue = mock( TimeoutQueue.class );
+
+
+        final AsyncProcessorImpl asyncProcessor = constructProcessor( testBus, queue );
+
+        final CountDownLatch latch = new CountDownLatch( 1 );
+
+        final TimeoutEvent<?>[] errorEvents = { null };
+
+        //countdown the latch so the test can proceed
+        asyncProcessor.addListener( new AsyncProcessorImpl.ErrorListener() {
+            @Override
+            public <T> void onError( final TimeoutEvent<T> event, final Throwable t ) {
+                errorEvents[0] = event;
+                invoked[1] = true;
+                latch.countDown();
+            }
+        } );
+
+        //throw an error if remove is called.  This shouldn't happen
+        when( queue.remove( timeoutEvent ) ).then( new Answer<Boolean>() {
+            @Override
+            public Boolean answer( final InvocationOnMock invocation ) throws Throwable {
+                invoked[0] = true;
+                return false;
+            }
+        } );
+
+
+
+        //fire the event
+        asyncProcessor.start( timeoutEvent );
+
+
+        //block until the event is fired.  The invocation verification is part of the error listener unlocking
+        latch.await();
+
+        final TestEvent firedEvent = listener.events.peek();
+
+        assertSame( event, firedEvent );
+
+        assertFalse("Queue remove should not be invoked", invoked[0]);
+
+        assertTrue("Error listener should be invoked", invoked[1]);
+
+        assertEquals( event, errorEvents[0] );
+    }
+
+
+    /**
+     * Construct the async processor
+     */
+    public AsyncProcessorImpl constructProcessor( EventBus eventBus, TimeoutQueue queue ) {
+
+        return new AsyncProcessorImpl( eventBus, queue, Schedulers.threadPoolForIO() );
+    }
+
+
+    /**
+     * Marked class for events, does nothing
+     */
+    public static class TestEvent {
+
+        public boolean equals(Object other){
+            return other == this;
+        }
+    }
+
+
+    public static class TestListener {
+
+        public final Stack<TestEvent> events = new Stack<TestEvent>();
+
+
+        public TestListener() {
+
+        }
+
+
+        @Subscribe
+        public void fireTestEvent( TestEvent e ) {
+            events.push( e );
+        }
+    }
+
+
+    /**
+     * Throw error after the event is fired
+     */
+    public static class ErrorListener  {
+
+        public final Stack<TestEvent> events = new Stack<TestEvent>();
+
+
+        @Subscribe
+        public void fireTestEvent( final TestEvent e ) {
+            events.push( e );
+            throw new RuntimeException( "Test Exception thrown.  Failed to process event" );
+        }
+    }
+}


[07/26] git commit: Fixes bug in query for wait script

Posted by sn...@apache.org.
Fixes bug in query for wait script

Fixed typo


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

Branch: refs/pull/77/head
Commit: a705630f6e927b70452c22f426c746bc94b9ab71
Parents: 56a2e21
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Mar 21 15:54:49 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Mar 21 15:55:21 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/src/main/groovy/wait_for_instances.groovy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a705630f/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
index 4f125b6..a157ceb 100644
--- a/stack/awscluster/src/main/groovy/wait_for_instances.groovy
+++ b/stack/awscluster/src/main/groovy/wait_for_instances.groovy
@@ -24,7 +24,7 @@ println "Waiting..."
 def count = 0
 while (true) {
     try {
-        def selectResult = sdbClient.select(new SelectRequest((String)"select * from ${domain}"))
+        def selectResult = sdbClient.select(new SelectRequest((String)"select * from `${domain}`"))
         for (item in selectResult.getItems()) {
             def att = item.getAttributes().get(0)
             if (att.getValue().equals(stackName)) {


[04/26] git commit: Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/head
Commit: 1b5a5818f730b0d44f31ba8863e6606de2464e61
Parents: 1dc3973 4ba3650
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Mar 14 16:13:51 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Mar 14 16:13:51 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |    10 +
 portal/Gruntfile.js                             |    74 +-
 portal/archive/coming_soon.html                 |    31 +
 .../ui-bg_diagonals-thick_90_eeeeee_40x40.png   |   Bin 0 -> 251 bytes
 .../images/ui-bg_flat_100_deedf7_40x100.png     |   Bin 0 -> 182 bytes
 .../images/ui-bg_flat_100_e4f1fb_40x100.png     |   Bin 0 -> 213 bytes
 .../images/ui-bg_flat_100_f2f5f7_40x100.png     |   Bin 0 -> 212 bytes
 .../images/ui-bg_flat_15_cd0a0a_40x100.png      |   Bin 0 -> 181 bytes
 .../images/ui-bg_flat_50_3baae3_40x100.png      |   Bin 0 -> 182 bytes
 .../images/ui-bg_flat_80_d7ebf9_40x100.png      |   Bin 0 -> 183 bytes
 .../ui-bg_highlight-hard_70_000000_1x100.png    |   Bin 0 -> 118 bytes
 .../ui-bg_highlight-soft_25_ffef8f_1x100.png    |   Bin 0 -> 153 bytes
 .../images/ui-icons_000000_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_2694e8_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_2e83ff_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_3d80b3_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_72a7cf_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_ffffff_256x240.png          |   Bin 0 -> 4369 bytes
 .../css/custom-theme/jquery-ui-1.8.9.custom.css |   573 +
 portal/archive/css/jquery-ui-timepicker.css     |    53 +
 portal/archive/css/jquery.ui.statusbar.css      |    25 +
 portal/archive/css/prettify.css                 |    52 +
 portal/archive/css/usergrid-stripped.css        |  5199 ++++
 portal/archive/css/usergrid.css                 |  5203 ++++
 portal/archive/dash/README.md                   |     3 +
 .../archive/dash/config/testacular-e2e.conf.js  |    22 +
 portal/archive/dash/config/testacular.conf.js   |    20 +
 portal/archive/dash/test/e2e/runner.html        |    10 +
 portal/archive/dash/test/e2e/scenarios.js       |    45 +
 .../dash/test/lib/angular/angular-mocks.js      |  1764 ++
 .../dash/test/lib/angular/angular-scenario.js   | 26195 +++++++++++++++++
 .../archive/dash/test/lib/angular/version.txt   |     1 +
 .../archive/dash/test/unit/controllersSpec.js   |    31 +
 portal/archive/dash/test/unit/directivesSpec.js |    19 +
 portal/archive/dash/test/unit/filtersSpec.js    |    19 +
 portal/archive/dash/test/unit/servicesSpec.js   |    14 +
 portal/archive/images/APNS_cert_upload.png      |   Bin 0 -> 33956 bytes
 portal/archive/images/APNS_certification.png    |   Bin 0 -> 16855 bytes
 portal/archive/images/android-notification.png  |   Bin 0 -> 41629 bytes
 portal/archive/images/android-sdk-download.png  |   Bin 0 -> 4848 bytes
 portal/archive/images/api-activity.gif          |   Bin 0 -> 10819 bytes
 portal/archive/images/apigee-logo.png           |   Bin 0 -> 3647 bytes
 portal/archive/images/apigeetopbar.png          |   Bin 0 -> 4658 bytes
 portal/archive/images/background_one_col.png    |   Bin 0 -> 3126 bytes
 portal/archive/images/btn-copyCurl-up.png       |   Bin 0 -> 2762 bytes
 portal/archive/images/clippy-bg.png             |   Bin 0 -> 561 bytes
 portal/archive/images/close.gif                 |   Bin 0 -> 718 bytes
 portal/archive/images/dotnet-sdk-download.png   |   Bin 0 -> 7149 bytes
 portal/archive/images/down_arrow.png            |   Bin 0 -> 1285 bytes
 portal/archive/images/error.png                 |   Bin 0 -> 2009 bytes
 portal/archive/images/faviconApigee.ico         |   Bin 0 -> 1150 bytes
 .../images/glyphicons-halflings-white.png       |   Bin 0 -> 4352 bytes
 portal/archive/images/glyphicons-halflings.png  |   Bin 0 -> 4352 bytes
 .../glyphicons_halflings_135_wrench-white2.pdn  |   Bin 0 -> 5400 bytes
 .../glyphicons_halflings_135_wrench-white2.png  |   Bin 0 -> 296 bytes
 .../images/glyphicons_halflings_135_wrench.png  |   Bin 0 -> 228 bytes
 .../glyphicons_halflings_135_wrench_white.png   |   Bin 0 -> 251 bytes
 .../glyphicons_halflings_wrench_white.png       |   Bin 0 -> 1016 bytes
 portal/archive/images/google_api_key.png        |   Bin 0 -> 98118 bytes
 portal/archive/images/green_dot.png             |   Bin 0 -> 3472 bytes
 portal/archive/images/grid.png                  |   Bin 0 -> 166 bytes
 portal/archive/images/icons.png                 |   Bin 0 -> 13132 bytes
 portal/archive/images/ios-sdk-download.png      |   Bin 0 -> 4886 bytes
 portal/archive/images/iphone_message.png        |   Bin 0 -> 90307 bytes
 .../archive/images/javascript-sdk-download.png  |   Bin 0 -> 4618 bytes
 portal/archive/images/left_arrow.png            |   Bin 0 -> 1257 bytes
 portal/archive/images/logo-white.png            |   Bin 0 -> 2014 bytes
 portal/archive/images/menuActiveTriangle.png    |   Bin 0 -> 315 bytes
 portal/archive/images/nodejs-sdk-download.png   |   Bin 0 -> 5273 bytes
 portal/archive/images/notice.png                |   Bin 0 -> 2112 bytes
 portal/archive/images/orange-arrow.png          |   Bin 0 -> 242 bytes
 .../archive/images/push_notifications_icon.png  |   Bin 0 -> 338 bytes
 portal/archive/images/red_dot.png               |   Bin 0 -> 3482 bytes
 portal/archive/images/right_arrow.png           |   Bin 0 -> 1251 bytes
 portal/archive/images/ruby-sdk-download.png     |   Bin 0 -> 6343 bytes
 portal/archive/images/step_1.png                |   Bin 0 -> 1953 bytes
 portal/archive/images/step_2.png                |   Bin 0 -> 2117 bytes
 portal/archive/images/step_3.png                |   Bin 0 -> 2162 bytes
 portal/archive/images/success.png               |   Bin 0 -> 1863 bytes
 portal/archive/images/swish_arrow.png           |   Bin 0 -> 220 bytes
 portal/archive/images/topbackground.png         |   Bin 0 -> 2890 bytes
 portal/archive/images/up_arrow.png              |   Bin 0 -> 1292 bytes
 portal/archive/images/user-photo.png            |   Bin 0 -> 3849 bytes
 portal/archive/images/user_profile.png          |   Bin 0 -> 3775 bytes
 portal/archive/images/usergrid_200.png          |   Bin 0 -> 6397 bytes
 portal/archive/images/usergrid_400.png          |   Bin 0 -> 8746 bytes
 portal/archive/images/warning.png               |   Bin 0 -> 1179 bytes
 portal/archive/images/yellow_dot.png            |   Bin 0 -> 3475 bytes
 portal/archive/index-stripped2.html             |  1795 ++
 portal/archive/index.html                       |  1910 ++
 portal/archive/js/app/app.js                    |   131 +
 portal/archive/js/app/console.js                |  5393 ++++
 portal/archive/js/app/helpers.js                |   241 +
 portal/archive/js/app/navigation.js             |   251 +
 portal/archive/js/app/pages.js                  |   161 +
 portal/archive/js/app/params.js                 |    30 +
 portal/archive/js/app/quickLogin.js             |    30 +
 portal/archive/js/app/session.js                |   176 +
 portal/archive/js/app/sso.js                    |   135 +
 portal/archive/js/app/status.js                 |    37 +
 portal/archive/js/app/ui/collections.entity.js  |   320 +
 portal/archive/js/app/ui/collections.user.js    |   120 +
 portal/archive/js/app/ui/ui.js                  |   415 +
 portal/archive/js/app/usergrid.appSDK.js        |  2097 ++
 portal/archive/js/app/usergrid.appSDK.orig.js   |  2070 ++
 portal/archive/js/lib/MD5.min.js                |     1 +
 portal/archive/js/lib/backbone.js               |  1431 +
 portal/archive/js/lib/bootstrap.min.js          |     7 +
 portal/archive/js/lib/date.min.js               |     2 +
 portal/archive/js/lib/jquery-1.7.2.min.js       |     4 +
 portal/archive/js/lib/jquery-ui-1.8.18.min.js   |    15 +
 portal/archive/js/lib/jquery.dataset.min.js     |     1 +
 portal/archive/js/lib/jquery.dform-0.1.3.min.js |    16 +
 portal/archive/js/lib/jquery.jsonp-2.3.1.min.js |     3 +
 portal/archive/js/lib/jquery.tmpl.min.js        |    10 +
 .../archive/js/lib/jquery.ui.statusbar.min.js   |     1 +
 .../archive/js/lib/jquery.ui.timepicker.min.js  |     1 +
 portal/archive/js/lib/prettify.js               |  1477 +
 portal/archive/js/lib/underscore-min.js         |     5 +
 portal/archive/js/spec/client-tests.js          |   159 +
 portal/archive/js/spec/index.html               |    20 +
 portal/archive/js/spec/qunit-git.css            |   238 +
 portal/archive/js/spec/qunit-git.js             |  1865 ++
 portal/archive/js/unit-tests/appSDK-tests.js    |   255 +
 portal/archive/js/unit-tests/ie-jquery-tests.js |   191 +
 portal/archive/js/unit-tests/qunit.css          |   231 +
 portal/archive/js/unit-tests/qunit.js           |  1934 ++
 portal/archive/loading.html                     |     9 +
 portal/archive/max/index.html                   |     0
 portal/archive/planned_outage.html              |    48 +
 portal/archive/push/index.html                  |    34 +
 portal/archive/service_down.html                |    48 +
 .../apigee.ui.activities.table_rows.html        |    14 +
 .../templates/apigee.ui.admins.table_rows.html  |     8 +
 .../apigee.ui.applications.table_rows.html      |     4 +
 .../apigee.ui.collection.table_rows.html        |    67 +
 .../apigee.ui.collections.query.indexes.html    |     5 +
 .../apigee.ui.collections.table_rows.html       |     9 +
 .../apigee.ui.collections.user.header.html      |    21 +
 .../templates/apigee.ui.curl.detail.html        |    11 +
 .../templates/apigee.ui.feed.table_rows.html    |    15 +
 .../templates/apigee.ui.groups.table_rows.html  |    14 +
 .../apigee.ui.panels.group.activities.html      |    28 +
 .../apigee.ui.panels.group.details.html         |    97 +
 .../apigee.ui.panels.group.memberships.html     |    40 +
 .../apigee.ui.panels.group.permissions.html     |    99 +
 ...pigee.ui.panels.notifications.configure.html |    14 +
 .../apigee.ui.panels.role.permissions.html      |    58 +
 .../templates/apigee.ui.panels.role.users.html  |    38 +
 .../apigee.ui.panels.user.activities.html       |    40 +
 .../templates/apigee.ui.panels.user.graph.html  |    80 +
 .../apigee.ui.panels.user.memberships.html      |    40 +
 .../apigee.ui.panels.user.permissions.html      |   105 +
 .../apigee.ui.panels.user.profile.html          |   113 +
 .../apigee.ui.role.groups.table_rows.html       |    44 +
 .../templates/apigee.ui.roles.table_rows.html   |    15 +
 .../templates/apigee.ui.users.table_rows.html   |    18 +
 portal/archive/templates/test/modalForm2.html   |    32 +
 portal/archive/test/autocomplete.html           |    25 +
 portal/archive/test/modalForm.html              |    32 +
 portal/bower.json                               |     3 +-
 portal/build.sh                                 |    14 +-
 portal/config.js                                |    19 +-
 portal/css/dash.min.css                         |     1 +
 portal/css/main.css                             |  1391 +-
 portal/img/verify.png                           |   Bin 0 -> 22934 bytes
 portal/index-debug.html                         |   128 +
 portal/index-template.html                      |    26 +-
 portal/index.html                               |   128 +
 .../js/app-overview/app-overview-controller.js  |     5 +-
 portal/js/app-overview/app-overview.html        |     8 +-
 .../js/app-overview/doc-includes/android.html   |     2 +-
 .../app-overview/doc-includes/images/verify.png |   Bin 22934 -> 0 bytes
 portal/js/app-overview/doc-includes/ios.html    |     2 +-
 .../app-overview/doc-includes/javascript.html   |     2 +-
 .../app-overview/getting-started-controller.js  |     5 +-
 portal/js/app-overview/getting-started.html     |    39 +-
 portal/js/app.js                                |   106 +-
 portal/js/charts/chart-controller.js            |     2 +-
 portal/js/data/data.html                        |     9 +-
 portal/js/global/page-controller.js             |    36 +-
 portal/js/global/page-service.js                |   214 -
 portal/js/global/page-title.html                |    17 +
 portal/js/global/page-title.js                  |    31 +
 portal/js/global/ug-service.js                  |   208 +-
 portal/js/global/utility-service.js             |     4 +-
 portal/js/groups/groups-details-controller.js   |     2 +-
 portal/js/groups/groups.html                    |    13 +-
 .../libs/bootstrap/custom/css/bootstrap.min.css |   867 +-
 .../js/libs/jqueryui/jquery-ui-1.8.9.custom.css |   574 +-
 .../js/libs/jqueryui/jquery-ui-timepicker.css   |    54 +-
 portal/js/libs/usergrid-libs.min.js             |    22 +
 portal/js/libs/usergrid.sdk.js                  |     8 +-
 portal/js/login/forgot-password-controller.js   |     7 +-
 portal/js/login/login.html                      |     2 +-
 portal/js/org-overview/org-overview.html        |    12 +-
 portal/js/profile/account.html                  |     9 +-
 portal/js/roles/roles-controller.js             |     2 +-
 portal/js/roles/roles.html                      |    10 +-
 portal/js/shell/shell.html                      |     9 +-
 portal/js/templates.js                          |  2963 ++
 portal/js/usergrid-dev.min.js                   |  4770 +++
 portal/js/usergrid.min.js                       |     6 +
 portal/js/users/users-controller.js             |     4 +-
 portal/js/users/users-profile-controller.js     |     2 +-
 portal/js/users/users.html                      |    15 +-
 portal/package.json                             |     8 +-
 portal/phantomjsdriver.log                      |  3869 +++
 portal/seleniumLog.txt                          |     0
 portal/tests/karma.conf.js                      |     2 +-
 portal/tests/protractor/data.spec.js            |     9 +-
 portal/tests/protractor/monitoring.spec.js      |    15 -
 portal/tests/protractor/profile.spec.js         |     4 +
 portal/tests/protractor/push.spec.js            |    15 -
 portal/tests/protractor/users.spec.js           |    21 +-
 portal/tests/protractor/util.js                 |    17 +-
 portal/tests/protractorConf.js                  |    15 +-
 portal/tests/unit/sample.spec.js                |    12 +-
 sdks/html5-javascript/Release.md                |     6 +
 sdks/html5-javascript/lib/Usergrid.js           |     3 +-
 sdks/html5-javascript/lib/modules/Client.js     |    16 +-
 sdks/html5-javascript/lib/modules/Collection.js |    14 +-
 sdks/html5-javascript/lib/modules/Counter.js    |    16 +-
 sdks/html5-javascript/lib/modules/Entity.js     |    55 +-
 sdks/html5-javascript/lib/modules/Group.js      |    28 +-
 sdks/html5-javascript/tests/mocha/test.js       |  1588 +-
 sdks/html5-javascript/usergrid.js               |   138 +-
 sdks/html5-javascript/usergrid.min.js           |     6 +-
 .../lib/vendor/Apigee/Usergrid/Collection.php   |     4 +-
 stack/build-tools/pom.xml                       |    16 +
 .../src/main/resources/usergrid/checkstyle.xml  |    16 +
 stack/config/pom.xml                            |    16 +
 stack/config/src/main/resources/log4j.xml       |    16 +
 .../main/resources/usergrid-default.properties  |    12 +
 stack/config/src/test/resources/cassandra.yaml  |    14 +-
 stack/config/src/test/resources/hazelcast.xml   |    16 +
 stack/config/src/test/resources/log4j.xml       |    16 +
 stack/core/pom.xml                              |    16 +
 .../persistence/query/tree/QueryFilter.g        |    34 +
 .../java/org/apache/usergrid/batch/AppArgs.java |    16 +
 .../java/org/apache/usergrid/batch/Job.java     |    16 +
 .../org/apache/usergrid/batch/JobExecution.java |    17 +-
 .../apache/usergrid/batch/JobExecutionImpl.java |    18 +-
 .../org/apache/usergrid/batch/JobFactory.java   |    16 +
 .../usergrid/batch/JobNotFoundException.java    |    16 +
 .../org/apache/usergrid/batch/JobRuntime.java   |    17 +-
 .../usergrid/batch/JobRuntimeException.java     |    16 +
 .../usergrid/batch/UsergridJobFactory.java      |    16 +
 .../apache/usergrid/batch/job/OnlyOnceJob.java  |    17 +-
 .../apache/usergrid/batch/job/package-info.java |     1 -
 .../usergrid/batch/repository/JobAccessor.java  |     1 -
 .../batch/repository/JobDescriptor.java         |    16 +
 .../usergrid/batch/repository/package-info.java |     1 -
 .../org/apache/usergrid/batch/service/App.java  |    16 +
 .../usergrid/batch/service/JobListener.java     |     1 -
 .../batch/service/JobSchedulerService.java      |     1 -
 .../usergrid/batch/service/package-info.java    |     1 -
 .../hazelcast/HazelcastLifecycleMonitor.java    |    17 +-
 .../apache/usergrid/count/AbstractBatcher.java  |    17 +-
 .../apache/usergrid/count/BatchSubmitter.java   |    17 +-
 .../java/org/apache/usergrid/count/Batcher.java |    17 +-
 .../usergrid/count/CassandraCounterStore.java   |    17 +-
 .../usergrid/count/CassandraSubmitter.java      |    17 +-
 .../apache/usergrid/count/CountProducer.java    |    17 +-
 .../CounterProcessingUnavailableException.java  |    17 +-
 .../org/apache/usergrid/count/CounterStore.java |    17 +-
 .../apache/usergrid/count/SimpleBatcher.java    |    17 +-
 .../usergrid/count/Slf4JBatchSubmitter.java     |    17 +-
 .../org/apache/usergrid/count/common/Count.java |    17 +-
 .../usergrid/count/common/CountSerDeUtils.java  |    17 +-
 .../common/CountTransportSerDeException.java    |    17 +-
 .../org/apache/usergrid/count/package-info.java |    16 +
 .../usergrid/exception/JsonReadException.java   |    18 +-
 .../usergrid/exception/JsonWriteException.java  |    18 +-
 .../exception/NotImplementedException.java      |    17 +-
 .../java/org/apache/usergrid/locking/Lock.java  |    17 +-
 .../org/apache/usergrid/locking/LockHelper.java |    17 +-
 .../apache/usergrid/locking/LockManager.java    |    17 +-
 .../usergrid/locking/LockPathBuilder.java       |    17 +-
 .../locking/cassandra/HectorLockImpl.java       |    17 +-
 .../cassandra/HectorLockManagerImpl.java        |    17 +-
 .../locking/exception/UGLockException.java      |    17 +-
 .../usergrid/locking/noop/NoOpLockImpl.java     |    17 +-
 .../locking/noop/NoOpLockManagerImpl.java       |    17 +-
 .../locking/singlenode/SingleNodeLockImpl.java  |    17 +-
 .../singlenode/SingleNodeLockManagerImpl.java   |    17 +-
 .../zookeeper/ZooKeeperLockManagerImpl.java     |    17 +-
 .../locking/zookeeper/ZookeeperLockImpl.java    |    17 +-
 .../org/apache/usergrid/mq/CounterQuery.java    |    17 +-
 .../java/org/apache/usergrid/mq/Message.java    |    17 +-
 .../main/java/org/apache/usergrid/mq/Query.java |    17 +-
 .../apache/usergrid/mq/QueryFilterLexer.java    |    16 +
 .../apache/usergrid/mq/QueryFilterParser.java   |    16 +
 .../org/apache/usergrid/mq/QueryProcessor.java  |    16 +
 .../main/java/org/apache/usergrid/mq/Queue.java |    17 +-
 .../org/apache/usergrid/mq/QueueManager.java    |    17 +-
 .../apache/usergrid/mq/QueueManagerFactory.java |    17 +-
 .../org/apache/usergrid/mq/QueuePosition.java   |    17 +-
 .../java/org/apache/usergrid/mq/QueueQuery.java |    17 +-
 .../org/apache/usergrid/mq/QueueResults.java    |    17 +-
 .../java/org/apache/usergrid/mq/QueueSet.java   |    17 +-
 .../usergrid/mq/cassandra/CassandraMQUtils.java |    17 +-
 .../mq/cassandra/MessageIndexUpdate.java        |    17 +-
 .../usergrid/mq/cassandra/QueueIndexUpdate.java |    17 +-
 .../mq/cassandra/QueueManagerFactoryImpl.java   |    17 +-
 .../usergrid/mq/cassandra/QueueManagerImpl.java |    17 +-
 .../apache/usergrid/mq/cassandra/QueuesCF.java  |    17 +-
 .../mq/cassandra/io/AbstractSearch.java         |    17 +-
 .../mq/cassandra/io/ConsumerTransaction.java    |    17 +-
 .../usergrid/mq/cassandra/io/EndSearch.java     |    17 +-
 .../usergrid/mq/cassandra/io/FilterSearch.java  |    17 +-
 .../mq/cassandra/io/NoTransactionSearch.java    |    17 +-
 .../usergrid/mq/cassandra/io/QueueBounds.java   |    16 +
 .../usergrid/mq/cassandra/io/QueueSearch.java   |    17 +-
 .../usergrid/mq/cassandra/io/StartSearch.java   |    17 +-
 .../usergrid/persistence/AbstractEntity.java    |    17 +-
 .../usergrid/persistence/AggregateCounter.java  |    17 +-
 .../persistence/AggregateCounterSet.java        |    17 +-
 .../persistence/AssociatedEntityRef.java        |    17 +-
 .../usergrid/persistence/CollectionRef.java     |    17 +-
 .../persistence/ConnectedEntityRef.java         |    17 +-
 .../usergrid/persistence/ConnectionRef.java     |    17 +-
 .../usergrid/persistence/CounterQuery.java      |    17 +-
 .../usergrid/persistence/CounterResolution.java |    17 +-
 .../usergrid/persistence/CredentialsInfo.java   |    17 +-
 .../usergrid/persistence/DynamicEntity.java     |    17 +-
 .../org/apache/usergrid/persistence/Entity.java |    17 +-
 .../usergrid/persistence/EntityFactory.java     |    17 +-
 .../usergrid/persistence/EntityManager.java     |    17 +-
 .../persistence/EntityManagerFactory.java       |    17 +-
 .../persistence/EntityPropertyComparator.java   |    17 +-
 .../apache/usergrid/persistence/EntityRef.java  |    17 +-
 .../usergrid/persistence/EntityUtils.java       |    17 +-
 .../apache/usergrid/persistence/Identifier.java |    17 +-
 .../persistence/IndexBucketLocator.java         |    17 +-
 .../persistence/MultiQueryIterator.java         |    16 +
 .../persistence/PagingResultsIterator.java      |    16 +
 .../apache/usergrid/persistence/PathQuery.java  |    16 +
 .../org/apache/usergrid/persistence/Query.java  |    22 +-
 .../apache/usergrid/persistence/QueryUtils.java |    16 +
 .../usergrid/persistence/RelationManager.java   |    17 +-
 .../apache/usergrid/persistence/Results.java    |    17 +-
 .../apache/usergrid/persistence/RoleRef.java    |    17 +-
 .../org/apache/usergrid/persistence/Schema.java |    17 +-
 .../persistence/SimpleCollectionRef.java        |    17 +-
 .../usergrid/persistence/SimpleEntityRef.java   |    17 +-
 .../usergrid/persistence/SimpleRoleRef.java     |    17 +-
 .../usergrid/persistence/TypedEntity.java       |    17 +-
 .../org/apache/usergrid/persistence/Update.java |    17 +-
 .../annotations/EntityCollection.java           |    17 +-
 .../annotations/EntityDictionary.java           |    17 +-
 .../persistence/annotations/EntityProperty.java |    17 +-
 .../persistence/cassandra/ApplicationCF.java    |    17 +-
 .../usergrid/persistence/cassandra/CFEnum.java  |    17 +-
 .../cassandra/CassandraPersistenceUtils.java    |    17 +-
 .../persistence/cassandra/CassandraService.java |    17 +-
 .../cassandra/ConnectedEntityRefImpl.java       |    17 +-
 .../cassandra/ConnectionRefImpl.java            |    17 +-
 .../persistence/cassandra/CounterUtils.java     |    17 +-
 .../persistence/cassandra/CursorCache.java      |    16 +
 .../cassandra/EntityManagerFactoryImpl.java     |    17 +-
 .../cassandra/EntityManagerImpl.java            |    17 +-
 .../cassandra/EntityValueSerializer.java        |    17 +-
 .../persistence/cassandra/GeoIndexManager.java  |    17 +-
 .../persistence/cassandra/IndexUpdate.java      |    17 +-
 .../persistence/cassandra/QueryProcessor.java   |    17 +-
 .../cassandra/RelationManagerImpl.java          |    17 +-
 .../usergrid/persistence/cassandra/Setup.java   |    17 +-
 .../cassandra/SimpleIndexBucketLocatorImpl.java |    17 +-
 .../cassandra/index/ConnectedIndexScanner.java  |    17 +-
 .../cassandra/index/IndexBucketScanner.java     |    17 +-
 .../index/IndexMultiBucketSetLoader.java        |    17 +-
 .../cassandra/index/IndexScanner.java           |    17 +-
 .../cassandra/index/NoOpIndexScanner.java       |    17 +-
 .../cassandra/util/Slf4jTraceTagReporter.java   |    16 +
 .../cassandra/util/TaggedOpTimer.java           |    16 +
 .../persistence/cassandra/util/TimedOpTag.java  |    16 +
 .../cassandra/util/TraceParticipant.java        |    16 +
 .../persistence/cassandra/util/TraceTag.java    |    16 +
 .../cassandra/util/TraceTagAspect.java          |    16 +
 .../cassandra/util/TraceTagManager.java         |    16 +
 .../cassandra/util/TraceTagReporter.java        |    16 +
 .../usergrid/persistence/entities/Activity.java |    17 +-
 .../persistence/entities/Application.java       |    17 +-
 .../usergrid/persistence/entities/Asset.java    |    17 +-
 .../usergrid/persistence/entities/Device.java   |    17 +-
 .../usergrid/persistence/entities/Event.java    |    17 +-
 .../usergrid/persistence/entities/Export.java   |   158 +
 .../usergrid/persistence/entities/Folder.java   |    17 +-
 .../usergrid/persistence/entities/Group.java    |    17 +-
 .../usergrid/persistence/entities/JobData.java  |    17 +-
 .../usergrid/persistence/entities/JobStat.java  |    17 +-
 .../usergrid/persistence/entities/Message.java  |    17 +-
 .../usergrid/persistence/entities/Role.java     |    17 +-
 .../usergrid/persistence/entities/User.java     |    17 +-
 .../ApplicationAlreadyExistsException.java      |    17 +-
 .../DuplicateUniquePropertyExistsException.java |    17 +-
 .../exceptions/EntityNotFoundException.java     |    17 +-
 .../exceptions/LockingException.java            |    18 +-
 .../exceptions/NoFullTextIndexException.java    |    17 +-
 .../exceptions/NoIndexException.java            |    17 +-
 .../exceptions/PersistenceException.java        |    17 +-
 .../PropertyTypeConversionException.java        |    17 +-
 .../exceptions/QueryIterationException.java     |    16 +
 .../exceptions/QueryParseException.java         |    17 +-
 .../exceptions/QueryTokenException.java         |    17 +-
 .../persistence/exceptions/QueueException.java  |    18 +-
 .../RequiredPropertyNotFoundException.java      |    17 +-
 .../TransactionNotFoundException.java           |    17 +-
 .../UnexpectedEntityTypeException.java          |    17 +-
 .../persistence/geo/CollectionGeoSearch.java    |    16 +
 .../persistence/geo/ConnectionGeoSearch.java    |    16 +
 .../persistence/geo/EntityLocationRef.java      |    16 +
 .../EntityLocationRefDistanceComparator.java    |    17 +-
 .../persistence/geo/GeoIndexSearcher.java       |    16 +
 .../persistence/geo/GeocellManager.java         |    16 +
 .../usergrid/persistence/geo/GeocellUtils.java  |    24 +-
 .../geo/comparator/DoubleTupleComparator.java   |    16 +
 .../persistence/geo/model/BoundingBox.java      |    27 +-
 .../persistence/geo/model/CostFunction.java     |    27 +-
 .../geo/model/DefaultCostFunction.java          |    27 +-
 .../usergrid/persistence/geo/model/Point.java   |    27 +-
 .../usergrid/persistence/geo/model/Tuple.java   |    16 +
 .../usergrid/persistence/query/ir/AllNode.java  |    16 +
 .../usergrid/persistence/query/ir/AndNode.java  |    17 +-
 .../persistence/query/ir/BooleanNode.java       |    17 +-
 .../query/ir/EmailIdentifierNode.java           |    16 +
 .../query/ir/NameIdentifierNode.java            |    16 +
 .../persistence/query/ir/NodeVisitor.java       |    17 +-
 .../usergrid/persistence/query/ir/NotNode.java  |    17 +-
 .../usergrid/persistence/query/ir/OrNode.java   |    17 +-
 .../persistence/query/ir/OrderByNode.java       |    17 +-
 .../persistence/query/ir/QueryNode.java         |    17 +-
 .../persistence/query/ir/QuerySlice.java        |    17 +-
 .../persistence/query/ir/SearchVisitor.java     |    16 +
 .../persistence/query/ir/SliceNode.java         |    17 +-
 .../query/ir/UuidIdentifierNode.java            |    16 +
 .../persistence/query/ir/WithinNode.java        |    17 +-
 .../query/ir/result/AbstractScanColumn.java     |    16 +
 .../result/CollectionResultsLoaderFactory.java  |    16 +
 .../ir/result/ConnectionIndexSliceParser.java   |    17 +-
 .../query/ir/result/ConnectionRefLoader.java    |    16 +
 .../result/ConnectionResultsLoaderFactory.java  |    16 +
 .../ir/result/ConnectionTypesIterator.java      |    16 +
 .../query/ir/result/EmptyIterator.java          |    16 +
 .../query/ir/result/EntityRefLoader.java        |    17 +-
 .../query/ir/result/EntityResultsLoader.java    |    17 +-
 .../query/ir/result/GeoIterator.java            |    17 +-
 .../persistence/query/ir/result/IDLoader.java   |    16 +
 .../query/ir/result/IntersectionIterator.java   |    17 +-
 .../query/ir/result/MergeIterator.java          |    17 +-
 .../query/ir/result/MultiIterator.java          |    17 +-
 .../query/ir/result/OrderByIterator.java        |    17 +-
 .../query/ir/result/ResultIterator.java         |    17 +-
 .../query/ir/result/ResultsLoader.java          |    17 +-
 .../query/ir/result/ResultsLoaderFactory.java   |    16 +
 .../persistence/query/ir/result/ScanColumn.java |    16 +
 .../query/ir/result/ScanColumnTransformer.java  |    16 +
 .../ir/result/SecondaryIndexSliceParser.java    |    17 +-
 .../query/ir/result/SliceIterator.java          |    17 +-
 .../query/ir/result/SliceParser.java            |    17 +-
 .../query/ir/result/StaticIdIterator.java       |    16 +
 .../query/ir/result/SubtractionIterator.java    |    17 +-
 .../query/ir/result/UUIDIndexSliceParser.java   |    17 +-
 .../query/ir/result/UnionIterator.java          |    17 +-
 .../persistence/query/tree/AndOperand.java      |    17 +-
 .../persistence/query/tree/BooleanLiteral.java  |    17 +-
 .../persistence/query/tree/BooleanOperand.java  |    17 +-
 .../persistence/query/tree/ContainsOperand.java |    17 +-
 .../query/tree/ContainsProperty.java            |    17 +-
 .../usergrid/persistence/query/tree/Equal.java  |    17 +-
 .../persistence/query/tree/EqualityOperand.java |    17 +-
 .../persistence/query/tree/FloatLiteral.java    |    17 +-
 .../persistence/query/tree/GreaterThan.java     |    17 +-
 .../query/tree/GreaterThanEqual.java            |    17 +-
 .../persistence/query/tree/LessThan.java        |    17 +-
 .../persistence/query/tree/LessThanEqual.java   |    17 +-
 .../persistence/query/tree/Literal.java         |    17 +-
 .../persistence/query/tree/LiteralFactory.java  |    17 +-
 .../persistence/query/tree/LongLiteral.java     |    17 +-
 .../persistence/query/tree/NotOperand.java      |    17 +-
 .../persistence/query/tree/NumericLiteral.java  |    17 +-
 .../persistence/query/tree/Operand.java         |    17 +-
 .../persistence/query/tree/OrOperand.java       |    17 +-
 .../persistence/query/tree/Property.java        |    17 +-
 .../persistence/query/tree/QueryVisitor.java    |    17 +-
 .../persistence/query/tree/StringLiteral.java   |    17 +-
 .../persistence/query/tree/UUIDLiteral.java     |    17 +-
 .../persistence/query/tree/WithinOperand.java   |    17 +-
 .../persistence/query/tree/WithinProperty.java  |    17 +-
 .../persistence/schema/CollectionInfo.java      |    17 +-
 .../persistence/schema/DictionaryInfo.java      |    17 +-
 .../usergrid/persistence/schema/EntityInfo.java |    17 +-
 .../persistence/schema/PropertyInfo.java        |    17 +-
 .../usergrid/system/UsergridSystemMonitor.java  |    16 +
 .../org/apache/usergrid/utils/AESUtils.java     |     1 -
 .../org/apache/usergrid/utils/DateUtils.java    |    15 -
 .../org/apache/usergrid/utils/Inflector.java    |    25 -
 .../org/apache/usergrid/utils/package-info.java |     1 -
 .../query/tree/QueryFilterLexer.java            |  3106 --
 .../query/tree/QueryFilterParser.java           |  2484 --
 .../main/resources/usergrid-core-context.xml    |    16 +
 .../resources/usergrid-scheduler-context.xml    |    17 +
 stack/core/src/site/apt/format.apt              |    17 +-
 stack/core/src/site/apt/index.apt               |    16 +
 stack/core/src/site/fml/faq.fml                 |    17 +
 stack/core/src/site/site.xml                    |    16 +
 stack/core/src/site/xdoc/xdoc.xml               |    18 +-
 stack/core/src/test/java/io/baas/Simple.java    |    19 -
 .../org/apache/usergrid/AbstractCoreIT.java     |    17 +-
 .../java/org/apache/usergrid/Application.java   |    16 +
 .../apache/usergrid/ConcurrentCoreITSuite.java  |    17 +-
 .../usergrid/ConcurrentCoreIteratorITSuite.java |    16 +
 .../usergrid/ConcurrentCoreTestSuite.java       |    16 +
 .../org/apache/usergrid/CoreApplication.java    |    17 +-
 .../java/org/apache/usergrid/CoreITSetup.java   |    17 +-
 .../org/apache/usergrid/CoreITSetupImpl.java    |    16 +
 .../java/org/apache/usergrid/CoreITSuite.java   |    16 +
 .../java/org/apache/usergrid/CoreTestSuite.java |    17 +-
 .../org/apache/usergrid/batch/AppArgsTest.java  |    16 +
 .../batch/BulkJobExecutionUnitTest.java         |    16 +
 .../apache/usergrid/batch/BulkTestUtils.java    |    16 +
 .../batch/ConcurrentSchedulerITSuite.java       |    16 +
 .../batch/ConcurrentSchedulerTestSuite.java     |    16 +
 .../apache/usergrid/batch/SchedulerITSuite.java |    16 +
 .../usergrid/batch/SchedulerTestSuite.java      |    16 +
 .../usergrid/batch/UsergridJobFactoryTest.java  |    16 +
 .../usergrid/batch/job/TestJobListener.java     |     1 -
 .../usergrid/batch/job/TestJobListenerTest.java |     1 -
 .../apache/usergrid/batch/job/package-info.java |     1 -
 .../clustering/hazelcast/HazelcastTest.java     |    17 +-
 .../count/BatchCountParallelismTest.java        |    16 +
 .../usergrid/count/SimpleBatcherTest.java       |    17 +-
 .../count/common/CountSerDeUtilsTest.java       |    17 +-
 .../apache/usergrid/count/common/CountTest.java |    17 +-
 .../locking/cassandra/HectorLockManagerIT.java  |    17 +-
 .../SingleNodeLockTestSingleNode.java           |    17 +-
 .../zookeeper/AbstractZooKeeperTest.java        |    17 +-
 .../usergrid/locking/zookeeper/ZooPut.java      |    17 +-
 .../zookeeper/ZookeeperLockManagerTest.java     |    17 +-
 .../java/org/apache/usergrid/mq/MessagesIT.java |    17 +-
 .../org/apache/usergrid/mq/QueuePathsTest.java  |    17 +-
 .../usergrid/persistence/CollectionIT.java      |    17 +-
 .../usergrid/persistence/CoreSchemaManager.java |    16 +
 .../apache/usergrid/persistence/CounterIT.java  |    17 +-
 .../persistence/EntityConnectionsIT.java        |    17 +-
 .../persistence/EntityDictionaryIT.java         |    17 +-
 .../usergrid/persistence/EntityManagerIT.java   |    17 +-
 .../EntityPropertyComparatorTest.java           |    16 +
 .../apache/usergrid/persistence/EntityTest.java |    17 +-
 .../org/apache/usergrid/persistence/GeoIT.java  |    17 +-
 .../apache/usergrid/persistence/IndexIT.java    |    17 +-
 .../usergrid/persistence/PathQueryIT.java       |    16 +
 .../usergrid/persistence/PermissionsIT.java     |    17 +-
 .../apache/usergrid/persistence/QueryTest.java  |    17 +-
 .../usergrid/persistence/QueryUtilsTest.java    |    16 +
 .../apache/usergrid/persistence/SchemaTest.java |    21 +-
 .../apache/usergrid/persistence/UtilsTest.java  |    17 +-
 .../cassandra/EntityManagerFactoryImplIT.java   |    17 +-
 .../cassandra/QueryProcessorTest.java           |    17 +-
 .../SimpleIndexBucketLocatorImplTest.java       |    17 +-
 .../cassandra/util/TraceTagUnitTest.java        |    16 +
 .../persistence/entities/SampleEntity.java      |    17 +-
 ...EntityLocationRefDistanceComparatorTest.java |    17 +-
 .../query/AbstractIteratingQueryIT.java         |    17 +-
 .../persistence/query/AllInCollectionIT.java    |    17 +-
 .../persistence/query/AllInConnectionIT.java    |    17 +-
 .../query/AllInConnectionNoTypeIT.java          |    17 +-
 .../query/IntersectionUnionPagingIT.java        |    17 +-
 .../query/MultiOrderByCollectionIT.java         |    17 +-
 .../MultiOrderByComplexUnionCollectionIT.java   |    17 +-
 .../MultiOrderByComplexUnionConnectionIT.java   |    17 +-
 .../query/MultiOrderByConnectionIT.java         |    17 +-
 .../query/NotOrderByCollectionIT.java           |    17 +-
 .../query/NotOrderByConnectionIT.java           |    17 +-
 ...gleOrderByBoundRangeScanAscCollectionIT.java |    17 +-
 ...gleOrderByBoundRangeScanAscConnectionIT.java |    17 +-
 ...leOrderByBoundRangeScanDescCollectionIT.java |    17 +-
 ...leOrderByBoundRangeScanDescConnectionIT.java |    17 +-
 ...eOrderByComplexIntersectionCollectionIT.java |    17 +-
 ...eOrderByComplexIntersectionConnectionIT.java |    17 +-
 .../SingleOrderByComplexUnionCollectionIT.java  |    17 +-
 .../SingleOrderByComplexUnionConnectionIT.java  |    17 +-
 .../SingleOrderByIntersectionCollectionIT.java  |    17 +-
 .../SingleOrderByIntersectionConnectionIT.java  |    17 +-
 .../SingleOrderByLessThanLimitCollectionIT.java |    17 +-
 .../SingleOrderByLessThanLimitConnectionIT.java |    17 +-
 .../SingleOrderByMaxLimitCollectionIT.java      |    17 +-
 .../SingleOrderByMaxLimitConnectionIT.java      |    17 +-
 ...SingleOrderByNoIntersectionCollectionIT.java |    17 +-
 ...SingleOrderByNoIntersectionConnectionIT.java |    17 +-
 .../query/SingleOrderByNotCollectionIT.java     |    17 +-
 .../query/SingleOrderByNotConnectionIT.java     |    17 +-
 ...OrderBySameRangeScanGreaterCollectionIT.java |    17 +-
 ...OrderBySameRangeScanGreaterConnectionIT.java |    17 +-
 ...meRangeScanGreaterThanEqualCollectionIT.java |    17 +-
 ...gleOrderBySameRangeScanLessCollectionIT.java |    17 +-
 ...gleOrderBySameRangeScanLessConnectionIT.java |    17 +-
 ...ySameRangeScanLessThanEqualCollectionIT.java |    17 +-
 ...ySameRangeScanLessThanEqualConnectionIT.java |    17 +-
 .../query/ir/result/AbstractScanColumnTest.java |    16 +
 .../query/ir/result/InOrderIterator.java        |    16 +
 .../ir/result/IntersectionIteratorTest.java     |    17 +-
 .../query/ir/result/IteratorHelper.java         |    16 +
 .../ir/result/SubtractionIteratorTest.java      |    17 +-
 .../query/ir/result/UnionIteratorTest.java      |    17 +-
 .../persistence/query/tree/GrammarTreeTest.java |    17 +-
 .../persistence/query/tree/LongLiteralTest.java |    17 +-
 .../query/tree/StringLiteralTest.java           |    17 +-
 .../system/UsergridSystemMonitorIT.java         |    16 +
 .../apache/usergrid/utils/TimeUtilsTest.java    |     1 -
 .../org/apache/usergrid/utils/package-info.java |     1 -
 .../core/src/test/java/org/usergrid/Simple.java |    36 +
 stack/corepersistence/collection/pom.xml        |   405 +-
 .../collection/astyanax/CassandraFig.java       |     1 -
 .../collection/rx/CassandraThreadScheduler.java |     2 +-
 .../MvccLogEntrySerializationStrategyImpl.java  |     3 +-
 .../EntityCollectionManagerStressTest.java      |   104 +
 .../collection/cassandra/CassandraRule.java     |     2 +-
 .../collection/guice/TestCollectionModule.java  |    31 +-
 .../collection/guice/TestModule.java            |    26 +-
 .../persistence/graph/guice/GraphModule.java    |     7 +-
 .../graph/guice/TestGraphModule.java            |    24 +-
 stack/corepersistence/model/pom.xml             |     8 +-
 .../persistence/model/field/FloatField.java     |    35 +
 stack/corepersistence/pom.xml                   |   216 +-
 stack/corepersistence/priamcluster/README.md    |    83 -
 stack/corepersistence/priamcluster/assembly.xml |    29 -
 .../priamcluster/aws-sample.properties          |     2 -
 .../priamcluster/cassandra-cf.json              |   315 -
 stack/corepersistence/priamcluster/pom.xml      |   139 -
 .../src/main/dist/conf/Priam.properties         |    21 -
 .../src/main/dist/init_instance/create_raid0.sh |    32 -
 .../main/dist/init_instance/init_instance.sh    |    54 -
 .../dist/init_instance/install_cassandra.sh     |    56 -
 .../dist/init_instance/install_elasticsearch.sh |    24 -
 .../dist/init_instance/install_oraclejdk.sh     |    31 -
 .../src/main/dist/lib/priam-agent-1.2.24.jar    |   Bin 33020 -> 0 bytes
 .../dist/lib/priam-cass-extensions-1.2.24.jar   |   Bin 5478 -> 0 bytes
 .../src/main/dist/webapps/priam-web-1.2.24.war  |   Bin 31272443 -> 0 bytes
 .../src/main/groovy/configure_cassandra.groovy  |   113 -
 .../main/groovy/configure_elasticsearch.groovy  |    47 -
 .../src/main/groovy/configure_priam.groovy      |    41 -
 .../src/main/groovy/registry_clear.groovy       |    20 -
 .../src/main/groovy/registry_list.groovy        |    24 -
 .../src/main/groovy/registry_register.groovy    |    38 -
 .../src/main/groovy/tag_instance.groovy         |    28 -
 .../src/main/groovy/wait_for_instances.groovy   |    44 -
 stack/corepersistence/query/pom.xml             |   233 -
 .../query/src/test/resources/log4j.properties   |    30 -
 stack/corepersistence/queryindex/README.md      |    47 +
 stack/corepersistence/queryindex/pom.xml        |   147 +-
 .../persistence/query/tree/QueryFilter.g        |     4 +-
 .../ApplicationAlreadyExistsException.java      |    37 -
 .../DuplicateUniquePropertyExistsException.java |    52 -
 .../exceptions/EntityNotFoundException.java     |    45 -
 .../persistence/exceptions/IndexException.java  |    41 +
 .../exceptions/JsonReadException.java           |    18 +-
 .../exceptions/JsonWriteException.java          |    18 +-
 .../exceptions/LockingException.java            |    65 -
 .../exceptions/NoFullTextIndexException.java    |    18 +-
 .../exceptions/NotImplementedException.java     |    58 -
 .../exceptions/PersistenceException.java        |    18 +-
 .../PropertyTypeConversionException.java        |    71 -
 .../persistence/exceptions/QueryException.java  |    41 +
 .../exceptions/QueryIterationException.java     |    13 -
 .../exceptions/QueryParseException.java         |    18 +-
 .../exceptions/QueryTokenException.java         |    18 +-
 .../persistence/exceptions/QueueException.java  |    61 -
 .../RequiredPropertyNotFoundException.java      |    41 -
 .../TransactionNotFoundException.java           |    45 -
 .../UnexpectedEntityTypeException.java          |    45 -
 .../index/EntityCollectionIndex.java            |    20 +-
 .../index/EntityCollectionIndexFactory.java     |    27 +
 .../persistence/index/EntitySearchResults.java  |    65 -
 .../usergrid/persistence/index/IndexFig.java    |    71 +
 .../persistence/index/guice/IndexModule.java    |    47 +
 .../index/impl/EntityCollectionIndexImpl.java   |   272 -
 .../index/impl/EsEntityCollectionIndex.java     |   474 +
 .../persistence/index/impl/EsProvider.java      |   101 +
 .../persistence/index/impl/EsQueryVistor.java   |   165 +
 .../persistence/index/impl/IndexModule.java     |    32 -
 .../persistence/query/AggregateCounter.java     |    48 -
 .../persistence/query/AggregateCounterSet.java  |   116 -
 .../persistence/query/AssociatedEntityRef.java  |    21 -
 .../persistence/query/CollectionRef.java        |    26 -
 .../persistence/query/ConnectedEntityRef.java   |    22 -
 .../persistence/query/ConnectionRef.java        |    34 -
 .../persistence/query/CounterResolution.java    |    84 -
 .../usergrid/persistence/query/EntityRef.java   |    18 +-
 .../usergrid/persistence/query/Query.java       |   298 +-
 .../usergrid/persistence/query/QueryUtils.java  |    34 -
 .../usergrid/persistence/query/Results.java     |  1268 +-
 .../persistence/query/SimpleEntityRef.java      |    18 +-
 .../usergrid/persistence/query/ir/AllNode.java  |    45 -
 .../usergrid/persistence/query/ir/AndNode.java  |    43 -
 .../persistence/query/ir/BooleanNode.java       |    48 -
 .../query/ir/EmailIdentifierNode.java           |    28 -
 .../query/ir/NameIdentifierNode.java            |    28 -
 .../persistence/query/ir/NodeVisitor.java       |    71 -
 .../usergrid/persistence/query/ir/NotNode.java  |    62 -
 .../usergrid/persistence/query/ir/OrNode.java   |    52 -
 .../persistence/query/ir/OrderByNode.java       |    84 -
 .../persistence/query/ir/QueryNode.java         |    28 -
 .../persistence/query/ir/SearchVisitor.java     |    68 -
 .../query/ir/UuidIdentifierNode.java            |    32 -
 .../persistence/query/ir/WithinNode.java        |    87 -
 .../persistence/query/tree/AndOperand.java      |    18 +-
 .../persistence/query/tree/BooleanLiteral.java  |    18 +-
 .../persistence/query/tree/BooleanOperand.java  |    18 +-
 .../persistence/query/tree/ContainsOperand.java |    18 +-
 .../query/tree/ContainsProperty.java            |    18 +-
 .../usergrid/persistence/query/tree/Equal.java  |    18 +-
 .../persistence/query/tree/EqualityOperand.java |    18 +-
 .../persistence/query/tree/FloatLiteral.java    |    18 +-
 .../persistence/query/tree/GreaterThan.java     |    19 +-
 .../query/tree/GreaterThanEqual.java            |    19 +-
 .../persistence/query/tree/LessThan.java        |    19 +-
 .../persistence/query/tree/LessThanEqual.java   |    19 +-
 .../persistence/query/tree/Literal.java         |    19 +-
 .../persistence/query/tree/LiteralFactory.java  |    19 +-
 .../persistence/query/tree/LongLiteral.java     |    19 +-
 .../persistence/query/tree/NumericLiteral.java  |    19 +-
 .../persistence/query/tree/Operand.java         |    19 +-
 .../persistence/query/tree/OrOperand.java       |    19 +-
 .../persistence/query/tree/Property.java        |    19 +-
 .../query/tree/QueryFilterLexer.java            |  2565 --
 .../query/tree/QueryFilterParser.java           |  2186 --
 .../persistence/query/tree/QueryVisitor.java    |    28 +-
 .../persistence/query/tree/StringLiteral.java   |    19 +-
 .../persistence/query/tree/UUIDLiteral.java     |    19 +-
 .../persistence/query/tree/WithinOperand.java   |     8 +-
 .../persistence/query/tree/WithinProperty.java  |    19 +-
 .../usergrid/persistence/utils/ClassUtils.java  |    58 -
 .../persistence/utils/ConversionUtils.java      |   765 -
 .../usergrid/persistence/utils/JsonUtils.java   |   329 -
 .../usergrid/persistence/utils/ListUtils.java   |   230 -
 .../usergrid/persistence/utils/MapUtils.java    |   377 -
 .../usergrid/persistence/utils/StringUtils.java |   172 -
 .../usergrid/persistence/utils/UUIDUtils.java   |   412 -
 .../org/apache/usergrid/utils/ClassUtils.java   |    58 +
 .../apache/usergrid/utils/ConversionUtils.java  |   765 +
 .../org/apache/usergrid/utils/JsonUtils.java    |   329 +
 .../org/apache/usergrid/utils/ListUtils.java    |   232 +
 .../org/apache/usergrid/utils/MapUtils.java     |   377 +
 .../org/apache/usergrid/utils/StringUtils.java  |   172 +
 .../org/apache/usergrid/utils/UUIDUtils.java    |   412 +
 .../index/guice/TestIndexModule.java            |    30 +
 .../persistence/index/impl/CollectionIT.java    |  1658 ++
 .../index/impl/ElasticSearchRule.java           |    61 +
 .../index/impl/ElasticSearchTest.java           |    27 +-
 .../impl/EntityCollectionIndexStressTest.java   |   119 +
 .../index/impl/EntityCollectionIndexTest.java   |   222 +
 .../persistence/index/impl/EntityIndexTest.java |   306 -
 .../usergrid/persistence/index/impl/GeoIT.java  |   580 +
 .../persistence/index/impl/IndexIT.java         |   490 +
 .../persistence/index/legacy/Application.java   |   145 +
 .../index/legacy/CoreApplication.java           |   155 +
 .../persistence/index/legacy/CoreITSetup.java   |    31 +
 .../index/legacy/CoreITSetupImpl.java           |    96 +
 .../persistence/index/legacy/EntityBuilder.java |   177 +
 .../index/legacy/EntityManagerFacade.java       |   200 +
 .../persistence/index/legacy/Point.java         |    58 +
 .../query/AbstractIteratingQueryIT.java         |  1385 +
 .../persistence/query/AllInCollectionIT.java    |    33 +
 .../persistence/query/AllInConnectionIT.java    |    32 +
 .../query/AllInConnectionNoTypeIT.java          |    55 +
 .../query/IntersectionUnionPagingIT.java        |   170 +
 .../query/MultiOrderByCollectionIT.java         |    33 +
 .../MultiOrderByComplexUnionCollectionIT.java   |    33 +
 .../MultiOrderByComplexUnionConnectionIT.java   |    33 +
 .../query/MultiOrderByConnectionIT.java         |    34 +
 .../query/NotOrderByCollectionIT.java           |    33 +
 .../query/NotOrderByConnectionIT.java           |    33 +
 .../usergrid/persistence/query/QueryTest.java   |    26 +-
 ...gleOrderByBoundRangeScanAscCollectionIT.java |    33 +
 ...gleOrderByBoundRangeScanAscConnectionIT.java |    33 +
 ...leOrderByBoundRangeScanDescCollectionIT.java |    33 +
 ...leOrderByBoundRangeScanDescConnectionIT.java |    33 +
 ...eOrderByComplexIntersectionCollectionIT.java |    33 +
 ...eOrderByComplexIntersectionConnectionIT.java |    34 +
 .../SingleOrderByComplexUnionCollectionIT.java  |    33 +
 .../SingleOrderByComplexUnionConnectionIT.java  |    33 +
 .../SingleOrderByIntersectionCollectionIT.java  |    33 +
 .../SingleOrderByIntersectionConnectionIT.java  |    33 +
 .../SingleOrderByLessThanLimitCollectionIT.java |    33 +
 .../SingleOrderByLessThanLimitConnectionIT.java |    33 +
 .../SingleOrderByMaxLimitCollectionIT.java      |    34 +
 .../SingleOrderByMaxLimitConnectionIT.java      |    34 +
 ...SingleOrderByNoIntersectionCollectionIT.java |    33 +
 ...SingleOrderByNoIntersectionConnectionIT.java |    33 +
 .../query/SingleOrderByNotCollectionIT.java     |    33 +
 .../query/SingleOrderByNotConnectionIT.java     |    33 +
 ...OrderBySameRangeScanGreaterCollectionIT.java |    33 +
 ...OrderBySameRangeScanGreaterConnectionIT.java |    33 +
 ...meRangeScanGreaterThanEqualCollectionIT.java |    33 +
 ...gleOrderBySameRangeScanLessCollectionIT.java |    33 +
 ...gleOrderBySameRangeScanLessConnectionIT.java |    33 +
 ...ySameRangeScanLessThanEqualCollectionIT.java |    33 +
 ...ySameRangeScanLessThanEqualConnectionIT.java |    33 +
 .../persistence/query/tree/GrammarTreeTest.java |    49 +-
 .../persistence/query/tree/LongLiteralTest.java |    20 +-
 .../persistence/utils/ElasticSearchRule.java    |    65 -
 .../src/test/resources/dynamic-test.properties  |    16 +
 .../src/test/resources/log4j.properties         |    10 +-
 .../src/test/resources/usergrid-CHOP.properties |    16 +
 .../src/test/resources/usergrid-UNIT.properties |    18 +
 .../src/test/resources/usergrid.properties      |     1 +
 stack/launcher/launch                           |    18 +-
 stack/launcher/pom.xml                          |    16 +
 .../java/org/apache/usergrid/launcher/App.java  |    17 +-
 .../apache/usergrid/launcher/AppleUtils.java    |    17 +-
 .../org/apache/usergrid/launcher/JarMain.java   |     1 -
 .../apache/usergrid/launcher/LauncherFrame.java |    17 +-
 .../usergrid/launcher/LogViewerFrame.java       |    17 +-
 .../apache/usergrid/launcher/package-info.java  |     1 -
 .../launcher/src/main/resources/cassandra.yaml  |    14 +-
 .../resources/usergrid-standalone-context.xml   |    16 +
 .../resources/usergrid-standalone.properties    |    23 +
 stack/mongo-emulator/pom.xml                    |    16 +
 .../usergrid/mongo/MongoChannelHandler.java     |    17 +-
 .../usergrid/mongo/MongoMessageDecoder.java     |    17 +-
 .../usergrid/mongo/MongoMessageEncoder.java     |    17 +-
 .../org/apache/usergrid/mongo/MongoQuery.java   |    17 +-
 .../org/apache/usergrid/mongo/MongoServer.java  |    17 +-
 .../mongo/MongoServerPipelineFactory.java       |    17 +-
 .../usergrid/mongo/commands/Buildinfo.java      |    17 +-
 .../usergrid/mongo/commands/Collstats.java      |    17 +-
 .../apache/usergrid/mongo/commands/Count.java   |    17 +-
 .../apache/usergrid/mongo/commands/Dbstats.java |    17 +-
 .../usergrid/mongo/commands/Getlasterror.java   |    17 +-
 .../usergrid/mongo/commands/ListDatabases.java  |    17 +-
 .../usergrid/mongo/commands/MongoCommand.java   |    17 +-
 .../mongo/commands/ReplSetGetStatus.java        |    17 +-
 .../usergrid/mongo/commands/ServerStatus.java   |    17 +-
 .../usergrid/mongo/commands/Whatsmyuri.java     |    17 +-
 .../apache/usergrid/mongo/protocol/Message.java |    17 +-
 .../apache/usergrid/mongo/protocol/OpCrud.java  |    17 +-
 .../usergrid/mongo/protocol/OpDelete.java       |    17 +-
 .../usergrid/mongo/protocol/OpGetMore.java      |    17 +-
 .../usergrid/mongo/protocol/OpInsert.java       |    17 +-
 .../usergrid/mongo/protocol/OpKillCursors.java  |    17 +-
 .../apache/usergrid/mongo/protocol/OpMsg.java   |    17 +-
 .../apache/usergrid/mongo/protocol/OpQuery.java |    17 +-
 .../apache/usergrid/mongo/protocol/OpReply.java |    17 +-
 .../usergrid/mongo/protocol/OpUpdate.java       |    17 +-
 .../usergrid/mongo/query/MongoQueryParser.java  |    17 +-
 .../mongo/testproxy/MongoMessageFrame.java      |    17 +-
 .../testproxy/MongoProxyInboundHandler.java     |    17 +-
 .../testproxy/MongoProxyPipelineFactory.java    |    17 +-
 .../mongo/testproxy/MongoProxyServer.java       |    17 +-
 .../testproxy/MongoProxyServerHandler.java      |    17 +-
 .../apache/usergrid/mongo/utils/BSONUtils.java  |    17 +-
 .../usergrid/mongo/AbstractMongoTest.java       |    17 +-
 .../apache/usergrid/mongo/BasicMongoTest.java   |    16 +
 .../usergrid/mongo/DatabaseInitializer.java     |    17 +-
 .../apache/usergrid/mongo/MongoQueryTest.java   |    16 +
 stack/pom.xml                                   |    71 +
 stack/query-validator/pom.xml                   |    18 +-
 .../query/validator/ApiServerRunner.java        |    17 +-
 .../validator/DefaultQueryResultsMatcher.java   |    17 +-
 .../usergrid/query/validator/QueryEntity.java   |    17 +-
 .../usergrid/query/validator/QueryRequest.java  |    17 +-
 .../usergrid/query/validator/QueryResponse.java |    17 +-
 .../query/validator/QueryResultsMatcher.java    |    17 +-
 .../usergrid/query/validator/QueryRunner.java   |    19 +-
 .../validator/QueryValidationConfiguration.java |    17 +-
 .../query/validator/QueryValidator.java         |    17 +-
 .../usergrid/query/validator/SqliteRunner.java  |    17 +-
 .../usergrid-query-validator-context.xml        |    16 +
 .../query/validator/AbstractQueryIT.java        |    17 +-
 .../usergrid/query/validator/QueryITSuite.java  |    19 +-
 .../query/validator/users/UserQueryIT.java      |    19 +-
 .../src/test/resources/project.properties       |    16 +
 .../resources/usergrid-custom-test.properties   |    16 +
 .../test/resources/usergrid-test-context.xml    |    16 +
 stack/rest/pom.xml                              |    17 +
 .../usergrid/rest/AbstractContextResource.java  |    17 +-
 .../org/apache/usergrid/rest/ApiResponse.java   |    17 +-
 .../rest/JacksonCustomMapperProvider.java       |    17 +-
 .../org/apache/usergrid/rest/RootResource.java  |    17 +-
 .../rest/ServerEnvironmentProperties.java       |    16 +
 .../apache/usergrid/rest/SwaggerServlet.java    |    17 +-
 .../apache/usergrid/rest/SystemResource.java    |    17 +-
 .../usergrid/rest/TextToJsonSwapWriter.java     |    16 +
 .../rest/applications/ApplicationResource.java  |    17 +-
 .../rest/applications/AuthResource.java         |    17 +-
 .../rest/applications/ServiceResource.java      |    17 +-
 .../applications/assets/AssetsResource.java     |    16 +
 .../applications/events/EventsResource.java     |    17 +-
 .../rest/applications/queues/QueueResource.java |    17 +-
 .../queues/QueueSubscriberResource.java         |    17 +-
 .../queues/QueueSubscriptionResource.java       |    17 +-
 .../queues/QueueTransactionsResource.java       |    17 +-
 .../users/AbstractUserExtensionResource.java    |    17 +-
 .../rest/applications/users/UserResource.java   |    17 +-
 .../rest/applications/users/UsersResource.java  |    17 +-
 .../exceptions/AbstractExceptionMapper.java     |    17 +-
 .../usergrid/rest/exceptions/AuthErrorInfo.java |    17 +-
 .../AuthorizationExceptionMapper.java           |    17 +-
 ...cateUniquePropertyExistsExceptionMapper.java |    17 +-
 .../EntityNotFoundExceptionMapper.java          |    17 +-
 ...orbiddenServiceOperationExceptionMapper.java |    17 +-
 .../IllegalArgumentExceptionMapper.java         |    17 +-
 .../exceptions/JsonReadExceptionMapper.java     |    12 +-
 .../exceptions/JsonWriteExceptionMapper.java    |    12 +-
 .../exceptions/ManagementExceptionMapper.java   |    17 +-
 .../usergrid/rest/exceptions/NoOpException.java |    17 +-
 .../rest/exceptions/NoOpExceptionMapper.java    |    17 +-
 .../NotImplementedExceptionMapper.java          |    17 +-
 .../exceptions/OAuthProblemExceptionMapper.java |    17 +-
 ...rganizationApplicationNotFoundException.java |    16 +
 ...ationApplicationNotFoundExceptionMapper.java |    16 +
 .../exceptions/PersistenceExceptionMapper.java  |    17 +-
 .../exceptions/QueryParseExceptionMapper.java   |    17 +-
 .../exceptions/QueryTokenExceptionMapper.java   |    17 +-
 .../RecentlyUsedPasswordExceptionMapper.java    |    16 +
 .../rest/exceptions/RedirectionException.java   |    16 +
 .../exceptions/RedirectionExceptionMapper.java  |    17 +-
 ...RequiredPropertyNotFoundExceptionMapper.java |    17 +-
 .../rest/exceptions/SecurityException.java      |    17 +-
 .../exceptions/SecurityExceptionMapper.java     |    17 +-
 .../rest/exceptions/ServiceExceptionMapper.java |    17 +-
 .../ServiceResourceNotFoundExceptionMapper.java |    17 +-
 .../rest/exceptions/ThrowableMapper.java        |    17 +-
 .../TransactionNotFoundExceptionMapper.java     |    17 +-
 .../rest/filters/ContentTypeFilter.java         |    17 +-
 .../rest/filters/JSONPCallbackFilter.java       |    17 +-
 .../usergrid/rest/filters/MeteringFilter.java   |    17 +-
 .../usergrid/rest/filters/TracingFilter.java    |    16 +
 .../rest/management/ManagementResource.java     |    32 +-
 .../management/metrics/MetricsResource.java     |    16 +
 .../organizations/OrganizationResource.java     |    17 +-
 .../organizations/OrganizationsResource.java    |    17 +-
 .../applications/ApplicationResource.java       |   198 +-
 .../applications/ApplicationsResource.java      |    17 +-
 .../organizations/users/UsersResource.java      |    17 +-
 .../rest/management/users/UserResource.java     |    17 +-
 .../rest/management/users/UsersResource.java    |    17 +-
 .../organizations/OrganizationsResource.java    |    17 +-
 .../organizations/OrganizationResource.java     |    16 +
 .../rest/security/CrossOriginRequestFilter.java |    17 +-
 .../security/SecuredResourceFilterFactory.java  |    17 +-
 .../annotations/RequireAdminUserAccess.java     |    17 +-
 .../annotations/RequireApplicationAccess.java   |    17 +-
 .../annotations/RequireOrganizationAccess.java  |    17 +-
 .../annotations/RequireSystemAccess.java        |    17 +-
 .../security/shiro/RestSecurityManager.java     |    17 +-
 .../ShiroAuthenticationExceptionMapper.java     |    17 +-
 .../shiro/filters/BasicAuthSecurityFilter.java  |    17 +-
 .../ClientCredentialsSecurityFilter.java        |    17 +-
 .../OAuth2AccessTokenSecurityFilter.java        |    17 +-
 .../security/shiro/filters/SecurityFilter.java  |    17 +-
 .../session/HttpRequestSessionManager.java      |    17 +-
 .../session/HttpServletRequestSession.java      |    17 +-
 .../usergrid/rest/test/PropertiesResource.java  |    11 +-
 .../apache/usergrid/rest/utils/CORSUtils.java   |    17 +-
 .../apache/usergrid/rest/utils/JSONPUtils.java  |    17 +-
 .../usergrid/rest/utils/PathingUtils.java       |    16 +
 .../main/resources/swagger/applications.json    |    16 +
 .../src/main/resources/swagger/management.json  |    16 +
 .../src/main/resources/swagger/resources.json   |    16 +
 .../main/resources/usergrid-rest-context.xml    |    16 +
 .../resources/usergrid-rest-deploy-context.xml  |    16 +
 stack/rest/src/main/webapp/WEB-INF/c.tld        |    17 +-
 .../apache/usergrid/rest/TestResource/error.jsp |    16 +
 .../apache/usergrid/rest/TestResource/test.jsp  |    16 +
 .../ApplicationResource/authorize_form.jsp      |    16 +
 .../applications/ApplicationResource/error.jsp  |    16 +
 .../users/UserResource/activate.jsp             |    16 +
 .../applications/users/UserResource/confirm.jsp |    16 +
 .../applications/users/UserResource/error.jsp   |    16 +
 .../users/UserResource/resetpw_email_form.jsp   |    16 +
 .../UserResource/resetpw_email_success.jsp      |    16 +
 .../users/UserResource/resetpw_set_form.jsp     |    16 +
 .../users/UserResource/resetpw_set_success.jsp  |    16 +
 .../applications/users/UsersResource/error.jsp  |    16 +
 .../users/UsersResource/resetpw_email_form.jsp  |    16 +
 .../UsersResource/resetpw_email_success.jsp     |    16 +
 .../ManagementResource/authorize_form.jsp       |    16 +
 .../management/ManagementResource/error.jsp     |    16 +
 .../OrganizationResource/activate.jsp           |    16 +
 .../OrganizationResource/confirm.jsp            |    16 +
 .../OrganizationResource/error.jsp              |    16 +
 .../management/users/UserResource/activate.jsp  |    16 +
 .../management/users/UserResource/confirm.jsp   |    16 +
 .../management/users/UserResource/error.jsp     |    16 +
 .../users/UserResource/resetpw_email_form.jsp   |    16 +
 .../UserResource/resetpw_email_success.jsp      |    16 +
 .../users/UserResource/resetpw_set_form.jsp     |    16 +
 .../users/UserResource/resetpw_set_success.jsp  |    16 +
 .../management/users/UsersResource/error.jsp    |    16 +
 .../users/UsersResource/resetpw_email_form.jsp  |    16 +
 .../UsersResource/resetpw_email_success.jsp     |    16 +
 stack/rest/src/main/webapp/WEB-INF/web.xml      |    16 +
 stack/rest/src/main/webapp/css/styles.css       |    17 +-
 .../apache/usergrid/rest/AbstractRestIT.java    |    17 +-
 .../java/org/apache/usergrid/rest/BasicIT.java  |    17 +-
 .../usergrid/rest/ConcurrentRestITSuite.java    |    16 +
 .../usergrid/rest/DatabaseInitializer.java      |    17 +-
 .../java/org/apache/usergrid/rest/ITSetup.java  |    26 +-
 .../org/apache/usergrid/rest/RestITSuite.java   |    26 +-
 .../apache/usergrid/rest/TestContextSetup.java  |    16 +
 .../apache/usergrid/rest/TomcatResource.java    |    16 +
 .../ApplicationRequestCounterIT.java            |    24 +-
 .../applications/ApplicationResourceIT.java     |    16 +-
 .../rest/applications/DevicesResourceIT.java    |    16 +
 .../applications/assets/AssetResourceIT.java    |    16 +
 .../collection/BadGrammarQueryTest.java         |    16 +
 .../collection/BrowserCompatibilityTest.java    |    17 +-
 .../collection/PagingResourceIT.java            |    17 +-
 .../collection/activities/AndOrQueryTest.java   |    16 +
 .../collection/activities/OrderByTest.java      |    16 +
 .../activities/PagingEntitiesTest.java          |    16 +
 .../collection/activities/PutTest.java          |    16 +
 .../collection/groups/GeoPagingTest.java        |    26 +-
 .../collection/groups/UpdateGroupIT.java        |    26 +-
 .../applications/events/EventsResourceIT.java   |    16 +
 .../queues/AbstractQueueResourceIT.java         |    16 +
 .../queues/QueueResourceLong1IT.java            |    16 +
 .../queues/QueueResourceLong2IT.java            |    16 +
 .../queues/QueueResourceLong3IT.java            |    16 +
 .../queues/QueueResourceShortIT.java            |    16 +
 .../applications/users/ActivityResourceIT.java  |    17 +-
 .../users/CollectionsResourceIT.java            |    17 +-
 .../users/ConnectionResourceTest.java           |    16 +
 .../applications/users/GroupResourceIT.java     |    17 +-
 .../applications/users/OwnershipResourceIT.java |    17 +-
 .../users/PermissionsResourceIT.java            |    17 +-
 .../applications/users/RetrieveUsersTest.java   |    16 +
 .../rest/applications/users/UserResourceIT.java |    17 +-
 .../users/extensions/TestResource.java          |    17 +-
 .../rest/applications/utils/TestUtils.java      |    17 +-
 .../rest/applications/utils/UserRepo.java       |    16 +
 .../rest/filters/ContentTypeResourceIT.java     |    17 +-
 .../rest/management/ManagementResourceIT.java   |   598 +-
 .../rest/management/RegistrationIT.java         |    25 +-
 .../organizations/AdminEmailEncodingIT.java     |    16 +
 .../organizations/OrganizationResourceIT.java   |    16 +
 .../organizations/OrganizationsResourceIT.java  |    16 +
 .../applications/ApplicationsIT.java            |    84 +
 .../rest/management/users/MUUserResourceIT.java |    25 +-
 .../UsersOrganizationsResourceIT.java           |    16 +
 .../rest/test/PropertiesResourceIT.java         |    12 +-
 .../rest/test/resource/CollectionResource.java  |    17 +-
 .../usergrid/rest/test/resource/Connection.java |    17 +-
 .../rest/test/resource/CustomCollection.java    |    17 +-
 .../rest/test/resource/EntityResource.java      |    17 +-
 .../apache/usergrid/rest/test/resource/Me.java  |    17 +-
 .../rest/test/resource/NamedResource.java       |    17 +-
 .../rest/test/resource/ResultsParser.java       |    17 +-
 .../rest/test/resource/RootResource.java        |    17 +-
 .../rest/test/resource/SetResource.java         |    17 +-
 .../rest/test/resource/TestContext.java         |    26 +-
 .../rest/test/resource/ValueResource.java       |    17 +-
 .../rest/test/resource/app/Application.java     |    17 +-
 .../usergrid/rest/test/resource/app/Device.java |    17 +-
 .../usergrid/rest/test/resource/app/User.java   |    17 +-
 .../rest/test/resource/app/UsersCollection.java |    17 +-
 .../resource/app/queue/DevicesCollection.java   |    17 +-
 .../rest/test/resource/app/queue/Queue.java     |    17 +-
 .../resource/app/queue/QueuesCollection.java    |    17 +-
 .../app/queue/SubscribersCollection.java        |    17 +-
 .../test/resource/app/queue/Transaction.java    |    17 +-
 .../app/queue/TransactionsCollection.java       |    17 +-
 .../rest/test/resource/mgmt/Application.java    |    17 +-
 .../resource/mgmt/ApplicationsCollection.java   |    17 +-
 .../rest/test/resource/mgmt/Management.java     |    17 +-
 .../rest/test/resource/mgmt/Organization.java   |    17 +-
 .../resource/mgmt/OrganizationsCollection.java  |    17 +-
 .../rest/test/security/TestAdminUser.java       |    17 +-
 .../rest/test/security/TestAppUser.java         |    17 +-
 .../usergrid/rest/test/security/TestUser.java   |    17 +-
 stack/services/pom.xml                          |    16 +
 .../management/AccountCreationProps.java        |    17 +-
 .../usergrid/management/ActivationState.java    |    16 +
 .../usergrid/management/ApplicationCreator.java |    16 +
 .../usergrid/management/ApplicationInfo.java    |    17 +-
 .../usergrid/management/ManagementService.java  |    17 +-
 .../usergrid/management/OrganizationInfo.java   |    17 +-
 .../management/OrganizationOwnerInfo.java       |    17 +-
 .../management/OrganizationProfile.java         |    17 +-
 .../apache/usergrid/management/UserInfo.java    |    17 +-
 .../cassandra/AccountCreationPropsImpl.java     |    17 +-
 .../cassandra/ApplicationCreatorImpl.java       |    16 +
 .../cassandra/ManagementServiceImpl.java        |    45 +-
 .../ApplicationCreationException.java           |    16 +
 .../exceptions/DisabledAdminUserException.java  |    17 +-
 .../exceptions/DisabledAppUserException.java    |    17 +-
 .../exceptions/IncorrectPasswordException.java  |    17 +-
 .../exceptions/ManagementException.java         |    17 +-
 .../RecentlyUsedPasswordException.java          |    16 +
 .../UnableToLeaveOrganizationException.java     |    17 +-
 .../UnactivatedAdminUserException.java          |    17 +-
 .../exceptions/UnactivatedAppUserException.java |    17 +-
 .../UnactivatedOrganizationException.java       |    17 +-
 .../UnconfirmedAdminUserException.java          |    17 +-
 .../usergrid/management/export/ExportJob.java   |    81 +
 .../management/export/ExportService.java        |    48 +
 .../management/export/ExportServiceImpl.java    |   608 +
 .../usergrid/management/export/S3Export.java    |    35 +
 .../management/export/S3ExportImpl.java         |   109 +
 .../usergrid/management/utils/AccountUtils.java |    17 +-
 .../usergrid/security/AuthPrincipalInfo.java    |    17 +-
 .../usergrid/security/AuthPrincipalType.java    |    17 +-
 .../security/crypto/EncryptionService.java      |    17 +-
 .../security/crypto/EncryptionServiceImpl.java  |    17 +-
 .../security/crypto/command/BcryptCommand.java  |    17 +-
 .../crypto/command/EncryptionCommand.java       |    17 +-
 .../security/crypto/command/Md5HashCommand.java |    17 +-
 .../crypto/command/PlainTextCommand.java        |    17 +-
 .../crypto/command/SaltedHasherCommand.java     |    17 +-
 .../crypto/command/Sha1HashCommand.java         |    17 +-
 .../usergrid/security/oauth/AccessInfo.java     |    17 +-
 .../security/oauth/ClientCredentialsInfo.java   |    17 +-
 .../usergrid/security/oauth/OAuthProxy.java     |    17 +-
 .../security/oauth/OAuthProxyFactory.java       |    17 +-
 .../security/providers/AbstractProvider.java    |    16 +
 .../security/providers/FacebookProvider.java    |    16 +
 .../security/providers/FoursquareProvider.java  |    16 +
 .../providers/PingIdentityProvider.java         |    16 +
 .../security/providers/SignInAsProvider.java    |    16 +
 .../providers/SignInProviderFactory.java        |    16 +
 .../security/salt/NoOpSaltProvider.java         |    17 +-
 .../security/salt/PropertiesSaltProvider.java   |    17 +-
 .../usergrid/security/salt/SaltProvider.java    |    17 +-
 .../security/shiro/CustomPermission.java        |    17 +-
 .../shiro/CustomPermissionResolver.java         |    17 +-
 .../shiro/PrincipalCredentialsToken.java        |    17 +-
 .../apache/usergrid/security/shiro/Realm.java   |    17 +-
 .../AbstractAccessTokenCredentials.java         |    17 +-
 .../credentials/AbstractClientCredentials.java  |    17 +-
 .../AbstractPasswordCredentials.java            |    17 +-
 .../credentials/AccessTokenCredentials.java     |    17 +-
 .../shiro/credentials/AdminUserAccessToken.java |    17 +-
 .../shiro/credentials/AdminUserCredentials.java |    17 +-
 .../shiro/credentials/AdminUserPassword.java    |    17 +-
 .../credentials/ApplicationAccessToken.java     |    17 +-
 .../ApplicationClientCredentials.java           |    17 +-
 .../credentials/ApplicationCredentials.java     |    17 +-
 .../shiro/credentials/ApplicationGuest.java     |    17 +-
 .../credentials/ApplicationUserAccessToken.java |    17 +-
 .../credentials/ApplicationUserCredentials.java |    17 +-
 .../credentials/ApplicationUserPassword.java    |    17 +-
 .../shiro/credentials/ClientCredentials.java    |    17 +-
 .../credentials/OrganizationAccessToken.java    |    17 +-
 .../OrganizationClientCredentials.java          |    17 +-
 .../credentials/OrganizationCredentials.java    |    17 +-
 .../shiro/credentials/PasswordCredentials.java  |    17 +-
 .../shiro/credentials/PrincipalCredentials.java |    17 +-
 .../shiro/principals/AdminUserPrincipal.java    |    17 +-
 .../principals/ApplicationGuestPrincipal.java   |    17 +-
 .../shiro/principals/ApplicationPrincipal.java  |    17 +-
 .../principals/ApplicationUserPrincipal.java    |    17 +-
 .../shiro/principals/OrganizationPrincipal.java |    17 +-
 .../shiro/principals/PrincipalIdentifier.java   |    17 +-
 .../shiro/principals/UserPrincipal.java         |    17 +-
 .../security/shiro/utils/SubjectUtils.java      |    17 +-
 .../usergrid/security/tokens/TokenCategory.java |    17 +-
 .../usergrid/security/tokens/TokenInfo.java     |    16 +
 .../usergrid/security/tokens/TokenService.java  |    16 +
 .../tokens/cassandra/TokenServiceImpl.java      |    18 +-
 .../tokens/exceptions/BadTokenException.java    |    17 +-
 .../exceptions/ExpiredTokenException.java       |    17 +-
 .../exceptions/InvalidTokenException.java       |    17 +-
 .../tokens/exceptions/TokenException.java       |    17 +-
 .../services/AbstractCollectionService.java     |    20 +-
 .../services/AbstractConnectionsService.java    |    17 +-
 .../AbstractPathBasedColllectionService.java    |    17 +-
 .../usergrid/services/AbstractService.java      |    17 +-
 .../org/apache/usergrid/services/Service.java   |    17 +-
 .../apache/usergrid/services/ServiceAction.java |    17 +-
 .../ServiceCollectionEventListener.java         |    17 +-
 .../usergrid/services/ServiceContext.java       |    17 +-
 .../services/ServiceExecutionEvent.java         |    17 +-
 .../services/ServiceExecutionEventListener.java |    17 +-
 .../apache/usergrid/services/ServiceInfo.java   |    17 +-
 .../usergrid/services/ServiceManager.java       |    17 +-
 .../services/ServiceManagerFactory.java         |    17 +-
 .../usergrid/services/ServiceParameter.java     |    17 +-
 .../usergrid/services/ServicePayload.java       |    17 +-
 .../usergrid/services/ServiceRequest.java       |    17 +-
 .../usergrid/services/ServiceResults.java       |    17 +-
 .../apache/usergrid/services/ServiceUtils.java  |    17 +-
 .../services/activities/ActivitiesService.java  |    17 +-
 .../applications/ApplicationsService.java       |    17 +-
 .../usergrid/services/assets/AssetsService.java |    17 +-
 .../services/assets/data/AssetMimeHandler.java  |    16 +
 .../services/assets/data/AssetUtils.java        |    16 +
 .../services/assets/data/BinaryStore.java       |    16 +
 .../assets/data/LocalFileBinaryStore.java       |    16 +
 .../services/assets/data/S3BinaryStore.java     |    16 +
 .../services/devices/DevicesService.java        |    17 +-
 .../services/devices/users/UsersService.java    |    17 +-
 .../ForbiddenServiceOperationException.java     |    17 +-
 .../services/exceptions/ServiceException.java   |    17 +-
 .../exceptions/ServiceInvocationException.java  |    17 +-
 .../ServiceResourceNotFoundException.java       |    17 +-
 .../UndefinedServiceEntityTypeException.java    |    17 +-
 .../UnsupportedServiceOperationException.java   |    17 +-
 .../generic/GenericCollectionService.java       |    17 +-
 .../generic/GenericConnectionsService.java      |    17 +-
 .../services/generic/RootCollectionService.java |    17 +-
 .../usergrid/services/groups/GroupsService.java |    17 +-
 .../groups/activities/ActivitiesService.java    |    17 +-
 .../services/groups/roles/RolesService.java     |    17 +-
 .../services/groups/users/UsersService.java     |    17 +-
 .../users/activities/ActivitiesService.java     |    17 +-
 .../groups/users/devices/DevicesService.java    |    17 +-
 .../services/messages/MessagesService.java      |    17 +-
 .../usergrid/services/roles/RolesService.java   |    17 +-
 .../services/roles/groups/GroupsService.java    |    17 +-
 .../services/roles/users/UsersService.java      |    17 +-
 .../usergrid/services/users/UsersService.java   |    17 +-
 .../users/activities/ActivitiesService.java     |    53 +-
 .../services/users/devices/DevicesService.java  |    17 +-
 .../users/following/FollowingService.java       |    16 +
 .../services/users/groups/GroupsService.java    |    17 +-
 .../services/users/roles/RolesService.java      |    17 +-
 .../org/apache/usergrid/utils/PythonUtils.java  |    17 +-
 .../src/main/python/pyusergrid/__init__.py      |    15 +
 .../main/python/pyusergrid/services/__init__.py |    15 +
 .../pyusergrid/services/pytest/PytestService.py |    16 +
 .../pyusergrid/services/pytest/__init__.py      |    15 +
 .../python/pyusergrid/services/pytest/test.py   |    16 +
 stack/services/src/main/python/test/__init__.py |    15 +
 stack/services/src/main/python/test/test.py     |    16 +
 .../resources/usergrid-services-context.xml     |    26 +
 .../test/java/baas/io/simple/SimpleService.java |    18 -
 .../usergrid/ConcurrentServiceITSuite.java      |    16 +
 .../org/apache/usergrid/ServiceApplication.java |    16 +
 .../org/apache/usergrid/ServiceITSetup.java     |    19 +
 .../org/apache/usergrid/ServiceITSetupImpl.java |    22 +
 .../org/apache/usergrid/ServiceITSuite.java     |    16 +
 .../apache/usergrid/management/EmailFlowIT.java |    17 +-
 .../management/ManagementTestHelper.java        |    17 +-
 .../usergrid/management/MockImapClient.java     |    16 +
 .../usergrid/management/OrganizationIT.java     |    25 +-
 .../org/apache/usergrid/management/RoleIT.java  |    17 +-
 .../cassandra/ApplicationCreatorIT.java         |    16 +
 .../cassandra/ManagementServiceIT.java          |   723 +-
 .../cassandra/ManagementTestHelperImpl.java     |    17 +-
 .../management/cassandra/MockS3ExportImpl.java  |    72 +
 .../org/apache/usergrid/python/JythonTest.java  |    17 +-
 .../usergrid/security/CustomResolverTest.java   |    17 +-
 .../crypto/EncryptionServiceImplTest.java       |    17 +-
 .../crypto/command/BcryptCommandTest.java       |    17 +-
 .../crypto/command/Md5HashCommandTest.java      |    17 +-
 .../crypto/command/Sha1HashCommandTest.java     |    17 +-
 .../security/providers/FacebookProviderIT.java  |    16 +
 .../providers/PingIdentityProviderIT.java       |    16 +
 .../security/tokens/TokenServiceIT.java         |    16 +
 .../usergrid/services/AbstractServiceIT.java    |    17 +-
 .../usergrid/services/ActivitiesServiceIT.java  |    17 +-
 .../services/ApplicationsServiceIT.java         |    17 +-
 .../usergrid/services/CollectionServiceIT.java  |    17 +-
 .../usergrid/services/ConnectionsServiceIT.java |    17 +-
 .../usergrid/services/GroupServiceIT.java       |    17 +-
 .../usergrid/services/RolesServiceIT.java       |    17 +-
 .../usergrid/services/ServiceFactoryIT.java     |    19 +-
 .../usergrid/services/ServiceInfoTest.java      |    17 +-
 .../usergrid/services/ServiceInvocationIT.java  |    17 +-
 .../usergrid/services/ServiceRequestIT.java     |    17 +-
 .../usergrid/services/UsersServiceIT.java       |    17 +-
 .../services/assets/data/AssetUtilsTest.java    |    16 +
 .../usergrid/services/simple/SimpleService.java |    33 +
 .../src/test/resources/project.properties       |    16 +
 .../test/resources/usergrid-test-context.xml    |    16 +
 stack/test-utils/pom.xml                        |    16 +
 .../apache/usergrid/NoExitSecurityManager.java  |    16 +
 .../usergrid/cassandra/AvailablePortFinder.java |    27 +-
 .../usergrid/cassandra/CassandraResource.java   |    16 +
 .../usergrid/cassandra/ClearShiroSubject.java   |    16 +
 .../apache/usergrid/cassandra/Concurrent.java   |    16 +
 .../cassandra/ConcurrentJunitRunner.java        |    16 +
 .../usergrid/cassandra/ConcurrentSuite.java     |    16 +
 .../apache/usergrid/cassandra/DataControl.java  |    16 +
 .../apache/usergrid/cassandra/DataLoader.java   |    16 +
 .../usergrid/cassandra/SchemaManager.java       |    16 +
 .../src/main/resources/cassandra.yaml           |    12 +
 .../src/main/resources/log4j.properties         |    12 +
 .../cassandra/AnotherCassandraResourceIT.java   |    16 +
 .../cassandra/CassandraResourceITSuite.java     |    16 +
 .../cassandra/CassandraResourceTest.java        |    16 +
 .../usergrid/cassandra/FakeSchemaManager.java   |    16 +
 .../usergrid/cassandra/OkThisIsTheLastIT.java   |    16 +
 .../YetAnotherCassandraResourceIT.java          |    16 +
 .../src/test/resources/project.properties       |    12 +
 .../test/resources/usergrid-test-context.xml    |    16 +
 stack/tools/impoexpo.sh                         |    16 +
 stack/tools/pom.xml                             |    16 +
 stack/tools/src/main/assembly/release.xml       |    16 +
 .../main/dist/usergrid-custom-tools.properties  |    16 +
 stack/tools/src/main/dist/usergrid-export.sh    |    16 +
 .../java/org/apache/usergrid/tools/ApiDoc.java  |    17 +-
 .../org/apache/usergrid/tools/AppAudit.java     |    17 +-
 .../org/apache/usergrid/tools/AppNameFix.java   |    17 +-
 .../java/org/apache/usergrid/tools/Cli.java     |    17 +-
 .../java/org/apache/usergrid/tools/Command.java |    17 +-
 .../org/apache/usergrid/tools/CredExport.java   |    17 +-
 .../apache/usergrid/tools/DupAdminRepair.java   |    17 +-
 .../org/apache/usergrid/tools/DupOrgRepair.java |    17 +-
 .../apache/usergrid/tools/EntityCleanup.java    |    17 +-
 .../usergrid/tools/EntityInsertBenchMark.java   |    17 +-
 .../usergrid/tools/EntityReadBenchMark.java     |    17 +-
 .../org/apache/usergrid/tools/EntityUpdate.java |    16 +
 .../java/org/apache/usergrid/tools/Export.java  |    17 +-
 .../usergrid/tools/ExportDataCreator.java       |    17 +-
 .../usergrid/tools/ExportingToolBase.java       |    23 +-
 .../java/org/apache/usergrid/tools/Import.java  |    17 +-
 .../org/apache/usergrid/tools/ImportFB.java     |    17 +-
 .../org/apache/usergrid/tools/IndexRebuild.java |    17 +-
 .../java/org/apache/usergrid/tools/Metrics.java |    16 +
 .../usergrid/tools/OrganizationExport.java      |    16 +
 .../apache/usergrid/tools/PopulateSample.java   |    17 +-
 .../RepairingMismatchedApplicationMetadata.java |    73 +
 .../apache/usergrid/tools/ResetSuperUser.java   |    17 +-
 .../java/org/apache/usergrid/tools/SetupDB.java |    17 +-
 .../java/org/apache/usergrid/tools/Test.java    |    17 +-
 .../org/apache/usergrid/tools/ToolBase.java     |    16 +-
 .../usergrid/tools/UniqueIndexCleanup.java      |    17 +-
 .../org/apache/usergrid/tools/UserManager.java  |    16 +
 .../apache/usergrid/tools/WarehouseExport.java  |    16 +-
 .../apache/usergrid/tools/WarehouseUpsert.java  |    23 +-
 .../usergrid/tools/apidoc/swagger/Api.java      |    17 +-
 .../tools/apidoc/swagger/ApiListing.java        |    17 +-
 .../tools/apidoc/swagger/ApiOperation.java      |    17 +-
 .../tools/apidoc/swagger/ApiOperationError.java |    17 +-
 .../usergrid/tools/apidoc/swagger/ApiParam.java |    17 +-
 .../apidoc/swagger/ApiParamAllowableValues.java |    17 +-
 .../apache/usergrid/tools/bean/AppScore.java    |    16 +
 .../apache/usergrid/tools/bean/ExportOrg.java   |    17 +-
 .../apache/usergrid/tools/bean/MetricLine.java  |    16 +
 .../apache/usergrid/tools/bean/MetricQuery.java |    16 +
 .../apache/usergrid/tools/bean/MetricSort.java  |    16 +
 .../apache/usergrid/tools/bean/OrgScore.java    |    16 +
 .../src/main/resources/apidoc/applications.yaml |    11 +
 .../src/main/resources/apidoc/management.yaml   |    11 +
 stack/tools/src/main/resources/log4j.xml        |    16 +
 .../main/resources/toolsApplicationContext.xml  |    16 +
 .../src/main/resources/warehouse-schema.sql     |    18 +-
 stack/websocket/pom.xml                         |    16 +
 .../websocket/WebSocketChannelHandler.java      |    17 +-
 .../usergrid/websocket/WebSocketKeyStore.java   |    17 +-
 .../usergrid/websocket/WebSocketServer.java     |    30 +-
 .../websocket/WebSocketServerIndexPage.java     |    30 +-
 .../WebSocketServerPipelineFactory.java         |    17 +-
 .../websocket/WebSocketSslContextFactory.java   |    17 +-
 .../usergrid/websocket/ExampleListener.java     |    17 +-
 .../websocket/SimpleMessageProducer.java        |    17 +-
 .../usergrid/websocket/WebSocketServerTest.java |    17 +-
 .../src/test/resources/test-activemq.xml        |    27 +-
 .../test/resources/testApplicationContext.xml   |    16 +
 1353 files changed, 101866 insertions(+), 27620 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1b5a5818/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
----------------------------------------------------------------------


[03/26] git commit: Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/merge
Commit: 1b5a5818f730b0d44f31ba8863e6606de2464e61
Parents: 1dc3973 4ba3650
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Mar 14 16:13:51 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Mar 14 16:13:51 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |    10 +
 portal/Gruntfile.js                             |    74 +-
 portal/archive/coming_soon.html                 |    31 +
 .../ui-bg_diagonals-thick_90_eeeeee_40x40.png   |   Bin 0 -> 251 bytes
 .../images/ui-bg_flat_100_deedf7_40x100.png     |   Bin 0 -> 182 bytes
 .../images/ui-bg_flat_100_e4f1fb_40x100.png     |   Bin 0 -> 213 bytes
 .../images/ui-bg_flat_100_f2f5f7_40x100.png     |   Bin 0 -> 212 bytes
 .../images/ui-bg_flat_15_cd0a0a_40x100.png      |   Bin 0 -> 181 bytes
 .../images/ui-bg_flat_50_3baae3_40x100.png      |   Bin 0 -> 182 bytes
 .../images/ui-bg_flat_80_d7ebf9_40x100.png      |   Bin 0 -> 183 bytes
 .../ui-bg_highlight-hard_70_000000_1x100.png    |   Bin 0 -> 118 bytes
 .../ui-bg_highlight-soft_25_ffef8f_1x100.png    |   Bin 0 -> 153 bytes
 .../images/ui-icons_000000_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_2694e8_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_2e83ff_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_3d80b3_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_72a7cf_256x240.png          |   Bin 0 -> 4369 bytes
 .../images/ui-icons_ffffff_256x240.png          |   Bin 0 -> 4369 bytes
 .../css/custom-theme/jquery-ui-1.8.9.custom.css |   573 +
 portal/archive/css/jquery-ui-timepicker.css     |    53 +
 portal/archive/css/jquery.ui.statusbar.css      |    25 +
 portal/archive/css/prettify.css                 |    52 +
 portal/archive/css/usergrid-stripped.css        |  5199 ++++
 portal/archive/css/usergrid.css                 |  5203 ++++
 portal/archive/dash/README.md                   |     3 +
 .../archive/dash/config/testacular-e2e.conf.js  |    22 +
 portal/archive/dash/config/testacular.conf.js   |    20 +
 portal/archive/dash/test/e2e/runner.html        |    10 +
 portal/archive/dash/test/e2e/scenarios.js       |    45 +
 .../dash/test/lib/angular/angular-mocks.js      |  1764 ++
 .../dash/test/lib/angular/angular-scenario.js   | 26195 +++++++++++++++++
 .../archive/dash/test/lib/angular/version.txt   |     1 +
 .../archive/dash/test/unit/controllersSpec.js   |    31 +
 portal/archive/dash/test/unit/directivesSpec.js |    19 +
 portal/archive/dash/test/unit/filtersSpec.js    |    19 +
 portal/archive/dash/test/unit/servicesSpec.js   |    14 +
 portal/archive/images/APNS_cert_upload.png      |   Bin 0 -> 33956 bytes
 portal/archive/images/APNS_certification.png    |   Bin 0 -> 16855 bytes
 portal/archive/images/android-notification.png  |   Bin 0 -> 41629 bytes
 portal/archive/images/android-sdk-download.png  |   Bin 0 -> 4848 bytes
 portal/archive/images/api-activity.gif          |   Bin 0 -> 10819 bytes
 portal/archive/images/apigee-logo.png           |   Bin 0 -> 3647 bytes
 portal/archive/images/apigeetopbar.png          |   Bin 0 -> 4658 bytes
 portal/archive/images/background_one_col.png    |   Bin 0 -> 3126 bytes
 portal/archive/images/btn-copyCurl-up.png       |   Bin 0 -> 2762 bytes
 portal/archive/images/clippy-bg.png             |   Bin 0 -> 561 bytes
 portal/archive/images/close.gif                 |   Bin 0 -> 718 bytes
 portal/archive/images/dotnet-sdk-download.png   |   Bin 0 -> 7149 bytes
 portal/archive/images/down_arrow.png            |   Bin 0 -> 1285 bytes
 portal/archive/images/error.png                 |   Bin 0 -> 2009 bytes
 portal/archive/images/faviconApigee.ico         |   Bin 0 -> 1150 bytes
 .../images/glyphicons-halflings-white.png       |   Bin 0 -> 4352 bytes
 portal/archive/images/glyphicons-halflings.png  |   Bin 0 -> 4352 bytes
 .../glyphicons_halflings_135_wrench-white2.pdn  |   Bin 0 -> 5400 bytes
 .../glyphicons_halflings_135_wrench-white2.png  |   Bin 0 -> 296 bytes
 .../images/glyphicons_halflings_135_wrench.png  |   Bin 0 -> 228 bytes
 .../glyphicons_halflings_135_wrench_white.png   |   Bin 0 -> 251 bytes
 .../glyphicons_halflings_wrench_white.png       |   Bin 0 -> 1016 bytes
 portal/archive/images/google_api_key.png        |   Bin 0 -> 98118 bytes
 portal/archive/images/green_dot.png             |   Bin 0 -> 3472 bytes
 portal/archive/images/grid.png                  |   Bin 0 -> 166 bytes
 portal/archive/images/icons.png                 |   Bin 0 -> 13132 bytes
 portal/archive/images/ios-sdk-download.png      |   Bin 0 -> 4886 bytes
 portal/archive/images/iphone_message.png        |   Bin 0 -> 90307 bytes
 .../archive/images/javascript-sdk-download.png  |   Bin 0 -> 4618 bytes
 portal/archive/images/left_arrow.png            |   Bin 0 -> 1257 bytes
 portal/archive/images/logo-white.png            |   Bin 0 -> 2014 bytes
 portal/archive/images/menuActiveTriangle.png    |   Bin 0 -> 315 bytes
 portal/archive/images/nodejs-sdk-download.png   |   Bin 0 -> 5273 bytes
 portal/archive/images/notice.png                |   Bin 0 -> 2112 bytes
 portal/archive/images/orange-arrow.png          |   Bin 0 -> 242 bytes
 .../archive/images/push_notifications_icon.png  |   Bin 0 -> 338 bytes
 portal/archive/images/red_dot.png               |   Bin 0 -> 3482 bytes
 portal/archive/images/right_arrow.png           |   Bin 0 -> 1251 bytes
 portal/archive/images/ruby-sdk-download.png     |   Bin 0 -> 6343 bytes
 portal/archive/images/step_1.png                |   Bin 0 -> 1953 bytes
 portal/archive/images/step_2.png                |   Bin 0 -> 2117 bytes
 portal/archive/images/step_3.png                |   Bin 0 -> 2162 bytes
 portal/archive/images/success.png               |   Bin 0 -> 1863 bytes
 portal/archive/images/swish_arrow.png           |   Bin 0 -> 220 bytes
 portal/archive/images/topbackground.png         |   Bin 0 -> 2890 bytes
 portal/archive/images/up_arrow.png              |   Bin 0 -> 1292 bytes
 portal/archive/images/user-photo.png            |   Bin 0 -> 3849 bytes
 portal/archive/images/user_profile.png          |   Bin 0 -> 3775 bytes
 portal/archive/images/usergrid_200.png          |   Bin 0 -> 6397 bytes
 portal/archive/images/usergrid_400.png          |   Bin 0 -> 8746 bytes
 portal/archive/images/warning.png               |   Bin 0 -> 1179 bytes
 portal/archive/images/yellow_dot.png            |   Bin 0 -> 3475 bytes
 portal/archive/index-stripped2.html             |  1795 ++
 portal/archive/index.html                       |  1910 ++
 portal/archive/js/app/app.js                    |   131 +
 portal/archive/js/app/console.js                |  5393 ++++
 portal/archive/js/app/helpers.js                |   241 +
 portal/archive/js/app/navigation.js             |   251 +
 portal/archive/js/app/pages.js                  |   161 +
 portal/archive/js/app/params.js                 |    30 +
 portal/archive/js/app/quickLogin.js             |    30 +
 portal/archive/js/app/session.js                |   176 +
 portal/archive/js/app/sso.js                    |   135 +
 portal/archive/js/app/status.js                 |    37 +
 portal/archive/js/app/ui/collections.entity.js  |   320 +
 portal/archive/js/app/ui/collections.user.js    |   120 +
 portal/archive/js/app/ui/ui.js                  |   415 +
 portal/archive/js/app/usergrid.appSDK.js        |  2097 ++
 portal/archive/js/app/usergrid.appSDK.orig.js   |  2070 ++
 portal/archive/js/lib/MD5.min.js                |     1 +
 portal/archive/js/lib/backbone.js               |  1431 +
 portal/archive/js/lib/bootstrap.min.js          |     7 +
 portal/archive/js/lib/date.min.js               |     2 +
 portal/archive/js/lib/jquery-1.7.2.min.js       |     4 +
 portal/archive/js/lib/jquery-ui-1.8.18.min.js   |    15 +
 portal/archive/js/lib/jquery.dataset.min.js     |     1 +
 portal/archive/js/lib/jquery.dform-0.1.3.min.js |    16 +
 portal/archive/js/lib/jquery.jsonp-2.3.1.min.js |     3 +
 portal/archive/js/lib/jquery.tmpl.min.js        |    10 +
 .../archive/js/lib/jquery.ui.statusbar.min.js   |     1 +
 .../archive/js/lib/jquery.ui.timepicker.min.js  |     1 +
 portal/archive/js/lib/prettify.js               |  1477 +
 portal/archive/js/lib/underscore-min.js         |     5 +
 portal/archive/js/spec/client-tests.js          |   159 +
 portal/archive/js/spec/index.html               |    20 +
 portal/archive/js/spec/qunit-git.css            |   238 +
 portal/archive/js/spec/qunit-git.js             |  1865 ++
 portal/archive/js/unit-tests/appSDK-tests.js    |   255 +
 portal/archive/js/unit-tests/ie-jquery-tests.js |   191 +
 portal/archive/js/unit-tests/qunit.css          |   231 +
 portal/archive/js/unit-tests/qunit.js           |  1934 ++
 portal/archive/loading.html                     |     9 +
 portal/archive/max/index.html                   |     0
 portal/archive/planned_outage.html              |    48 +
 portal/archive/push/index.html                  |    34 +
 portal/archive/service_down.html                |    48 +
 .../apigee.ui.activities.table_rows.html        |    14 +
 .../templates/apigee.ui.admins.table_rows.html  |     8 +
 .../apigee.ui.applications.table_rows.html      |     4 +
 .../apigee.ui.collection.table_rows.html        |    67 +
 .../apigee.ui.collections.query.indexes.html    |     5 +
 .../apigee.ui.collections.table_rows.html       |     9 +
 .../apigee.ui.collections.user.header.html      |    21 +
 .../templates/apigee.ui.curl.detail.html        |    11 +
 .../templates/apigee.ui.feed.table_rows.html    |    15 +
 .../templates/apigee.ui.groups.table_rows.html  |    14 +
 .../apigee.ui.panels.group.activities.html      |    28 +
 .../apigee.ui.panels.group.details.html         |    97 +
 .../apigee.ui.panels.group.memberships.html     |    40 +
 .../apigee.ui.panels.group.permissions.html     |    99 +
 ...pigee.ui.panels.notifications.configure.html |    14 +
 .../apigee.ui.panels.role.permissions.html      |    58 +
 .../templates/apigee.ui.panels.role.users.html  |    38 +
 .../apigee.ui.panels.user.activities.html       |    40 +
 .../templates/apigee.ui.panels.user.graph.html  |    80 +
 .../apigee.ui.panels.user.memberships.html      |    40 +
 .../apigee.ui.panels.user.permissions.html      |   105 +
 .../apigee.ui.panels.user.profile.html          |   113 +
 .../apigee.ui.role.groups.table_rows.html       |    44 +
 .../templates/apigee.ui.roles.table_rows.html   |    15 +
 .../templates/apigee.ui.users.table_rows.html   |    18 +
 portal/archive/templates/test/modalForm2.html   |    32 +
 portal/archive/test/autocomplete.html           |    25 +
 portal/archive/test/modalForm.html              |    32 +
 portal/bower.json                               |     3 +-
 portal/build.sh                                 |    14 +-
 portal/config.js                                |    19 +-
 portal/css/dash.min.css                         |     1 +
 portal/css/main.css                             |  1391 +-
 portal/img/verify.png                           |   Bin 0 -> 22934 bytes
 portal/index-debug.html                         |   128 +
 portal/index-template.html                      |    26 +-
 portal/index.html                               |   128 +
 .../js/app-overview/app-overview-controller.js  |     5 +-
 portal/js/app-overview/app-overview.html        |     8 +-
 .../js/app-overview/doc-includes/android.html   |     2 +-
 .../app-overview/doc-includes/images/verify.png |   Bin 22934 -> 0 bytes
 portal/js/app-overview/doc-includes/ios.html    |     2 +-
 .../app-overview/doc-includes/javascript.html   |     2 +-
 .../app-overview/getting-started-controller.js  |     5 +-
 portal/js/app-overview/getting-started.html     |    39 +-
 portal/js/app.js                                |   106 +-
 portal/js/charts/chart-controller.js            |     2 +-
 portal/js/data/data.html                        |     9 +-
 portal/js/global/page-controller.js             |    36 +-
 portal/js/global/page-service.js                |   214 -
 portal/js/global/page-title.html                |    17 +
 portal/js/global/page-title.js                  |    31 +
 portal/js/global/ug-service.js                  |   208 +-
 portal/js/global/utility-service.js             |     4 +-
 portal/js/groups/groups-details-controller.js   |     2 +-
 portal/js/groups/groups.html                    |    13 +-
 .../libs/bootstrap/custom/css/bootstrap.min.css |   867 +-
 .../js/libs/jqueryui/jquery-ui-1.8.9.custom.css |   574 +-
 .../js/libs/jqueryui/jquery-ui-timepicker.css   |    54 +-
 portal/js/libs/usergrid-libs.min.js             |    22 +
 portal/js/libs/usergrid.sdk.js                  |     8 +-
 portal/js/login/forgot-password-controller.js   |     7 +-
 portal/js/login/login.html                      |     2 +-
 portal/js/org-overview/org-overview.html        |    12 +-
 portal/js/profile/account.html                  |     9 +-
 portal/js/roles/roles-controller.js             |     2 +-
 portal/js/roles/roles.html                      |    10 +-
 portal/js/shell/shell.html                      |     9 +-
 portal/js/templates.js                          |  2963 ++
 portal/js/usergrid-dev.min.js                   |  4770 +++
 portal/js/usergrid.min.js                       |     6 +
 portal/js/users/users-controller.js             |     4 +-
 portal/js/users/users-profile-controller.js     |     2 +-
 portal/js/users/users.html                      |    15 +-
 portal/package.json                             |     8 +-
 portal/phantomjsdriver.log                      |  3869 +++
 portal/seleniumLog.txt                          |     0
 portal/tests/karma.conf.js                      |     2 +-
 portal/tests/protractor/data.spec.js            |     9 +-
 portal/tests/protractor/monitoring.spec.js      |    15 -
 portal/tests/protractor/profile.spec.js         |     4 +
 portal/tests/protractor/push.spec.js            |    15 -
 portal/tests/protractor/users.spec.js           |    21 +-
 portal/tests/protractor/util.js                 |    17 +-
 portal/tests/protractorConf.js                  |    15 +-
 portal/tests/unit/sample.spec.js                |    12 +-
 sdks/html5-javascript/Release.md                |     6 +
 sdks/html5-javascript/lib/Usergrid.js           |     3 +-
 sdks/html5-javascript/lib/modules/Client.js     |    16 +-
 sdks/html5-javascript/lib/modules/Collection.js |    14 +-
 sdks/html5-javascript/lib/modules/Counter.js    |    16 +-
 sdks/html5-javascript/lib/modules/Entity.js     |    55 +-
 sdks/html5-javascript/lib/modules/Group.js      |    28 +-
 sdks/html5-javascript/tests/mocha/test.js       |  1588 +-
 sdks/html5-javascript/usergrid.js               |   138 +-
 sdks/html5-javascript/usergrid.min.js           |     6 +-
 .../lib/vendor/Apigee/Usergrid/Collection.php   |     4 +-
 stack/build-tools/pom.xml                       |    16 +
 .../src/main/resources/usergrid/checkstyle.xml  |    16 +
 stack/config/pom.xml                            |    16 +
 stack/config/src/main/resources/log4j.xml       |    16 +
 .../main/resources/usergrid-default.properties  |    12 +
 stack/config/src/test/resources/cassandra.yaml  |    14 +-
 stack/config/src/test/resources/hazelcast.xml   |    16 +
 stack/config/src/test/resources/log4j.xml       |    16 +
 stack/core/pom.xml                              |    16 +
 .../persistence/query/tree/QueryFilter.g        |    34 +
 .../java/org/apache/usergrid/batch/AppArgs.java |    16 +
 .../java/org/apache/usergrid/batch/Job.java     |    16 +
 .../org/apache/usergrid/batch/JobExecution.java |    17 +-
 .../apache/usergrid/batch/JobExecutionImpl.java |    18 +-
 .../org/apache/usergrid/batch/JobFactory.java   |    16 +
 .../usergrid/batch/JobNotFoundException.java    |    16 +
 .../org/apache/usergrid/batch/JobRuntime.java   |    17 +-
 .../usergrid/batch/JobRuntimeException.java     |    16 +
 .../usergrid/batch/UsergridJobFactory.java      |    16 +
 .../apache/usergrid/batch/job/OnlyOnceJob.java  |    17 +-
 .../apache/usergrid/batch/job/package-info.java |     1 -
 .../usergrid/batch/repository/JobAccessor.java  |     1 -
 .../batch/repository/JobDescriptor.java         |    16 +
 .../usergrid/batch/repository/package-info.java |     1 -
 .../org/apache/usergrid/batch/service/App.java  |    16 +
 .../usergrid/batch/service/JobListener.java     |     1 -
 .../batch/service/JobSchedulerService.java      |     1 -
 .../usergrid/batch/service/package-info.java    |     1 -
 .../hazelcast/HazelcastLifecycleMonitor.java    |    17 +-
 .../apache/usergrid/count/AbstractBatcher.java  |    17 +-
 .../apache/usergrid/count/BatchSubmitter.java   |    17 +-
 .../java/org/apache/usergrid/count/Batcher.java |    17 +-
 .../usergrid/count/CassandraCounterStore.java   |    17 +-
 .../usergrid/count/CassandraSubmitter.java      |    17 +-
 .../apache/usergrid/count/CountProducer.java    |    17 +-
 .../CounterProcessingUnavailableException.java  |    17 +-
 .../org/apache/usergrid/count/CounterStore.java |    17 +-
 .../apache/usergrid/count/SimpleBatcher.java    |    17 +-
 .../usergrid/count/Slf4JBatchSubmitter.java     |    17 +-
 .../org/apache/usergrid/count/common/Count.java |    17 +-
 .../usergrid/count/common/CountSerDeUtils.java  |    17 +-
 .../common/CountTransportSerDeException.java    |    17 +-
 .../org/apache/usergrid/count/package-info.java |    16 +
 .../usergrid/exception/JsonReadException.java   |    18 +-
 .../usergrid/exception/JsonWriteException.java  |    18 +-
 .../exception/NotImplementedException.java      |    17 +-
 .../java/org/apache/usergrid/locking/Lock.java  |    17 +-
 .../org/apache/usergrid/locking/LockHelper.java |    17 +-
 .../apache/usergrid/locking/LockManager.java    |    17 +-
 .../usergrid/locking/LockPathBuilder.java       |    17 +-
 .../locking/cassandra/HectorLockImpl.java       |    17 +-
 .../cassandra/HectorLockManagerImpl.java        |    17 +-
 .../locking/exception/UGLockException.java      |    17 +-
 .../usergrid/locking/noop/NoOpLockImpl.java     |    17 +-
 .../locking/noop/NoOpLockManagerImpl.java       |    17 +-
 .../locking/singlenode/SingleNodeLockImpl.java  |    17 +-
 .../singlenode/SingleNodeLockManagerImpl.java   |    17 +-
 .../zookeeper/ZooKeeperLockManagerImpl.java     |    17 +-
 .../locking/zookeeper/ZookeeperLockImpl.java    |    17 +-
 .../org/apache/usergrid/mq/CounterQuery.java    |    17 +-
 .../java/org/apache/usergrid/mq/Message.java    |    17 +-
 .../main/java/org/apache/usergrid/mq/Query.java |    17 +-
 .../apache/usergrid/mq/QueryFilterLexer.java    |    16 +
 .../apache/usergrid/mq/QueryFilterParser.java   |    16 +
 .../org/apache/usergrid/mq/QueryProcessor.java  |    16 +
 .../main/java/org/apache/usergrid/mq/Queue.java |    17 +-
 .../org/apache/usergrid/mq/QueueManager.java    |    17 +-
 .../apache/usergrid/mq/QueueManagerFactory.java |    17 +-
 .../org/apache/usergrid/mq/QueuePosition.java   |    17 +-
 .../java/org/apache/usergrid/mq/QueueQuery.java |    17 +-
 .../org/apache/usergrid/mq/QueueResults.java    |    17 +-
 .../java/org/apache/usergrid/mq/QueueSet.java   |    17 +-
 .../usergrid/mq/cassandra/CassandraMQUtils.java |    17 +-
 .../mq/cassandra/MessageIndexUpdate.java        |    17 +-
 .../usergrid/mq/cassandra/QueueIndexUpdate.java |    17 +-
 .../mq/cassandra/QueueManagerFactoryImpl.java   |    17 +-
 .../usergrid/mq/cassandra/QueueManagerImpl.java |    17 +-
 .../apache/usergrid/mq/cassandra/QueuesCF.java  |    17 +-
 .../mq/cassandra/io/AbstractSearch.java         |    17 +-
 .../mq/cassandra/io/ConsumerTransaction.java    |    17 +-
 .../usergrid/mq/cassandra/io/EndSearch.java     |    17 +-
 .../usergrid/mq/cassandra/io/FilterSearch.java  |    17 +-
 .../mq/cassandra/io/NoTransactionSearch.java    |    17 +-
 .../usergrid/mq/cassandra/io/QueueBounds.java   |    16 +
 .../usergrid/mq/cassandra/io/QueueSearch.java   |    17 +-
 .../usergrid/mq/cassandra/io/StartSearch.java   |    17 +-
 .../usergrid/persistence/AbstractEntity.java    |    17 +-
 .../usergrid/persistence/AggregateCounter.java  |    17 +-
 .../persistence/AggregateCounterSet.java        |    17 +-
 .../persistence/AssociatedEntityRef.java        |    17 +-
 .../usergrid/persistence/CollectionRef.java     |    17 +-
 .../persistence/ConnectedEntityRef.java         |    17 +-
 .../usergrid/persistence/ConnectionRef.java     |    17 +-
 .../usergrid/persistence/CounterQuery.java      |    17 +-
 .../usergrid/persistence/CounterResolution.java |    17 +-
 .../usergrid/persistence/CredentialsInfo.java   |    17 +-
 .../usergrid/persistence/DynamicEntity.java     |    17 +-
 .../org/apache/usergrid/persistence/Entity.java |    17 +-
 .../usergrid/persistence/EntityFactory.java     |    17 +-
 .../usergrid/persistence/EntityManager.java     |    17 +-
 .../persistence/EntityManagerFactory.java       |    17 +-
 .../persistence/EntityPropertyComparator.java   |    17 +-
 .../apache/usergrid/persistence/EntityRef.java  |    17 +-
 .../usergrid/persistence/EntityUtils.java       |    17 +-
 .../apache/usergrid/persistence/Identifier.java |    17 +-
 .../persistence/IndexBucketLocator.java         |    17 +-
 .../persistence/MultiQueryIterator.java         |    16 +
 .../persistence/PagingResultsIterator.java      |    16 +
 .../apache/usergrid/persistence/PathQuery.java  |    16 +
 .../org/apache/usergrid/persistence/Query.java  |    22 +-
 .../apache/usergrid/persistence/QueryUtils.java |    16 +
 .../usergrid/persistence/RelationManager.java   |    17 +-
 .../apache/usergrid/persistence/Results.java    |    17 +-
 .../apache/usergrid/persistence/RoleRef.java    |    17 +-
 .../org/apache/usergrid/persistence/Schema.java |    17 +-
 .../persistence/SimpleCollectionRef.java        |    17 +-
 .../usergrid/persistence/SimpleEntityRef.java   |    17 +-
 .../usergrid/persistence/SimpleRoleRef.java     |    17 +-
 .../usergrid/persistence/TypedEntity.java       |    17 +-
 .../org/apache/usergrid/persistence/Update.java |    17 +-
 .../annotations/EntityCollection.java           |    17 +-
 .../annotations/EntityDictionary.java           |    17 +-
 .../persistence/annotations/EntityProperty.java |    17 +-
 .../persistence/cassandra/ApplicationCF.java    |    17 +-
 .../usergrid/persistence/cassandra/CFEnum.java  |    17 +-
 .../cassandra/CassandraPersistenceUtils.java    |    17 +-
 .../persistence/cassandra/CassandraService.java |    17 +-
 .../cassandra/ConnectedEntityRefImpl.java       |    17 +-
 .../cassandra/ConnectionRefImpl.java            |    17 +-
 .../persistence/cassandra/CounterUtils.java     |    17 +-
 .../persistence/cassandra/CursorCache.java      |    16 +
 .../cassandra/EntityManagerFactoryImpl.java     |    17 +-
 .../cassandra/EntityManagerImpl.java            |    17 +-
 .../cassandra/EntityValueSerializer.java        |    17 +-
 .../persistence/cassandra/GeoIndexManager.java  |    17 +-
 .../persistence/cassandra/IndexUpdate.java      |    17 +-
 .../persistence/cassandra/QueryProcessor.java   |    17 +-
 .../cassandra/RelationManagerImpl.java          |    17 +-
 .../usergrid/persistence/cassandra/Setup.java   |    17 +-
 .../cassandra/SimpleIndexBucketLocatorImpl.java |    17 +-
 .../cassandra/index/ConnectedIndexScanner.java  |    17 +-
 .../cassandra/index/IndexBucketScanner.java     |    17 +-
 .../index/IndexMultiBucketSetLoader.java        |    17 +-
 .../cassandra/index/IndexScanner.java           |    17 +-
 .../cassandra/index/NoOpIndexScanner.java       |    17 +-
 .../cassandra/util/Slf4jTraceTagReporter.java   |    16 +
 .../cassandra/util/TaggedOpTimer.java           |    16 +
 .../persistence/cassandra/util/TimedOpTag.java  |    16 +
 .../cassandra/util/TraceParticipant.java        |    16 +
 .../persistence/cassandra/util/TraceTag.java    |    16 +
 .../cassandra/util/TraceTagAspect.java          |    16 +
 .../cassandra/util/TraceTagManager.java         |    16 +
 .../cassandra/util/TraceTagReporter.java        |    16 +
 .../usergrid/persistence/entities/Activity.java |    17 +-
 .../persistence/entities/Application.java       |    17 +-
 .../usergrid/persistence/entities/Asset.java    |    17 +-
 .../usergrid/persistence/entities/Device.java   |    17 +-
 .../usergrid/persistence/entities/Event.java    |    17 +-
 .../usergrid/persistence/entities/Export.java   |   158 +
 .../usergrid/persistence/entities/Folder.java   |    17 +-
 .../usergrid/persistence/entities/Group.java    |    17 +-
 .../usergrid/persistence/entities/JobData.java  |    17 +-
 .../usergrid/persistence/entities/JobStat.java  |    17 +-
 .../usergrid/persistence/entities/Message.java  |    17 +-
 .../usergrid/persistence/entities/Role.java     |    17 +-
 .../usergrid/persistence/entities/User.java     |    17 +-
 .../ApplicationAlreadyExistsException.java      |    17 +-
 .../DuplicateUniquePropertyExistsException.java |    17 +-
 .../exceptions/EntityNotFoundException.java     |    17 +-
 .../exceptions/LockingException.java            |    18 +-
 .../exceptions/NoFullTextIndexException.java    |    17 +-
 .../exceptions/NoIndexException.java            |    17 +-
 .../exceptions/PersistenceException.java        |    17 +-
 .../PropertyTypeConversionException.java        |    17 +-
 .../exceptions/QueryIterationException.java     |    16 +
 .../exceptions/QueryParseException.java         |    17 +-
 .../exceptions/QueryTokenException.java         |    17 +-
 .../persistence/exceptions/QueueException.java  |    18 +-
 .../RequiredPropertyNotFoundException.java      |    17 +-
 .../TransactionNotFoundException.java           |    17 +-
 .../UnexpectedEntityTypeException.java          |    17 +-
 .../persistence/geo/CollectionGeoSearch.java    |    16 +
 .../persistence/geo/ConnectionGeoSearch.java    |    16 +
 .../persistence/geo/EntityLocationRef.java      |    16 +
 .../EntityLocationRefDistanceComparator.java    |    17 +-
 .../persistence/geo/GeoIndexSearcher.java       |    16 +
 .../persistence/geo/GeocellManager.java         |    16 +
 .../usergrid/persistence/geo/GeocellUtils.java  |    24 +-
 .../geo/comparator/DoubleTupleComparator.java   |    16 +
 .../persistence/geo/model/BoundingBox.java      |    27 +-
 .../persistence/geo/model/CostFunction.java     |    27 +-
 .../geo/model/DefaultCostFunction.java          |    27 +-
 .../usergrid/persistence/geo/model/Point.java   |    27 +-
 .../usergrid/persistence/geo/model/Tuple.java   |    16 +
 .../usergrid/persistence/query/ir/AllNode.java  |    16 +
 .../usergrid/persistence/query/ir/AndNode.java  |    17 +-
 .../persistence/query/ir/BooleanNode.java       |    17 +-
 .../query/ir/EmailIdentifierNode.java           |    16 +
 .../query/ir/NameIdentifierNode.java            |    16 +
 .../persistence/query/ir/NodeVisitor.java       |    17 +-
 .../usergrid/persistence/query/ir/NotNode.java  |    17 +-
 .../usergrid/persistence/query/ir/OrNode.java   |    17 +-
 .../persistence/query/ir/OrderByNode.java       |    17 +-
 .../persistence/query/ir/QueryNode.java         |    17 +-
 .../persistence/query/ir/QuerySlice.java        |    17 +-
 .../persistence/query/ir/SearchVisitor.java     |    16 +
 .../persistence/query/ir/SliceNode.java         |    17 +-
 .../query/ir/UuidIdentifierNode.java            |    16 +
 .../persistence/query/ir/WithinNode.java        |    17 +-
 .../query/ir/result/AbstractScanColumn.java     |    16 +
 .../result/CollectionResultsLoaderFactory.java  |    16 +
 .../ir/result/ConnectionIndexSliceParser.java   |    17 +-
 .../query/ir/result/ConnectionRefLoader.java    |    16 +
 .../result/ConnectionResultsLoaderFactory.java  |    16 +
 .../ir/result/ConnectionTypesIterator.java      |    16 +
 .../query/ir/result/EmptyIterator.java          |    16 +
 .../query/ir/result/EntityRefLoader.java        |    17 +-
 .../query/ir/result/EntityResultsLoader.java    |    17 +-
 .../query/ir/result/GeoIterator.java            |    17 +-
 .../persistence/query/ir/result/IDLoader.java   |    16 +
 .../query/ir/result/IntersectionIterator.java   |    17 +-
 .../query/ir/result/MergeIterator.java          |    17 +-
 .../query/ir/result/MultiIterator.java          |    17 +-
 .../query/ir/result/OrderByIterator.java        |    17 +-
 .../query/ir/result/ResultIterator.java         |    17 +-
 .../query/ir/result/ResultsLoader.java          |    17 +-
 .../query/ir/result/ResultsLoaderFactory.java   |    16 +
 .../persistence/query/ir/result/ScanColumn.java |    16 +
 .../query/ir/result/ScanColumnTransformer.java  |    16 +
 .../ir/result/SecondaryIndexSliceParser.java    |    17 +-
 .../query/ir/result/SliceIterator.java          |    17 +-
 .../query/ir/result/SliceParser.java            |    17 +-
 .../query/ir/result/StaticIdIterator.java       |    16 +
 .../query/ir/result/SubtractionIterator.java    |    17 +-
 .../query/ir/result/UUIDIndexSliceParser.java   |    17 +-
 .../query/ir/result/UnionIterator.java          |    17 +-
 .../persistence/query/tree/AndOperand.java      |    17 +-
 .../persistence/query/tree/BooleanLiteral.java  |    17 +-
 .../persistence/query/tree/BooleanOperand.java  |    17 +-
 .../persistence/query/tree/ContainsOperand.java |    17 +-
 .../query/tree/ContainsProperty.java            |    17 +-
 .../usergrid/persistence/query/tree/Equal.java  |    17 +-
 .../persistence/query/tree/EqualityOperand.java |    17 +-
 .../persistence/query/tree/FloatLiteral.java    |    17 +-
 .../persistence/query/tree/GreaterThan.java     |    17 +-
 .../query/tree/GreaterThanEqual.java            |    17 +-
 .../persistence/query/tree/LessThan.java        |    17 +-
 .../persistence/query/tree/LessThanEqual.java   |    17 +-
 .../persistence/query/tree/Literal.java         |    17 +-
 .../persistence/query/tree/LiteralFactory.java  |    17 +-
 .../persistence/query/tree/LongLiteral.java     |    17 +-
 .../persistence/query/tree/NotOperand.java      |    17 +-
 .../persistence/query/tree/NumericLiteral.java  |    17 +-
 .../persistence/query/tree/Operand.java         |    17 +-
 .../persistence/query/tree/OrOperand.java       |    17 +-
 .../persistence/query/tree/Property.java        |    17 +-
 .../persistence/query/tree/QueryVisitor.java    |    17 +-
 .../persistence/query/tree/StringLiteral.java   |    17 +-
 .../persistence/query/tree/UUIDLiteral.java     |    17 +-
 .../persistence/query/tree/WithinOperand.java   |    17 +-
 .../persistence/query/tree/WithinProperty.java  |    17 +-
 .../persistence/schema/CollectionInfo.java      |    17 +-
 .../persistence/schema/DictionaryInfo.java      |    17 +-
 .../usergrid/persistence/schema/EntityInfo.java |    17 +-
 .../persistence/schema/PropertyInfo.java        |    17 +-
 .../usergrid/system/UsergridSystemMonitor.java  |    16 +
 .../org/apache/usergrid/utils/AESUtils.java     |     1 -
 .../org/apache/usergrid/utils/DateUtils.java    |    15 -
 .../org/apache/usergrid/utils/Inflector.java    |    25 -
 .../org/apache/usergrid/utils/package-info.java |     1 -
 .../query/tree/QueryFilterLexer.java            |  3106 --
 .../query/tree/QueryFilterParser.java           |  2484 --
 .../main/resources/usergrid-core-context.xml    |    16 +
 .../resources/usergrid-scheduler-context.xml    |    17 +
 stack/core/src/site/apt/format.apt              |    17 +-
 stack/core/src/site/apt/index.apt               |    16 +
 stack/core/src/site/fml/faq.fml                 |    17 +
 stack/core/src/site/site.xml                    |    16 +
 stack/core/src/site/xdoc/xdoc.xml               |    18 +-
 stack/core/src/test/java/io/baas/Simple.java    |    19 -
 .../org/apache/usergrid/AbstractCoreIT.java     |    17 +-
 .../java/org/apache/usergrid/Application.java   |    16 +
 .../apache/usergrid/ConcurrentCoreITSuite.java  |    17 +-
 .../usergrid/ConcurrentCoreIteratorITSuite.java |    16 +
 .../usergrid/ConcurrentCoreTestSuite.java       |    16 +
 .../org/apache/usergrid/CoreApplication.java    |    17 +-
 .../java/org/apache/usergrid/CoreITSetup.java   |    17 +-
 .../org/apache/usergrid/CoreITSetupImpl.java    |    16 +
 .../java/org/apache/usergrid/CoreITSuite.java   |    16 +
 .../java/org/apache/usergrid/CoreTestSuite.java |    17 +-
 .../org/apache/usergrid/batch/AppArgsTest.java  |    16 +
 .../batch/BulkJobExecutionUnitTest.java         |    16 +
 .../apache/usergrid/batch/BulkTestUtils.java    |    16 +
 .../batch/ConcurrentSchedulerITSuite.java       |    16 +
 .../batch/ConcurrentSchedulerTestSuite.java     |    16 +
 .../apache/usergrid/batch/SchedulerITSuite.java |    16 +
 .../usergrid/batch/SchedulerTestSuite.java      |    16 +
 .../usergrid/batch/UsergridJobFactoryTest.java  |    16 +
 .../usergrid/batch/job/TestJobListener.java     |     1 -
 .../usergrid/batch/job/TestJobListenerTest.java |     1 -
 .../apache/usergrid/batch/job/package-info.java |     1 -
 .../clustering/hazelcast/HazelcastTest.java     |    17 +-
 .../count/BatchCountParallelismTest.java        |    16 +
 .../usergrid/count/SimpleBatcherTest.java       |    17 +-
 .../count/common/CountSerDeUtilsTest.java       |    17 +-
 .../apache/usergrid/count/common/CountTest.java |    17 +-
 .../locking/cassandra/HectorLockManagerIT.java  |    17 +-
 .../SingleNodeLockTestSingleNode.java           |    17 +-
 .../zookeeper/AbstractZooKeeperTest.java        |    17 +-
 .../usergrid/locking/zookeeper/ZooPut.java      |    17 +-
 .../zookeeper/ZookeeperLockManagerTest.java     |    17 +-
 .../java/org/apache/usergrid/mq/MessagesIT.java |    17 +-
 .../org/apache/usergrid/mq/QueuePathsTest.java  |    17 +-
 .../usergrid/persistence/CollectionIT.java      |    17 +-
 .../usergrid/persistence/CoreSchemaManager.java |    16 +
 .../apache/usergrid/persistence/CounterIT.java  |    17 +-
 .../persistence/EntityConnectionsIT.java        |    17 +-
 .../persistence/EntityDictionaryIT.java         |    17 +-
 .../usergrid/persistence/EntityManagerIT.java   |    17 +-
 .../EntityPropertyComparatorTest.java           |    16 +
 .../apache/usergrid/persistence/EntityTest.java |    17 +-
 .../org/apache/usergrid/persistence/GeoIT.java  |    17 +-
 .../apache/usergrid/persistence/IndexIT.java    |    17 +-
 .../usergrid/persistence/PathQueryIT.java       |    16 +
 .../usergrid/persistence/PermissionsIT.java     |    17 +-
 .../apache/usergrid/persistence/QueryTest.java  |    17 +-
 .../usergrid/persistence/QueryUtilsTest.java    |    16 +
 .../apache/usergrid/persistence/SchemaTest.java |    21 +-
 .../apache/usergrid/persistence/UtilsTest.java  |    17 +-
 .../cassandra/EntityManagerFactoryImplIT.java   |    17 +-
 .../cassandra/QueryProcessorTest.java           |    17 +-
 .../SimpleIndexBucketLocatorImplTest.java       |    17 +-
 .../cassandra/util/TraceTagUnitTest.java        |    16 +
 .../persistence/entities/SampleEntity.java      |    17 +-
 ...EntityLocationRefDistanceComparatorTest.java |    17 +-
 .../query/AbstractIteratingQueryIT.java         |    17 +-
 .../persistence/query/AllInCollectionIT.java    |    17 +-
 .../persistence/query/AllInConnectionIT.java    |    17 +-
 .../query/AllInConnectionNoTypeIT.java          |    17 +-
 .../query/IntersectionUnionPagingIT.java        |    17 +-
 .../query/MultiOrderByCollectionIT.java         |    17 +-
 .../MultiOrderByComplexUnionCollectionIT.java   |    17 +-
 .../MultiOrderByComplexUnionConnectionIT.java   |    17 +-
 .../query/MultiOrderByConnectionIT.java         |    17 +-
 .../query/NotOrderByCollectionIT.java           |    17 +-
 .../query/NotOrderByConnectionIT.java           |    17 +-
 ...gleOrderByBoundRangeScanAscCollectionIT.java |    17 +-
 ...gleOrderByBoundRangeScanAscConnectionIT.java |    17 +-
 ...leOrderByBoundRangeScanDescCollectionIT.java |    17 +-
 ...leOrderByBoundRangeScanDescConnectionIT.java |    17 +-
 ...eOrderByComplexIntersectionCollectionIT.java |    17 +-
 ...eOrderByComplexIntersectionConnectionIT.java |    17 +-
 .../SingleOrderByComplexUnionCollectionIT.java  |    17 +-
 .../SingleOrderByComplexUnionConnectionIT.java  |    17 +-
 .../SingleOrderByIntersectionCollectionIT.java  |    17 +-
 .../SingleOrderByIntersectionConnectionIT.java  |    17 +-
 .../SingleOrderByLessThanLimitCollectionIT.java |    17 +-
 .../SingleOrderByLessThanLimitConnectionIT.java |    17 +-
 .../SingleOrderByMaxLimitCollectionIT.java      |    17 +-
 .../SingleOrderByMaxLimitConnectionIT.java      |    17 +-
 ...SingleOrderByNoIntersectionCollectionIT.java |    17 +-
 ...SingleOrderByNoIntersectionConnectionIT.java |    17 +-
 .../query/SingleOrderByNotCollectionIT.java     |    17 +-
 .../query/SingleOrderByNotConnectionIT.java     |    17 +-
 ...OrderBySameRangeScanGreaterCollectionIT.java |    17 +-
 ...OrderBySameRangeScanGreaterConnectionIT.java |    17 +-
 ...meRangeScanGreaterThanEqualCollectionIT.java |    17 +-
 ...gleOrderBySameRangeScanLessCollectionIT.java |    17 +-
 ...gleOrderBySameRangeScanLessConnectionIT.java |    17 +-
 ...ySameRangeScanLessThanEqualCollectionIT.java |    17 +-
 ...ySameRangeScanLessThanEqualConnectionIT.java |    17 +-
 .../query/ir/result/AbstractScanColumnTest.java |    16 +
 .../query/ir/result/InOrderIterator.java        |    16 +
 .../ir/result/IntersectionIteratorTest.java     |    17 +-
 .../query/ir/result/IteratorHelper.java         |    16 +
 .../ir/result/SubtractionIteratorTest.java      |    17 +-
 .../query/ir/result/UnionIteratorTest.java      |    17 +-
 .../persistence/query/tree/GrammarTreeTest.java |    17 +-
 .../persistence/query/tree/LongLiteralTest.java |    17 +-
 .../query/tree/StringLiteralTest.java           |    17 +-
 .../system/UsergridSystemMonitorIT.java         |    16 +
 .../apache/usergrid/utils/TimeUtilsTest.java    |     1 -
 .../org/apache/usergrid/utils/package-info.java |     1 -
 .../core/src/test/java/org/usergrid/Simple.java |    36 +
 stack/corepersistence/collection/pom.xml        |   405 +-
 .../collection/astyanax/CassandraFig.java       |     1 -
 .../collection/rx/CassandraThreadScheduler.java |     2 +-
 .../MvccLogEntrySerializationStrategyImpl.java  |     3 +-
 .../EntityCollectionManagerStressTest.java      |   104 +
 .../collection/cassandra/CassandraRule.java     |     2 +-
 .../collection/guice/TestCollectionModule.java  |    31 +-
 .../collection/guice/TestModule.java            |    26 +-
 .../persistence/graph/guice/GraphModule.java    |     7 +-
 .../graph/guice/TestGraphModule.java            |    24 +-
 stack/corepersistence/model/pom.xml             |     8 +-
 .../persistence/model/field/FloatField.java     |    35 +
 stack/corepersistence/pom.xml                   |   216 +-
 stack/corepersistence/priamcluster/README.md    |    83 -
 stack/corepersistence/priamcluster/assembly.xml |    29 -
 .../priamcluster/aws-sample.properties          |     2 -
 .../priamcluster/cassandra-cf.json              |   315 -
 stack/corepersistence/priamcluster/pom.xml      |   139 -
 .../src/main/dist/conf/Priam.properties         |    21 -
 .../src/main/dist/init_instance/create_raid0.sh |    32 -
 .../main/dist/init_instance/init_instance.sh    |    54 -
 .../dist/init_instance/install_cassandra.sh     |    56 -
 .../dist/init_instance/install_elasticsearch.sh |    24 -
 .../dist/init_instance/install_oraclejdk.sh     |    31 -
 .../src/main/dist/lib/priam-agent-1.2.24.jar    |   Bin 33020 -> 0 bytes
 .../dist/lib/priam-cass-extensions-1.2.24.jar   |   Bin 5478 -> 0 bytes
 .../src/main/dist/webapps/priam-web-1.2.24.war  |   Bin 31272443 -> 0 bytes
 .../src/main/groovy/configure_cassandra.groovy  |   113 -
 .../main/groovy/configure_elasticsearch.groovy  |    47 -
 .../src/main/groovy/configure_priam.groovy      |    41 -
 .../src/main/groovy/registry_clear.groovy       |    20 -
 .../src/main/groovy/registry_list.groovy        |    24 -
 .../src/main/groovy/registry_register.groovy    |    38 -
 .../src/main/groovy/tag_instance.groovy         |    28 -
 .../src/main/groovy/wait_for_instances.groovy   |    44 -
 stack/corepersistence/query/pom.xml             |   233 -
 .../query/src/test/resources/log4j.properties   |    30 -
 stack/corepersistence/queryindex/README.md      |    47 +
 stack/corepersistence/queryindex/pom.xml        |   147 +-
 .../persistence/query/tree/QueryFilter.g        |     4 +-
 .../ApplicationAlreadyExistsException.java      |    37 -
 .../DuplicateUniquePropertyExistsException.java |    52 -
 .../exceptions/EntityNotFoundException.java     |    45 -
 .../persistence/exceptions/IndexException.java  |    41 +
 .../exceptions/JsonReadException.java           |    18 +-
 .../exceptions/JsonWriteException.java          |    18 +-
 .../exceptions/LockingException.java            |    65 -
 .../exceptions/NoFullTextIndexException.java    |    18 +-
 .../exceptions/NotImplementedException.java     |    58 -
 .../exceptions/PersistenceException.java        |    18 +-
 .../PropertyTypeConversionException.java        |    71 -
 .../persistence/exceptions/QueryException.java  |    41 +
 .../exceptions/QueryIterationException.java     |    13 -
 .../exceptions/QueryParseException.java         |    18 +-
 .../exceptions/QueryTokenException.java         |    18 +-
 .../persistence/exceptions/QueueException.java  |    61 -
 .../RequiredPropertyNotFoundException.java      |    41 -
 .../TransactionNotFoundException.java           |    45 -
 .../UnexpectedEntityTypeException.java          |    45 -
 .../index/EntityCollectionIndex.java            |    20 +-
 .../index/EntityCollectionIndexFactory.java     |    27 +
 .../persistence/index/EntitySearchResults.java  |    65 -
 .../usergrid/persistence/index/IndexFig.java    |    71 +
 .../persistence/index/guice/IndexModule.java    |    47 +
 .../index/impl/EntityCollectionIndexImpl.java   |   272 -
 .../index/impl/EsEntityCollectionIndex.java     |   474 +
 .../persistence/index/impl/EsProvider.java      |   101 +
 .../persistence/index/impl/EsQueryVistor.java   |   165 +
 .../persistence/index/impl/IndexModule.java     |    32 -
 .../persistence/query/AggregateCounter.java     |    48 -
 .../persistence/query/AggregateCounterSet.java  |   116 -
 .../persistence/query/AssociatedEntityRef.java  |    21 -
 .../persistence/query/CollectionRef.java        |    26 -
 .../persistence/query/ConnectedEntityRef.java   |    22 -
 .../persistence/query/ConnectionRef.java        |    34 -
 .../persistence/query/CounterResolution.java    |    84 -
 .../usergrid/persistence/query/EntityRef.java   |    18 +-
 .../usergrid/persistence/query/Query.java       |   298 +-
 .../usergrid/persistence/query/QueryUtils.java  |    34 -
 .../usergrid/persistence/query/Results.java     |  1268 +-
 .../persistence/query/SimpleEntityRef.java      |    18 +-
 .../usergrid/persistence/query/ir/AllNode.java  |    45 -
 .../usergrid/persistence/query/ir/AndNode.java  |    43 -
 .../persistence/query/ir/BooleanNode.java       |    48 -
 .../query/ir/EmailIdentifierNode.java           |    28 -
 .../query/ir/NameIdentifierNode.java            |    28 -
 .../persistence/query/ir/NodeVisitor.java       |    71 -
 .../usergrid/persistence/query/ir/NotNode.java  |    62 -
 .../usergrid/persistence/query/ir/OrNode.java   |    52 -
 .../persistence/query/ir/OrderByNode.java       |    84 -
 .../persistence/query/ir/QueryNode.java         |    28 -
 .../persistence/query/ir/SearchVisitor.java     |    68 -
 .../query/ir/UuidIdentifierNode.java            |    32 -
 .../persistence/query/ir/WithinNode.java        |    87 -
 .../persistence/query/tree/AndOperand.java      |    18 +-
 .../persistence/query/tree/BooleanLiteral.java  |    18 +-
 .../persistence/query/tree/BooleanOperand.java  |    18 +-
 .../persistence/query/tree/ContainsOperand.java |    18 +-
 .../query/tree/ContainsProperty.java            |    18 +-
 .../usergrid/persistence/query/tree/Equal.java  |    18 +-
 .../persistence/query/tree/EqualityOperand.java |    18 +-
 .../persistence/query/tree/FloatLiteral.java    |    18 +-
 .../persistence/query/tree/GreaterThan.java     |    19 +-
 .../query/tree/GreaterThanEqual.java            |    19 +-
 .../persistence/query/tree/LessThan.java        |    19 +-
 .../persistence/query/tree/LessThanEqual.java   |    19 +-
 .../persistence/query/tree/Literal.java         |    19 +-
 .../persistence/query/tree/LiteralFactory.java  |    19 +-
 .../persistence/query/tree/LongLiteral.java     |    19 +-
 .../persistence/query/tree/NumericLiteral.java  |    19 +-
 .../persistence/query/tree/Operand.java         |    19 +-
 .../persistence/query/tree/OrOperand.java       |    19 +-
 .../persistence/query/tree/Property.java        |    19 +-
 .../query/tree/QueryFilterLexer.java            |  2565 --
 .../query/tree/QueryFilterParser.java           |  2186 --
 .../persistence/query/tree/QueryVisitor.java    |    28 +-
 .../persistence/query/tree/StringLiteral.java   |    19 +-
 .../persistence/query/tree/UUIDLiteral.java     |    19 +-
 .../persistence/query/tree/WithinOperand.java   |     8 +-
 .../persistence/query/tree/WithinProperty.java  |    19 +-
 .../usergrid/persistence/utils/ClassUtils.java  |    58 -
 .../persistence/utils/ConversionUtils.java      |   765 -
 .../usergrid/persistence/utils/JsonUtils.java   |   329 -
 .../usergrid/persistence/utils/ListUtils.java   |   230 -
 .../usergrid/persistence/utils/MapUtils.java    |   377 -
 .../usergrid/persistence/utils/StringUtils.java |   172 -
 .../usergrid/persistence/utils/UUIDUtils.java   |   412 -
 .../org/apache/usergrid/utils/ClassUtils.java   |    58 +
 .../apache/usergrid/utils/ConversionUtils.java  |   765 +
 .../org/apache/usergrid/utils/JsonUtils.java    |   329 +
 .../org/apache/usergrid/utils/ListUtils.java    |   232 +
 .../org/apache/usergrid/utils/MapUtils.java     |   377 +
 .../org/apache/usergrid/utils/StringUtils.java  |   172 +
 .../org/apache/usergrid/utils/UUIDUtils.java    |   412 +
 .../index/guice/TestIndexModule.java            |    30 +
 .../persistence/index/impl/CollectionIT.java    |  1658 ++
 .../index/impl/ElasticSearchRule.java           |    61 +
 .../index/impl/ElasticSearchTest.java           |    27 +-
 .../impl/EntityCollectionIndexStressTest.java   |   119 +
 .../index/impl/EntityCollectionIndexTest.java   |   222 +
 .../persistence/index/impl/EntityIndexTest.java |   306 -
 .../usergrid/persistence/index/impl/GeoIT.java  |   580 +
 .../persistence/index/impl/IndexIT.java         |   490 +
 .../persistence/index/legacy/Application.java   |   145 +
 .../index/legacy/CoreApplication.java           |   155 +
 .../persistence/index/legacy/CoreITSetup.java   |    31 +
 .../index/legacy/CoreITSetupImpl.java           |    96 +
 .../persistence/index/legacy/EntityBuilder.java |   177 +
 .../index/legacy/EntityManagerFacade.java       |   200 +
 .../persistence/index/legacy/Point.java         |    58 +
 .../query/AbstractIteratingQueryIT.java         |  1385 +
 .../persistence/query/AllInCollectionIT.java    |    33 +
 .../persistence/query/AllInConnectionIT.java    |    32 +
 .../query/AllInConnectionNoTypeIT.java          |    55 +
 .../query/IntersectionUnionPagingIT.java        |   170 +
 .../query/MultiOrderByCollectionIT.java         |    33 +
 .../MultiOrderByComplexUnionCollectionIT.java   |    33 +
 .../MultiOrderByComplexUnionConnectionIT.java   |    33 +
 .../query/MultiOrderByConnectionIT.java         |    34 +
 .../query/NotOrderByCollectionIT.java           |    33 +
 .../query/NotOrderByConnectionIT.java           |    33 +
 .../usergrid/persistence/query/QueryTest.java   |    26 +-
 ...gleOrderByBoundRangeScanAscCollectionIT.java |    33 +
 ...gleOrderByBoundRangeScanAscConnectionIT.java |    33 +
 ...leOrderByBoundRangeScanDescCollectionIT.java |    33 +
 ...leOrderByBoundRangeScanDescConnectionIT.java |    33 +
 ...eOrderByComplexIntersectionCollectionIT.java |    33 +
 ...eOrderByComplexIntersectionConnectionIT.java |    34 +
 .../SingleOrderByComplexUnionCollectionIT.java  |    33 +
 .../SingleOrderByComplexUnionConnectionIT.java  |    33 +
 .../SingleOrderByIntersectionCollectionIT.java  |    33 +
 .../SingleOrderByIntersectionConnectionIT.java  |    33 +
 .../SingleOrderByLessThanLimitCollectionIT.java |    33 +
 .../SingleOrderByLessThanLimitConnectionIT.java |    33 +
 .../SingleOrderByMaxLimitCollectionIT.java      |    34 +
 .../SingleOrderByMaxLimitConnectionIT.java      |    34 +
 ...SingleOrderByNoIntersectionCollectionIT.java |    33 +
 ...SingleOrderByNoIntersectionConnectionIT.java |    33 +
 .../query/SingleOrderByNotCollectionIT.java     |    33 +
 .../query/SingleOrderByNotConnectionIT.java     |    33 +
 ...OrderBySameRangeScanGreaterCollectionIT.java |    33 +
 ...OrderBySameRangeScanGreaterConnectionIT.java |    33 +
 ...meRangeScanGreaterThanEqualCollectionIT.java |    33 +
 ...gleOrderBySameRangeScanLessCollectionIT.java |    33 +
 ...gleOrderBySameRangeScanLessConnectionIT.java |    33 +
 ...ySameRangeScanLessThanEqualCollectionIT.java |    33 +
 ...ySameRangeScanLessThanEqualConnectionIT.java |    33 +
 .../persistence/query/tree/GrammarTreeTest.java |    49 +-
 .../persistence/query/tree/LongLiteralTest.java |    20 +-
 .../persistence/utils/ElasticSearchRule.java    |    65 -
 .../src/test/resources/dynamic-test.properties  |    16 +
 .../src/test/resources/log4j.properties         |    10 +-
 .../src/test/resources/usergrid-CHOP.properties |    16 +
 .../src/test/resources/usergrid-UNIT.properties |    18 +
 .../src/test/resources/usergrid.properties      |     1 +
 stack/launcher/launch                           |    18 +-
 stack/launcher/pom.xml                          |    16 +
 .../java/org/apache/usergrid/launcher/App.java  |    17 +-
 .../apache/usergrid/launcher/AppleUtils.java    |    17 +-
 .../org/apache/usergrid/launcher/JarMain.java   |     1 -
 .../apache/usergrid/launcher/LauncherFrame.java |    17 +-
 .../usergrid/launcher/LogViewerFrame.java       |    17 +-
 .../apache/usergrid/launcher/package-info.java  |     1 -
 .../launcher/src/main/resources/cassandra.yaml  |    14 +-
 .../resources/usergrid-standalone-context.xml   |    16 +
 .../resources/usergrid-standalone.properties    |    23 +
 stack/mongo-emulator/pom.xml                    |    16 +
 .../usergrid/mongo/MongoChannelHandler.java     |    17 +-
 .../usergrid/mongo/MongoMessageDecoder.java     |    17 +-
 .../usergrid/mongo/MongoMessageEncoder.java     |    17 +-
 .../org/apache/usergrid/mongo/MongoQuery.java   |    17 +-
 .../org/apache/usergrid/mongo/MongoServer.java  |    17 +-
 .../mongo/MongoServerPipelineFactory.java       |    17 +-
 .../usergrid/mongo/commands/Buildinfo.java      |    17 +-
 .../usergrid/mongo/commands/Collstats.java      |    17 +-
 .../apache/usergrid/mongo/commands/Count.java   |    17 +-
 .../apache/usergrid/mongo/commands/Dbstats.java |    17 +-
 .../usergrid/mongo/commands/Getlasterror.java   |    17 +-
 .../usergrid/mongo/commands/ListDatabases.java  |    17 +-
 .../usergrid/mongo/commands/MongoCommand.java   |    17 +-
 .../mongo/commands/ReplSetGetStatus.java        |    17 +-
 .../usergrid/mongo/commands/ServerStatus.java   |    17 +-
 .../usergrid/mongo/commands/Whatsmyuri.java     |    17 +-
 .../apache/usergrid/mongo/protocol/Message.java |    17 +-
 .../apache/usergrid/mongo/protocol/OpCrud.java  |    17 +-
 .../usergrid/mongo/protocol/OpDelete.java       |    17 +-
 .../usergrid/mongo/protocol/OpGetMore.java      |    17 +-
 .../usergrid/mongo/protocol/OpInsert.java       |    17 +-
 .../usergrid/mongo/protocol/OpKillCursors.java  |    17 +-
 .../apache/usergrid/mongo/protocol/OpMsg.java   |    17 +-
 .../apache/usergrid/mongo/protocol/OpQuery.java |    17 +-
 .../apache/usergrid/mongo/protocol/OpReply.java |    17 +-
 .../usergrid/mongo/protocol/OpUpdate.java       |    17 +-
 .../usergrid/mongo/query/MongoQueryParser.java  |    17 +-
 .../mongo/testproxy/MongoMessageFrame.java      |    17 +-
 .../testproxy/MongoProxyInboundHandler.java     |    17 +-
 .../testproxy/MongoProxyPipelineFactory.java    |    17 +-
 .../mongo/testproxy/MongoProxyServer.java       |    17 +-
 .../testproxy/MongoProxyServerHandler.java      |    17 +-
 .../apache/usergrid/mongo/utils/BSONUtils.java  |    17 +-
 .../usergrid/mongo/AbstractMongoTest.java       |    17 +-
 .../apache/usergrid/mongo/BasicMongoTest.java   |    16 +
 .../usergrid/mongo/DatabaseInitializer.java     |    17 +-
 .../apache/usergrid/mongo/MongoQueryTest.java   |    16 +
 stack/pom.xml                                   |    71 +
 stack/query-validator/pom.xml                   |    18 +-
 .../query/validator/ApiServerRunner.java        |    17 +-
 .../validator/DefaultQueryResultsMatcher.java   |    17 +-
 .../usergrid/query/validator/QueryEntity.java   |    17 +-
 .../usergrid/query/validator/QueryRequest.java  |    17 +-
 .../usergrid/query/validator/QueryResponse.java |    17 +-
 .../query/validator/QueryResultsMatcher.java    |    17 +-
 .../usergrid/query/validator/QueryRunner.java   |    19 +-
 .../validator/QueryValidationConfiguration.java |    17 +-
 .../query/validator/QueryValidator.java         |    17 +-
 .../usergrid/query/validator/SqliteRunner.java  |    17 +-
 .../usergrid-query-validator-context.xml        |    16 +
 .../query/validator/AbstractQueryIT.java        |    17 +-
 .../usergrid/query/validator/QueryITSuite.java  |    19 +-
 .../query/validator/users/UserQueryIT.java      |    19 +-
 .../src/test/resources/project.properties       |    16 +
 .../resources/usergrid-custom-test.properties   |    16 +
 .../test/resources/usergrid-test-context.xml    |    16 +
 stack/rest/pom.xml                              |    17 +
 .../usergrid/rest/AbstractContextResource.java  |    17 +-
 .../org/apache/usergrid/rest/ApiResponse.java   |    17 +-
 .../rest/JacksonCustomMapperProvider.java       |    17 +-
 .../org/apache/usergrid/rest/RootResource.java  |    17 +-
 .../rest/ServerEnvironmentProperties.java       |    16 +
 .../apache/usergrid/rest/SwaggerServlet.java    |    17 +-
 .../apache/usergrid/rest/SystemResource.java    |    17 +-
 .../usergrid/rest/TextToJsonSwapWriter.java     |    16 +
 .../rest/applications/ApplicationResource.java  |    17 +-
 .../rest/applications/AuthResource.java         |    17 +-
 .../rest/applications/ServiceResource.java      |    17 +-
 .../applications/assets/AssetsResource.java     |    16 +
 .../applications/events/EventsResource.java     |    17 +-
 .../rest/applications/queues/QueueResource.java |    17 +-
 .../queues/QueueSubscriberResource.java         |    17 +-
 .../queues/QueueSubscriptionResource.java       |    17 +-
 .../queues/QueueTransactionsResource.java       |    17 +-
 .../users/AbstractUserExtensionResource.java    |    17 +-
 .../rest/applications/users/UserResource.java   |    17 +-
 .../rest/applications/users/UsersResource.java  |    17 +-
 .../exceptions/AbstractExceptionMapper.java     |    17 +-
 .../usergrid/rest/exceptions/AuthErrorInfo.java |    17 +-
 .../AuthorizationExceptionMapper.java           |    17 +-
 ...cateUniquePropertyExistsExceptionMapper.java |    17 +-
 .../EntityNotFoundExceptionMapper.java          |    17 +-
 ...orbiddenServiceOperationExceptionMapper.java |    17 +-
 .../IllegalArgumentExceptionMapper.java         |    17 +-
 .../exceptions/JsonReadExceptionMapper.java     |    12 +-
 .../exceptions/JsonWriteExceptionMapper.java    |    12 +-
 .../exceptions/ManagementExceptionMapper.java   |    17 +-
 .../usergrid/rest/exceptions/NoOpException.java |    17 +-
 .../rest/exceptions/NoOpExceptionMapper.java    |    17 +-
 .../NotImplementedExceptionMapper.java          |    17 +-
 .../exceptions/OAuthProblemExceptionMapper.java |    17 +-
 ...rganizationApplicationNotFoundException.java |    16 +
 ...ationApplicationNotFoundExceptionMapper.java |    16 +
 .../exceptions/PersistenceExceptionMapper.java  |    17 +-
 .../exceptions/QueryParseExceptionMapper.java   |    17 +-
 .../exceptions/QueryTokenExceptionMapper.java   |    17 +-
 .../RecentlyUsedPasswordExceptionMapper.java    |    16 +
 .../rest/exceptions/RedirectionException.java   |    16 +
 .../exceptions/RedirectionExceptionMapper.java  |    17 +-
 ...RequiredPropertyNotFoundExceptionMapper.java |    17 +-
 .../rest/exceptions/SecurityException.java      |    17 +-
 .../exceptions/SecurityExceptionMapper.java     |    17 +-
 .../rest/exceptions/ServiceExceptionMapper.java |    17 +-
 .../ServiceResourceNotFoundExceptionMapper.java |    17 +-
 .../rest/exceptions/ThrowableMapper.java        |    17 +-
 .../TransactionNotFoundExceptionMapper.java     |    17 +-
 .../rest/filters/ContentTypeFilter.java         |    17 +-
 .../rest/filters/JSONPCallbackFilter.java       |    17 +-
 .../usergrid/rest/filters/MeteringFilter.java   |    17 +-
 .../usergrid/rest/filters/TracingFilter.java    |    16 +
 .../rest/management/ManagementResource.java     |    32 +-
 .../management/metrics/MetricsResource.java     |    16 +
 .../organizations/OrganizationResource.java     |    17 +-
 .../organizations/OrganizationsResource.java    |    17 +-
 .../applications/ApplicationResource.java       |   198 +-
 .../applications/ApplicationsResource.java      |    17 +-
 .../organizations/users/UsersResource.java      |    17 +-
 .../rest/management/users/UserResource.java     |    17 +-
 .../rest/management/users/UsersResource.java    |    17 +-
 .../organizations/OrganizationsResource.java    |    17 +-
 .../organizations/OrganizationResource.java     |    16 +
 .../rest/security/CrossOriginRequestFilter.java |    17 +-
 .../security/SecuredResourceFilterFactory.java  |    17 +-
 .../annotations/RequireAdminUserAccess.java     |    17 +-
 .../annotations/RequireApplicationAccess.java   |    17 +-
 .../annotations/RequireOrganizationAccess.java  |    17 +-
 .../annotations/RequireSystemAccess.java        |    17 +-
 .../security/shiro/RestSecurityManager.java     |    17 +-
 .../ShiroAuthenticationExceptionMapper.java     |    17 +-
 .../shiro/filters/BasicAuthSecurityFilter.java  |    17 +-
 .../ClientCredentialsSecurityFilter.java        |    17 +-
 .../OAuth2AccessTokenSecurityFilter.java        |    17 +-
 .../security/shiro/filters/SecurityFilter.java  |    17 +-
 .../session/HttpRequestSessionManager.java      |    17 +-
 .../session/HttpServletRequestSession.java      |    17 +-
 .../usergrid/rest/test/PropertiesResource.java  |    11 +-
 .../apache/usergrid/rest/utils/CORSUtils.java   |    17 +-
 .../apache/usergrid/rest/utils/JSONPUtils.java  |    17 +-
 .../usergrid/rest/utils/PathingUtils.java       |    16 +
 .../main/resources/swagger/applications.json    |    16 +
 .../src/main/resources/swagger/management.json  |    16 +
 .../src/main/resources/swagger/resources.json   |    16 +
 .../main/resources/usergrid-rest-context.xml    |    16 +
 .../resources/usergrid-rest-deploy-context.xml  |    16 +
 stack/rest/src/main/webapp/WEB-INF/c.tld        |    17 +-
 .../apache/usergrid/rest/TestResource/error.jsp |    16 +
 .../apache/usergrid/rest/TestResource/test.jsp  |    16 +
 .../ApplicationResource/authorize_form.jsp      |    16 +
 .../applications/ApplicationResource/error.jsp  |    16 +
 .../users/UserResource/activate.jsp             |    16 +
 .../applications/users/UserResource/confirm.jsp |    16 +
 .../applications/users/UserResource/error.jsp   |    16 +
 .../users/UserResource/resetpw_email_form.jsp   |    16 +
 .../UserResource/resetpw_email_success.jsp      |    16 +
 .../users/UserResource/resetpw_set_form.jsp     |    16 +
 .../users/UserResource/resetpw_set_success.jsp  |    16 +
 .../applications/users/UsersResource/error.jsp  |    16 +
 .../users/UsersResource/resetpw_email_form.jsp  |    16 +
 .../UsersResource/resetpw_email_success.jsp     |    16 +
 .../ManagementResource/authorize_form.jsp       |    16 +
 .../management/ManagementResource/error.jsp     |    16 +
 .../OrganizationResource/activate.jsp           |    16 +
 .../OrganizationResource/confirm.jsp            |    16 +
 .../OrganizationResource/error.jsp              |    16 +
 .../management/users/UserResource/activate.jsp  |    16 +
 .../management/users/UserResource/confirm.jsp   |    16 +
 .../management/users/UserResource/error.jsp     |    16 +
 .../users/UserResource/resetpw_email_form.jsp   |    16 +
 .../UserResource/resetpw_email_success.jsp      |    16 +
 .../users/UserResource/resetpw_set_form.jsp     |    16 +
 .../users/UserResource/resetpw_set_success.jsp  |    16 +
 .../management/users/UsersResource/error.jsp    |    16 +
 .../users/UsersResource/resetpw_email_form.jsp  |    16 +
 .../UsersResource/resetpw_email_success.jsp     |    16 +
 stack/rest/src/main/webapp/WEB-INF/web.xml      |    16 +
 stack/rest/src/main/webapp/css/styles.css       |    17 +-
 .../apache/usergrid/rest/AbstractRestIT.java    |    17 +-
 .../java/org/apache/usergrid/rest/BasicIT.java  |    17 +-
 .../usergrid/rest/ConcurrentRestITSuite.java    |    16 +
 .../usergrid/rest/DatabaseInitializer.java      |    17 +-
 .../java/org/apache/usergrid/rest/ITSetup.java  |    26 +-
 .../org/apache/usergrid/rest/RestITSuite.java   |    26 +-
 .../apache/usergrid/rest/TestContextSetup.java  |    16 +
 .../apache/usergrid/rest/TomcatResource.java    |    16 +
 .../ApplicationRequestCounterIT.java            |    24 +-
 .../applications/ApplicationResourceIT.java     |    16 +-
 .../rest/applications/DevicesResourceIT.java    |    16 +
 .../applications/assets/AssetResourceIT.java    |    16 +
 .../collection/BadGrammarQueryTest.java         |    16 +
 .../collection/BrowserCompatibilityTest.java    |    17 +-
 .../collection/PagingResourceIT.java            |    17 +-
 .../collection/activities/AndOrQueryTest.java   |    16 +
 .../collection/activities/OrderByTest.java      |    16 +
 .../activities/PagingEntitiesTest.java          |    16 +
 .../collection/activities/PutTest.java          |    16 +
 .../collection/groups/GeoPagingTest.java        |    26 +-
 .../collection/groups/UpdateGroupIT.java        |    26 +-
 .../applications/events/EventsResourceIT.java   |    16 +
 .../queues/AbstractQueueResourceIT.java         |    16 +
 .../queues/QueueResourceLong1IT.java            |    16 +
 .../queues/QueueResourceLong2IT.java            |    16 +
 .../queues/QueueResourceLong3IT.java            |    16 +
 .../queues/QueueResourceShortIT.java            |    16 +
 .../applications/users/ActivityResourceIT.java  |    17 +-
 .../users/CollectionsResourceIT.java            |    17 +-
 .../users/ConnectionResourceTest.java           |    16 +
 .../applications/users/GroupResourceIT.java     |    17 +-
 .../applications/users/OwnershipResourceIT.java |    17 +-
 .../users/PermissionsResourceIT.java            |    17 +-
 .../applications/users/RetrieveUsersTest.java   |    16 +
 .../rest/applications/users/UserResourceIT.java |    17 +-
 .../users/extensions/TestResource.java          |    17 +-
 .../rest/applications/utils/TestUtils.java      |    17 +-
 .../rest/applications/utils/UserRepo.java       |    16 +
 .../rest/filters/ContentTypeResourceIT.java     |    17 +-
 .../rest/management/ManagementResourceIT.java   |   598 +-
 .../rest/management/RegistrationIT.java         |    25 +-
 .../organizations/AdminEmailEncodingIT.java     |    16 +
 .../organizations/OrganizationResourceIT.java   |    16 +
 .../organizations/OrganizationsResourceIT.java  |    16 +
 .../applications/ApplicationsIT.java            |    84 +
 .../rest/management/users/MUUserResourceIT.java |    25 +-
 .../UsersOrganizationsResourceIT.java           |    16 +
 .../rest/test/PropertiesResourceIT.java         |    12 +-
 .../rest/test/resource/CollectionResource.java  |    17 +-
 .../usergrid/rest/test/resource/Connection.java |    17 +-
 .../rest/test/resource/CustomCollection.java    |    17 +-
 .../rest/test/resource/EntityResource.java      |    17 +-
 .../apache/usergrid/rest/test/resource/Me.java  |    17 +-
 .../rest/test/resource/NamedResource.java       |    17 +-
 .../rest/test/resource/ResultsParser.java       |    17 +-
 .../rest/test/resource/RootResource.java        |    17 +-
 .../rest/test/resource/SetResource.java         |    17 +-
 .../rest/test/resource/TestContext.java         |    26 +-
 .../rest/test/resource/ValueResource.java       |    17 +-
 .../rest/test/resource/app/Application.java     |    17 +-
 .../usergrid/rest/test/resource/app/Device.java |    17 +-
 .../usergrid/rest/test/resource/app/User.java   |    17 +-
 .../rest/test/resource/app/UsersCollection.java |    17 +-
 .../resource/app/queue/DevicesCollection.java   |    17 +-
 .../rest/test/resource/app/queue/Queue.java     |    17 +-
 .../resource/app/queue/QueuesCollection.java    |    17 +-
 .../app/queue/SubscribersCollection.java        |    17 +-
 .../test/resource/app/queue/Transaction.java    |    17 +-
 .../app/queue/TransactionsCollection.java       |    17 +-
 .../rest/test/resource/mgmt/Application.java    |    17 +-
 .../resource/mgmt/ApplicationsCollection.java   |    17 +-
 .../rest/test/resource/mgmt/Management.java     |    17 +-
 .../rest/test/resource/mgmt/Organization.java   |    17 +-
 .../resource/mgmt/OrganizationsCollection.java  |    17 +-
 .../rest/test/security/TestAdminUser.java       |    17 +-
 .../rest/test/security/TestAppUser.java         |    17 +-
 .../usergrid/rest/test/security/TestUser.java   |    17 +-
 stack/services/pom.xml                          |    16 +
 .../management/AccountCreationProps.java        |    17 +-
 .../usergrid/management/ActivationState.java    |    16 +
 .../usergrid/management/ApplicationCreator.java |    16 +
 .../usergrid/management/ApplicationInfo.java    |    17 +-
 .../usergrid/management/ManagementService.java  |    17 +-
 .../usergrid/management/OrganizationInfo.java   |    17 +-
 .../management/OrganizationOwnerInfo.java       |    17 +-
 .../management/OrganizationProfile.java         |    17 +-
 .../apache/usergrid/management/UserInfo.java    |    17 +-
 .../cassandra/AccountCreationPropsImpl.java     |    17 +-
 .../cassandra/ApplicationCreatorImpl.java       |    16 +
 .../cassandra/ManagementServiceImpl.java        |    45 +-
 .../ApplicationCreationException.java           |    16 +
 .../exceptions/DisabledAdminUserException.java  |    17 +-
 .../exceptions/DisabledAppUserException.java    |    17 +-
 .../exceptions/IncorrectPasswordException.java  |    17 +-
 .../exceptions/ManagementException.java         |    17 +-
 .../RecentlyUsedPasswordException.java          |    16 +
 .../UnableToLeaveOrganizationException.java     |    17 +-
 .../UnactivatedAdminUserException.java          |    17 +-
 .../exceptions/UnactivatedAppUserException.java |    17 +-
 .../UnactivatedOrganizationException.java       |    17 +-
 .../UnconfirmedAdminUserException.java          |    17 +-
 .../usergrid/management/export/ExportJob.java   |    81 +
 .../management/export/ExportService.java        |    48 +
 .../management/export/ExportServiceImpl.java    |   608 +
 .../usergrid/management/export/S3Export.java    |    35 +
 .../management/export/S3ExportImpl.java         |   109 +
 .../usergrid/management/utils/AccountUtils.java |    17 +-
 .../usergrid/security/AuthPrincipalInfo.java    |    17 +-
 .../usergrid/security/AuthPrincipalType.java    |    17 +-
 .../security/crypto/EncryptionService.java      |    17 +-
 .../security/crypto/EncryptionServiceImpl.java  |    17 +-
 .../security/crypto/command/BcryptCommand.java  |    17 +-
 .../crypto/command/EncryptionCommand.java       |    17 +-
 .../security/crypto/command/Md5HashCommand.java |    17 +-
 .../crypto/command/PlainTextCommand.java        |    17 +-
 .../crypto/command/SaltedHasherCommand.java     |    17 +-
 .../crypto/command/Sha1HashCommand.java         |    17 +-
 .../usergrid/security/oauth/AccessInfo.java     |    17 +-
 .../security/oauth/ClientCredentialsInfo.java   |    17 +-
 .../usergrid/security/oauth/OAuthProxy.java     |    17 +-
 .../security/oauth/OAuthProxyFactory.java       |    17 +-
 .../security/providers/AbstractProvider.java    |    16 +
 .../security/providers/FacebookProvider.java    |    16 +
 .../security/providers/FoursquareProvider.java  |    16 +
 .../providers/PingIdentityProvider.java         |    16 +
 .../security/providers/SignInAsProvider.java    |    16 +
 .../providers/SignInProviderFactory.java        |    16 +
 .../security/salt/NoOpSaltProvider.java         |    17 +-
 .../security/salt/PropertiesSaltProvider.java   |    17 +-
 .../usergrid/security/salt/SaltProvider.java    |    17 +-
 .../security/shiro/CustomPermission.java        |    17 +-
 .../shiro/CustomPermissionResolver.java         |    17 +-
 .../shiro/PrincipalCredentialsToken.java        |    17 +-
 .../apache/usergrid/security/shiro/Realm.java   |    17 +-
 .../AbstractAccessTokenCredentials.java         |    17 +-
 .../credentials/AbstractClientCredentials.java  |    17 +-
 .../AbstractPasswordCredentials.java            |    17 +-
 .../credentials/AccessTokenCredentials.java     |    17 +-
 .../shiro/credentials/AdminUserAccessToken.java |    17 +-
 .../shiro/credentials/AdminUserCredentials.java |    17 +-
 .../shiro/credentials/AdminUserPassword.java    |    17 +-
 .../credentials/ApplicationAccessToken.java     |    17 +-
 .../ApplicationClientCredentials.java           |    17 +-
 .../credentials/ApplicationCredentials.java     |    17 +-
 .../shiro/credentials/ApplicationGuest.java     |    17 +-
 .../credentials/ApplicationUserAccessToken.java |    17 +-
 .../credentials/ApplicationUserCredentials.java |    17 +-
 .../credentials/ApplicationUserPassword.java    |    17 +-
 .../shiro/credentials/ClientCredentials.java    |    17 +-
 .../credentials/OrganizationAccessToken.java    |    17 +-
 .../OrganizationClientCredentials.java          |    17 +-
 .../credentials/OrganizationCredentials.java    |    17 +-
 .../shiro/credentials/PasswordCredentials.java  |    17 +-
 .../shiro/credentials/PrincipalCredentials.java |    17 +-
 .../shiro/principals/AdminUserPrincipal.java    |    17 +-
 .../principals/ApplicationGuestPrincipal.java   |    17 +-
 .../shiro/principals/ApplicationPrincipal.java  |    17 +-
 .../principals/ApplicationUserPrincipal.java    |    17 +-
 .../shiro/principals/OrganizationPrincipal.java |    17 +-
 .../shiro/principals/PrincipalIdentifier.java   |    17 +-
 .../shiro/principals/UserPrincipal.java         |    17 +-
 .../security/shiro/utils/SubjectUtils.java      |    17 +-
 .../usergrid/security/tokens/TokenCategory.java |    17 +-
 .../usergrid/security/tokens/TokenInfo.java     |    16 +
 .../usergrid/security/tokens/TokenService.java  |    16 +
 .../tokens/cassandra/TokenServiceImpl.java      |    18 +-
 .../tokens/exceptions/BadTokenException.java    |    17 +-
 .../exceptions/ExpiredTokenException.java       |    17 +-
 .../exceptions/InvalidTokenException.java       |    17 +-
 .../tokens/exceptions/TokenException.java       |    17 +-
 .../services/AbstractCollectionService.java     |    20 +-
 .../services/AbstractConnectionsService.java    |    17 +-
 .../AbstractPathBasedColllectionService.java    |    17 +-
 .../usergrid/services/AbstractService.java      |    17 +-
 .../org/apache/usergrid/services/Service.java   |    17 +-
 .../apache/usergrid/services/ServiceAction.java |    17 +-
 .../ServiceCollectionEventListener.java         |    17 +-
 .../usergrid/services/ServiceContext.java       |    17 +-
 .../services/ServiceExecutionEvent.java         |    17 +-
 .../services/ServiceExecutionEventListener.java |    17 +-
 .../apache/usergrid/services/ServiceInfo.java   |    17 +-
 .../usergrid/services/ServiceManager.java       |    17 +-
 .../services/ServiceManagerFactory.java         |    17 +-
 .../usergrid/services/ServiceParameter.java     |    17 +-
 .../usergrid/services/ServicePayload.java       |    17 +-
 .../usergrid/services/ServiceRequest.java       |    17 +-
 .../usergrid/services/ServiceResults.java       |    17 +-
 .../apache/usergrid/services/ServiceUtils.java  |    17 +-
 .../services/activities/ActivitiesService.java  |    17 +-
 .../applications/ApplicationsService.java       |    17 +-
 .../usergrid/services/assets/AssetsService.java |    17 +-
 .../services/assets/data/AssetMimeHandler.java  |    16 +
 .../services/assets/data/AssetUtils.java        |    16 +
 .../services/assets/data/BinaryStore.java       |    16 +
 .../assets/data/LocalFileBinaryStore.java       |    16 +
 .../services/assets/data/S3BinaryStore.java     |    16 +
 .../services/devices/DevicesService.java        |    17 +-
 .../services/devices/users/UsersService.java    |    17 +-
 .../ForbiddenServiceOperationException.java     |    17 +-
 .../services/exceptions/ServiceException.java   |    17 +-
 .../exceptions/ServiceInvocationException.java  |    17 +-
 .../ServiceResourceNotFoundException.java       |    17 +-
 .../UndefinedServiceEntityTypeException.java    |    17 +-
 .../UnsupportedServiceOperationException.java   |    17 +-
 .../generic/GenericCollectionService.java       |    17 +-
 .../generic/GenericConnectionsService.java      |    17 +-
 .../services/generic/RootCollectionService.java |    17 +-
 .../usergrid/services/groups/GroupsService.java |    17 +-
 .../groups/activities/ActivitiesService.java    |    17 +-
 .../services/groups/roles/RolesService.java     |    17 +-
 .../services/groups/users/UsersService.java     |    17 +-
 .../users/activities/ActivitiesService.java     |    17 +-
 .../groups/users/devices/DevicesService.java    |    17 +-
 .../services/messages/MessagesService.java      |    17 +-
 .../usergrid/services/roles/RolesService.java   |    17 +-
 .../services/roles/groups/GroupsService.java    |    17 +-
 .../services/roles/users/UsersService.java      |    17 +-
 .../usergrid/services/users/UsersService.java   |    17 +-
 .../users/activities/ActivitiesService.java     |    53 +-
 .../services/users/devices/DevicesService.java  |    17 +-
 .../users/following/FollowingService.java       |    16 +
 .../services/users/groups/GroupsService.java    |    17 +-
 .../services/users/roles/RolesService.java      |    17 +-
 .../org/apache/usergrid/utils/PythonUtils.java  |    17 +-
 .../src/main/python/pyusergrid/__init__.py      |    15 +
 .../main/python/pyusergrid/services/__init__.py |    15 +
 .../pyusergrid/services/pytest/PytestService.py |    16 +
 .../pyusergrid/services/pytest/__init__.py      |    15 +
 .../python/pyusergrid/services/pytest/test.py   |    16 +
 stack/services/src/main/python/test/__init__.py |    15 +
 stack/services/src/main/python/test/test.py     |    16 +
 .../resources/usergrid-services-context.xml     |    26 +
 .../test/java/baas/io/simple/SimpleService.java |    18 -
 .../usergrid/ConcurrentServiceITSuite.java      |    16 +
 .../org/apache/usergrid/ServiceApplication.java |    16 +
 .../org/apache/usergrid/ServiceITSetup.java     |    19 +
 .../org/apache/usergrid/ServiceITSetupImpl.java |    22 +
 .../org/apache/usergrid/ServiceITSuite.java     |    16 +
 .../apache/usergrid/management/EmailFlowIT.java |    17 +-
 .../management/ManagementTestHelper.java        |    17 +-
 .../usergrid/management/MockImapClient.java     |    16 +
 .../usergrid/management/OrganizationIT.java     |    25 +-
 .../org/apache/usergrid/management/RoleIT.java  |    17 +-
 .../cassandra/ApplicationCreatorIT.java         |    16 +
 .../cassandra/ManagementServiceIT.java          |   723 +-
 .../cassandra/ManagementTestHelperImpl.java     |    17 +-
 .../management/cassandra/MockS3ExportImpl.java  |    72 +
 .../org/apache/usergrid/python/JythonTest.java  |    17 +-
 .../usergrid/security/CustomResolverTest.java   |    17 +-
 .../crypto/EncryptionServiceImplTest.java       |    17 +-
 .../crypto/command/BcryptCommandTest.java       |    17 +-
 .../crypto/command/Md5HashCommandTest.java      |    17 +-
 .../crypto/command/Sha1HashCommandTest.java     |    17 +-
 .../security/providers/FacebookProviderIT.java  |    16 +
 .../providers/PingIdentityProviderIT.java       |    16 +
 .../security/tokens/TokenServiceIT.java         |    16 +
 .../usergrid/services/AbstractServiceIT.java    |    17 +-
 .../usergrid/services/ActivitiesServiceIT.java  |    17 +-
 .../services/ApplicationsServiceIT.java         |    17 +-
 .../usergrid/services/CollectionServiceIT.java  |    17 +-
 .../usergrid/services/ConnectionsServiceIT.java |    17 +-
 .../usergrid/services/GroupServiceIT.java       |    17 +-
 .../usergrid/services/RolesServiceIT.java       |    17 +-
 .../usergrid/services/ServiceFactoryIT.java     |    19 +-
 .../usergrid/services/ServiceInfoTest.java      |    17 +-
 .../usergrid/services/ServiceInvocationIT.java  |    17 +-
 .../usergrid/services/ServiceRequestIT.java     |    17 +-
 .../usergrid/services/UsersServiceIT.java       |    17 +-
 .../services/assets/data/AssetUtilsTest.java    |    16 +
 .../usergrid/services/simple/SimpleService.java |    33 +
 .../src/test/resources/project.properties       |    16 +
 .../test/resources/usergrid-test-context.xml    |    16 +
 stack/test-utils/pom.xml                        |    16 +
 .../apache/usergrid/NoExitSecurityManager.java  |    16 +
 .../usergrid/cassandra/AvailablePortFinder.java |    27 +-
 .../usergrid/cassandra/CassandraResource.java   |    16 +
 .../usergrid/cassandra/ClearShiroSubject.java   |    16 +
 .../apache/usergrid/cassandra/Concurrent.java   |    16 +
 .../cassandra/ConcurrentJunitRunner.java        |    16 +
 .../usergrid/cassandra/ConcurrentSuite.java     |    16 +
 .../apache/usergrid/cassandra/DataControl.java  |    16 +
 .../apache/usergrid/cassandra/DataLoader.java   |    16 +
 .../usergrid/cassandra/SchemaManager.java       |    16 +
 .../src/main/resources/cassandra.yaml           |    12 +
 .../src/main/resources/log4j.properties         |    12 +
 .../cassandra/AnotherCassandraResourceIT.java   |    16 +
 .../cassandra/CassandraResourceITSuite.java     |    16 +
 .../cassandra/CassandraResourceTest.java        |    16 +
 .../usergrid/cassandra/FakeSchemaManager.java   |    16 +
 .../usergrid/cassandra/OkThisIsTheLastIT.java   |    16 +
 .../YetAnotherCassandraResourceIT.java          |    16 +
 .../src/test/resources/project.properties       |    12 +
 .../test/resources/usergrid-test-context.xml    |    16 +
 stack/tools/impoexpo.sh                         |    16 +
 stack/tools/pom.xml                             |    16 +
 stack/tools/src/main/assembly/release.xml       |    16 +
 .../main/dist/usergrid-custom-tools.properties  |    16 +
 stack/tools/src/main/dist/usergrid-export.sh    |    16 +
 .../java/org/apache/usergrid/tools/ApiDoc.java  |    17 +-
 .../org/apache/usergrid/tools/AppAudit.java     |    17 +-
 .../org/apache/usergrid/tools/AppNameFix.java   |    17 +-
 .../java/org/apache/usergrid/tools/Cli.java     |    17 +-
 .../java/org/apache/usergrid/tools/Command.java |    17 +-
 .../org/apache/usergrid/tools/CredExport.java   |    17 +-
 .../apache/usergrid/tools/DupAdminRepair.java   |    17 +-
 .../org/apache/usergrid/tools/DupOrgRepair.java |    17 +-
 .../apache/usergrid/tools/EntityCleanup.java    |    17 +-
 .../usergrid/tools/EntityInsertBenchMark.java   |    17 +-
 .../usergrid/tools/EntityReadBenchMark.java     |    17 +-
 .../org/apache/usergrid/tools/EntityUpdate.java |    16 +
 .../java/org/apache/usergrid/tools/Export.java  |    17 +-
 .../usergrid/tools/ExportDataCreator.java       |    17 +-
 .../usergrid/tools/ExportingToolBase.java       |    23 +-
 .../java/org/apache/usergrid/tools/Import.java  |    17 +-
 .../org/apache/usergrid/tools/ImportFB.java     |    17 +-
 .../org/apache/usergrid/tools/IndexRebuild.java |    17 +-
 .../java/org/apache/usergrid/tools/Metrics.java |    16 +
 .../usergrid/tools/OrganizationExport.java      |    16 +
 .../apache/usergrid/tools/PopulateSample.java   |    17 +-
 .../RepairingMismatchedApplicationMetadata.java |    73 +
 .../apache/usergrid/tools/ResetSuperUser.java   |    17 +-
 .../java/org/apache/usergrid/tools/SetupDB.java |    17 +-
 .../java/org/apache/usergrid/tools/Test.java    |    17 +-
 .../org/apache/usergrid/tools/ToolBase.java     |    16 +-
 .../usergrid/tools/UniqueIndexCleanup.java      |    17 +-
 .../org/apache/usergrid/tools/UserManager.java  |    16 +
 .../apache/usergrid/tools/WarehouseExport.java  |    16 +-
 .../apache/usergrid/tools/WarehouseUpsert.java  |    23 +-
 .../usergrid/tools/apidoc/swagger/Api.java      |    17 +-
 .../tools/apidoc/swagger/ApiListing.java        |    17 +-
 .../tools/apidoc/swagger/ApiOperation.java      |    17 +-
 .../tools/apidoc/swagger/ApiOperationError.java |    17 +-
 .../usergrid/tools/apidoc/swagger/ApiParam.java |    17 +-
 .../apidoc/swagger/ApiParamAllowableValues.java |    17 +-
 .../apache/usergrid/tools/bean/AppScore.java    |    16 +
 .../apache/usergrid/tools/bean/ExportOrg.java   |    17 +-
 .../apache/usergrid/tools/bean/MetricLine.java  |    16 +
 .../apache/usergrid/tools/bean/MetricQuery.java |    16 +
 .../apache/usergrid/tools/bean/MetricSort.java  |    16 +
 .../apache/usergrid/tools/bean/OrgScore.java    |    16 +
 .../src/main/resources/apidoc/applications.yaml |    11 +
 .../src/main/resources/apidoc/management.yaml   |    11 +
 stack/tools/src/main/resources/log4j.xml        |    16 +
 .../main/resources/toolsApplicationContext.xml  |    16 +
 .../src/main/resources/warehouse-schema.sql     |    18 +-
 stack/websocket/pom.xml                         |    16 +
 .../websocket/WebSocketChannelHandler.java      |    17 +-
 .../usergrid/websocket/WebSocketKeyStore.java   |    17 +-
 .../usergrid/websocket/WebSocketServer.java     |    30 +-
 .../websocket/WebSocketServerIndexPage.java     |    30 +-
 .../WebSocketServerPipelineFactory.java         |    17 +-
 .../websocket/WebSocketSslContextFactory.java   |    17 +-
 .../usergrid/websocket/ExampleListener.java     |    17 +-
 .../websocket/SimpleMessageProducer.java        |    17 +-
 .../usergrid/websocket/WebSocketServerTest.java |    17 +-
 .../src/test/resources/test-activemq.xml        |    27 +-
 .../test/resources/testApplicationContext.xml   |    16 +
 1353 files changed, 101866 insertions(+), 27620 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1b5a5818/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/guice/GraphModule.java
----------------------------------------------------------------------


[12/26] git commit: Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of https://github.com/usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/merge
Commit: c4f9d0f20ee4c342f7fec643f4eca35d2c384518
Parents: e1b4cff a705630
Author: Dave Johnson <dm...@apigee.com>
Authored: Sat Mar 22 18:16:08 2014 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Sat Mar 22 18:16:08 2014 -0400

----------------------------------------------------------------------
 .../src/main/groovy/wait_for_instances.groovy   |   2 +-
 .../graph/consistency/AsyncProcessor.java       |  14 +-
 .../graph/consistency/AsyncProcessorImpl.java   |  94 ++++++-
 .../graph/consistency/TimeService.java          |  33 +++
 .../persistence/graph/guice/GraphModule.java    |   7 +-
 .../graph/consistency/AsyncProcessorTest.java   | 273 +++++++++++++++++++
 6 files changed, 409 insertions(+), 14 deletions(-)
----------------------------------------------------------------------



[06/26] git commit: Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/merge
Commit: 56a2e214d4a529c5f7b908c52d1dc7f4e1c13e99
Parents: 1b5a581 9d6ed41
Author: Todd Nine <tn...@apigee.com>
Authored: Fri Mar 21 15:54:20 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Fri Mar 21 15:54:20 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |   6 +
 stack/awscluster/README.md                      |  31 +-
 stack/awscluster/cassandra-cf.json              | 315 ---------
 stack/awscluster/pom.xml                        |   6 +-
 .../main/dist/init_instance/init_db_server.sh   |  54 ++
 .../main/dist/init_instance/init_instance.sh    |  54 --
 .../main/dist/init_instance/init_rest_server.sh |  41 ++
 .../dist/init_instance/install_cassandra.sh     |  63 +-
 stack/awscluster/src/main/dist/update.sh        |  16 +
 .../src/main/groovy/configure_cassandra.groovy  |   2 +-
 .../src/main/groovy/configure_portal_new.groovy |  17 +
 .../src/main/groovy/configure_usergrid.groovy   | 126 ++++
 stack/awscluster/ugcluster-cf.json              | 647 +++++++++++++++++++
 .../serialization/SerializationFig.java         |   5 +
 ...MvccEntitySerializationStrategyImplTest.java |  57 +-
 stack/corepersistence/perftest1/pom.xml         |  76 +++
 .../usergrid/persistence/UsergridBootstrap.java | 303 +++++++++
 .../src/main/resources/log4j.properties         |  44 ++
 .../src/main/resources/project.properties       |   1 +
 .../main/resources/usergrid-test-context.xml    |  39 ++
 .../persistence/Usergrid1PerformanceTest.java   | 302 +++++++++
 .../persistence/UsergridBootstrapTest.java      |  56 ++
 stack/corepersistence/perftest2/pom.xml         |  64 ++
 .../main/groovy/perftest2/CreateEntity.groovy   | 100 +++
 .../persistence/CorePerformanceTest.java        | 318 +++++++++
 .../index/guice/TestIndexModule.java            |  30 +
 .../usergrid/persistence/index/IndexFig.java    |   8 +-
 .../index/impl/EsEntityCollectionIndex.java     |  16 +-
 .../persistence/index/impl/EsProvider.java      |  53 +-
 .../index/legacy/EntityManagerFacade.java       | 200 ++++++
 .../apache/usergrid/utils/EntityBuilder.java    | 177 +++++
 .../index/impl/CorePerformanceIT.java           | 304 +++++++++
 .../index/impl/EntityCollectionIndexTest.java   |   2 +-
 .../persistence/index/legacy/EntityBuilder.java | 177 -----
 .../index/legacy/EntityManagerFacade.java       | 200 ------
 .../src/test/resources/dynamic-test.properties  |   2 +-
 .../src/test/resources/usergrid-CHOP.properties |   5 +-
 .../src/test/resources/usergrid-UNIT.properties |   2 +-
 stack/pom.xml                                   |   4 +-
 39 files changed, 3054 insertions(+), 869 deletions(-)
----------------------------------------------------------------------



[10/26] git commit: Dependency and other cleanup.

Posted by sn...@apache.org.
Dependency and other cleanup.


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

Branch: refs/pull/77/merge
Commit: e1b4cffafaa6f8350cff78885c47e977f9e14cba
Parents: 9d6ed41
Author: Dave Johnson <dm...@apigee.com>
Authored: Sat Mar 22 18:15:51 2014 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Sat Mar 22 18:15:51 2014 -0400

----------------------------------------------------------------------
 stack/corepersistence/perftest1/pom.xml         |  9 ++---
 .../persistence/Usergrid1PerformanceTest.java   | 36 +++++++++++---------
 2 files changed, 22 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e1b4cffa/stack/corepersistence/perftest1/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/perftest1/pom.xml b/stack/corepersistence/perftest1/pom.xml
index 0e380b1..0307bde 100644
--- a/stack/corepersistence/perftest1/pom.xml
+++ b/stack/corepersistence/perftest1/pom.xml
@@ -31,11 +31,6 @@
         </dependency>
 
         <dependency>
-            <artifactId>groovy-all</artifactId>
-            <groupId>org.codehaus.groovy</groupId>
-            <version>2.2.2</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.usergrid</groupId>
             <artifactId>usergrid-tools</artifactId>
             <version>0.0.29-SNAPSHOT</version>
@@ -49,7 +44,7 @@
     <build>
         <plugins>
 
-            <plugin>
+<!--            <plugin>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>2.3.2</version>
                 <dependencies>
@@ -69,7 +64,7 @@
                 <groupId>org.codehaus.groovy</groupId>
                 <version>2.6.0-01</version>
                 <extensions>true</extensions>
-            </plugin>
+            </plugin>-->
 
         </plugins>
     </build>

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e1b4cffa/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java b/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
index a818199..7aee702 100644
--- a/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
+++ b/stack/corepersistence/perftest1/src/test/java/org/apache/usergrid/persistence/Usergrid1PerformanceTest.java
@@ -36,8 +36,8 @@ import org.slf4j.LoggerFactory;
 /**
  * TODO: make configurable, add CHOP markup.
  */
-public class Usegrid1PerformanceTest {
-    private static final Logger log = LoggerFactory.getLogger(Usegrid1PerformanceTest.class);
+public class Usergrid1PerformanceTest {
+    private static final Logger log = LoggerFactory.getLogger(Usergrid1PerformanceTest.class);
 
     // max entities we will write and read
     static int maxEntities = Integer.MAX_VALUE;
@@ -53,7 +53,7 @@ public class Usegrid1PerformanceTest {
     private final EntityManagerFactory emf;
 
 
-    public Usegrid1PerformanceTest() throws Throwable {
+    public Usergrid1PerformanceTest() throws Throwable {
         emf = UsergridBootstrap.newInstance().getBean( EntityManagerFactory.class );
     }
    
@@ -66,13 +66,13 @@ public class Usegrid1PerformanceTest {
     @Test
     public void loadAndReadData() throws Exception {
 
-        log.info("Start Data Load");
+        log("Start Data Load");
         List<UUID> apps = loadData();
-        log.info("Finish Data Load");
+        log("Finish Data Load");
 
-        log.info("Start Data Read");
+        log("Start Data Read");
         readData( apps );
-        log.info("Finish Data Read");
+        log("Finish Data Read");
 
         runSelectedQueries( apps );
 
@@ -167,13 +167,13 @@ public class Usegrid1PerformanceTest {
                     results = em.searchCollection( em.getApplicationRef(), "reviews", query );
                 } catch (Exception ex) {
                     log.error("Error on search, aborting", ex);
-                    log.info("Read {} reviews in {}", count, appId );
+                    log( String.format("Read %d reviews in %s", count, appId) );
                     return;
                 }
                 results.getEntities(); // cause retrieval from Cassanda;
                 count += results.size();
 
-                log.info("Read {} reviews in {}", count, appId );
+                log( String.format("Read %d reviews in %s", count, appId.toString()) );
             }
         }
     }
@@ -223,8 +223,8 @@ public class Usegrid1PerformanceTest {
                             Entity entity = em.create("review", currentEntityMap );
                             
                             if ( maxEntities < 20 ) {
-                                log.info("Index written for {}", entity.getUuid());
-                                log.info("---");
+                                log( String.format("Index written for %s", entity.getUuid().toString()));
+                                log("---");
                             }
                             
                             // create the next entity
@@ -232,7 +232,7 @@ public class Usegrid1PerformanceTest {
                             
                             count++;
                             if (count % 100000 == 0) {
-                                log.info("Indexed {} reviews in {}", count, appId );
+                                log( String.format("Indexed %d reviews in %s", count, appId.toString()) );
                             }
                             continue;
                         }
@@ -242,7 +242,7 @@ public class Usegrid1PerformanceTest {
                         String value = s.substring( s.indexOf(":") + 1 ).trim();
                         
                         if ( maxEntities < 20 ) {
-                            log.info("Indexing {} = {}", name, value);
+                            log( String.format("Indexing %s = %s", name, value));
                         }
                         
                         if ( NumberUtils.isNumber(value) && value.contains(".")) {
@@ -256,7 +256,7 @@ public class Usegrid1PerformanceTest {
                         } 
 
                     } catch ( Exception e ) {
-                        log.info("Error on line " + count);
+                        log("Error on line " + count);
                     }
                 }
 
@@ -293,10 +293,14 @@ public class Usegrid1PerformanceTest {
         }
     }
 
-    public static void query( EntityManager em, String query ) throws Exception {
+    public void query( EntityManager em, String query ) throws Exception {
         Query q = Query.fromQL(query) ;
         Results results = em.searchCollection( em.getApplicationRef(), "reviews", q );
-        log.info("size = {} returned from query {}",results.size(), q.getQl() );
+        log( String.format("size = %d returned from query %s", results.size(), q.getQl()) );
     }
 
+    private void log( String s ) {
+        //log.info(s);
+        System.out.println( System.currentTimeMillis() + ": " + s );
+    }
 }


[20/26] git commit: Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o

Posted by sn...@apache.org.
Merge branch 'two-dot-o' of github.com:usergrid/usergrid into two-dot-o


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

Branch: refs/pull/77/merge
Commit: fc105970fa93f486b24cc1fbfc0df85349d96f97
Parents: a4dd97a c4f9d0f
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Mar 24 08:16:24 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Mar 24 08:16:24 2014 -0700

----------------------------------------------------------------------
 stack/corepersistence/perftest1/pom.xml         |  9 ++---
 .../persistence/Usergrid1PerformanceTest.java   | 36 +++++++++++---------
 2 files changed, 22 insertions(+), 23 deletions(-)
----------------------------------------------------------------------