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/04/09 00:21:27 UTC

[01/43] git commit: Added in suite of tests for organization level exports. Will need to get ready for query support.

Repository: incubator-usergrid
Updated Branches:
  refs/heads/master 52a110b6d -> 1cdb6b953
  refs/pull/100/merge [deleted] 5502069c8
  refs/pull/96/merge 3bcaa4229 -> c40bec1ef (forced update)


Added in suite of tests for organization level exports. Will need to get ready for query support.


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

Branch: refs/pull/96/merge
Commit: 2cd1d5df44bd6942ea833d7f3cdb75a804bba48b
Parents: 4d74245
Author: grey <gr...@apigee.com>
Authored: Fri Mar 28 12:02:18 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Fri Mar 28 12:02:18 2014 -0700

----------------------------------------------------------------------
 .../rest/management/ManagementResourceIT.java   | 457 ++++++++++++-------
 .../cassandra/ManagementServiceIT.java          | 164 ++++++-
 2 files changed, 442 insertions(+), 179 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2cd1d5df/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index b7479c5..9874bd4 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -49,7 +49,9 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 
-/** @author tnine */
+/**
+ * @author tnine
+ */
 @Concurrent()
 public class ManagementResourceIT extends AbstractRestIT {
 
@@ -58,7 +60,9 @@ public class ManagementResourceIT extends AbstractRestIT {
     }
 
 
-    /** Test if we can reset our password as an admin */
+    /**
+     * Test if we can reset our password as an admin
+     */
     @Test
     public void setSelfAdminPasswordAsAdmin() {
 
@@ -70,7 +74,7 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         // change the password as admin. The old password isn't required
         JsonNode node = resource().path( "/management/users/test/password" ).accept( MediaType.APPLICATION_JSON )
-                .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, data );
+                                  .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, data );
 
         assertNull( getError( node ) );
 
@@ -80,8 +84,8 @@ public class ManagementResourceIT extends AbstractRestIT {
         data.put( "newpassword", "test" );
 
         node = resource().path( "/management/users/test/password" ).queryParam( "access_token", adminAccessToken )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                .post( JsonNode.class, data );
+                         .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                         .post( JsonNode.class, data );
 
         assertNull( getError( node ) );
     }
@@ -104,7 +108,7 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             resource().path( "/management/users/test/password" ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, data );
+                      .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, data );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -128,8 +132,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         // change the password as admin. The old password isn't required
         JsonNode node = resource().path( "/management/users/test/password" ).queryParam( "access_token", superToken )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                .post( JsonNode.class, data );
+                                  .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                                  .post( JsonNode.class, data );
 
         assertNull( getError( node ) );
 
@@ -142,14 +146,16 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         // now change the password back
         node = resource().path( "/management/users/test/password" ).queryParam( "access_token", superToken )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                .post( JsonNode.class, data );
+                         .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                         .post( JsonNode.class, data );
 
         assertNull( getError( node ) );
     }
 
 
-    /** Test that admins can't view organizations they're not authorized to view. */
+    /**
+     * Test that admins can't view organizations they're not authorized to view.
+     */
     @Test
     public void crossOrgsNotViewable() throws Exception {
 
@@ -162,8 +168,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             resource().path( String.format( "/management/orgs/%s", orgInfo.getOrganization().getName() ) )
-                    .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                      .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
+                      .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -176,8 +182,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             resource().path( String.format( "/management/orgs/%s", orgInfo.getOrganization().getUuid() ) )
-                    .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                      .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
+                      .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -190,7 +196,8 @@ public class ManagementResourceIT extends AbstractRestIT {
         status = null;
         try {
             resource().path( "/management/orgs/test-organization" ).queryParam( "access_token", adminAccessToken )
-                    .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                      .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                      .get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -203,8 +210,8 @@ public class ManagementResourceIT extends AbstractRestIT {
         status = null;
         try {
             resource().path( String.format( "/management/orgs/%s", org.getUuid() ) )
-                    .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                      .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
+                      .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -217,101 +224,103 @@ public class ManagementResourceIT extends AbstractRestIT {
     @Test
     public void mgmtUserFeed() throws Exception {
         JsonNode userdata = resource().path( "/management/users/test@usergrid.com/feed" )
-                .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
-                .get( JsonNode.class );
+                                      .queryParam( "access_token", adminAccessToken )
+                                      .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
         assertTrue( StringUtils.contains( this.getEntity( userdata, 0 ).get( "title" ).asText(),
                 "<a href=\"mailto:test@usergrid.com\">" ) );
     }
 
-    /** Test that we can support over 10 items in feed. */
+
+    /**
+     * Test that we can support over 10 items in feed.
+     */
     @Test
     public void mgmtFollowsUserFeed() throws Exception {
         List<String> users1 = new ArrayList<String>();
         int i;
         //try with 10 users
-        for(i = 0; i<10;i++){
-            users1.add("follower" + Integer.toString(i));
+        for ( i = 0; i < 10; i++ ) {
+            users1.add( "follower" + Integer.toString( i ) );
         }
-        checkFeed("leader1",users1);
+        checkFeed( "leader1", users1 );
         //try with 11
         List<String> users2 = new ArrayList<String>();
-        for(i =20; i<31;i++){
-            users2.add("follower" + Integer.toString(i));
+        for ( i = 20; i < 31; i++ ) {
+            users2.add( "follower" + Integer.toString( i ) );
         }
-        checkFeed("leader2",users2);
+        checkFeed( "leader2", users2 );
     }
 
-    private void checkFeed(String leader, List<String> followers){
+
+    private void checkFeed( String leader, List<String> followers ) {
         JsonNode userFeed;
         //create user
-        createUser(leader);
-        String preFollowContent = leader+": pre-something to look for " + UUID.randomUUID().toString();
-        addActivity(leader, leader + " " + leader + "son", preFollowContent);
-        String lastUser = followers.get(followers.size()-1);
+        createUser( leader );
+        String preFollowContent = leader + ": pre-something to look for " + UUID.randomUUID().toString();
+        addActivity( leader, leader + " " + leader + "son", preFollowContent );
+        String lastUser = followers.get( followers.size() - 1 );
         int i = 0;
-        for(String user : followers){
-            createUser(user);
-            follow(user,leader);
+        for ( String user : followers ) {
+            createUser( user );
+            follow( user, leader );
         }
-        userFeed = getUserFeed(lastUser);
-        assertTrue(userFeed.size()==1);
+        userFeed = getUserFeed( lastUser );
+        assertTrue( userFeed.size() == 1 );
 
         //retrieve feed
-        userFeed = getUserFeed(lastUser);
-        assertTrue(userFeed.size()==1);
-        String postFollowContent = leader+": something to look for " + UUID.randomUUID().toString();
-        addActivity(leader,leader+" "+leader+"son",postFollowContent);
+        userFeed = getUserFeed( lastUser );
+        assertTrue( userFeed.size() == 1 );
+        String postFollowContent = leader + ": something to look for " + UUID.randomUUID().toString();
+        addActivity( leader, leader + " " + leader + "son", postFollowContent );
         //check feed
-        userFeed = getUserFeed(lastUser);
-        assertNotNull(userFeed);
-        assertTrue(userFeed.size()>1);
+        userFeed = getUserFeed( lastUser );
+        assertNotNull( userFeed );
+        assertTrue( userFeed.size() > 1 );
         String serialized = userFeed.toString();
-        assertTrue(serialized.indexOf(postFollowContent)>0);
-        assertTrue(serialized.indexOf(preFollowContent)>0);
+        assertTrue( serialized.indexOf( postFollowContent ) > 0 );
+        assertTrue( serialized.indexOf( preFollowContent ) > 0 );
     }
 
-    private void createUser(String username){
+
+    private void createUser( String username ) {
         Map<String, Object> payload = new LinkedHashMap<String, Object>();
         payload.put( "username", username );
-        resource().path( "/test-organization/test-app/users" )
-                .queryParam("access_token", access_token)
-                .accept( MediaType.APPLICATION_JSON )
-                .type(MediaType.APPLICATION_JSON_TYPE)
-                .post(JsonNode.class, payload);
-
+        resource().path( "/test-organization/test-app/users" ).queryParam( "access_token", access_token )
+                  .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                  .post( JsonNode.class, payload );
     }
-    private JsonNode getUserFeed(String username){
-        JsonNode userFeed = resource().path( "/test-organization/test-app/users/"+username+"/feed" )
-                .queryParam( "access_token", access_token )
-                .accept(MediaType.APPLICATION_JSON)
-                .get( JsonNode.class );
-        return userFeed.get("entities");
+
+
+    private JsonNode getUserFeed( String username ) {
+        JsonNode userFeed = resource().path( "/test-organization/test-app/users/" + username + "/feed" )
+                                      .queryParam( "access_token", access_token ).accept( MediaType.APPLICATION_JSON )
+                                      .get( JsonNode.class );
+        return userFeed.get( "entities" );
     }
 
-    private void follow(String user, String followUser){
+
+    private void follow( String user, String followUser ) {
         //post follow
-        resource().path( "/test-organization/test-app/users/"+user+"/following/users/"+followUser )
-                .queryParam("access_token", access_token)
-                .accept( MediaType.APPLICATION_JSON )
-                .type(MediaType.APPLICATION_JSON_TYPE)
-                .post(JsonNode.class, new HashMap<String, String>());
+        resource().path( "/test-organization/test-app/users/" + user + "/following/users/" + followUser )
+                  .queryParam( "access_token", access_token ).accept( MediaType.APPLICATION_JSON )
+                  .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, new HashMap<String, String>() );
     }
 
-    private void addActivity(String user,String name, String content){
-        Map<String,Object> activityPayload = new HashMap<String, Object>();
-        activityPayload.put("content",content);
-        activityPayload.put("verb","post");
-        Map<String,String> actorMap = new HashMap<String, String>();
-        actorMap.put("displayName",name);
-        actorMap.put("username",user);
-        activityPayload.put("actor",actorMap);
-        resource().path("/test-organization/test-app/users/"+user+"/activities")
-                .queryParam("access_token", access_token)
-                .accept(MediaType.APPLICATION_JSON)
-                .type(MediaType.APPLICATION_JSON_TYPE)
-                .post(JsonNode.class, activityPayload);
+
+    private void addActivity( String user, String name, String content ) {
+        Map<String, Object> activityPayload = new HashMap<String, Object>();
+        activityPayload.put( "content", content );
+        activityPayload.put( "verb", "post" );
+        Map<String, String> actorMap = new HashMap<String, String>();
+        actorMap.put( "displayName", name );
+        actorMap.put( "username", user );
+        activityPayload.put( "actor", actorMap );
+        resource().path( "/test-organization/test-app/users/" + user + "/activities" )
+                  .queryParam( "access_token", access_token ).accept( MediaType.APPLICATION_JSON )
+                  .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, activityPayload );
     }
 
+
     @Test
     public void mgmtCreateAndGetApplication() throws Exception {
 
@@ -321,8 +330,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         // POST /applications
         JsonNode appdata = resource().path( "/management/orgs/" + orgInfo.getUuid() + "/applications" )
-                .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
-                .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, data );
+                                     .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
+                                     .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, data );
         logNode( appdata );
         appdata = getEntity( appdata, 0 );
 
@@ -332,8 +341,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         // GET /applications/mgmt-org-app
         appdata = resource().path( "/management/orgs/" + orgInfo.getUuid() + "/applications/mgmt-org-app" )
-                .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
-                .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                            .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
+                            .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
         logNode( appdata );
 
         assertEquals( "test-organization", appdata.get( "organization" ).asText() );
@@ -353,8 +362,9 @@ public class ManagementResourceIT extends AbstractRestIT {
         long ttl = 2000;
 
         JsonNode node = resource().path( "/management/token" ).queryParam( "grant_type", "password" )
-                .queryParam( "username", "test@usergrid.com" ).queryParam( "password", "test" )
-                .queryParam( "ttl", String.valueOf( ttl ) ).accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                                  .queryParam( "username", "test@usergrid.com" ).queryParam( "password", "test" )
+                                  .queryParam( "ttl", String.valueOf( ttl ) ).accept( MediaType.APPLICATION_JSON )
+                                  .get( JsonNode.class );
 
         long startTime = System.currentTimeMillis();
 
@@ -363,7 +373,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertNotNull( token );
 
         JsonNode userdata = resource().path( "/management/users/test@usergrid.com" ).queryParam( "access_token", token )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                                      .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
 
         assertEquals( "test@usergrid.com", userdata.get( "data" ).get( "email" ).asText() );
 
@@ -373,7 +383,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         Status responseStatus = null;
         try {
             userdata = resource().path( "/management/users/test@usergrid.com" ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                                 .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -386,8 +396,8 @@ public class ManagementResourceIT extends AbstractRestIT {
     @Test
     public void token() throws Exception {
         JsonNode node = resource().path( "/management/token" ).queryParam( "grant_type", "password" )
-                .queryParam( "username", "test@usergrid.com" ).queryParam( "password", "test" )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                                  .queryParam( "username", "test@usergrid.com" ).queryParam( "password", "test" )
+                                  .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
 
         logNode( node );
         String token = node.get( "access_token" ).getTextValue();
@@ -399,12 +409,12 @@ public class ManagementResourceIT extends AbstractRestIT {
         properties.put( "securityLevel", 5 );
         payload.put( OrganizationsResource.ORGANIZATION_PROPERTIES, properties );
         node = resource().path( "/management/organizations/test-organization" )
-                .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                .type( MediaType.APPLICATION_JSON_TYPE ).put( JsonNode.class, payload );
+                         .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                         .type( MediaType.APPLICATION_JSON_TYPE ).put( JsonNode.class, payload );
 
         // ensure the organization property is included
         node = resource().path( "/management/token" ).queryParam( "access_token", token )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                         .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
         logNode( node );
 
         JsonNode securityLevel = node.findValue( "securityLevel" );
@@ -416,15 +426,15 @@ public class ManagementResourceIT extends AbstractRestIT {
     @Test
     public void meToken() throws Exception {
         JsonNode node = resource().path( "/management/me" ).queryParam( "grant_type", "password" )
-                .queryParam( "username", "test@usergrid.com" ).queryParam( "password", "test" )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                                  .queryParam( "username", "test@usergrid.com" ).queryParam( "password", "test" )
+                                  .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
 
         logNode( node );
         String token = node.get( "access_token" ).getTextValue();
         assertNotNull( token );
 
         node = resource().path( "/management/me" ).queryParam( "access_token", token )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                         .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
         logNode( node );
 
         assertNotNull( node.get( "passwordChanged" ) );
@@ -452,7 +462,7 @@ public class ManagementResourceIT extends AbstractRestIT {
                 hashMap( "grant_type", "password" ).map( "username", "test@usergrid.com" ).map( "password", "test" );
 
         JsonNode node = resource().path( "/management/me" ).accept( MediaType.APPLICATION_JSON )
-                .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+                                  .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
 
         logNode( node );
         String token = node.get( "access_token" ).getTextValue();
@@ -460,7 +470,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertNotNull( token );
 
         node = resource().path( "/management/me" ).queryParam( "access_token", token )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                         .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
         logNode( node );
     }
 
@@ -471,12 +481,11 @@ public class ManagementResourceIT extends AbstractRestIT {
         Form form = new Form();
         form.add( "grant_type", "password" );
         form.add( "username", "test@usergrid.com" );
-        form.add( "password", "test");
+        form.add( "password", "test" );
 
-        JsonNode node = resource().path( "/management/me" )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
-                .entity( form, MediaType.APPLICATION_FORM_URLENCODED_TYPE )
-                .post( JsonNode.class );
+        JsonNode node = resource().path( "/management/me" ).accept( MediaType.APPLICATION_JSON )
+                                  .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
+                                  .entity( form, MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( JsonNode.class );
 
         logNode( node );
         String token = node.get( "access_token" ).getTextValue();
@@ -484,7 +493,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertNotNull( token );
 
         node = resource().path( "/management/me" ).queryParam( "access_token", token )
-                .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+                         .accept( MediaType.APPLICATION_JSON ).get( JsonNode.class );
         logNode( node );
     }
 
@@ -494,12 +503,12 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         Map<String, String> payload =
                 hashMap( "grant_type", "password" ).map( "username", "test@usergrid.com" ).map( "password", "test" )
-                        .map( "ttl", "derp" );
+                                                   .map( "ttl", "derp" );
 
         Status responseStatus = null;
         try {
             resource().path( "/management/token" ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+                      .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -514,13 +523,13 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         Map<String, String> payload =
                 hashMap( "grant_type", "password" ).map( "username", "test@usergrid.com" ).map( "password", "test" )
-                        .map( "ttl", Long.MAX_VALUE + "" );
+                                                   .map( "ttl", Long.MAX_VALUE + "" );
 
         Status responseStatus = null;
 
         try {
             resource().path( "/management/token" ).accept( MediaType.APPLICATION_JSON )
-                    .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+                      .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -536,20 +545,22 @@ public class ManagementResourceIT extends AbstractRestIT {
         String token2 = super.adminToken();
 
         JsonNode response = resource().path( "/management/users/test" ).queryParam( "access_token", token1 )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                                      .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                                      .get( JsonNode.class );
 
         assertEquals( "test@usergrid.com", response.get( "data" ).get( "email" ).asText() );
 
         response = resource().path( "/management/users/test" ).queryParam( "access_token", token2 )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
 
         assertEquals( "test@usergrid.com", response.get( "data" ).get( "email" ).asText() );
 
         // now revoke the tokens
         response =
                 resource().path( "/management/users/test/revoketokens" ).queryParam( "access_token", superAdminToken() )
-                        .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                        .post( JsonNode.class );
+                          .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                          .post( JsonNode.class );
 
         // the tokens shouldn't work
 
@@ -557,7 +568,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             response = resource().path( "/management/users/test" ).queryParam( "access_token", token1 )
-                    .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                                 .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                                 .get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -569,7 +581,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             response = resource().path( "/management/users/test" ).queryParam( "access_token", token2 )
-                    .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                                 .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                                 .get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -581,19 +594,21 @@ public class ManagementResourceIT extends AbstractRestIT {
         String token4 = super.adminToken();
 
         response = resource().path( "/management/users/test" ).queryParam( "access_token", token3 )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
 
         assertEquals( "test@usergrid.com", response.get( "data" ).get( "email" ).asText() );
 
         response = resource().path( "/management/users/test" ).queryParam( "access_token", token4 )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
 
         assertEquals( "test@usergrid.com", response.get( "data" ).get( "email" ).asText() );
 
         // now revoke the token3
         response = resource().path( "/management/users/test/revoketoken" ).queryParam( "access_token", token3 )
-                .queryParam( "token", token3 ).accept( MediaType.APPLICATION_JSON )
-                .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class );
+                             .queryParam( "token", token3 ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class );
 
         // the token3 shouldn't work
 
@@ -601,7 +616,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             response = resource().path( "/management/users/test" ).queryParam( "access_token", token3 )
-                    .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                                 .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                                 .get( JsonNode.class );
         }
         catch ( UniformInterfaceException uie ) {
             status = uie.getResponse().getClientResponseStatus();
@@ -613,7 +629,8 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         try {
             response = resource().path( "/management/users/test" ).queryParam( "access_token", token4 )
-                    .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+                                 .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                                 .get( JsonNode.class );
 
             status = Status.OK;
         }
@@ -644,7 +661,8 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.OK, responseStatus );
     }
 
-//is this test still valid knowing that the sch. won't run in intelliJ?
+
+    //is this test still valid knowing that the sch. won't run in intelliJ?
     @Ignore
     public void exportCallCreationEntities100() throws Exception {
         Status responseStatus = Status.OK;
@@ -671,10 +689,9 @@ public class ManagementResourceIT extends AbstractRestIT {
         }
 
         try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" ).queryParam(
-                    "access_token", adminToken() )
-                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                             .post( JsonNode.class, payload );
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -683,6 +700,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.OK, responseStatus );
     }
 
+
     @Test
     public void exportApplicationUUIDRetTest() throws Exception {
         Status responseStatus = Status.ACCEPTED;
@@ -705,7 +723,9 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.ACCEPTED, responseStatus );
         assertNotNull( node.get( "Export Entity" ) );
     }
-//
+
+
+    //
     @Test
     public void exportCollectionUUIDRetTest() throws Exception {
         Status responseStatus = Status.ACCEPTED;
@@ -730,7 +750,41 @@ public class ManagementResourceIT extends AbstractRestIT {
     }
 
 
-    /*Make a test with an invalid uuid and a wrong uuid.*/
+    @Test
+    public void exportGetOrganizationJobStatTest() throws Exception {
+        JsonNode node = null;
+        Status responseStatus = Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals(Status.OK,responseStatus);
+
+        String uuid = String.valueOf( node.get( "Export Entity" ) );
+        uuid = uuid.replaceAll( "\"", "" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + uuid )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+
+        assertEquals( Status.OK, responseStatus );
+        assertEquals( "SCHEDULED", node.asText() );//TODO: do tests for other states in service tier
+    }
+
+
     //all tests should be moved to OrganizationResourceIT ( *not* Organizations there is a difference)
     @Test
     public void exportGetApplicationJobStatTest() throws Exception {
@@ -759,6 +813,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( "SCHEDULED", node.asText() );//TODO: do tests for other states in service tier
     }
 
+
     @Test
     public void exportGetCollectionJobStatTest() throws Exception {
         JsonNode node = null;
@@ -787,7 +842,7 @@ public class ManagementResourceIT extends AbstractRestIT {
     }
 
 
-//    //do an unauthorized test for both post and get
+    //    //do an unauthorized test for both post and get
     @Test
     public void exportGetWrongUUID() throws Exception {
         JsonNode node = null;
@@ -803,7 +858,9 @@ public class ManagementResourceIT extends AbstractRestIT {
         }
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
-//
+
+
+    //
     @Test
     public void exportPostApplicationNullPointerProperties() throws Exception {
         JsonNode node = null;
@@ -824,14 +881,45 @@ public class ManagementResourceIT extends AbstractRestIT {
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostOrganizationNullPointerProperties() throws Exception {
+        JsonNode node = null;
+        Status responseStatus = Status.OK;
+
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        //TODO: always put dummy values here and ignore this test.
+        //TODO: add a ret for when s3 values are invalid.
+        storage_info.put( "bucket_location", "insert bucket name here" );
+
+
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
         }
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
-//
+
+
+    //
     @Test
     public void exportPostCollectionNullPointer() throws Exception {
         JsonNode node = null;
@@ -852,15 +940,17 @@ public class ManagementResourceIT extends AbstractRestIT {
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
         }
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
-//
-//
+
+
+    //
+    //
     @Test
     public void exportGetCollectionUnauthorized() throws Exception {
         JsonNode node = null;
@@ -876,7 +966,9 @@ public class ManagementResourceIT extends AbstractRestIT {
         }
         assertEquals( Status.UNAUTHORIZED, responseStatus );
     }
-//
+
+
+    //
     @Test
     public void exportGetApplicationUnauthorized() throws Exception {
         JsonNode node = null;
@@ -893,20 +985,60 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.UNAUTHORIZED, responseStatus );
     }
 
+
+    @Test
+    public void exportGetOrganizationUnauthorized() throws Exception {
+        JsonNode node = null;
+        Status responseStatus = Status.OK;
+        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + fake )
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( Status.UNAUTHORIZED, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostOrganizationNullPointerStorageInfo() throws Exception {
+        JsonNode node = null;
+        Status responseStatus = Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        //remove storage_info field
+        properties.remove( "storage_info" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( Status.BAD_REQUEST, responseStatus );
+    }
+
+
     @Test
     public void exportPostApplicationNullPointerStorageInfo() throws Exception {
         JsonNode node = null;
         Status responseStatus = Status.OK;
 
         HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get("properties");
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
         //remove storage_info field
         properties.remove( "storage_info" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -914,20 +1046,21 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
 
+
     @Test
     public void exportPostCollectionNullPointerStorageInfo() throws Exception {
         JsonNode node = null;
         Status responseStatus = Status.OK;
 
         HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get("properties");
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
         //remove storage_info field
         properties.remove( "storage_info" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -935,13 +1068,14 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
 
+
     @Test
     public void exportPostApplicationNullPointerStorageProvider() throws Exception {
         JsonNode node = null;
         Status responseStatus = Status.OK;
 
         HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get("properties");
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
         //remove storage_info field
         properties.remove( "storage_provider" );
 
@@ -949,7 +1083,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -957,13 +1091,14 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
 
+
     @Test
     public void exportPostCollectionNullPointerStorageProvider() throws Exception {
         JsonNode node = null;
         Status responseStatus = Status.OK;
 
         HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get("properties");
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
         //remove storage_info field
         properties.remove( "storage_provider" );
 
@@ -971,7 +1106,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -979,21 +1114,22 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
     }
 
+
     @Test
     public void exportPostApplicationNullPointerStorageVerification() throws Exception {
         JsonNode node = null;
         Status responseStatus = Status.OK;
 
         HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get("properties");
-        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get("storage_info");
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
         //remove storage_key field
         storage_info.remove( "s3_key" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -1001,15 +1137,15 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
 
         payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get("properties");
-        storage_info = ( HashMap<String, Object> ) properties.get("storage_info");
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
         //remove storage_key field
         storage_info.remove( "s3_access_id" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -1017,38 +1153,38 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
 
         payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get("properties");
-        storage_info = ( HashMap<String, Object> ) properties.get("storage_info");
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
         //remove storage_key field
         storage_info.remove( "bucket_location" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
         }
         assertEquals( Status.BAD_REQUEST, responseStatus );
-
     }
 
+
     @Test
     public void exportPostCollectionNullPointerStorageVerification() throws Exception {
         JsonNode node = null;
         Status responseStatus = Status.OK;
 
         HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get("properties");
-        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get("storage_info");
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
         //remove storage_key field
         storage_info.remove( "s3_key" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -1056,15 +1192,15 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
 
         payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get("properties");
-        storage_info = ( HashMap<String, Object> ) properties.get("storage_info");
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
         //remove storage_key field
         storage_info.remove( "s3_access_id" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
@@ -1072,20 +1208,19 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.BAD_REQUEST, responseStatus );
 
         payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get("properties");
-        storage_info = ( HashMap<String, Object> ) properties.get("storage_info");
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
         storage_info.remove( "bucket_location" );
 
         try {
             node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class,payload );
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
         }
         catch ( UniformInterfaceException uie ) {
             responseStatus = uie.getResponse().getClientResponseStatus();
         }
         assertEquals( Status.BAD_REQUEST, responseStatus );
-
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2cd1d5df/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index 120c9dc..f1dd4bb 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -25,10 +25,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.UUID;
-import java.util.concurrent.TimeUnit;
 
 import org.jclouds.ContextBuilder;
-import org.jclouds.blobstore.AsyncBlobStore;
+import org.jclouds.blobstore.BlobStore;
 import org.jclouds.blobstore.BlobStoreContext;
 import org.jclouds.blobstore.domain.Blob;
 import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
@@ -75,7 +74,6 @@ import org.apache.usergrid.utils.JsonUtils;
 import org.apache.usergrid.utils.UUIDUtils;
 
 import com.google.common.collect.ImmutableSet;
-import com.google.common.util.concurrent.ListenableFuture;
 import com.google.inject.Module;
 
 import static org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString;
@@ -1221,7 +1219,7 @@ public class ManagementServiceIT {
 
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
-        //assertEquals( 3 , a.size() );
+        assertEquals( 3 , a.size() );
         for ( int i = 0; i < a.size(); i++ ) {
             org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
             org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
@@ -1490,12 +1488,10 @@ public class ManagementServiceIT {
     }
 
 
-    @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+ //   @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+    @Test
     public void testIntegration100EntitiesOn() throws Exception {
 
-        //s3client.putObject(new PutObjectRequest(bucketName, keyName, file));
-
-
         S3Export s3Export = new S3ExportImpl();
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
@@ -1509,15 +1505,127 @@ public class ManagementServiceIT {
         Entity[] entity;
         entity = new Entity[100];
         //creates entities
+
+        ApplicationInfo appMade = null;
+        for(int i = 0; i < 100; i++) {
+            appMade = setup.getMgmtSvc().createApplication( organization.getUuid(), "superapp"+i);
+
+            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+            customMaker.createApplicationCollection( "superappCol"+i );
+            //intialize user object to be posted
+            Map<String, Object> entityLevelProperties = null;
+            Entity[] entNotCopied;
+            entNotCopied = new Entity[20];
+            //creates entities
+            for ( int index = 0; index < 20; index++ ) {
+                entityLevelProperties = new LinkedHashMap<String, Object>();
+                entityLevelProperties.put( "username", "bobso" + index );
+                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
+            }
+        }
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        //create and initialize jobData returned in JobExecution.
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+        while (!exportService.getState( applicationId,exportUUID ).equals("FINISHED"));
+
+        String bucketName = System.getProperty( "bucketName" );
+        String accessId = System.getProperty( "accessKey" );
+        String secretKey =  System.getProperty("secretKey");
+
+        Properties overrides = new Properties();
+        overrides.setProperty( "s3" + ".identity", accessId );
+        overrides.setProperty( "s3" + ".credential", secretKey );
+
+        Blob bo = null;
+        BlobStore blobStore = null;
+
+        try {
+            final Iterable<? extends Module> MODULES = ImmutableSet
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(), new NettyPayloadModule
+                            () );
+
+            BlobStoreContext context =
+                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
+                                  .overrides( overrides ).buildView( BlobStoreContext.class );
+
+
+            blobStore = context.getBlobStore();
+            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+                blobStore.deleteContainer( bucketName );
+                assert(false);
+            }
+            Long numOfFiles = blobStore.countBlobs( bucketName );
+            Long numWeWant = Long.valueOf( 1 );
+            assertEquals( numOfFiles, numWeWant );
+
+            bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
+
+        }catch(Exception e) {
+            assert(false);
+        }
+
+        assertNotNull( bo );
+        blobStore.deleteContainer( bucketName );
+    }
+
+    @Test
+    public void testIntegration100EntitiesForAllApps() throws Exception {
+
+        S3Export s3Export = new S3ExportImpl();
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        OrganizationInfo orgMade = null;
+        ApplicationInfo appMade = null;
+        for(int i = 0; i < 100; i++) {
+            orgMade =setup.getMgmtSvc().createOrganization( "minorboss"+i,adminUser,true );
+            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp"+i);
+
+            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+            customMaker.createApplicationCollection( "superappCol"+i );
+            //intialize user object to be posted
+            Map<String, Object> entityLevelProperties = null;
+            Entity[] entNotCopied;
+            entNotCopied = new Entity[20];
+            //creates entities
+            for ( int index = 0; index < 20; index++ ) {
+                entityLevelProperties = new LinkedHashMap<String, Object>();
+                entityLevelProperties.put( "username", "bobso" + index );
+                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
+            }
+        }
+
+        payload.put("organizationId",orgMade.getUuid());
+
+        EntityManager em = setup.getEmf().getEntityManager( appMade.getId() );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[100];
+        //creates entities
         for ( int i = 0; i < 100; i++ ) {
             userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "bojangles" + i );
-            userProperties.put( "email", "bojangles" + i + "@anuff.com" );
+            userProperties.put( "username", "bido" + i );
+            userProperties.put( "email", "bido" + i + "@anuff.com" );
 
             entity[i] = em.create( "user", userProperties );
         }
 
         UUID exportUUID = exportService.schedule( payload );
+        assertNotNull( exportUUID );
         exportService.setS3Export( s3Export );
 
         //create and initialize jobData returned in JobExecution.
@@ -1530,7 +1638,7 @@ public class ManagementServiceIT {
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
         exportService.doExport( jobExecution );
-        while (!exportService.getState( applicationId,exportUUID ).equals("FINISHED"));
+        while (!exportService.getState( appMade.getId(),exportUUID ).equals("FINISHED"));
 
         String bucketName = System.getProperty( "bucketName" );
         String accessId = System.getProperty( "accessKey" );
@@ -1541,6 +1649,7 @@ public class ManagementServiceIT {
         overrides.setProperty( "s3" + ".credential", secretKey );
 
         Blob bo = null;
+        BlobStore blobStore = null;
 
         try {
             final Iterable<? extends Module> MODULES = ImmutableSet
@@ -1552,17 +1661,26 @@ public class ManagementServiceIT {
                                   .overrides( overrides ).buildView( BlobStoreContext.class );
 
 
-            AsyncBlobStore blobStore = context.getAsyncBlobStore();
-            ListenableFuture<Blob> futureETag = blobStore.getBlob( bucketName,s3Export.getFilename() );
-            bo = futureETag.get( 3, TimeUnit.SECONDS );
+            blobStore = context.getBlobStore();
+            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+                blobStore.deleteContainer( bucketName );
+                assert(false);
+            }
+            Long numOfFiles = blobStore.countBlobs( bucketName );
+            Long numWeWant = Long.valueOf( 100 );
+            assertEquals( numOfFiles, numWeWant );
+
+            bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
+
         }catch(Exception e) {
             assert(false);
         }
 
         assertNotNull( bo );
+        blobStore.deleteContainer( bucketName );
     }
 
-    @Ignore
+    @Test
     public void testIntegration100EntitiesOnOneOrg() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -1629,7 +1747,9 @@ public class ManagementServiceIT {
         Properties overrides = new Properties();
         overrides.setProperty( "s3" + ".identity", accessId );
         overrides.setProperty( "s3" + ".credential", secretKey );
+
         Blob bo = null;
+        BlobStore blobStore = null;
 
         try {
             final Iterable<? extends Module> MODULES = ImmutableSet
@@ -1641,14 +1761,22 @@ public class ManagementServiceIT {
                                   .overrides( overrides ).buildView( BlobStoreContext.class );
 
 
-            AsyncBlobStore blobStore = context.getAsyncBlobStore();
-            ListenableFuture<Blob> futureETag = blobStore.getBlob( bucketName,s3Export.getFilename() );
-            bo = futureETag.get( 3, TimeUnit.SECONDS );
+            blobStore = context.getBlobStore();
+            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+                assert(false);
+            }
+            Long numOfFiles = blobStore.countBlobs( bucketName );
+            Long numWeWant = Long.valueOf( 1 );
+            assertEquals( numOfFiles, numWeWant );
+
+            bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
+
         }catch(Exception e) {
             assert(false);
         }
 
         assertNotNull( bo );
+        blobStore.deleteContainer( bucketName );
     }
 
     /*Creates fake payload for testing purposes.*/


[39/43] git commit: add version

Posted by sn...@apache.org.
add version


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

Branch: refs/pull/96/merge
Commit: ecebfa12de9799f979c3d47052857f22bfb6674e
Parents: 6a3c148
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Apr 8 13:53:00 2014 -0600
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Apr 8 13:53:00 2014 -0600

----------------------------------------------------------------------
 portal/bower.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ecebfa12/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index f032249..bf3955d 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -23,7 +23,7 @@
   "dependencies": {
     "angularitics": "~0.8.7",
     "apigee-sdk": "~2.0.8",
-    "angular-intro.js": "*",
+    "angular-intro.js": "~1.0.3",
     "sizzle":"1.10.16"
   },
   "devDependencies": {},


[12/43] git commit: Added a check for the exporters application before it’s creation.

Posted by sn...@apache.org.
Added a check for the exporters application before it’s creation.


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

Branch: refs/pull/96/merge
Commit: 30c0a98b28221f1a47e7317648bbb78c742daaad
Parents: b9ba6ac
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 17:22:04 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 17:22:04 2014 -0700

----------------------------------------------------------------------
 .../usergrid/management/export/ExportServiceImpl.java     | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/30c0a98b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 0ad61ee..469e7b3 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -93,8 +93,16 @@ public class ExportServiceImpl implements ExportService {
         }
 
         if ( config.get( "applicationId" ) == null ) {
-            defaultExportApp = managementService
+
+            ApplicationInfo appExists = managementService.getApplicationInfo("exporters");
+
+            if(appExists == null) {
+                defaultExportApp = managementService
                     .createApplication( ( UUID ) config.get( "organizationId" ), defaultAppExportname );
+            }
+            else
+                defaultExportApp = appExists;
+
             config.put( "applicationId", defaultExportApp.getId() );
             //logger.error( "application information from export info could not be found" );
             //return null;


[29/43] git commit: Added fix for ephemeral file having the same names.

Posted by sn...@apache.org.
Added fix for ephemeral file having the same names.


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

Branch: refs/pull/96/merge
Commit: 9aeb66b0540e38e78a8db966bf3e8df9fe602f78
Parents: 8a05f61
Author: grey <gr...@apigee.com>
Authored: Mon Apr 7 10:46:27 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Apr 7 10:46:27 2014 -0700

----------------------------------------------------------------------
 .../apache/usergrid/management/export/ExportServiceImpl.java | 8 ++++----
 .../org/apache/usergrid/management/export/S3ExportImpl.java  | 1 +
 .../usergrid/management/cassandra/MockS3ExportImpl.java      | 1 +
 3 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9aeb66b0/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index bbbe414..61a416d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -325,7 +325,6 @@ public class ExportServiceImpl implements ExportService {
     private void exportApplicationsFromOrg( UUID organizationUUID, final Map<String, Object> config,
                                             final JobExecution jobExecution, S3Export s3Export ) throws Exception {
 
-        //TODO: move extranous code out of these methods and make each one more distinct.
         //retrieves export entity
         Export export = getExportEntity( jobExecution );
         String appFileName = null;
@@ -352,8 +351,7 @@ public class ExportServiceImpl implements ExportService {
                               S3Export s3Export ) {
         try {
             s3Export.copyToS3( ephemeral, config, appFileName );
-            if(ephemeral.exists())
-                ephemeral.delete();
+
         }
         catch ( Exception e ) {
             export.setErrorMessage( e.getMessage() );
@@ -567,7 +565,7 @@ public class ExportServiceImpl implements ExportService {
         EntityManager em = emf.getEntityManager( applicationUUID );
         Map<String, Object> metadata = em.getApplicationCollectionMetadata();
         long starting_time = System.currentTimeMillis();
-        File ephemeral = new File( "tempExport" + starting_time );
+        File ephemeral = new File( "tempExport" + UUID.randomUUID() );
 
 
         JsonGenerator jg = getJsonGenerator( ephemeral );
@@ -611,10 +609,12 @@ public class ExportServiceImpl implements ExportService {
                     jg.writeObject( entity );
                     saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
                     jg.writeEndObject();
+                    jg.flush();
                 }
             }
         }
         jg.writeEndArray();
+        jg.flush();
         jg.close();
 
         return ephemeral;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9aeb66b0/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index 4399ad7..24130db 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -99,6 +99,7 @@ public class S3ExportImpl implements S3Export {
 
 
             logger.info( "Uploaded file etag=" + futureETag.get() );
+            ephemeral.delete();
         }
         catch ( Exception e ) {
             logger.error( "Error uploading to blob store", e );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9aeb66b0/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
index 56e80b0..e765aea 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
@@ -42,6 +42,7 @@ public class MockS3ExportImpl implements S3Export {
         File verfiedData = new File( this.filename );
         try {
             FileUtils.copyFile(ephemeral,verfiedData);
+            ephemeral.delete();
         }
         catch ( IOException e ) {
             e.printStackTrace();


[25/43] git commit: tore out setting export code in schedule command, and instead made it be a part of the creation of the export process.

Posted by sn...@apache.org.
tore out setting export code in schedule command, and instead made it be a part of the creation of the export process.


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

Branch: refs/pull/96/merge
Commit: f65c800468f88fa41fa736b49c491b6a7b8752a5
Parents: 4639ab2
Author: grey <gr...@apigee.com>
Authored: Thu Apr 3 12:01:20 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Thu Apr 3 12:01:20 2014 -0700

----------------------------------------------------------------------
 .../apache/usergrid/management/export/ExportJob.java   |  5 -----
 .../usergrid/management/export/ExportServiceImpl.java  | 13 ++++++++-----
 .../src/main/resources/usergrid-services-context.xml   |  2 --
 3 files changed, 8 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f65c8004/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
index 46c7284..5d6de63 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
@@ -54,11 +54,6 @@ public class ExportJob extends OnlyOnceJob {
             return;
         }
 
-        if(jobData.getProperty( "s3Export" ) == null) {
-            logger.error( "S3 interface not correctly set");
-            return;
-        }
-
         jobExecution.heartbeat();
         try {
             exportService.doExport( jobExecution );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f65c8004/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 0ddd39c..a61659e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -82,7 +82,6 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public UUID schedule( final Map<String, Object> config ) throws Exception {
         ApplicationInfo defaultExportApp = null;
-        S3Export exportTransfer = new S3ExportImpl();
 
         if ( config == null ) {
             logger.error( "export information cannot be null" );
@@ -121,7 +120,6 @@ public class ExportServiceImpl implements ExportService {
         JobData jobData = new JobData();
         jobData.setProperty( "exportInfo", config );
         jobData.setProperty( EXPORT_ID, export.getUuid() );
-        jobData.setProperty( "s3Export", exportTransfer);
 
         long soonestPossible = System.currentTimeMillis() + 250; //sch grace period
 
@@ -191,6 +189,7 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public void doExport( final JobExecution jobExecution ) throws Exception {
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
+        Object s3PlaceHolder = jobExecution.getJobData().getProperty( "s3Export" ) ;
         S3Export s3Export = null;
 
 
@@ -208,16 +207,20 @@ public class ExportServiceImpl implements ExportService {
         //update the entity state to show that the job has officially started.
         export.setState( Export.State.STARTED );
         em.update( export );
-
         try {
-            s3Export = ( S3Export )jobExecution.getJobData().getProperty( "s3Export" );
+            if(s3PlaceHolder != null) {
+                s3Export = ( S3Export ) s3PlaceHolder;
+            }
+            else
+                s3Export = new S3ExportImpl();
         }catch (Exception e){
             logger.error( "S3Export doesn't exist" );
+            export.setErrorMessage( e.getMessage() );
             export.setState( Export.State.FAILED );
             em.update( export );
             return;
         }
-        
+
         if ( config.get( "organizationId" ) == null ) {
             logger.error( "No organization could be found" );
             export.setState( Export.State.FAILED );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f65c8004/stack/services/src/main/resources/usergrid-services-context.xml
----------------------------------------------------------------------
diff --git a/stack/services/src/main/resources/usergrid-services-context.xml b/stack/services/src/main/resources/usergrid-services-context.xml
index e7e2281..39748e1 100644
--- a/stack/services/src/main/resources/usergrid-services-context.xml
+++ b/stack/services/src/main/resources/usergrid-services-context.xml
@@ -89,6 +89,4 @@
 
   <bean id="exportJob" class="org.apache.usergrid.management.export.ExportJob" />
 
-  <bean id="s3Export" class="org.apache.usergrid.management.export.S3ExportImpl" />
-
 </beans>


[18/43] git commit: Fixed bug in integration tests, and get state method, where infinite loops was occurring due to not found export entity.

Posted by sn...@apache.org.
Fixed bug in integration tests, and get state method, where infinite loops was occurring due to not found export entity.


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

Branch: refs/pull/96/merge
Commit: 22029ae3f1757a25fcb9010865b6e9e4ed76d78e
Parents: 200b714
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 14:35:28 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 14:35:28 2014 -0700

----------------------------------------------------------------------
 .../apache/usergrid/management/export/ExportService.java  |  2 +-
 .../usergrid/management/export/ExportServiceImpl.java     | 10 ++--------
 .../usergrid/management/cassandra/ExportServiceIT.java    |  4 ++--
 3 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/22029ae3/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
index abb8829..3cba828 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
@@ -42,7 +42,7 @@ public interface ExportService {
     /**
      * Returns the current state of the service.
      */
-    String getState( UUID appId, UUID state ) throws Exception;
+    String getState( UUID state ) throws Exception;
 
     String getErrorMessage( UUID appId, UUID state ) throws Exception;
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/22029ae3/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 46419f4..94a533c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -147,20 +147,14 @@ public class ExportServiceImpl implements ExportService {
      * @return String
      */
     @Override
-    public String getState( final UUID appId, final UUID uuid ) throws Exception {
-
-        //get application entity manager
-        if ( appId == null ) {
-            logger.error( "Application context cannot be found." );
-            return "Application context cannot be found.";
-        }
+    public String getState( final UUID uuid ) throws Exception {
 
         if ( uuid == null ) {
             logger.error( "UUID passed in cannot be null." );
             return "UUID passed in cannot be null";
         }
 
-        EntityManager rootEm = emf.getEntityManager( appId );
+        EntityManager rootEm = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
 
         //retrieve the export entity.
         Export export = rootEm.get( uuid, Export.class );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/22029ae3/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index a840b4f..72c9bcc 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -904,7 +904,7 @@ public class ExportServiceIT {
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
         exportService.doExport( jobExecution );
-        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
+        while ( !exportService.getState( exportUUID ).equals( "FINISHED" ) ) {
             ;
         }
 
@@ -1098,7 +1098,7 @@ public class ExportServiceIT {
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
         exportService.doExport( jobExecution );
-        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
+        while ( !exportService.getState( exportUUID ).equals( "FINISHED" ) ) {
             ;
         }
 


[26/43] git commit: Removed integration test by ignoring it. Removed commented out code.

Posted by sn...@apache.org.
Removed integration test by ignoring it.
Removed commented out code.


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

Branch: refs/pull/96/merge
Commit: e3b79e867e179a27d3257089936ca7f68cc13766
Parents: f65c800
Author: grey <gr...@apigee.com>
Authored: Thu Apr 3 13:57:55 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Thu Apr 3 13:57:55 2014 -0700

----------------------------------------------------------------------
 .../management/export/ExportServiceImpl.java    | 30 ++------------------
 .../management/cassandra/ExportServiceIT.java   |  4 +--
 2 files changed, 4 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e3b79e86/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index a61659e..ac0eb20 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -192,8 +192,6 @@ public class ExportServiceImpl implements ExportService {
         Object s3PlaceHolder = jobExecution.getJobData().getProperty( "s3Export" ) ;
         S3Export s3Export = null;
 
-
-//        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
         if ( config == null ) {
             logger.error( "Export Information passed through is null" );
             return;
@@ -342,15 +340,6 @@ public class ExportServiceImpl implements ExportService {
             ByteArrayOutputStream baos = collectionExportAndQuery(application.getKey(),config,export,jobExecution);
 
             fileTransfer( export,appFileName,baos,config, s3Export );
-
-//            InputStream is = new ByteArrayInputStream( baos.toByteArray() );
-//            try {
-//                s3Export.copyToS3( is, config, appFileName );
-//            }
-//            catch ( Exception e ) {
-//                export.setState( Export.State.FAILED );
-//                return;
-//            }
         }
     }
 
@@ -383,15 +372,7 @@ public class ExportServiceImpl implements ExportService {
         ByteArrayOutputStream baos = collectionExportAndQuery(applicationId,config,export,jobExecution);
 
         fileTransfer( export,appFileName,baos,config, s3Export );
-        //sets up the Inputstream for copying the method to s3.
-//        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
-//        try {
-//            s3Export.copyToS3( is, config, appFileName );
-//        }
-//        catch ( Exception e ) {
-//            export.setState( Export.State.FAILED );
-//            return;
-//        }
+
     }
 
 
@@ -417,14 +398,7 @@ public class ExportServiceImpl implements ExportService {
         InputStream is = new ByteArrayInputStream( baos.toByteArray() );
 
         fileTransfer( export,appFileName,baos,config, s3Export );
-//        try {
-//            s3Export.copyToS3( is, config, appFileName );
-//        }
-//        catch ( Exception e ) {
-//            export.setErrorMessage( e.getMessage() );
-//            export.setState( Export.State.FAILED );
-//            return;
-//        }
+
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e3b79e86/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index e7c7b2f..9c92a29 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -787,8 +787,8 @@ public class ExportServiceIT {
         blobStore.deleteContainer( bucketName );
     }
 
-    //@Ignore
-    @Test
+    @Ignore
+   // @Test
     public void testIntegration100EntitiesForAllApps() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();


[36/43] git commit: remove version, doesn't work

Posted by sn...@apache.org.
remove version, doesn't work


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

Branch: refs/heads/master
Commit: 6a3c1482485e24014041cbdf449780f671ff4a5d
Parents: f5a7830
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Apr 8 13:49:07 2014 -0600
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Apr 8 13:49:07 2014 -0600

----------------------------------------------------------------------
 portal/bower.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/6a3c1482/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index 4561fab..f032249 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -23,7 +23,7 @@
   "dependencies": {
     "angularitics": "~0.8.7",
     "apigee-sdk": "~2.0.8",
-    "angular-intro.js": "1.0.3",
+    "angular-intro.js": "*",
     "sizzle":"1.10.16"
   },
   "devDependencies": {},


[10/43] 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 Shawn Feldman (1) and amuramoto (1)
# Via Shawn Feldman (2) and others
* 'master' of https://github.com/usergrid/usergrid:
  building files
  fixed img path


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

Branch: refs/pull/96/merge
Commit: a4d86b45bd292e580b21385fa1d7edd2a483e7a8
Parents: 52985b0 ec3f5b1
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 15:22:02 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 15:22:02 2014 -0700

----------------------------------------------------------------------
 portal/css/dash.min.css                      |  2 +-
 portal/css/main.css                          | 10 +++++-----
 portal/dist/appsvc-ui/2.0.2/css/dash.min.css |  2 +-
 portal/dist/appsvc-ui/2.0.2/css/main.css     | 10 +++++-----
 portal/dist/appsvc-ui/css/dash.min.css       |  2 +-
 portal/dist/appsvc-ui/css/main.css           | 10 +++++-----
 6 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------



[24/43] git commit: Added additional error checking for passing through the file transfer data.

Posted by sn...@apache.org.
Added additional error checking for passing through the file transfer data.


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

Branch: refs/pull/96/merge
Commit: 4639ab2fa3e1ac5e89ec6fba837297cc20a5ea76
Parents: 2438563
Author: grey <gr...@apigee.com>
Authored: Thu Apr 3 10:59:56 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Thu Apr 3 10:59:56 2014 -0700

----------------------------------------------------------------------
 .../usergrid/management/export/ExportJob.java   |  6 +++++
 .../management/export/ExportServiceImpl.java    | 24 +++++++++-----------
 .../management/cassandra/ExportServiceIT.java   |  4 ++--
 3 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4639ab2f/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
index 02ab275..46c7284 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportJob.java
@@ -54,12 +54,18 @@ public class ExportJob extends OnlyOnceJob {
             return;
         }
 
+        if(jobData.getProperty( "s3Export" ) == null) {
+            logger.error( "S3 interface not correctly set");
+            return;
+        }
+
         jobExecution.heartbeat();
         try {
             exportService.doExport( jobExecution );
         }
         catch ( Exception e ) {
             logger.error( "Export Service failed to complete job" );
+            logger.error(e.getMessage());
             return;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4639ab2f/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 18bd130..0ddd39c 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -79,11 +79,6 @@ public class ExportServiceImpl implements ExportService {
 
     private JsonFactory jsonFactory = new JsonFactory();
 
-    //private S3Export s3Export;
-
-    private String defaultAppExportname = "exporters";
-
-
     @Override
     public UUID schedule( final Map<String, Object> config ) throws Exception {
         ApplicationInfo defaultExportApp = null;
@@ -96,7 +91,6 @@ public class ExportServiceImpl implements ExportService {
 
         EntityManager em = null;
         try {
-            //em = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
             em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
             Set<String> collections =  em.getApplicationCollections();
             if(!collections.contains( "exports" )){
@@ -197,10 +191,10 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public void doExport( final JobExecution jobExecution ) throws Exception {
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
-        S3Export s3Export = ( S3Export )jobExecution.getJobData().getProperty( "s3Export" );
+        S3Export s3Export = null;
 
-//        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
 
+//        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
         if ( config == null ) {
             logger.error( "Export Information passed through is null" );
             return;
@@ -215,6 +209,15 @@ public class ExportServiceImpl implements ExportService {
         export.setState( Export.State.STARTED );
         em.update( export );
 
+        try {
+            s3Export = ( S3Export )jobExecution.getJobData().getProperty( "s3Export" );
+        }catch (Exception e){
+            logger.error( "S3Export doesn't exist" );
+            export.setState( Export.State.FAILED );
+            em.update( export );
+            return;
+        }
+        
         if ( config.get( "organizationId" ) == null ) {
             logger.error( "No organization could be found" );
             export.setState( Export.State.FAILED );
@@ -547,7 +550,6 @@ public class ExportServiceImpl implements ExportService {
 
     protected JsonGenerator getJsonGenerator( ByteArrayOutputStream out ) throws IOException {
         //TODO:shouldn't the below be UTF-16?
-        //PrintWriter out = new PrintWriter( outFile, "UTF-8" );
 
         JsonGenerator jg = jsonFactory.createJsonGenerator( out );
         jg.setPrettyPrinter( new DefaultPrettyPrinter() );
@@ -645,8 +647,4 @@ public class ExportServiceImpl implements ExportService {
         return baos;
     }
 
-
-//    @Autowired
-//    @Override
-//    public void setS3Export( S3Export s3Export ) { this.s3Export = s3Export; }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4639ab2f/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index f64412d..e7c7b2f 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -787,8 +787,8 @@ public class ExportServiceIT {
         blobStore.deleteContainer( bucketName );
     }
 
-    @Ignore
-    //@Test
+    //@Ignore
+    @Test
     public void testIntegration100EntitiesForAllApps() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();


[33/43] git commit: Merge remote-tracking branch 'origin/master' into Export_Persistance_Integration

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

Conflicts:
	.gitignore


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

Branch: refs/pull/96/merge
Commit: 131c3cab55ed7f29e7b11a7b8b83d5e98c4fb593
Parents: c082e9e 778511b
Author: grey <gr...@apigee.com>
Authored: Mon Apr 7 16:10:12 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Apr 7 16:10:12 2014 -0700

----------------------------------------------------------------------
 .gitignore | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------



[20/43] git commit: Fixed old reference to exportID

Posted by sn...@apache.org.
Fixed old reference to exportID


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

Branch: refs/pull/96/merge
Commit: cf7d3306149d1704d16c7236b35353f7c0b0de56
Parents: 3a9bf5d
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 15:09:09 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 15:09:09 2014 -0700

----------------------------------------------------------------------
 .../management/export/ExportServiceImpl.java     | 16 ++++++++--------
 .../management/cassandra/ExportServiceIT.java    | 19 +++++++++++--------
 2 files changed, 19 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cf7d3306/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 94a533c..bcba8ae 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -197,7 +197,7 @@ public class ExportServiceImpl implements ExportService {
     public void doExport( final JobExecution jobExecution ) throws Exception {
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
 
-        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
+//        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
 
         if ( config == null ) {
             logger.error( "Export Information passed through is null" );
@@ -205,10 +205,10 @@ public class ExportServiceImpl implements ExportService {
         }
         //get the entity manager for the application, and the entity that this Export corresponds to.
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        if ( scopedAppId == null ) {
-            logger.error( "Export Information application uuid is null" );
-            return;
-        }
+//        if ( scopedAppId == null ) {
+//            logger.error( "Export Information application uuid is null" );
+//            return;
+//        }
         EntityManager em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         Export export = em.get( exportId, Export.class );
 
@@ -315,7 +315,7 @@ public class ExportServiceImpl implements ExportService {
 
         //retrieves export entity
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        EntityManager exportManager = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         Export export = exportManager.get( exportId, Export.class );
         String appFileName = null;
 
@@ -407,7 +407,7 @@ public class ExportServiceImpl implements ExportService {
 
         //retrieves export entity
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        EntityManager exportManager = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         Export export = exportManager.get( exportId, Export.class );
 
         //sets up a output stream for s3 backup.
@@ -497,7 +497,7 @@ public class ExportServiceImpl implements ExportService {
 
         //retrieves export entity
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        EntityManager exportManager = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         Export export = exportManager.get( exportId, Export.class );
 
         //sets up a output stream for s3 backup.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cf7d3306/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index 72c9bcc..5764053 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -858,8 +858,8 @@ public class ExportServiceIT {
     }
 
 
-    @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
-    //@Test
+   // @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+    @Test
     public void testIntegration100EntitiesOn() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -934,11 +934,14 @@ public class ExportServiceIT {
                 blobStore.deleteContainer( bucketName );
                 assert ( false );
             }
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+
             Long numOfFiles = blobStore.countBlobs( bucketName );
             Long numWeWant = Long.valueOf( 1 );
+            blobStore.deleteContainer( bucketName );
             assertEquals( numOfFiles, numWeWant );
 
-            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+
         }
         catch ( Exception e ) {
             assert ( false );
@@ -948,8 +951,8 @@ public class ExportServiceIT {
         blobStore.deleteContainer( bucketName );
     }
 
-    @Ignore
-    //@Test
+    //@Ignore
+    @Test
     public void testIntegration100EntitiesForAllApps() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -1024,8 +1027,8 @@ public class ExportServiceIT {
             Long numOfFiles = blobStore.countBlobs( bucketName );
             //delete container containing said files
             bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
-            blobStore.deleteContainer( bucketName );
             Long numWeWant = Long.valueOf( 5 );
+            blobStore.deleteContainer( bucketName );
             //asserts that the correct number of files was transferred over
             assertEquals( numWeWant, numOfFiles );
         }
@@ -1036,11 +1039,11 @@ public class ExportServiceIT {
         }
 
         assertNotNull( bo );
-        blobStore.deleteContainer( bucketName );
     }
 
 
-    @Ignore
+    //@Ignore
+    @Test
     public void testIntegration100EntitiesOnOneOrg() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();


[42/43] git commit: Merge pull request #100 from shawnfeldman/master

Posted by sn...@apache.org.
Merge pull request #100 from shawnfeldman/master

fix js error from intro.js not being tied to a version

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

Branch: refs/pull/96/merge
Commit: 1cdb6b953351a75196ce36727aee3179b00425ff
Parents: 52a110b ecebfa1
Author: Rod Simpson <ro...@rodsimpson.com>
Authored: Tue Apr 8 15:46:27 2014 -0600
Committer: Rod Simpson <ro...@rodsimpson.com>
Committed: Tue Apr 8 15:46:27 2014 -0600

----------------------------------------------------------------------
 portal/Gruntfile.js | 6 +++---
 portal/bower.json   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------



[16/43] git commit: cleaned up some code in the export tests.

Posted by sn...@apache.org.
cleaned up some code in the export tests.


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

Branch: refs/pull/96/merge
Commit: 88efb03dbc3040ade4cbfa219812dd67f7aa8f31
Parents: e9e4143
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 13:14:29 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 13:14:29 2014 -0700

----------------------------------------------------------------------
 .../management/cassandra/ExportServiceIT.java   | 25 ++++----------------
 1 file changed, 4 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/88efb03d/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index 93f00c9..1aae1b4 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -87,8 +87,7 @@ public class ExportServiceIT {
         applicationId = setup.getMgmtSvc().createApplication( organization.getUuid(), "ed-application" ).getId();
     }
 
-    //
-    //
+
     //Tests to make sure we can call the job with mock data and it runs.
     @Ignore //Connections won't save when run with maven, but on local builds it will.
     public void testConnectionsOnCollectionExport() throws Exception {
@@ -103,7 +102,7 @@ public class ExportServiceIT {
         catch ( Exception e ) {
             //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
         }
-
+        f.deleteOnExit();
 
         S3Export s3Export = new MockS3ExportImpl();
         s3Export.setFilename( "testFileConnections.json" );
@@ -169,7 +168,7 @@ public class ExportServiceIT {
 
         assertNotNull( objVibrations );
 
-        f.deleteOnExit();
+
     }
 
 
@@ -480,14 +479,12 @@ public class ExportServiceIT {
     public void testExportOneAppOnApplicationEndpointWQuery() throws Exception {
 
         File f = null;
-
         try {
             f = new File( "exportOneAppWQuery.json" );
         }
         catch ( Exception e ) {
             //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
         }
-
         f.deleteOnExit();
 
 
@@ -511,7 +508,6 @@ public class ExportServiceIT {
         HashMap<String, Object> payload = payloadBuilder();
 
         payload.put( "query", "select * where username = 'junkRealName'" );
-
         payload.put( "organizationId", organization.getUuid() );
         payload.put( "applicationId", applicationId );
 
@@ -874,10 +870,6 @@ public class ExportServiceIT {
 
         EntityManager em = setup.getEmf().getEntityManager( applicationId );
         //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[5];
-        //creates entities
 
         ApplicationInfo appMade = null;
         for ( int i = 0; i < 5; i++ ) {
@@ -1000,13 +992,7 @@ public class ExportServiceIT {
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
-        //the exporters app is never returned, and I'm not even sure if that is the way we want to go
-        // I feel like there should be a better way than having to store data for the user.
         exportService.doExport( jobExecution );
-        //BiMap<UUID,String> mapper = setup.getMgmtSvc().getApplicationsForOrganization(orgMade.getUuid());
-        //mapper.get( "" )
-        //        while (!exportService.getState( ,exportUUID )
-        //                             .equals("FINISHED"));
 
         Thread.sleep( 3000 );
 
@@ -1032,10 +1018,7 @@ public class ExportServiceIT {
 
 
             blobStore = context.getBlobStore();
-            //            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
-            //                blobStore.deleteContainer( bucketName );
-            //                assert(false);
-            //            }
+
             //Grab Number of files
             Long numOfFiles = blobStore.countBlobs( bucketName );
             //delete container containing said files


[06/43] git commit: Removed extra imports that were commented out.

Posted by sn...@apache.org.
Removed extra imports that were commented out.


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

Branch: refs/pull/96/merge
Commit: 32603549e67163c86a92fa4dbf54b22051de2749
Parents: f71743e
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:33:23 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:33:23 2014 -0700

----------------------------------------------------------------------
 .../usergrid/management/cassandra/ManagementServiceIT.java   | 8 --------
 1 file changed, 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/32603549/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index 5d73185..6e7b153 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -87,14 +87,6 @@ import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-//import com.amazonaws.auth.AWSCredentials;
-//import com.amazonaws.auth.BasicAWSCredentials;
-//import com.amazonaws.services.s3.AmazonS3;
-//import com.amazonaws.services.s3.AmazonS3Client;
-//import com.amazonaws.services.s3.model.GetObjectRequest;
-//import com.amazonaws.services.s3.model.S3Object;
-
-
 /**
  * @author zznate
  */


[40/43] git commit: Merge pull request #92 from GERey/Export_Persistance_Integration

Posted by sn...@apache.org.
Merge pull request #92 from GERey/Export_Persistance_Integration

Export persistance integration

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

Branch: refs/pull/96/merge
Commit: 52a110b6ddba02be43ee62b286593e148a565ddf
Parents: 778511b 131c3ca
Author: Todd Nine <tn...@apigee.com>
Authored: Tue Apr 8 13:57:21 2014 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Tue Apr 8 13:57:21 2014 -0600

----------------------------------------------------------------------
 .../usergrid/persistence/entities/Export.java   |   70 --
 .../organizations/OrganizationResource.java     |  108 ++
 .../applications/ApplicationResource.java       |   27 -
 .../rest/management/ExportResourceIT.java       |  651 ++++++++++++
 .../rest/management/ManagementResourceIT.java   |  734 +++----------
 .../usergrid/management/export/ExportJob.java   |    1 +
 .../management/export/ExportService.java        |    5 +-
 .../management/export/ExportServiceImpl.java    |  348 +++---
 .../usergrid/management/export/S3Export.java    |    6 +-
 .../management/export/S3ExportImpl.java         |    8 +-
 .../resources/usergrid-services-context.xml     |    2 -
 .../usergrid/ConcurrentServiceITSuite.java      |    3 +-
 .../management/cassandra/ExportServiceIT.java   | 1004 ++++++++++++++++++
 .../cassandra/ManagementServiceIT.java          |  946 +----------------
 .../management/cassandra/MockS3ExportImpl.java  |   33 +-
 .../security/tokens/TokenServiceIT.java         |    3 +-
 16 files changed, 2141 insertions(+), 1808 deletions(-)
----------------------------------------------------------------------



[21/43] git commit: Refactored code to make it easier to manage.

Posted by sn...@apache.org.
Refactored code to make it easier to manage.


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

Branch: refs/pull/96/merge
Commit: 6527517cece3c123c098b35e3f538206d2cbd9a9
Parents: cf7d330
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 15:55:01 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 15:55:01 2014 -0700

----------------------------------------------------------------------
 .../management/export/ExportServiceImpl.java    | 327 +++++++------------
 1 file changed, 123 insertions(+), 204 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/6527517c/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index bcba8ae..199bc07 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -205,10 +205,7 @@ public class ExportServiceImpl implements ExportService {
         }
         //get the entity manager for the application, and the entity that this Export corresponds to.
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-//        if ( scopedAppId == null ) {
-//            logger.error( "Export Information application uuid is null" );
-//            return;
-//        }
+
         EntityManager em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         Export export = em.get( exportId, Export.class );
 
@@ -235,8 +232,6 @@ public class ExportServiceImpl implements ExportService {
             }
         }
         else if ( config.get( "collectionName" ) == null ) {
-            //exports all the applications for a given organization.
-
             //exports an Application from a single organization
             try {
                 exportApplicationFromOrg( ( UUID ) config.get( "organizationId" ),
@@ -306,6 +301,13 @@ public class ExportServiceImpl implements ExportService {
         this.managementService = managementService;
     }
 
+    public Export getExportEntity ( final JobExecution jobExecution) throws Exception{
+
+        UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
+        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
+
+        return exportManager.get( exportId, Export.class );
+    }
 
     /**
      * Exports All Applications from an Organization
@@ -313,92 +315,51 @@ public class ExportServiceImpl implements ExportService {
     private void exportApplicationsFromOrg( UUID organizationUUID, final Map<String, Object> config,
                                             final JobExecution jobExecution ) throws Exception {
 
+        //TODO: move extranous code out of these methods and make each one more distinct.
         //retrieves export entity
-        UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
-        Export export = exportManager.get( exportId, Export.class );
+        Export export = getExportEntity(jobExecution);
         String appFileName = null;
 
         BiMap<UUID, String> applications = managementService.getApplicationsForOrganization( organizationUUID );
 
         for ( Map.Entry<UUID, String> application : applications.entrySet() ) {
 
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            JsonGenerator jg = getJsonGenerator( baos );
-
             if ( application.getValue().equals(
-                    managementService.getOrganizationByUuid( organizationUUID ).getName() + "/exporters" ) ) {
+                    managementService.getOrganizationByUuid( organizationUUID ).getName() + "/exports" ) ) {
                 continue;
             }
 
             appFileName = prepareOutputFileName( "application", application.getValue(), null );
 
+            ByteArrayOutputStream baos = collectionExportAndQuery(application.getKey(),config,export,jobExecution);
 
-            EntityManager em = emf.getEntityManager( application.getKey() );
-
-            jg.writeStartArray();
-
-            Map<String, Object> metadata = em.getApplicationCollectionMetadata();
-            long starting_time = System.currentTimeMillis();
-
-            // Loop through the collections. This is the only way to loop
-            // through the entities in the application (former namespace).
-            //could support queries, just need to implement that in the rest endpoint.
-            for ( String collectionName : metadata.keySet() ) {
-                if ( collectionName.equals( "exports" ) ) {
-                    continue;
-                }
-                //if the collection you are looping through doesn't match the name of the one you want. Don't export it.
-
-                if ( ( config.get( "collectionName" ) == null ) || collectionName
-                        .equals( config.get( "collectionName" ) ) ) {
-                    //Query entity manager for the entities in a collection
-                    Query query;
-                    if ( config.get( "query" ) == null ) {
-                        query = new Query();
-                    }
-                    else {
-                        query = Query.fromQL( ( String ) config.get( "query" ) );
-                    }
-                    query.setLimit( MAX_ENTITY_FETCH );
-                    query.setResultsLevel( Results.Level.ALL_PROPERTIES );
-                    Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
-
-                    //pages through the query and backs up all results.
-                    PagingResultsIterator itr = new PagingResultsIterator( entities );
-                    for ( Object e : itr ) {
-                        starting_time = checkTimeDelta( starting_time, jobExecution );
-                        Entity entity = ( Entity ) e;
-                        jg.writeStartObject();
-                        jg.writeFieldName( "Metadata" );
-                        jg.writeObject( entity );
-                        saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
-                        jg.writeEndObject();
-                    }
-                }
-            }
-            //}
-
+            fileTransfer( export,appFileName,baos,config );
 
-            // Close writer and file for this application.
-            jg.writeEndArray();
-            jg.close();
-            baos.flush();
-            baos.close();
+//            InputStream is = new ByteArrayInputStream( baos.toByteArray() );
+//            try {
+//                s3Export.copyToS3( is, config, appFileName );
+//            }
+//            catch ( Exception e ) {
+//                export.setState( Export.State.FAILED );
+//                return;
+//            }
+        }
+    }
 
-            //sets up the Inputstream for copying the method to s3.
-            InputStream is = new ByteArrayInputStream( baos.toByteArray() );
-            try {
-                s3Export.copyToS3( is, config, appFileName );
-            }
-            catch ( Exception e ) {
-                export.setState( Export.State.FAILED );
-                return;
-            }
+    public void fileTransfer(Export export,String appFileName,ByteArrayOutputStream baos,Map<String,Object> config) {
+        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
+        try {
+            s3Export.copyToS3( is, config, appFileName );
+        }
+        catch ( Exception e ) {
+            export.setState( Export.State.FAILED );
+            return;
         }
     }
 
 
+
+
     /**
      * Exports a specific applications from an organization
      */
@@ -406,84 +367,23 @@ public class ExportServiceImpl implements ExportService {
                                            final JobExecution jobExecution ) throws Exception {
 
         //retrieves export entity
-        UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
-        Export export = exportManager.get( exportId, Export.class );
-
-        //sets up a output stream for s3 backup.
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        Export export = getExportEntity(jobExecution);
 
         ApplicationInfo application = managementService.getApplicationInfo( applicationId );
         String appFileName = prepareOutputFileName( "application", application.getName(), null );
 
-        JsonGenerator jg = getJsonGenerator( baos );
-
-        EntityManager em = emf.getEntityManager( applicationId );
-
-        jg.writeStartArray();
-
-        Map<String, Object> metadata = em.getApplicationCollectionMetadata();
-        long starting_time = System.currentTimeMillis();
-
-        // Loop through the collections. This is the only way to loop
-        // through the entities in the application (former namespace).
-        //could support queries, just need to implement that in the rest endpoint.
-        for ( String collectionName : metadata.keySet() ) {
-            if ( collectionName.equals( "exports" ) ) {
-                continue;
-            }
-            //if the collection you are looping through doesn't match the name of the one you want. Don't export it.
-
-            if ( ( config.get( "collectionName" ) == null ) || collectionName
-                    .equals( config.get( "collectionName" ) ) ) {
-                //Query entity manager for the entities in a collection
-                Query query = null;
-                if ( config.get( "query" ) == null ) {
-                    query = new Query();
-                }
-                else {
-                    try {
-                        query = Query.fromQL( ( String ) config.get( "query" ) );
-                    }
-                    catch ( Exception e ) {
-                        export.setErrorMessage( e.getMessage() );
-                    }
-                }
-                query.setLimit( MAX_ENTITY_FETCH );
-                query.setResultsLevel( Results.Level.ALL_PROPERTIES );
-                query.setCollection( collectionName );
-
-                Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
-
-                //pages through the query and backs up all results.
-                PagingResultsIterator itr = new PagingResultsIterator( entities );
-                for ( Object e : itr ) {
-                    starting_time = checkTimeDelta( starting_time, jobExecution );
-                    Entity entity = ( Entity ) e;
-                    jg.writeStartObject();
-                    jg.writeFieldName( "Metadata" );
-                    jg.writeObject( entity );
-                    saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
-                    jg.writeEndObject();
-                }
-            }
-        }
-
-        // Close writer and file for this application.
-        jg.writeEndArray();
-        jg.close();
-        baos.flush();
-        baos.close();
+        ByteArrayOutputStream baos = collectionExportAndQuery(applicationId,config,export,jobExecution);
 
+        fileTransfer( export,appFileName,baos,config );
         //sets up the Inputstream for copying the method to s3.
-        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
-        try {
-            s3Export.copyToS3( is, config, appFileName );
-        }
-        catch ( Exception e ) {
-            export.setState( Export.State.FAILED );
-            return;
-        }
+//        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
+//        try {
+//            s3Export.copyToS3( is, config, appFileName );
+//        }
+//        catch ( Exception e ) {
+//            export.setState( Export.State.FAILED );
+//            return;
+//        }
     }
 
 
@@ -496,76 +396,27 @@ public class ExportServiceImpl implements ExportService {
             throws Exception {
 
         //retrieves export entity
-        UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
-        Export export = exportManager.get( exportId, Export.class );
-
-        //sets up a output stream for s3 backup.
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
+        Export export = getExportEntity(jobExecution);
         ApplicationInfo application = managementService.getApplicationInfo( applicationUUID );
 
-        JsonGenerator jg = getJsonGenerator( baos );
-
-        EntityManager em = emf.getEntityManager( applicationUUID );
-
-        jg.writeStartArray();
-
-        Map<String, Object> metadata = em.getApplicationCollectionMetadata();
-        long starting_time = System.currentTimeMillis();
         String appFileName = prepareOutputFileName( "application", application.getName(),
                 ( String ) config.get( "collectionName" ) );
 
-        // Loop through the collections. This is the only way to loop
-        // through the entities in the application (former namespace).
-        //could support queries, just need to implement that in the rest endpoint.
-        for ( String collectionName : metadata.keySet() ) {
-            //if the collection you are looping through doesn't match the name of the one you want. Don't export it.
-            if ( collectionName.equals( ( String ) config.get( "collectionName" ) ) ) {
-                //Query entity manager for the entities in a collection
-                Query query;
-                if ( config.get( "query" ) == null ) {
-                    query = new Query();
-                }
-                else {
-                    query = Query.fromQL( ( String ) config.get( "query" ) );
-                }
-                query.setLimit( MAX_ENTITY_FETCH );
-                query.setResultsLevel( Results.Level.ALL_PROPERTIES );
-                Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
-
-                //pages through the query and backs up all results.
-                PagingResultsIterator itr = new PagingResultsIterator( entities );
-                for ( Object e : itr ) {
-                    starting_time = checkTimeDelta( starting_time, jobExecution );
-                    Entity entity = ( Entity ) e;
-                    jg.writeStartObject();
-                    jg.writeFieldName( "Metadata" );
-                    jg.writeObject( entity );
-                    saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
-                    jg.writeEndObject();
-                }
-            }
-        }
 
-        // Close writer and file for this application.
-        jg.writeEndArray();
-        jg.close();
-        baos.flush();
-        baos.close();
+        ByteArrayOutputStream baos = collectionExportAndQuery(applicationUUID,config,export,jobExecution);
 
         //sets up the Inputstream for copying the method to s3.
         InputStream is = new ByteArrayInputStream( baos.toByteArray() );
 
-
-        try {
-            s3Export.copyToS3( is, config, appFileName );
-        }
-        catch ( Exception e ) {
-            export.setErrorMessage( e.getMessage() );
-            export.setState( Export.State.FAILED );
-            return;
-        }
+        fileTransfer( export,appFileName,baos,config );
+//        try {
+//            s3Export.copyToS3( is, config, appFileName );
+//        }
+//        catch ( Exception e ) {
+//            export.setErrorMessage( e.getMessage() );
+//            export.setState( Export.State.FAILED );
+//            return;
+//        }
     }
 
 
@@ -724,6 +575,74 @@ public class ExportServiceImpl implements ExportService {
         return outputFileName;
     }
 
+    /**
+     * handles the query and export of collections
+     * @param applicationUUID
+     * @param config
+     * @param export
+     * @param jobExecution
+     * @throws Exception
+     */
+    //TODO:Needs further refactoring.
+    protected ByteArrayOutputStream collectionExportAndQuery(UUID applicationUUID,final Map<String,Object> config,Export export,final JobExecution jobExecution) throws Exception{
+
+        EntityManager em = emf.getEntityManager( applicationUUID );
+        Map<String, Object> metadata = em.getApplicationCollectionMetadata();
+        long starting_time = System.currentTimeMillis();
+
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        JsonGenerator jg = getJsonGenerator( baos );
+
+        jg.writeStartArray();
+
+        for ( String collectionName : metadata.keySet() ) {
+            if ( collectionName.equals( "exports" ) ) {
+                continue;
+            }
+            //if the collection you are looping through doesn't match the name of the one you want. Don't export it.
+
+            if ( ( config.get( "collectionName" ) == null ) || collectionName
+                    .equals( config.get( "collectionName" ) ) ) {
+                //Query entity manager for the entities in a collection
+                Query query = null;
+                if ( config.get( "query" ) == null ) {
+                    query = new Query();
+                }
+                else {
+                    try {
+                        query = Query.fromQL( ( String ) config.get( "query" ) );
+                    }
+                    catch ( Exception e ) {
+                        export.setErrorMessage( e.getMessage() );
+                    }
+                }
+                query.setLimit( MAX_ENTITY_FETCH );
+                query.setResultsLevel( Results.Level.ALL_PROPERTIES );
+                query.setCollection( collectionName );
+
+                Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
+
+                //pages through the query and backs up all results.
+                PagingResultsIterator itr = new PagingResultsIterator( entities );
+                for ( Object e : itr ) {
+                    starting_time = checkTimeDelta( starting_time, jobExecution );
+                    Entity entity = ( Entity ) e;
+                    jg.writeStartObject();
+                    jg.writeFieldName( "Metadata" );
+                    jg.writeObject( entity );
+                    saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
+                    jg.writeEndObject();
+                }
+            }
+        }
+        jg.writeEndArray();
+        jg.close();
+        baos.flush();
+        baos.close();
+
+        return baos;
+    }
+
 
     @Autowired
     @Override


[30/43] git commit: Added ignore to some auto generated files in intelliJ. Cleans up source tree commits. Removed commented out mocking code.

Posted by sn...@apache.org.
Added ignore to some auto generated files in intelliJ. Cleans up source tree commits.
Removed commented out mocking code.


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

Branch: refs/pull/96/merge
Commit: 721d7625a4dce54b9baae7c09f2f9f6d8c85cfd1
Parents: 9aeb66b
Author: grey <gr...@apigee.com>
Authored: Mon Apr 7 10:59:42 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Apr 7 10:59:42 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |  2 ++
 .../management/cassandra/MockS3ExportImpl.java  | 23 --------------------
 2 files changed, 2 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/721d7625/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 0da9432..f99c690 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,5 @@ stack/corepersistence/queryindex/nbactions.xml
 stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/query/tree/QueryFilterLexer.java
 stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/query/tree/QueryFilterParser.java
 
+sdks/android/usergrid-android-client.iml
+sdks/java/usergrid-java-client.iml

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/721d7625/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
index e765aea..b3ec1cb 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
@@ -47,29 +47,6 @@ public class MockS3ExportImpl implements S3Export {
         catch ( IOException e ) {
             e.printStackTrace();
         }
-
-
-        //        Logger logger = LoggerFactory.getLogger( MockS3ExportImpl.class );
-//        int read = 0;
-//        byte[] bytes = new byte[1024];
-//        OutputStream outputStream = null;
-//
-//        try {
-//            outputStream = new FileOutputStream( new File( this.filename ) );
-//        }
-//        catch ( FileNotFoundException e ) {
-//            e.printStackTrace();
-//        }
-//
-//
-//        try {
-//            while ( ( read = ( inputStream.read( bytes ) ) ) != -1 ) {
-//                outputStream.write( bytes, 0, read );
-//            }
-//        }
-//        catch ( IOException e ) {
-//            e.printStackTrace();
-//        }
     }
 
     @Override


[19/43] 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 Shawn Feldman
# Via Shawn Feldman (4) and Rod Simpson (2)
* 'master' of https://github.com/usergrid/usergrid:
  new bower version
  moving files to new dist directory
  removing versioning
  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/3a9bf5db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/3a9bf5db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/3a9bf5db

Branch: refs/pull/96/merge
Commit: 3a9bf5db6d46ab34f7d2ebd951d47bbbf154fda1
Parents: 22029ae 348c73c
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 14:36:27 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 14:36:27 2014 -0700

----------------------------------------------------------------------
 portal/Gruntfile.js                             |    55 +-
 portal/README.md                                |    88 +-
 portal/bower.json                               |     2 +-
 .../bower_components/angular-intro.js/LICENSE   |    20 -
 .../angular-intro.js/angular-intro.js           |    60 -
 .../angular-intro.js/bower.json                 |    20 -
 .../angular-intro.js/build/angular-intro.min.js |     1 -
 .../angular-intro.js/example/app.js             |    51 -
 .../angular-intro.js/lib/app.js                 |    49 -
 .../angular-intro.js/lib/intro.min.js           |    20 -
 .../angular-intro.js/lib/introjs.css            |   216 -
 .../2.0.2/bower_components/angular/README.md    |    48 -
 .../bower_components/angular/angular-csp.css    |    18 -
 .../2.0.2/bower_components/angular/angular.js   | 21734 -----------
 .../bower_components/angular/angular.min.js     |   211 -
 .../angular/angular.min.js.gzip                 |   Bin 38778 -> 0 bytes
 .../bower_components/angular/angular.min.js.map |     8 -
 .../2.0.2/bower_components/angular/bower.json   |     7 -
 .../bower_components/angularitics/Gruntfile.js  |    62 -
 .../2.0.2/bower_components/angularitics/LICENSE |    22 -
 .../bower_components/angularitics/README.md     |   115 -
 .../bower_components/angularitics/bower.json    |    12 -
 .../dist/angulartics-chartbeat.min.js           |     7 -
 .../dist/angulartics-ga-cordova.min.js          |     6 -
 .../angularitics/dist/angulartics-ga.min.js     |     7 -
 .../dist/angulartics-google-analytics.min.js    |     7 -
 .../dist/angulartics-kissmetrics.min.js         |     6 -
 .../dist/angulartics-mixpanel.min.js            |     7 -
 .../angularitics/dist/angulartics-scroll.min.js |    14 -
 .../dist/angulartics-segmentio.min.js           |     6 -
 .../angularitics/dist/angulartics.min.js        |     6 -
 .../bower_components/angularitics/karma.conf.js |    22 -
 .../bower_components/angularitics/package.json  |    43 -
 .../angularitics/samples/chartbeat.html         |    79 -
 .../angularitics/samples/google-analytics.html  |    68 -
 .../angularitics/samples/kissmetrics.html       |    75 -
 .../angularitics/samples/mixpanel.html          |    65 -
 .../angularitics/samples/partials/a.tpl.html    |     1 -
 .../angularitics/samples/partials/b.tpl.html    |     1 -
 .../angularitics/samples/partials/c.tpl.html    |     1 -
 .../angularitics/samples/partials/root.tpl.html |     1 -
 .../angularitics/samples/scroll.html            |    82 -
 .../angularitics/samples/segmentio.html         |    65 -
 .../angularitics/src/angulartics-chartbeat.js   |    29 -
 .../angularitics/src/angulartics-ga-cordova.js  |    91 -
 .../angularitics/src/angulartics-ga.js          |    32 -
 .../angularitics/src/angulartics-kissmetrics.js |    29 -
 .../angularitics/src/angulartics-mixpanel.js    |    29 -
 .../angularitics/src/angulartics-scroll.js      |    47 -
 .../angularitics/src/angulartics-segmentio.js   |    24 -
 .../angularitics/src/angulartics.js             |   132 -
 .../angularitics/test/angularticsSpec.js        |    38 -
 .../2.0.2/bower_components/apigee-sdk/apigee.js |  3260 --
 .../bower_components/apigee-sdk/apigee.min.js   |     3 -
 .../bower_components/apigee-sdk/bower.json      |    13 -
 .../samples/collections/css/apigee.min.css      |   213 -
 .../collections/css/jquery.mobile.icons.min.css |     3 -
 .../samples/collections/css/theme.min.css       |   213 -
 .../apigee-sdk/samples/collections/js/index.js  |   360 -
 .../entities/css/jquery.mobile.icons.min.css    |     3 -
 .../samples/entities/css/theme.min.css          |   213 -
 .../apigee-sdk/samples/entities/js/index.js     |   228 -
 .../geolocation/css/jquery.mobile.icons.min.css |     3 -
 .../samples/geolocation/css/theme.min.css       |   213 -
 .../apigee-sdk/samples/geolocation/js/index.js  |   133 -
 .../apigee-sdk/samples/messagee/app.js          |   634 -
 .../samples/messagee/usergrid.validation.js     |   249 -
 .../samples/push/android/AndroidManifest.xml    |    79 -
 .../samples/push/android/ant.properties         |    17 -
 .../push/android/assets/www/PushNotification.js |    65 -
 .../push/android/assets/www/cordova-2.7.0.js    |  6836 ----
 .../push/android/assets/www/css/index.css       |   115 -
 .../push/android/assets/www/img/cordova.png     |   Bin 19932 -> 0 bytes
 .../push/android/assets/www/img/logo.png        |   Bin 21814 -> 0 bytes
 .../samples/push/android/assets/www/js/index.js |   241 -
 .../samples/push/android/assets/www/main.js     |   165 -
 .../samples/push/android/assets/www/master.css  |   116 -
 .../screen/android/screen-hdpi-landscape.png    |   Bin 218302 -> 0 bytes
 .../res/screen/android/screen-hdpi-portrait.png |   Bin 222148 -> 0 bytes
 .../screen/android/screen-ldpi-landscape.png    |   Bin 42616 -> 0 bytes
 .../res/screen/android/screen-ldpi-portrait.png |   Bin 42034 -> 0 bytes
 .../screen/android/screen-mdpi-landscape.png    |   Bin 92347 -> 0 bytes
 .../res/screen/android/screen-mdpi-portrait.png |   Bin 90555 -> 0 bytes
 .../screen/android/screen-xhdpi-landscape.png   |   Bin 489604 -> 0 bytes
 .../screen/android/screen-xhdpi-portrait.png    |   Bin 504508 -> 0 bytes
 .../samples/push/android/assets/www/spec.html   |    68 -
 .../push/android/assets/www/spec/helper.js      |    33 -
 .../push/android/assets/www/spec/index.js       |    67 -
 .../www/spec/lib/jasmine-1.2.0/MIT.LICENSE      |    20 -
 .../www/spec/lib/jasmine-1.2.0/jasmine-html.js  |   616 -
 .../www/spec/lib/jasmine-1.2.0/jasmine.css      |    81 -
 .../www/spec/lib/jasmine-1.2.0/jasmine.js       |  2529 --
 .../apigee-sdk/samples/push/android/build.xml   |    92 -
 .../samples/push/android/cordova/appinfo.jar    |   Bin 1574 -> 0 bytes
 .../samples/push/android/cordova/build          |    24 -
 .../samples/push/android/cordova/clean          |    24 -
 .../samples/push/android/cordova/cordova        |   159 -
 .../apigee-sdk/samples/push/android/cordova/log |    24 -
 .../samples/push/android/cordova/release        |    24 -
 .../apigee-sdk/samples/push/android/cordova/run |    24 -
 .../push/android/libs/android-support-v13.jar   |   Bin 402581 -> 0 bytes
 .../samples/push/android/libs/cordova-2.7.0.jar |   Bin 256941 -> 0 bytes
 .../samples/push/android/libs/gcm.jar           |   Bin 13662 -> 0 bytes
 .../samples/push/android/proguard-project.txt   |    20 -
 .../samples/push/android/project.properties     |    14 -
 .../android/res/drawable-hdpi/ic_launcher.png   |   Bin 9397 -> 0 bytes
 .../push/android/res/drawable-hdpi/icon.png     |   Bin 6080 -> 0 bytes
 .../android/res/drawable-ldpi/ic_launcher.png   |   Bin 2729 -> 0 bytes
 .../push/android/res/drawable-ldpi/icon.png     |   Bin 3096 -> 0 bytes
 .../android/res/drawable-mdpi/ic_launcher.png   |   Bin 5237 -> 0 bytes
 .../push/android/res/drawable-mdpi/icon.png     |   Bin 4090 -> 0 bytes
 .../android/res/drawable-xhdpi/ic_launcher.png  |   Bin 14383 -> 0 bytes
 .../push/android/res/drawable-xhdpi/icon.png    |   Bin 7685 -> 0 bytes
 .../samples/push/android/res/drawable/icon.png  |   Bin 7685 -> 0 bytes
 .../samples/push/android/res/layout/main.xml    |    13 -
 .../samples/push/android/res/values/strings.xml |     4 -
 .../samples/push/android/res/xml/config.xml     |    62 -
 .../plugin/gcm/CordovaGCMBroadcastReceiver.java |    19 -
 .../src/com/plugin/gcm/GCMIntentService.java    |   163 -
 .../src/com/plugin/gcm/PushHandlerActivity.java |    66 -
 .../android/src/com/plugin/gcm/PushPlugin.java  |   216 -
 .../src/me/mdob/android/androidpush.java        |    36 -
 .../samples/push/ios/CordovaLib/Classes/CDV.h   |    57 -
 .../ios/CordovaLib/Classes/CDVAccelerometer.h   |    39 -
 .../ios/CordovaLib/Classes/CDVAccelerometer.m   |   128 -
 .../ios/CordovaLib/Classes/CDVAvailability.h    |    87 -
 .../push/ios/CordovaLib/Classes/CDVBattery.h    |    40 -
 .../push/ios/CordovaLib/Classes/CDVBattery.m    |   152 -
 .../push/ios/CordovaLib/Classes/CDVCamera.h     |    92 -
 .../push/ios/CordovaLib/Classes/CDVCamera.m     |   570 -
 .../push/ios/CordovaLib/Classes/CDVCapture.h    |   118 -
 .../push/ios/CordovaLib/Classes/CDVCapture.m    |   847 -
 .../ios/CordovaLib/Classes/CDVCommandDelegate.h |    54 -
 .../CordovaLib/Classes/CDVCommandDelegateImpl.h |    33 -
 .../CordovaLib/Classes/CDVCommandDelegateImpl.m |   145 -
 .../ios/CordovaLib/Classes/CDVCommandQueue.h    |    40 -
 .../ios/CordovaLib/Classes/CDVCommandQueue.m    |   169 -
 .../ios/CordovaLib/Classes/CDVConfigParser.h    |    28 -
 .../ios/CordovaLib/Classes/CDVConfigParser.m    |    70 -
 .../push/ios/CordovaLib/Classes/CDVConnection.h |    34 -
 .../push/ios/CordovaLib/Classes/CDVConnection.m |   132 -
 .../push/ios/CordovaLib/Classes/CDVContact.h    |   136 -
 .../push/ios/CordovaLib/Classes/CDVContact.m    |  1752 -
 .../push/ios/CordovaLib/Classes/CDVContacts.h   |   151 -
 .../push/ios/CordovaLib/Classes/CDVContacts.m   |   593 -
 .../push/ios/CordovaLib/Classes/CDVDebug.h      |    25 -
 .../ios/CordovaLib/Classes/CDVDebugConsole.h    |    28 -
 .../ios/CordovaLib/Classes/CDVDebugConsole.m    |    37 -
 .../push/ios/CordovaLib/Classes/CDVDevice.h     |    30 -
 .../push/ios/CordovaLib/Classes/CDVDevice.m     |    90 -
 .../push/ios/CordovaLib/Classes/CDVEcho.h       |    23 -
 .../push/ios/CordovaLib/Classes/CDVEcho.m       |    61 -
 .../push/ios/CordovaLib/Classes/CDVExif.h       |    43 -
 .../push/ios/CordovaLib/Classes/CDVFile.h       |   106 -
 .../push/ios/CordovaLib/Classes/CDVFile.m       |  1409 -
 .../ios/CordovaLib/Classes/CDVFileTransfer.h    |    74 -
 .../ios/CordovaLib/Classes/CDVFileTransfer.m    |   625 -
 .../ios/CordovaLib/Classes/CDVGlobalization.h   |   150 -
 .../ios/CordovaLib/Classes/CDVGlobalization.m   |   790 -
 .../ios/CordovaLib/Classes/CDVInAppBrowser.h    |    88 -
 .../ios/CordovaLib/Classes/CDVInAppBrowser.m    |   581 -
 .../CordovaLib/Classes/CDVInvokedUrlCommand.h   |    57 -
 .../CordovaLib/Classes/CDVInvokedUrlCommand.m   |   140 -
 .../push/ios/CordovaLib/Classes/CDVJSON.h       |    30 -
 .../push/ios/CordovaLib/Classes/CDVJSON.m       |    77 -
 .../CordovaLib/Classes/CDVJpegHeaderWriter.h    |    62 -
 .../CordovaLib/Classes/CDVJpegHeaderWriter.m    |   522 -
 .../ios/CordovaLib/Classes/CDVLocalStorage.h    |    50 -
 .../ios/CordovaLib/Classes/CDVLocalStorage.m    |   485 -
 .../push/ios/CordovaLib/Classes/CDVLocation.h   |   104 -
 .../push/ios/CordovaLib/Classes/CDVLocation.m   |   623 -
 .../push/ios/CordovaLib/Classes/CDVLogger.h     |    26 -
 .../push/ios/CordovaLib/Classes/CDVLogger.m     |    38 -
 .../ios/CordovaLib/Classes/CDVNotification.h    |    37 -
 .../ios/CordovaLib/Classes/CDVNotification.m    |   126 -
 .../push/ios/CordovaLib/Classes/CDVPlugin.h     |    64 -
 .../push/ios/CordovaLib/Classes/CDVPlugin.m     |   152 -
 .../ios/CordovaLib/Classes/CDVPluginResult.h    |    68 -
 .../ios/CordovaLib/Classes/CDVPluginResult.m    |   224 -
 .../ios/CordovaLib/Classes/CDVReachability.h    |    85 -
 .../ios/CordovaLib/Classes/CDVReachability.m    |   260 -
 .../Classes/CDVScreenOrientationDelegate.h      |    28 -
 .../push/ios/CordovaLib/Classes/CDVSound.h      |   116 -
 .../push/ios/CordovaLib/Classes/CDVSound.m      |   699 -
 .../ios/CordovaLib/Classes/CDVSplashScreen.h    |    33 -
 .../ios/CordovaLib/Classes/CDVSplashScreen.m    |   225 -
 .../ios/CordovaLib/Classes/CDVURLProtocol.h     |    29 -
 .../ios/CordovaLib/Classes/CDVURLProtocol.m     |   230 -
 .../ios/CordovaLib/Classes/CDVUserAgentUtil.h   |    27 -
 .../ios/CordovaLib/Classes/CDVUserAgentUtil.m   |   120 -
 .../ios/CordovaLib/Classes/CDVViewController.h  |    73 -
 .../ios/CordovaLib/Classes/CDVViewController.m  |   931 -
 .../ios/CordovaLib/Classes/CDVWebViewDelegate.h |    37 -
 .../ios/CordovaLib/Classes/CDVWebViewDelegate.m |   171 -
 .../push/ios/CordovaLib/Classes/CDVWhitelist.h  |    36 -
 .../push/ios/CordovaLib/Classes/CDVWhitelist.m  |   192 -
 .../CordovaLib/Classes/NSArray+Comparisons.h    |    26 -
 .../CordovaLib/Classes/NSArray+Comparisons.m    |    41 -
 .../push/ios/CordovaLib/Classes/NSData+Base64.h |    33 -
 .../push/ios/CordovaLib/Classes/NSData+Base64.m |   281 -
 .../Classes/NSDictionary+Extensions.h           |    35 -
 .../Classes/NSDictionary+Extensions.m           |   159 -
 .../Classes/NSMutableArray+QueueAdditions.h     |    29 -
 .../Classes/NSMutableArray+QueueAdditions.m     |    58 -
 .../CordovaLib/Classes/UIDevice+Extensions.h    |    31 -
 .../CordovaLib/Classes/UIDevice+Extensions.m    |    47 -
 .../Classes/compatibility/0.9.6/CDV.h           |    30 -
 .../Classes/compatibility/0.9.6/CDVPlugin.h     |    46 -
 .../Classes/compatibility/0.9.6/CDVPlugin.m     |    29 -
 .../Classes/compatibility/1.5.0/CDV.h           |    32 -
 .../Classes/compatibility/1.5.0/CDVPlugin.h     |    23 -
 .../CordovaLib/Classes/compatibility/README.txt |    23 -
 .../CordovaLib.xcodeproj/project.pbxproj        |   667 -
 .../push/ios/CordovaLib/CordovaLib_Prefix.pch   |    22 -
 .../samples/push/ios/CordovaLib/VERSION         |     1 -
 .../apigee-sdk/samples/push/ios/cordova/build   |    51 -
 .../apigee-sdk/samples/push/ios/cordova/emulate |    55 -
 .../apigee-sdk/samples/push/ios/cordova/log     |    23 -
 .../apigee-sdk/samples/push/ios/cordova/release |    51 -
 .../apigee-sdk/samples/push/ios/cordova/run     |    58 -
 .../push/ios/iospush.xcodeproj/project.pbxproj  |   623 -
 .../push/ios/iospush/Classes/AppDelegate.h      |    42 -
 .../push/ios/iospush/Classes/AppDelegate.m      |   122 -
 .../ios/iospush/Classes/MainViewController.h    |    40 -
 .../ios/iospush/Classes/MainViewController.m    |   174 -
 .../ios/iospush/Classes/MainViewController.xib  |   138 -
 .../iospush/Plugins/AppDelegate+notification.h  |    20 -
 .../iospush/Plugins/AppDelegate+notification.m  |   119 -
 .../push/ios/iospush/Plugins/PushPlugin.h       |    54 -
 .../push/ios/iospush/Plugins/PushPlugin.m       |   248 -
 .../samples/push/ios/iospush/Plugins/README     |    20 -
 .../Resources/Capture.bundle/controls_bg.png    |   Bin 955 -> 0 bytes
 .../Resources/Capture.bundle/controls_bg@2x.png |   Bin 971 -> 0 bytes
 .../Capture.bundle/controls_bg@2x~ipad.png      |   Bin 2858 -> 0 bytes
 .../Capture.bundle/controls_bg~ipad.png         |   Bin 969 -> 0 bytes
 .../microphone-568h@2x~iphone.png               |   Bin 531673 -> 0 bytes
 .../Resources/Capture.bundle/microphone.png     |   Bin 72226 -> 0 bytes
 .../Resources/Capture.bundle/microphone@2x.png  |   Bin 282409 -> 0 bytes
 .../Capture.bundle/microphone@2x~ipad.png       |   Bin 911582 -> 0 bytes
 .../Capture.bundle/microphone~ipad.png          |   Bin 393975 -> 0 bytes
 .../Resources/Capture.bundle/record_button.png  |   Bin 5852 -> 0 bytes
 .../Capture.bundle/record_button@2x.png         |   Bin 13875 -> 0 bytes
 .../Capture.bundle/record_button@2x~ipad.png    |   Bin 15822 -> 0 bytes
 .../Capture.bundle/record_button~ipad.png       |   Bin 7547 -> 0 bytes
 .../Resources/Capture.bundle/recording_bg.png   |   Bin 973 -> 0 bytes
 .../Capture.bundle/recording_bg@2x.png          |   Bin 990 -> 0 bytes
 .../Capture.bundle/recording_bg@2x~ipad.png     |   Bin 1026 -> 0 bytes
 .../Capture.bundle/recording_bg~ipad.png        |   Bin 996 -> 0 bytes
 .../Resources/Capture.bundle/stop_button.png    |   Bin 5514 -> 0 bytes
 .../Resources/Capture.bundle/stop_button@2x.png |   Bin 12965 -> 0 bytes
 .../Capture.bundle/stop_button@2x~ipad.png      |   Bin 14474 -> 0 bytes
 .../Capture.bundle/stop_button~ipad.png         |   Bin 7119 -> 0 bytes
 .../Resources/de.lproj/Localizable.strings      |    26 -
 .../Resources/en.lproj/Localizable.strings      |    25 -
 .../Resources/es.lproj/Localizable.strings      |    25 -
 .../ios/iospush/Resources/icons/icon-72.png     |   Bin 4944 -> 0 bytes
 .../ios/iospush/Resources/icons/icon-72@2x.png  |   Bin 11706 -> 0 bytes
 .../push/ios/iospush/Resources/icons/icon.png   |   Bin 3902 -> 0 bytes
 .../ios/iospush/Resources/icons/icon@2x.png     |   Bin 7869 -> 0 bytes
 .../Resources/se.lproj/Localizable.strings      |    26 -
 .../Resources/splash/Default-568h@2x~iphone.png |   Bin 34225 -> 0 bytes
 .../splash/Default-Landscape@2x~ipad.png        |   Bin 77300 -> 0 bytes
 .../Resources/splash/Default-Landscape~ipad.png |   Bin 34935 -> 0 bytes
 .../splash/Default-Portrait@2x~ipad.png         |   Bin 76546 -> 0 bytes
 .../Resources/splash/Default-Portrait~ipad.png  |   Bin 34278 -> 0 bytes
 .../Resources/splash/Default@2x~iphone.png      |   Bin 29475 -> 0 bytes
 .../iospush/Resources/splash/Default~iphone.png |   Bin 10394 -> 0 bytes
 .../samples/push/ios/iospush/config.xml         |    65 -
 .../samples/push/ios/iospush/iospush-Info.plist |    78 -
 .../samples/push/ios/iospush/iospush-Prefix.pch |    26 -
 .../apigee-sdk/samples/push/ios/iospush/main.m  |    35 -
 .../samples/push/ios/www/PushNotification.js    |    65 -
 .../samples/push/ios/www/cordova-2.6.0.js       |  6433 ----
 .../samples/push/ios/www/css/index.css          |   115 -
 .../samples/push/ios/www/img/logo.png           |   Bin 21814 -> 0 bytes
 .../apigee-sdk/samples/push/ios/www/js/index.js |   217 -
 .../res/screen/ios/screen-ipad-landscape-2x.png |   Bin 1534088 -> 0 bytes
 .../res/screen/ios/screen-ipad-landscape.png    |   Bin 407370 -> 0 bytes
 .../res/screen/ios/screen-ipad-portrait-2x.png  |   Bin 1610434 -> 0 bytes
 .../www/res/screen/ios/screen-ipad-portrait.png |   Bin 422441 -> 0 bytes
 .../screen/ios/screen-iphone-landscape-2x.png   |   Bin 339639 -> 0 bytes
 .../res/screen/ios/screen-iphone-landscape.png  |   Bin 92301 -> 0 bytes
 .../screen/ios/screen-iphone-portrait-2x.png    |   Bin 350593 -> 0 bytes
 .../res/screen/ios/screen-iphone-portrait.png   |   Bin 93897 -> 0 bytes
 .../apigee-sdk/samples/push/ios/www/spec.html   |    68 -
 .../samples/push/ios/www/spec/helper.js         |    33 -
 .../samples/push/ios/www/spec/index.js          |    67 -
 .../ios/www/spec/lib/jasmine-1.2.0/MIT.LICENSE  |    20 -
 .../www/spec/lib/jasmine-1.2.0/jasmine-html.js  |   616 -
 .../ios/www/spec/lib/jasmine-1.2.0/jasmine.css  |    81 -
 .../ios/www/spec/lib/jasmine-1.2.0/jasmine.js   |  2529 --
 .../samples/usersAndGroups/README.txt           |    22 -
 .../usersAndGroups/css/codiqa.ext.min.css       |     1 -
 .../usersAndGroups/css/images/ajax-loader.gif   |   Bin 7825 -> 0 bytes
 .../css/images/icons-18-black.png               |   Bin 1968 -> 0 bytes
 .../css/images/icons-18-white.png               |   Bin 1988 -> 0 bytes
 .../css/images/icons-36-black.png               |   Bin 3859 -> 0 bytes
 .../css/images/icons-36-white.png               |   Bin 3861 -> 0 bytes
 .../css/jquery.mobile-1.3.1.min.css             |     3 -
 .../samples/usersAndGroups/js/codiqa.ext.min.js |     6 -
 .../samples/usersAndGroups/js/index.js          |   345 -
 .../usersAndGroups/js/jquery-1.9.1.min.js       |     5 -
 .../js/jquery.mobile-1.3.1.min.js               |     7 -
 .../bower_components/apigee.max.ui/bower.json   |    19 -
 .../apigee.max.ui/dist/css/max.min.css          |     1 -
 .../apigee.max.ui/dist/img/no-data1.png         |   Bin 45300 -> 0 bytes
 .../apigee.max.ui/dist/img/phone-small.gif      |   Bin 1300 -> 0 bytes
 .../apigee.max.ui/dist/img/tablet-small.gif     |   Bin 1390 -> 0 bytes
 .../apigee.max.ui/dist/js/max-dev.min.js        |  1781 -
 .../apigee.max.ui/dist/js/max.min.js            |     4 -
 .../bower_components/intro.js/BUILD/BUILD.js    |    43 -
 .../2.0.2/bower_components/intro.js/Makefile    |     6 -
 .../2.0.2/bower_components/intro.js/README.md   |   487 -
 .../2.0.2/bower_components/intro.js/bower.json  |     9 -
 .../bower_components/intro.js/component.json    |    13 -
 .../2.0.2/bower_components/intro.js/intro.js    |   940 -
 .../bower_components/intro.js/introjs-rtl.css   |    22 -
 .../2.0.2/bower_components/intro.js/introjs.css |   248 -
 .../intro.js/minified/intro.min.js              |    24 -
 .../intro.js/minified/introjs-rtl.min.css       |     1 -
 .../intro.js/minified/introjs.min.css           |     1 -
 .../bower_components/intro.js/package.json      |    17 -
 .../jquery-waypoints/CHANGELOG.md               |    92 -
 .../jquery-waypoints/README.markdown            |    47 -
 .../jquery-waypoints/bower.json                 |    19 -
 .../jquery-waypoints/licenses.txt               |    23 -
 .../jquery-waypoints/package.json               |    19 -
 .../infinite-scroll/waypoints-infinite.js       |    67 -
 .../infinite-scroll/waypoints-infinite.min.js   |     8 -
 .../sticky-elements/waypoints-sticky.js         |    55 -
 .../sticky-elements/waypoints-sticky.min.js     |     8 -
 .../jquery-waypoints/waypoints.js               |   520 -
 .../jquery-waypoints/waypoints.min.js           |     8 -
 .../bower_components/jquery/MIT-LICENSE.txt     |    21 -
 .../2.0.2/bower_components/jquery/bower.json    |    27 -
 .../bower_components/jquery/dist/jquery.js      |  9174 -----
 .../bower_components/jquery/dist/jquery.min.js  |     5 -
 .../bower_components/jquery/dist/jquery.min.map |     1 -
 .../2.0.2/bower_components/jquery/src/ajax.js   |   806 -
 .../bower_components/jquery/src/ajax/jsonp.js   |    89 -
 .../bower_components/jquery/src/ajax/load.js    |    75 -
 .../jquery/src/ajax/parseJSON.js                |    13 -
 .../jquery/src/ajax/parseXML.js                 |    28 -
 .../bower_components/jquery/src/ajax/script.js  |    64 -
 .../jquery/src/ajax/var/nonce.js                |     5 -
 .../jquery/src/ajax/var/rquery.js               |     3 -
 .../bower_components/jquery/src/ajax/xhr.js     |   135 -
 .../bower_components/jquery/src/attributes.js   |    11 -
 .../jquery/src/attributes/attr.js               |   143 -
 .../jquery/src/attributes/classes.js            |   158 -
 .../jquery/src/attributes/prop.js               |    96 -
 .../jquery/src/attributes/support.js            |    35 -
 .../jquery/src/attributes/val.js                |   163 -
 .../bower_components/jquery/src/callbacks.js    |   205 -
 .../2.0.2/bower_components/jquery/src/core.js   |   498 -
 .../bower_components/jquery/src/core/access.js  |    60 -
 .../bower_components/jquery/src/core/init.js    |   123 -
 .../jquery/src/core/parseHTML.js                |    39 -
 .../bower_components/jquery/src/core/ready.js   |    97 -
 .../jquery/src/core/var/rsingleTag.js           |     4 -
 .../2.0.2/bower_components/jquery/src/css.js    |   451 -
 .../jquery/src/css/addGetHookIf.js              |    24 -
 .../bower_components/jquery/src/css/curCSS.js   |    57 -
 .../jquery/src/css/defaultDisplay.js            |    70 -
 .../jquery/src/css/hiddenVisibleSelectors.js    |    15 -
 .../bower_components/jquery/src/css/support.js  |    91 -
 .../bower_components/jquery/src/css/swap.js     |    28 -
 .../jquery/src/css/var/cssExpand.js             |     3 -
 .../jquery/src/css/var/getStyles.js             |     5 -
 .../jquery/src/css/var/isHidden.js              |    13 -
 .../jquery/src/css/var/rmargin.js               |     3 -
 .../jquery/src/css/var/rnumnonpx.js             |     5 -
 .../2.0.2/bower_components/jquery/src/data.js   |   175 -
 .../bower_components/jquery/src/data/Data.js    |   181 -
 .../bower_components/jquery/src/data/accepts.js |    20 -
 .../jquery/src/data/var/data_priv.js            |     5 -
 .../jquery/src/data/var/data_user.js            |     5 -
 .../bower_components/jquery/src/deferred.js     |   149 -
 .../bower_components/jquery/src/deprecated.js   |    13 -
 .../bower_components/jquery/src/dimensions.js   |    50 -
 .../bower_components/jquery/src/effects.js      |   647 -
 .../jquery/src/effects/Tween.js                 |   114 -
 .../jquery/src/effects/animatedSelector.js      |    13 -
 .../2.0.2/bower_components/jquery/src/event.js  |   868 -
 .../bower_components/jquery/src/event/alias.js  |    39 -
 .../jquery/src/event/support.js                 |     9 -
 .../bower_components/jquery/src/exports/amd.js  |    24 -
 .../jquery/src/exports/global.js                |    32 -
 .../2.0.2/bower_components/jquery/src/intro.js  |    44 -
 .../2.0.2/bower_components/jquery/src/jquery.js |    36 -
 .../bower_components/jquery/src/manipulation.js |   582 -
 .../jquery/src/manipulation/_evalUrl.js         |    18 -
 .../jquery/src/manipulation/support.js          |    31 -
 .../src/manipulation/var/rcheckableType.js      |     3 -
 .../2.0.2/bower_components/jquery/src/offset.js |   204 -
 .../2.0.2/bower_components/jquery/src/outro.js  |     1 -
 .../2.0.2/bower_components/jquery/src/queue.js  |   142 -
 .../bower_components/jquery/src/queue/delay.js  |    22 -
 .../jquery/src/selector-native.js               |   172 -
 .../jquery/src/selector-sizzle.js               |    14 -
 .../bower_components/jquery/src/selector.js     |     1 -
 .../bower_components/jquery/src/serialize.js    |   111 -
 .../jquery/src/sizzle/dist/sizzle.js            |  2034 --
 .../jquery/src/sizzle/dist/sizzle.min.js        |     3 -
 .../jquery/src/sizzle/dist/sizzle.min.map       |     1 -
 .../bower_components/jquery/src/traversing.js   |   200 -
 .../jquery/src/traversing/findFilter.js         |   100 -
 .../jquery/src/traversing/var/rneedsContext.js  |     6 -
 .../bower_components/jquery/src/var/arr.js      |     3 -
 .../jquery/src/var/class2type.js                |     4 -
 .../bower_components/jquery/src/var/concat.js   |     5 -
 .../bower_components/jquery/src/var/hasOwn.js   |     5 -
 .../bower_components/jquery/src/var/indexOf.js  |     5 -
 .../bower_components/jquery/src/var/pnum.js     |     3 -
 .../bower_components/jquery/src/var/push.js     |     5 -
 .../jquery/src/var/rnotwhite.js                 |     3 -
 .../bower_components/jquery/src/var/slice.js    |     5 -
 .../jquery/src/var/strundefined.js              |     3 -
 .../bower_components/jquery/src/var/support.js  |     4 -
 .../bower_components/jquery/src/var/toString.js |     5 -
 .../bower_components/jquery/src/var/trim.js     |     3 -
 .../2.0.2/bower_components/jquery/src/wrap.js   |    78 -
 .../bower_components/sizzle/dist/sizzle.js      |  2015 -
 .../bower_components/sizzle/dist/sizzle.min.js  |     3 -
 .../bower_components/sizzle/dist/sizzle.min.map |     1 -
 .../bower_components/sizzle/tasks/commit.js     |    10 -
 .../bower_components/sizzle/tasks/compile.js    |    34 -
 .../2.0.2/bower_components/sizzle/tasks/dist.js |    35 -
 .../bower_components/sizzle/tasks/release.js    |    43 -
 .../2.0.2/bower_components/sizzle/tasks/tag.js  |     9 -
 .../bower_components/sizzle/tasks/version.js    |    35 -
 .../bower_components/sizzle/test/data/empty.js  |     0
 .../sizzle/test/data/mixed_sort.html            |    22 -
 .../sizzle/test/data/testinit.js                |   136 -
 .../bower_components/sizzle/test/jquery.js      |  9597 -----
 .../sizzle/test/libs/qunit/qunit.css            |   244 -
 .../sizzle/test/libs/qunit/qunit.js             |  2212 --
 .../sizzle/test/unit/extending.js               |    95 -
 .../sizzle/test/unit/selector.js                |  1138 -
 .../sizzle/test/unit/utilities.js               |   169 -
 .../2.0.2/css/apigeeGlobalNavigation.css        |   274 -
 .../css/arsmarquette/ARSMaquettePro-Light.otf   |   Bin 184600 -> 0 bytes
 .../css/arsmarquette/ARSMaquettePro-Medium.otf  |   Bin 188020 -> 0 bytes
 .../css/arsmarquette/ARSMaquettePro-Regular.otf |   Bin 188096 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/css/dash.min.css    |     1 -
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.eot  |   Bin 35540 -> 0 bytes
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.svg  |    13 -
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.ttf  |   Bin 35392 -> 0 bytes
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.woff |   Bin 21916 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/css/main.css        |  1970 -
 .../2.0.2/img/appswitcher/apiPlatform_lg.png    |   Bin 2397 -> 0 bytes
 .../2.0.2/img/appswitcher/appServices_lg.png    |   Bin 2295 -> 0 bytes
 .../2.0.2/img/appswitcher/console_lg.png        |   Bin 1453 -> 0 bytes
 .../appsvc-ui/2.0.2/img/appswitcher/home_lg.png |   Bin 1522 -> 0 bytes
 .../2.0.2/img/appswitcher/logo_color.png        |   Bin 3459 -> 0 bytes
 .../appsvc-ui/2.0.2/img/appswitcher/max_lg.png  |   Bin 1970 -> 0 bytes
 .../img/appswitcher/triangleMenuItem_right.png  |   Bin 1158 -> 0 bytes
 .../triangleMenuItem_right_hover.png            |   Bin 1169 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/blue-bars.png   |   Bin 3635 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/blue-bolt.png   |   Bin 3942 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/blue-carat.png  |   Bin 1006 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/green_dot.png   |   Bin 3472 -> 0 bytes
 .../2.0.2/img/introjs_arrow_step_next.png       |   Bin 219 -> 0 bytes
 .../img/introjs_arrow_step_next_disabled.png    |   Bin 220 -> 0 bytes
 .../2.0.2/img/introjs_arrow_step_prev.png       |   Bin 217 -> 0 bytes
 .../img/introjs_arrow_step_prev_disabled.png    |   Bin 218 -> 0 bytes
 .../dist/appsvc-ui/2.0.2/img/introjs_close.png  |   Bin 274 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/logo.gif        |   Bin 2279 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/nav-device.gif  |   Bin 2184 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/nav-sprites.png |   Bin 7953 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/no-data1.png    |   Bin 45300 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/phone-small.gif |   Bin 1300 -> 0 bytes
 .../2.0.2/img/push/APNS_cert_upload.png         |   Bin 33956 -> 0 bytes
 .../2.0.2/img/push/APNS_certification.png       |   Bin 16855 -> 0 bytes
 .../2.0.2/img/push/android-notification.png     |   Bin 41629 -> 0 bytes
 .../appsvc-ui/2.0.2/img/push/google_api_key.png |   Bin 98118 -> 0 bytes
 .../appsvc-ui/2.0.2/img/push/iphone_message.png |   Bin 90307 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/push/step_1.png |   Bin 1953 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/push/step_2.png |   Bin 2117 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/push/step_3.png |   Bin 2162 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/red_dot.png     |   Bin 3482 -> 0 bytes
 .../appsvc-ui/2.0.2/img/sdk-sprites-large.png   |   Bin 14642 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/sdk-sprites.png |   Bin 5027 -> 0 bytes
 .../dist/appsvc-ui/2.0.2/img/tablet-small.gif   |   Bin 1390 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/user-photo.png  |   Bin 3849 -> 0 bytes
 .../dist/appsvc-ui/2.0.2/img/user_profile.png   |   Bin 3775 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/verify.png      |   Bin 22934 -> 0 bytes
 portal/dist/appsvc-ui/2.0.2/img/yellow_dot.png  |   Bin 3475 -> 0 bytes
 .../2.0.2/js/libs/Highcharts-2.3.5/index.htm    |    79 -
 .../js/adapters/mootools-adapter.js             |    13 -
 .../js/adapters/mootools-adapter.src.js         |   328 -
 .../js/adapters/prototype-adapter.js            |    16 -
 .../js/adapters/prototype-adapter.src.js        |   385 -
 .../libs/Highcharts-2.3.5/js/highcharts-more.js |    35 -
 .../Highcharts-2.3.5/js/highcharts-more.src.js  |  1581 -
 .../js/libs/Highcharts-2.3.5/js/highcharts.js   |   250 -
 .../libs/Highcharts-2.3.5/js/highcharts.src.js  | 15281 --------
 .../Highcharts-2.3.5/js/modules/canvas-tools.js |   133 -
 .../js/modules/canvas-tools.src.js              |  3113 --
 .../js/libs/Highcharts-2.3.5/js/modules/data.js |    14 -
 .../Highcharts-2.3.5/js/modules/data.src.js     |   512 -
 .../Highcharts-2.3.5/js/modules/exporting.js    |    23 -
 .../js/modules/exporting.src.js                 |   752 -
 .../Highcharts-2.3.5/js/themes/dark-blue.js     |   263 -
 .../Highcharts-2.3.5/js/themes/dark-green.js    |   263 -
 .../js/libs/Highcharts-2.3.5/js/themes/gray.js  |   262 -
 .../js/libs/Highcharts-2.3.5/js/themes/grid.js  |    95 -
 .../js/libs/Highcharts-2.3.5/js/themes/skies.js |    89 -
 portal/dist/appsvc-ui/2.0.2/js/libs/MD5.min.js  |     1 -
 .../js/libs/angular-1.0.5/angular-cookies.js    |   183 -
 .../libs/angular-1.0.5/angular-cookies.min.js   |     7 -
 .../js/libs/angular-1.0.5/angular-loader.js     |   276 -
 .../js/libs/angular-1.0.5/angular-loader.min.js |     7 -
 .../js/libs/angular-1.0.5/angular-mocks.js      |  1886 -
 .../js/libs/angular-1.0.5/angular-resource.js   |   445 -
 .../libs/angular-1.0.5/angular-resource.min.js  |    10 -
 .../js/libs/angular-1.0.5/angular-sanitize.js   |   535 -
 .../libs/angular-1.0.5/angular-sanitize.min.js  |    13 -
 .../2.0.2/js/libs/angular-1.0.5/angular.js      | 14733 --------
 .../2.0.2/js/libs/angular-1.0.5/angular.min.js  |   161 -
 .../2.0.2/js/libs/angular-1.0.5/version.txt     |     1 -
 .../js/libs/angular-1.1.5/angular-1.1.5.js      | 16876 ---------
 .../js/libs/angular-1.1.5/angular-merge.min.js  |     8 -
 .../angular-1.1.5/angular-resource-1.1.5.js     |   537 -
 .../js/libs/angular-1.2.5/angular-animate.js    |  1323 -
 .../libs/angular-1.2.5/angular-animate.min.js   |    23 -
 .../angular-1.2.5/angular-animate.min.js.map    |     8 -
 .../js/libs/angular-1.2.5/angular-cookies.js    |   202 -
 .../libs/angular-1.2.5/angular-cookies.min.js   |     8 -
 .../angular-1.2.5/angular-cookies.min.js.map    |     8 -
 .../2.0.2/js/libs/angular-1.2.5/angular-csp.css |    24 -
 .../js/libs/angular-1.2.5/angular-loader.js     |   410 -
 .../js/libs/angular-1.2.5/angular-loader.min.js |     9 -
 .../angular-1.2.5/angular-loader.min.js.map     |     8 -
 .../js/libs/angular-1.2.5/angular-mocks.js      |  2116 --
 .../js/libs/angular-1.2.5/angular-resource.js   |   565 -
 .../libs/angular-1.2.5/angular-resource.min.js  |    13 -
 .../angular-1.2.5/angular-resource.min.js.map   |     8 -
 .../js/libs/angular-1.2.5/angular-route.js      |   911 -
 .../js/libs/angular-1.2.5/angular-route.min.js  |    14 -
 .../libs/angular-1.2.5/angular-route.min.js.map |     8 -
 .../js/libs/angular-1.2.5/angular-sanitize.js   |   622 -
 .../libs/angular-1.2.5/angular-sanitize.min.js  |    14 -
 .../angular-1.2.5/angular-sanitize.min.js.map   |     8 -
 .../js/libs/angular-1.2.5/angular-scenario.js   | 32374 -----------------
 .../js/libs/angular-1.2.5/angular-touch.js      |   563 -
 .../js/libs/angular-1.2.5/angular-touch.min.js  |    13 -
 .../libs/angular-1.2.5/angular-touch.min.js.map |     8 -
 .../2.0.2/js/libs/angular-1.2.5/angular.js      | 20369 -----------
 .../2.0.2/js/libs/angular-1.2.5/angular.min.js  |   201 -
 .../js/libs/angular-1.2.5/angular.min.js.map    |     8 -
 .../2.0.2/js/libs/angular-1.2.5/errors.json     |     1 -
 .../2.0.2/js/libs/angular-1.2.5/version.json    |     1 -
 .../2.0.2/js/libs/angular-1.2.5/version.txt     |     1 -
 .../angularitics-0.8.5-google-analytics.js      |     7 -
 .../js/libs/angularitics/angularitics-0.8.5.js  |     6 -
 .../libs/bootstrap/css/bootstrap-responsive.css |  1345 -
 .../bootstrap/css/bootstrap-responsive.min.css  |  1245 -
 .../2.0.2/js/libs/bootstrap/css/bootstrap.css   |  6169 ----
 .../js/libs/bootstrap/css/bootstrap.min.css     |  5469 ---
 .../js/libs/bootstrap/custom/css/bootstrap.css  |  6316 ----
 .../libs/bootstrap/custom/css/bootstrap.min.css |     9 -
 .../custom/img/glyphicons-halflings-white.png   |   Bin 8777 -> 0 bytes
 .../custom/img/glyphicons-halflings.png         |   Bin 12799 -> 0 bytes
 .../js/libs/bootstrap/custom/js/bootstrap.js    |  2291 --
 .../libs/bootstrap/custom/js/bootstrap.min.js   |     7 -
 .../img/glyphicons-halflings-white.png          |   Bin 8777 -> 0 bytes
 .../libs/bootstrap/img/glyphicons-halflings.png |   Bin 12799 -> 0 bytes
 .../2.0.2/js/libs/bootstrap/js/bootstrap.js     |  2117 --
 .../2.0.2/js/libs/bootstrap/js/bootstrap.min.js |   644 -
 .../appsvc-ui/2.0.2/js/libs/google-viz-api.js   |    49 -
 .../2.0.2/js/libs/jquery/jquery-1.9.1.min.js    |     5 -
 .../js/libs/jquery/jquery-migrate-1.1.1.min.js  |     3 -
 .../js/libs/jquery/jquery.sparkline.min.js      |     5 -
 .../2.0.2/js/libs/jqueryui/date.min.js          |     2 -
 .../ui-bg_diagonals-thick_90_eeeeee_40x40.png   |   Bin 251 -> 0 bytes
 .../images/ui-bg_flat_100_deedf7_40x100.png     |   Bin 182 -> 0 bytes
 .../images/ui-bg_flat_100_e4f1fb_40x100.png     |   Bin 213 -> 0 bytes
 .../images/ui-bg_flat_100_f2f5f7_40x100.png     |   Bin 212 -> 0 bytes
 .../images/ui-bg_flat_15_cd0a0a_40x100.png      |   Bin 181 -> 0 bytes
 .../images/ui-bg_flat_50_3baae3_40x100.png      |   Bin 182 -> 0 bytes
 .../images/ui-bg_flat_80_d7ebf9_40x100.png      |   Bin 183 -> 0 bytes
 .../ui-bg_highlight-hard_70_000000_1x100.png    |   Bin 118 -> 0 bytes
 .../ui-bg_highlight-soft_25_ffef8f_1x100.png    |   Bin 153 -> 0 bytes
 .../jqueryui/images/ui-icons_000000_256x240.png |   Bin 4369 -> 0 bytes
 .../jqueryui/images/ui-icons_2694e8_256x240.png |   Bin 4369 -> 0 bytes
 .../jqueryui/images/ui-icons_2e83ff_256x240.png |   Bin 4369 -> 0 bytes
 .../jqueryui/images/ui-icons_3d80b3_256x240.png |   Bin 4369 -> 0 bytes
 .../jqueryui/images/ui-icons_72a7cf_256x240.png |   Bin 4369 -> 0 bytes
 .../jqueryui/images/ui-icons_ffffff_256x240.png |   Bin 4369 -> 0 bytes
 .../js/libs/jqueryui/jquery-ui-1.8.18.min.js    |    15 -
 .../js/libs/jqueryui/jquery-ui-1.8.9.custom.css |     1 -
 .../js/libs/jqueryui/jquery-ui-timepicker.css   |     1 -
 .../libs/jqueryui/jquery.ui.timepicker.min.js   |     1 -
 .../ui-bootstrap-custom-0.3.0.min.js            |     1 -
 .../ui-bootstrap-custom-tpls-0.3.0.min.js       |     1 -
 .../2.0.2/js/libs/usergrid-libs.min.js          |    22 -
 .../appsvc-ui/2.0.2/js/libs/usergrid.sdk.js     |  2474 --
 .../dist/appsvc-ui/2.0.2/js/usergrid-dev.min.js |  4939 ---
 portal/dist/appsvc-ui/2.0.2/js/usergrid.min.js  |     6 -
 portal/dist/appsvc-ui/archive/coming_soon.html  |    31 -
 .../ui-bg_diagonals-thick_90_eeeeee_40x40.png   |   Bin 251 -> 0 bytes
 .../images/ui-bg_flat_100_deedf7_40x100.png     |   Bin 182 -> 0 bytes
 .../images/ui-bg_flat_100_e4f1fb_40x100.png     |   Bin 213 -> 0 bytes
 .../images/ui-bg_flat_100_f2f5f7_40x100.png     |   Bin 212 -> 0 bytes
 .../images/ui-bg_flat_15_cd0a0a_40x100.png      |   Bin 181 -> 0 bytes
 .../images/ui-bg_flat_50_3baae3_40x100.png      |   Bin 182 -> 0 bytes
 .../images/ui-bg_flat_80_d7ebf9_40x100.png      |   Bin 183 -> 0 bytes
 .../ui-bg_highlight-hard_70_000000_1x100.png    |   Bin 118 -> 0 bytes
 .../ui-bg_highlight-soft_25_ffef8f_1x100.png    |   Bin 153 -> 0 bytes
 .../images/ui-icons_000000_256x240.png          |   Bin 4369 -> 0 bytes
 .../images/ui-icons_2694e8_256x240.png          |   Bin 4369 -> 0 bytes
 .../images/ui-icons_2e83ff_256x240.png          |   Bin 4369 -> 0 bytes
 .../images/ui-icons_3d80b3_256x240.png          |   Bin 4369 -> 0 bytes
 .../images/ui-icons_72a7cf_256x240.png          |   Bin 4369 -> 0 bytes
 .../images/ui-icons_ffffff_256x240.png          |   Bin 4369 -> 0 bytes
 .../css/custom-theme/jquery-ui-1.8.9.custom.css |   573 -
 .../archive/css/jquery-ui-timepicker.css        |    53 -
 .../archive/css/jquery.ui.statusbar.css         |    25 -
 portal/dist/appsvc-ui/archive/css/prettify.css  |    52 -
 .../appsvc-ui/archive/css/usergrid-stripped.css |  5199 ---
 portal/dist/appsvc-ui/archive/css/usergrid.css  |  5203 ---
 portal/dist/appsvc-ui/archive/dash/README.md    |     3 -
 .../archive/dash/config/testacular-e2e.conf.js  |    22 -
 .../archive/dash/config/testacular.conf.js      |    20 -
 .../appsvc-ui/archive/dash/test/e2e/runner.html |    10 -
 .../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 -
 .../archive/dash/test/unit/directivesSpec.js    |    19 -
 .../archive/dash/test/unit/filtersSpec.js       |    19 -
 .../archive/dash/test/unit/servicesSpec.js      |    14 -
 .../archive/images/APNS_cert_upload.png         |   Bin 33956 -> 0 bytes
 .../archive/images/APNS_certification.png       |   Bin 16855 -> 0 bytes
 .../archive/images/android-notification.png     |   Bin 41629 -> 0 bytes
 .../archive/images/android-sdk-download.png     |   Bin 4848 -> 0 bytes
 .../appsvc-ui/archive/images/api-activity.gif   |   Bin 10819 -> 0 bytes
 .../appsvc-ui/archive/images/apigee-logo.png    |   Bin 3647 -> 0 bytes
 .../appsvc-ui/archive/images/apigeetopbar.png   |   Bin 4658 -> 0 bytes
 .../archive/images/background_one_col.png       |   Bin 3126 -> 0 bytes
 .../archive/images/btn-copyCurl-up.png          |   Bin 2762 -> 0 bytes
 .../dist/appsvc-ui/archive/images/clippy-bg.png |   Bin 561 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/close.gif  |   Bin 718 -> 0 bytes
 .../archive/images/dotnet-sdk-download.png      |   Bin 7149 -> 0 bytes
 .../appsvc-ui/archive/images/down_arrow.png     |   Bin 1285 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/error.png  |   Bin 2009 -> 0 bytes
 .../appsvc-ui/archive/images/faviconApigee.ico  |   Bin 1150 -> 0 bytes
 .../images/glyphicons-halflings-white.png       |   Bin 4352 -> 0 bytes
 .../archive/images/glyphicons-halflings.png     |   Bin 4352 -> 0 bytes
 .../glyphicons_halflings_135_wrench-white2.pdn  |   Bin 5400 -> 0 bytes
 .../glyphicons_halflings_135_wrench-white2.png  |   Bin 296 -> 0 bytes
 .../images/glyphicons_halflings_135_wrench.png  |   Bin 228 -> 0 bytes
 .../glyphicons_halflings_135_wrench_white.png   |   Bin 251 -> 0 bytes
 .../glyphicons_halflings_wrench_white.png       |   Bin 1016 -> 0 bytes
 .../appsvc-ui/archive/images/google_api_key.png |   Bin 98118 -> 0 bytes
 .../dist/appsvc-ui/archive/images/green_dot.png |   Bin 3472 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/grid.png   |   Bin 166 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/icons.png  |   Bin 13132 -> 0 bytes
 .../archive/images/ios-sdk-download.png         |   Bin 4886 -> 0 bytes
 .../appsvc-ui/archive/images/iphone_message.png |   Bin 90307 -> 0 bytes
 .../archive/images/javascript-sdk-download.png  |   Bin 4618 -> 0 bytes
 .../appsvc-ui/archive/images/left_arrow.png     |   Bin 1257 -> 0 bytes
 .../appsvc-ui/archive/images/logo-white.png     |   Bin 2014 -> 0 bytes
 .../archive/images/menuActiveTriangle.png       |   Bin 315 -> 0 bytes
 .../archive/images/nodejs-sdk-download.png      |   Bin 5273 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/notice.png |   Bin 2112 -> 0 bytes
 .../appsvc-ui/archive/images/orange-arrow.png   |   Bin 242 -> 0 bytes
 .../archive/images/push_notifications_icon.png  |   Bin 338 -> 0 bytes
 .../dist/appsvc-ui/archive/images/red_dot.png   |   Bin 3482 -> 0 bytes
 .../appsvc-ui/archive/images/right_arrow.png    |   Bin 1251 -> 0 bytes
 .../archive/images/ruby-sdk-download.png        |   Bin 6343 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/step_1.png |   Bin 1953 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/step_2.png |   Bin 2117 -> 0 bytes
 portal/dist/appsvc-ui/archive/images/step_3.png |   Bin 2162 -> 0 bytes
 .../dist/appsvc-ui/archive/images/success.png   |   Bin 1863 -> 0 bytes
 .../appsvc-ui/archive/images/swish_arrow.png    |   Bin 220 -> 0 bytes
 .../appsvc-ui/archive/images/topbackground.png  |   Bin 2890 -> 0 bytes
 .../dist/appsvc-ui/archive/images/up_arrow.png  |   Bin 1292 -> 0 bytes
 .../appsvc-ui/archive/images/user-photo.png     |   Bin 3849 -> 0 bytes
 .../appsvc-ui/archive/images/user_profile.png   |   Bin 3775 -> 0 bytes
 .../appsvc-ui/archive/images/usergrid_200.png   |   Bin 6397 -> 0 bytes
 .../appsvc-ui/archive/images/usergrid_400.png   |   Bin 8746 -> 0 bytes
 .../dist/appsvc-ui/archive/images/warning.png   |   Bin 1179 -> 0 bytes
 .../appsvc-ui/archive/images/yellow_dot.png     |   Bin 3475 -> 0 bytes
 .../dist/appsvc-ui/archive/index-stripped2.html |  1795 -
 portal/dist/appsvc-ui/archive/index.html        |  1931 -
 portal/dist/appsvc-ui/archive/js/app/app.js     |   131 -
 portal/dist/appsvc-ui/archive/js/app/console.js |  5397 ---
 portal/dist/appsvc-ui/archive/js/app/helpers.js |   241 -
 .../dist/appsvc-ui/archive/js/app/navigation.js |   251 -
 portal/dist/appsvc-ui/archive/js/app/pages.js   |   161 -
 portal/dist/appsvc-ui/archive/js/app/params.js  |    30 -
 .../dist/appsvc-ui/archive/js/app/quickLogin.js |    30 -
 portal/dist/appsvc-ui/archive/js/app/session.js |   176 -
 portal/dist/appsvc-ui/archive/js/app/sso.js     |   135 -
 portal/dist/appsvc-ui/archive/js/app/status.js  |    37 -
 .../archive/js/app/ui/collections.entity.js     |   320 -
 .../archive/js/app/ui/collections.user.js       |   120 -
 portal/dist/appsvc-ui/archive/js/app/ui/ui.js   |   415 -
 .../appsvc-ui/archive/js/app/usergrid.appSDK.js |  2097 --
 .../archive/js/app/usergrid.appSDK.orig.js      |  2070 --
 portal/dist/appsvc-ui/archive/js/lib/MD5.min.js |     1 -
 .../dist/appsvc-ui/archive/js/lib/backbone.js   |  1431 -
 .../appsvc-ui/archive/js/lib/bootstrap.min.js   |     7 -
 .../dist/appsvc-ui/archive/js/lib/date.min.js   |     2 -
 .../archive/js/lib/jquery-1.7.2.min.js          |     4 -
 .../archive/js/lib/jquery-ui-1.8.18.min.js      |    15 -
 .../archive/js/lib/jquery.dataset.min.js        |     1 -
 .../archive/js/lib/jquery.dform-0.1.3.min.js    |    16 -
 .../archive/js/lib/jquery.jsonp-2.3.1.min.js    |     3 -
 .../appsvc-ui/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 -
 .../dist/appsvc-ui/archive/js/lib/prettify.js   |  1477 -
 .../appsvc-ui/archive/js/lib/underscore-min.js  |     5 -
 .../appsvc-ui/archive/js/spec/client-tests.js   |   159 -
 .../dist/appsvc-ui/archive/js/spec/index.html   |    20 -
 .../appsvc-ui/archive/js/spec/qunit-git.css     |   238 -
 .../dist/appsvc-ui/archive/js/spec/qunit-git.js |  1865 -
 .../archive/js/unit-tests/appSDK-tests.js       |   255 -
 .../archive/js/unit-tests/ie-jquery-tests.js    |   191 -
 .../appsvc-ui/archive/js/unit-tests/qunit.css   |   231 -
 .../appsvc-ui/archive/js/unit-tests/qunit.js    |  1934 -
 portal/dist/appsvc-ui/archive/loading.html      |     9 -
 portal/dist/appsvc-ui/archive/max/index.html    |     0
 .../dist/appsvc-ui/archive/planned_outage.html  |    48 -
 portal/dist/appsvc-ui/archive/push/index.html   |    34 -
 portal/dist/appsvc-ui/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 -
 .../archive/templates/test/modalForm2.html      |    32 -
 .../appsvc-ui/archive/test/autocomplete.html    |    25 -
 .../dist/appsvc-ui/archive/test/modalForm.html  |    32 -
 portal/dist/appsvc-ui/config.js                 |    60 -
 .../appsvc-ui/css/apigeeGlobalNavigation.css    |   274 -
 .../css/arsmarquette/ARSMaquettePro-Light.otf   |   Bin 184600 -> 0 bytes
 .../css/arsmarquette/ARSMaquettePro-Medium.otf  |   Bin 188020 -> 0 bytes
 .../css/arsmarquette/ARSMaquettePro-Regular.otf |   Bin 188096 -> 0 bytes
 portal/dist/appsvc-ui/css/dash.min.css          |     1 -
 portal/dist/appsvc-ui/css/entypo/entypo.eot     |   Bin 35540 -> 0 bytes
 portal/dist/appsvc-ui/css/entypo/entypo.svg     |    13 -
 portal/dist/appsvc-ui/css/entypo/entypo.ttf     |   Bin 35392 -> 0 bytes
 portal/dist/appsvc-ui/css/entypo/entypo.woff    |   Bin 21916 -> 0 bytes
 portal/dist/appsvc-ui/css/main.css              |  1970 -
 portal/dist/appsvc-ui/favicon.ico               |   Bin 1150 -> 0 bytes
 .../img/appswitcher/apiPlatform_lg.png          |   Bin 2397 -> 0 bytes
 .../img/appswitcher/appServices_lg.png          |   Bin 2295 -> 0 bytes
 .../appsvc-ui/img/appswitcher/console_lg.png    |   Bin 1453 -> 0 bytes
 .../dist/appsvc-ui/img/appswitcher/home_lg.png  |   Bin 1522 -> 0 bytes
 .../appsvc-ui/img/appswitcher/logo_color.png    |   Bin 3459 -> 0 bytes
 .../dist/appsvc-ui/img/appswitcher/max_lg.png   |   Bin 1970 -> 0 bytes
 .../img/appswitcher/triangleMenuItem_right.png  |   Bin 1158 -> 0 bytes
 .../triangleMenuItem_right_hover.png            |   Bin 1169 -> 0 bytes
 portal/dist/appsvc-ui/img/blue-bars.png         |   Bin 3635 -> 0 bytes
 portal/dist/appsvc-ui/img/blue-bolt.png         |   Bin 3942 -> 0 bytes
 portal/dist/appsvc-ui/img/blue-carat.png        |   Bin 1006 -> 0 bytes
 portal/dist/appsvc-ui/img/green_dot.png         |   Bin 3472 -> 0 bytes
 .../appsvc-ui/img/introjs_arrow_step_next.png   |   Bin 219 -> 0 bytes
 .../img/introjs_arrow_step_next_disabled.png    |   Bin 220 -> 0 bytes
 .../appsvc-ui/img/introjs_arrow_step_prev.png   |   Bin 217 -> 0 bytes
 .../img/introjs_arrow_step_prev_disabled.png    |   Bin 218 -> 0 bytes
 portal/dist/appsvc-ui/img/introjs_close.png     |   Bin 274 -> 0 bytes
 portal/dist/appsvc-ui/img/logo.gif              |   Bin 2279 -> 0 bytes
 portal/dist/appsvc-ui/img/nav-device.gif        |   Bin 2184 -> 0 bytes
 portal/dist/appsvc-ui/img/nav-sprites.png       |   Bin 7953 -> 0 bytes
 portal/dist/appsvc-ui/img/no-data1.png          |   Bin 45300 -> 0 bytes
 portal/dist/appsvc-ui/img/phone-small.gif       |   Bin 1300 -> 0 bytes
 .../appsvc-ui/img/push/APNS_cert_upload.png     |   Bin 33956 -> 0 bytes
 .../appsvc-ui/img/push/APNS_certification.png   |   Bin 16855 -> 0 bytes
 .../appsvc-ui/img/push/android-notification.png |   Bin 41629 -> 0 bytes
 .../dist/appsvc-ui/img/push/google_api_key.png  |   Bin 98118 -> 0 bytes
 .../dist/appsvc-ui/img/push/iphone_message.png  |   Bin 90307 -> 0 bytes
 portal/dist/appsvc-ui/img/push/step_1.png       |   Bin 1953 -> 0 bytes
 portal/dist/appsvc-ui/img/push/step_2.png       |   Bin 2117 -> 0 bytes
 portal/dist/appsvc-ui/img/push/step_3.png       |   Bin 2162 -> 0 bytes
 portal/dist/appsvc-ui/img/red_dot.png           |   Bin 3482 -> 0 bytes
 portal/dist/appsvc-ui/img/sdk-sprites-large.png |   Bin 14642 -> 0 bytes
 portal/dist/appsvc-ui/img/sdk-sprites.png       |   Bin 5027 -> 0 bytes
 portal/dist/appsvc-ui/img/tablet-small.gif      |   Bin 1390 -> 0 bytes
 portal/dist/appsvc-ui/img/user-photo.png        |   Bin 3849 -> 0 bytes
 portal/dist/appsvc-ui/img/user_profile.png      |   Bin 3775 -> 0 bytes
 portal/dist/appsvc-ui/img/verify.png            |   Bin 22934 -> 0 bytes
 portal/dist/appsvc-ui/img/yellow_dot.png        |   Bin 3475 -> 0 bytes
 portal/dist/appsvc-ui/index-debug.html          |   167 -
 portal/dist/appsvc-ui/index-template.html       |   172 -
 portal/dist/appsvc-ui/index.html                |   167 -
 portal/dist/appsvc-ui/js/charts/highcharts.json |   329 -
 portal/dist/appsvc-ui/sdk/usergrid.0.10.4.js    |  1402 -
 portal/dist/appsvc-ui/sdk/usergrid.0.10.5.js    |  1755 -
 portal/dist/appsvc-ui/sdk/usergrid.0.10.7.js    |  2265 --
 .../usergrid-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 +
 .../archive/css/jquery-ui-timepicker.css        |    53 +
 .../archive/css/jquery.ui.statusbar.css         |    25 +
 .../usergrid-portal/archive/css/prettify.css    |    52 +
 .../archive/css/usergrid-stripped.css           |  5199 +++
 .../usergrid-portal/archive/css/usergrid.css    |  5203 +++
 .../dist/usergrid-portal/archive/dash/README.md |     3 +
 .../archive/dash/config/testacular-e2e.conf.js  |    22 +
 .../archive/dash/config/testacular.conf.js      |    20 +
 .../archive/dash/test/e2e/runner.html           |    10 +
 .../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 +
 .../archive/dash/test/unit/directivesSpec.js    |    19 +
 .../archive/dash/test/unit/filtersSpec.js       |    19 +
 .../archive/dash/test/unit/servicesSpec.js      |    14 +
 .../archive/images/APNS_cert_upload.png         |   Bin 0 -> 33956 bytes
 .../archive/images/APNS_certification.png       |   Bin 0 -> 16855 bytes
 .../archive/images/android-notification.png     |   Bin 0 -> 41629 bytes
 .../archive/images/android-sdk-download.png     |   Bin 0 -> 4848 bytes
 .../archive/images/api-activity.gif             |   Bin 0 -> 10819 bytes
 .../archive/images/apigee-logo.png              |   Bin 0 -> 3647 bytes
 .../archive/images/apigeetopbar.png             |   Bin 0 -> 4658 bytes
 .../archive/images/background_one_col.png       |   Bin 0 -> 3126 bytes
 .../archive/images/btn-copyCurl-up.png          |   Bin 0 -> 2762 bytes
 .../archive/images/clippy-bg.png                |   Bin 0 -> 561 bytes
 .../usergrid-portal/archive/images/close.gif    |   Bin 0 -> 718 bytes
 .../archive/images/dotnet-sdk-download.png      |   Bin 0 -> 7149 bytes
 .../archive/images/down_arrow.png               |   Bin 0 -> 1285 bytes
 .../usergrid-portal/archive/images/error.png    |   Bin 0 -> 2009 bytes
 .../archive/images/faviconApigee.ico            |   Bin 0 -> 1150 bytes
 .../images/glyphicons-halflings-white.png       |   Bin 0 -> 4352 bytes
 .../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
 .../archive/images/google_api_key.png           |   Bin 0 -> 98118 bytes
 .../archive/images/green_dot.png                |   Bin 0 -> 3472 bytes
 .../usergrid-portal/archive/images/grid.png     |   Bin 0 -> 166 bytes
 .../usergrid-portal/archive/images/icons.png    |   Bin 0 -> 13132 bytes
 .../archive/images/ios-sdk-download.png         |   Bin 0 -> 4886 bytes
 .../archive/images/iphone_message.png           |   Bin 0 -> 90307 bytes
 .../archive/images/javascript-sdk-download.png  |   Bin 0 -> 4618 bytes
 .../archive/images/left_arrow.png               |   Bin 0 -> 1257 bytes
 .../archive/images/logo-white.png               |   Bin 0 -> 2014 bytes
 .../archive/images/menuActiveTriangle.png       |   Bin 0 -> 315 bytes
 .../archive/images/nodejs-sdk-download.png      |   Bin 0 -> 5273 bytes
 .../usergrid-portal/archive/images/notice.png   |   Bin 0 -> 2112 bytes
 .../archive/images/orange-arrow.png             |   Bin 0 -> 242 bytes
 .../archive/images/push_notifications_icon.png  |   Bin 0 -> 338 bytes
 .../usergrid-portal/archive/images/red_dot.png  |   Bin 0 -> 3482 bytes
 .../archive/images/right_arrow.png              |   Bin 0 -> 1251 bytes
 .../archive/images/ruby-sdk-download.png        |   Bin 0 -> 6343 bytes
 .../usergrid-portal/archive/images/step_1.png   |   Bin 0 -> 1953 bytes
 .../usergrid-portal/archive/images/step_2.png   |   Bin 0 -> 2117 bytes
 .../usergrid-portal/archive/images/step_3.png   |   Bin 0 -> 2162 bytes
 .../usergrid-portal/archive/images/success.png  |   Bin 0 -> 1863 bytes
 .../archive/images/swish_arrow.png              |   Bin 0 -> 220 bytes
 .../archive/images/topbackground.png            |   Bin 0 -> 2890 bytes
 .../usergrid-portal/archive/images/up_arrow.png |   Bin 0 -> 1292 bytes
 .../archive/images/user-photo.png               |   Bin 0 -> 3849 bytes
 .../archive/images/user_profile.png             |   Bin 0 -> 3775 bytes
 .../archive/images/usergrid_200.png             |   Bin 0 -> 6397 bytes
 .../archive/images/usergrid_400.png             |   Bin 0 -> 8746 bytes
 .../usergrid-portal/archive/images/warning.png  |   Bin 0 -> 1179 bytes
 .../archive/images/yellow_dot.png               |   Bin 0 -> 3475 bytes
 .../archive/index-stripped2.html                |  1795 +
 portal/dist/usergrid-portal/archive/index.html  |  1931 +
 .../dist/usergrid-portal/archive/js/app/app.js  |   131 +
 .../usergrid-portal/archive/js/app/console.js   |  5397 +++
 .../usergrid-portal/archive/js/app/helpers.js   |   241 +
 .../archive/js/app/navigation.js                |   251 +
 .../usergrid-portal/archive/js/app/pages.js     |   161 +
 .../usergrid-portal/archive/js/app/params.js    |    30 +
 .../archive/js/app/quickLogin.js                |    30 +
 .../usergrid-portal/archive/js/app/session.js   |   176 +
 .../dist/usergrid-portal/archive/js/app/sso.js  |   135 +
 .../usergrid-portal/archive/js/app/status.js    |    37 +
 .../archive/js/app/ui/collections.entity.js     |   320 +
 .../archive/js/app/ui/collections.user.js       |   120 +
 .../usergrid-portal/archive/js/app/ui/ui.js     |   415 +
 .../archive/js/app/usergrid.appSDK.js           |  2097 ++
 .../archive/js/app/usergrid.appSDK.orig.js      |  2070 ++
 .../usergrid-portal/archive/js/lib/MD5.min.js   |     1 +
 .../usergrid-portal/archive/js/lib/backbone.js  |  1431 +
 .../archive/js/lib/bootstrap.min.js             |     7 +
 .../usergrid-portal/archive/js/lib/date.min.js  |     2 +
 .../archive/js/lib/jquery-1.7.2.min.js          |     4 +
 .../archive/js/lib/jquery-ui-1.8.18.min.js      |    15 +
 .../archive/js/lib/jquery.dataset.min.js        |     1 +
 .../archive/js/lib/jquery.dform-0.1.3.min.js    |    16 +
 .../archive/js/lib/jquery.jsonp-2.3.1.min.js    |     3 +
 .../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 +
 .../usergrid-portal/archive/js/lib/prettify.js  |  1477 +
 .../archive/js/lib/underscore-min.js            |     5 +
 .../archive/js/spec/client-tests.js             |   159 +
 .../usergrid-portal/archive/js/spec/index.html  |    20 +
 .../archive/js/spec/qunit-git.css               |   238 +
 .../archive/js/spec/qunit-git.js                |  1865 +
 .../archive/js/unit-tests/appSDK-tests.js       |   255 +
 .../archive/js/unit-tests/ie-jquery-tests.js    |   191 +
 .../archive/js/unit-tests/qunit.css             |   231 +
 .../archive/js/unit-tests/qunit.js              |  1934 +
 .../dist/usergrid-portal/archive/loading.html   |     9 +
 .../dist/usergrid-portal/archive/max/index.html |     0
 .../usergrid-portal/archive/planned_outage.html |    48 +
 .../usergrid-portal/archive/push/index.html     |    34 +
 .../usergrid-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 +
 .../archive/templates/test/modalForm2.html      |    32 +
 .../archive/test/autocomplete.html              |    25 +
 .../usergrid-portal/archive/test/modalForm.html |    32 +
 .../bower_components/angular-intro.js/LICENSE   |    20 +
 .../angular-intro.js/angular-intro.js           |    60 +
 .../angular-intro.js/bower.json                 |    20 +
 .../angular-intro.js/build/angular-intro.min.js |     1 +
 .../angular-intro.js/example/app.js             |    51 +
 .../angular-intro.js/lib/app.js                 |    49 +
 .../angular-intro.js/lib/intro.min.js           |    20 +
 .../angular-intro.js/lib/introjs.css            |   216 +
 .../bower_components/angular/README.md          |    48 +
 .../bower_components/angular/angular-csp.css    |    18 +
 .../bower_components/angular/angular.js         | 21734 +++++++++++
 .../bower_components/angular/angular.min.js     |   211 +
 .../angular/angular.min.js.gzip                 |   Bin 0 -> 38778 bytes
 .../bower_components/angular/angular.min.js.map |     8 +
 .../bower_components/angular/bower.json         |     7 +
 .../bower_components/angularitics/Gruntfile.js  |    62 +
 .../bower_components/angularitics/LICENSE       |    22 +
 .../bower_components/angularitics/README.md     |   115 +
 .../bower_components/angularitics/bower.json    |    12 +
 .../dist/angulartics-chartbeat.min.js           |     7 +
 .../dist/angulartics-ga-cordova.min.js          |     6 +
 .../angularitics/dist/angulartics-ga.min.js     |     7 +
 .../dist/angulartics-google-analytics.min.js    |     7 +
 .../dist/angulartics-kissmetrics.min.js         |     6 +
 .../dist/angulartics-mixpanel.min.js            |     7 +
 .../angularitics/dist/angulartics-scroll.min.js |    14 +
 .../dist/angulartics-segmentio.min.js           |     6 +
 .../angularitics/dist/angulartics.min.js        |     6 +
 .../bower_components/angularitics/karma.conf.js |    22 +
 .../bower_components/angularitics/package.json  |    43 +
 .../angularitics/samples/chartbeat.html         |    79 +
 .../angularitics/samples/google-analytics.html  |    68 +
 .../angularitics/samples/kissmetrics.html       |    75 +
 .../angularitics/samples/mixpanel.html          |    65 +
 .../angularitics/samples/partials/a.tpl.html    |     1 +
 .../angularitics/samples/partials/b.tpl.html    |     1 +
 .../angularitics/samples/partials/c.tpl.html    |     1 +
 .../angularitics/samples/partials/root.tpl.html |     1 +
 .../angularitics/samples/scroll.html            |    82 +
 .../angularitics/samples/segmentio.html         |    65 +
 .../angularitics/src/angulartics-chartbeat.js   |    29 +
 .../angularitics/src/angulartics-ga-cordova.js  |    91 +
 .../angularitics/src/angulartics-ga.js          |    32 +
 .../angularitics/src/angulartics-kissmetrics.js |    29 +
 .../angularitics/src/angulartics-mixpanel.js    |    29 +
 .../angularitics/src/angulartics-scroll.js      |    47 +
 .../angularitics/src/angulartics-segmentio.js   |    24 +
 .../angularitics/src/angulartics.js             |   132 +
 .../angularitics/test/angularticsSpec.js        |    38 +
 .../bower_components/apigee-sdk/apigee.js       |  3260 ++
 .../bower_components/apigee-sdk/apigee.min.js   |     3 +
 .../bower_components/apigee-sdk/bower.json      |    13 +
 .../samples/collections/css/apigee.min.css      |   213 +
 .../collections/css/jquery.mobile.icons.min.css |     3 +
 .../samples/collections/css/theme.min.css       |   213 +
 .../apigee-sdk/samples/collections/js/index.js  |   360 +
 .../entities/css/jquery.mobile.icons.min.css    |     3 +
 .../samples/entities/css/theme.min.css          |   213 +
 .../apigee-sdk/samples/entities/js/index.js     |   228 +
 .../geolocation/css/jquery.mobile.icons.min.css |     3 +
 .../samples/geolocation/css/theme.min.css       |   213 +
 .../apigee-sdk/samples/geolocation/js/index.js  |   133 +
 .../apigee-sdk/samples/messagee/app.js          |   634 +
 .../samples/messagee/usergrid.validation.js     |   249 +
 .../samples/push/android/AndroidManifest.xml    |    79 +
 .../samples/push/android/ant.properties         |    17 +
 .../push/android/assets/www/PushNotification.js |    65 +
 .../push/android/assets/www/cordova-2.7.0.js    |  6836 ++++
 .../push/android/assets/www/css/index.css       |   115 +
 .../push/android/assets/www/img/cordova.png     |   Bin 0 -> 19932 bytes
 .../push/android/assets/www/img/logo.png        |   Bin 0 -> 21814 bytes
 .../samples/push/android/assets/www/js/index.js |   241 +
 .../samples/push/android/assets/www/main.js     |   165 +
 .../samples/push/android/assets/www/master.css  |   116 +
 .../screen/android/screen-hdpi-landscape.png    |   Bin 0 -> 218302 bytes
 .../res/screen/android/screen-hdpi-portrait.png |   Bin 0 -> 222148 bytes
 .../screen/android/screen-ldpi-landscape.png    |   Bin 0 -> 42616 bytes
 .../res/screen/android/screen-ldpi-portrait.png |   Bin 0 -> 42034 bytes
 .../screen/android/screen-mdpi-landscape.png    |   Bin 0 -> 92347 bytes
 .../res/screen/android/screen-mdpi-portrait.png |   Bin 0 -> 90555 bytes
 .../screen/android/screen-xhdpi-landscape.png   |   Bin 0 -> 489604 bytes
 .../screen/android/screen-xhdpi-portrait.png    |   Bin 0 -> 504508 bytes
 .../samples/push/android/assets/www/spec.html   |    68 +
 .../push/android/assets/www/spec/helper.js      |    33 +
 .../push/android/assets/www/spec/index.js       |    67 +
 .../www/spec/lib/jasmine-1.2.0/MIT.LICENSE      |    20 +
 .../www/spec/lib/jasmine-1.2.0/jasmine-html.js  |   616 +
 .../www/spec/lib/jasmine-1.2.0/jasmine.css      |    81 +
 .../www/spec/lib/jasmine-1.2.0/jasmine.js       |  2529 ++
 .../apigee-sdk/samples/push/android/build.xml   |    92 +
 .../samples/push/android/cordova/appinfo.jar    |   Bin 0 -> 1574 bytes
 .../samples/push/android/cordova/build          |    24 +
 .../samples/push/android/cordova/clean          |    24 +
 .../samples/push/android/cordova/cordova        |   159 +
 .../apigee-sdk/samples/push/android/cordova/log |    24 +
 .../samples/push/android/cordova/release        |    24 +
 .../apigee-sdk/samples/push/android/cordova/run |    24 +
 .../push/android/libs/android-support-v13.jar   |   Bin 0 -> 402581 bytes
 .../samples/push/android/libs/cordova-2.7.0.jar |   Bin 0 -> 256941 bytes
 .../samples/push/android/libs/gcm.jar           |   Bin 0 -> 13662 bytes
 .../samples/push/android/proguard-project.txt   |    20 +
 .../samples/push/android/project.properties     |    14 +
 .../android/res/drawable-hdpi/ic_launcher.png   |   Bin 0 -> 9397 bytes
 .../push/android/res/drawable-hdpi/icon.png     |   Bin 0 -> 6080 bytes
 .../android/res/drawable-ldpi/ic_launcher.png   |   Bin 0 -> 2729 bytes
 .../push/android/res/drawable-ldpi/icon.png     |   Bin 0 -> 3096 bytes
 .../android/res/drawable-mdpi/ic_launcher.png   |   Bin 0 -> 5237 bytes
 .../push/android/res/drawable-mdpi/icon.png     |   Bin 0 -> 4090 bytes
 .../android/res/drawable-xhdpi/ic_launcher.png  |   Bin 0 -> 14383 bytes
 .../push/android/res/drawable-xhdpi/icon.png    |   Bin 0 -> 7685 bytes
 .../samples/push/android/res/drawable/icon.png  |   Bin 0 -> 7685 bytes
 .../samples/push/android/res/layout/main.xml    |    13 +
 .../samples/push/android/res/values/strings.xml |     4 +
 .../samples/push/android/res/xml/config.xml     |    62 +
 .../plugin/gcm/CordovaGCMBroadcastReceiver.java |    19 +
 .../src/com/plugin/gcm/GCMIntentService.java    |   163 +
 .../src/com/plugin/gcm/PushHandlerActivity.java |    66 +
 .../android/src/com/plugin/gcm/PushPlugin.java  |   216 +
 .../src/me/mdob/android/androidpush.java        |    36 +
 .../samples/push/ios/CordovaLib/Classes/CDV.h   |    57 +
 .../ios/CordovaLib/Classes/CDVAccelerometer.h   |    39 +
 .../ios/CordovaLib/Classes/CDVAccelerometer.m   |   128 +
 .../ios/CordovaLib/Classes/CDVAvailability.h    |    87 +
 .../push/ios/CordovaLib/Classes/CDVBattery.h    |    40 +
 .../push/ios/CordovaLib/Classes/CDVBattery.m    |   152 +
 .../push/ios/CordovaLib/Classes/CDVCamera.h     |    92 +
 .../push/ios/CordovaLib/Classes/CDVCamera.m     |   570 +
 .../push/ios/CordovaLib/Classes/CDVCapture.h    |   118 +
 .../push/ios/CordovaLib/Classes/CDVCapture.m    |   847 +
 .../ios/CordovaLib/Classes/CDVCommandDelegate.h |    54 +
 .../CordovaLib/Classes/CDVCommandDelegateImpl.h |    33 +
 .../CordovaLib/Classes/CDVCommandDelegateImpl.m |   145 +
 .../ios/CordovaLib/Classes/CDVCommandQueue.h    |    40 +
 .../ios/CordovaLib/Classes/CDVCommandQueue.m    |   169 +
 .../ios/CordovaLib/Classes/CDVConfigParser.h    |    28 +
 .../ios/CordovaLib/Classes/CDVConfigParser.m    |    70 +
 .../push/ios/CordovaLib/Classes/CDVConnection.h |    34 +
 .../push/ios/CordovaLib/Classes/CDVConnection.m |   132 +
 .../push/ios/CordovaLib/Classes/CDVContact.h    |   136 +
 .../push/ios/CordovaLib/Classes/CDVContact.m    |  1752 +
 .../push/ios/CordovaLib/Classes/CDVContacts.h   |   151 +
 .../push/ios/CordovaLib/Classes/CDVContacts.m   |   593 +
 .../push/ios/CordovaLib/Classes/CDVDebug.h      |    25 +
 .../ios/CordovaLib/Classes/CDVDebugConsole.h    |    28 +
 .../ios/CordovaLib/Classes/CDVDebugConsole.m    |    37 +
 .../push/ios/CordovaLib/Classes/CDVDevice.h     |    30 +
 .../push/ios/CordovaLib/Classes/CDVDevice.m     |    90 +
 .../push/ios/CordovaLib/Classes/CDVEcho.h       |    23 +
 .../push/ios/CordovaLib/Classes/CDVEcho.m       |    61 +
 .../push/ios/CordovaLib/Classes/CDVExif.h       |    43 +
 .../push/ios/CordovaLib/Classes/CDVFile.h       |   106 +
 .../push/ios/CordovaLib/Classes/CDVFile.m       |  1409 +
 .../ios/CordovaLib/Classes/CDVFileTransfer.h    |    74 +
 .../ios/CordovaLib/Classes/CDVFileTransfer.m    |   625 +
 .../ios/CordovaLib/Classes/CDVGlobalization.h   |   150 +
 .../ios/CordovaLib/Classes/CDVGlobalization.m   |   790 +
 .../ios/CordovaLib/Classes/CDVInAppBrowser.h    |    88 +
 .../ios/CordovaLib/Classes/CDVInAppBrowser.m    |   581 +
 .../CordovaLib/Classes/CDVInvokedUrlCommand.h   |    57 +
 .../CordovaLib/Classes/CDVInvokedUrlCommand.m   |   140 +
 .../push/ios/CordovaLib/Classes/CDVJSON.h       |    30 +
 .../push/ios/CordovaLib/Classes/CDVJSON.m       |    77 +
 .../CordovaLib/Classes/CDVJpegHeaderWriter.h    |    62 +
 .../CordovaLib/Classes/CDVJpegHeaderWriter.m    |   522 +
 .../ios/CordovaLib/Classes/CDVLocalStorage.h    |    50 +
 .../ios/CordovaLib/Classes/CDVLocalStorage.m    |   485 +
 .../push/ios/CordovaLib/Classes/CDVLocation.h   |   104 +
 .../push/ios/CordovaLib/Classes/CDVLocation.m   |   623 +
 .../push/ios/CordovaLib/Classes/CDVLogger.h     |    26 +
 .../push/ios/CordovaLib/Classes/CDVLogger.m     |    38 +
 .../ios/CordovaLib/Classes/CDVNotification.h    |    37 +
 .../ios/CordovaLib/Classes/CDVNotification.m    |   126 +
 .../push/ios/CordovaLib/Classes/CDVPlugin.h     |    64 +
 .../push/ios/CordovaLib/Classes/CDVPlugin.m     |   152 +
 .../ios/CordovaLib/Classes/CDVPluginResult.h    |    68 +
 .../ios/CordovaLib/Classes/CDVPluginResult.m    |   224 +
 .../ios/CordovaLib/Classes/CDVReachability.h    |    85 +
 .../ios/CordovaLib/Classes/CDVReachability.m    |   260 +
 .../Classes/CDVScreenOrientationDelegate.h      |    28 +
 .../push/ios/CordovaLib/Classes/CDVSound.h      |   116 +
 .../push/ios/CordovaLib/Classes/CDVSound.m      |   699 +
 .../ios/CordovaLib/Classes/CDVSplashScreen.h    |    33 +
 .../ios/CordovaLib/Classes/CDVSplashScreen.m    |   225 +
 .../ios/CordovaLib/Classes/CDVURLProtocol.h     |    29 +
 .../ios/CordovaLib/Classes/CDVURLProtocol.m     |   230 +
 .../ios/CordovaLib/Classes/CDVUserAgentUtil.h   |    27 +
 .../ios/CordovaLib/Classes/CDVUserAgentUtil.m   |   120 +
 .../ios/CordovaLib/Classes/CDVViewController.h  |    73 +
 .../ios/CordovaLib/Classes/CDVViewController.m  |   931 +
 .../ios/CordovaLib/Classes/CDVWebViewDelegate.h |    37 +
 .../ios/CordovaLib/Classes/CDVWebViewDelegate.m |   171 +
 .../push/ios/CordovaLib/Classes/CDVWhitelist.h  |    36 +
 .../push/ios/CordovaLib/Classes/CDVWhitelist.m  |   192 +
 .../CordovaLib/Classes/NSArray+Comparisons.h    |    26 +
 .../CordovaLib/Classes/NSArray+Comparisons.m    |    41 +
 .../push/ios/CordovaLib/Classes/NSData+Base64.h |    33 +
 .../push/ios/CordovaLib/Classes/NSData+Base64.m |   281 +
 .../Classes/NSDictionary+Extensions.h           |    35 +
 .../Classes/NSDictionary+Extensions.m           |   159 +
 .../Classes/NSMutableArray+QueueAdditions.h     |    29 +
 .../Classes/NSMutableArray+QueueAdditions.m     |    58 +
 .../CordovaLib/Classes/UIDevice+Extensions.h    |    31 +
 .../CordovaLib/Classes/UIDevice+Extensions.m    |    47 +
 .../Classes/compatibility/0.9.6/CDV.h           |    30 +
 .../Classes/compatibility/0.9.6/CDVPlugin.h     |    46 +
 .../Classes/compatibility/0.9.6/CDVPlugin.m     |    29 +
 .../Classes/compatibility/1.5.0/CDV.h           |    32 +
 .../Classes/compatibility/1.5.0/CDVPlugin.h     |    23 +
 .../CordovaLib/Classes/compatibility/README.txt |    23 +
 .../CordovaLib.xcodeproj/project.pbxproj        |   667 +
 .../push/ios/CordovaLib/CordovaLib_Prefix.pch   |    22 +
 .../samples/push/ios/CordovaLib/VERSION         |     1 +
 .../apigee-sdk/samples/push/ios/cordova/build   |    51 +
 .../apigee-sdk/samples/push/ios/cordova/emulate |    55 +
 .../apigee-sdk/samples/push/ios/cordova/log     |    23 +
 .../apigee-sdk/samples/push/ios/cordova/release |    51 +
 .../apigee-sdk/samples/push/ios/cordova/run     |    58 +
 .../push/ios/iospush.xcodeproj/project.pbxproj  |   623 +
 .../push/ios/iospush/Classes/AppDelegate.h      |    42 +
 .../push/ios/iospush/Classes/AppDelegate.m      |   122 +
 .../ios/iospush/Classes/MainViewController.h    |    40 +
 .../ios/iospush/Classes/MainViewController.m    |   174 +
 .../ios/iospush/Classes/MainViewController.xib  |   138 +
 .../iospush/Plugins/AppDelegate+notification.h  |    20 +
 .../iospush/Plugins/AppDelegate+notification.m  |   119 +
 .../push/ios/iospush/Plugins/PushPlugin.h       |    54 +
 .../push/ios/iospush/Plugins/PushPlugin.m       |   248 +
 .../samples/push/ios/iospush/Plugins/README     |    20 +
 .../Resources/Capture.bundle/controls_bg.png    |   Bin 0 -> 955 bytes
 .../Resources/Capture.bundle/controls_bg@2x.png |   Bin 0 -> 971 bytes
 .../Capture.bundle/controls_bg@2x~ipad.png      |   Bin 0 -> 2858 bytes
 .../Capture.bundle/controls_bg~ipad.png         |   Bin 0 -> 969 bytes
 .../microphone-568h@2x~iphone.png               |   Bin 0 -> 531673 bytes
 .../Resources/Capture.bundle/microphone.png     |   Bin 0 -> 72226 bytes
 .../Resources/Capture.bundle/microphone@2x.png  |   Bin 0 -> 282409 bytes
 .../Capture.bundle/microphone@2x~ipad.png       |   Bin 0 -> 911582 bytes
 .../Capture.bundle/microphone~ipad.png          |   Bin 0 -> 393975 bytes
 .../Resources/Capture.bundle/record_button.png  |   Bin 0 -> 5852 bytes
 .../Capture.bundle/record_button@2x.png         |   Bin 0 -> 13875 bytes
 .../Capture.bundle/record_button@2x~ipad.png    |   Bin 0 -> 15822 bytes
 .../Capture.bundle/record_button~ipad.png       |   Bin 0 -> 7547 bytes
 .../Resources/Capture.bundle/recording_bg.png   |   Bin 0 -> 973 bytes
 .../Capture.bundle/recording_bg@2x.png          |   Bin 0 -> 990 bytes
 .../Capture.bundle/recording_bg@2x~ipad.png     |   Bin 0 -> 1026 bytes
 .../Capture.bundle/recording_bg~ipad.png        |   Bin 0 -> 996 bytes
 .../Resources/Capture.bundle/stop_button.png    |   Bin 0 -> 5514 bytes
 .../Resources/Capture.bundle/stop_button@2x.png |   Bin 0 -> 12965 bytes
 .../Capture.bundle/stop_button@2x~ipad.png      |   Bin 0 -> 14474 bytes
 .../Capture.bundle/stop_button~ipad.png         |   Bin 0 -> 7119 bytes
 .../Resources/de.lproj/Localizable.strings      |    26 +
 .../Resources/en.lproj/Localizable.strings      |    25 +
 .../Resources/es.lproj/Localizable.strings      |    25 +
 .../ios/iospush/Resources/icons/icon-72.png     |   Bin 0 -> 4944 bytes
 .../ios/iospush/Resources/icons/icon-72@2x.png  |   Bin 0 -> 11706 bytes
 .../push/ios/iospush/Resources/icons/icon.png   |   Bin 0 -> 3902 bytes
 .../ios/iospush/Resources/icons/icon@2x.png     |   Bin 0 -> 7869 bytes
 .../Resources/se.lproj/Localizable.strings      |    26 +
 .../Resources/splash/Default-568h@2x~iphone.png |   Bin 0 -> 34225 bytes
 .../splash/Default-Landscape@2x~ipad.png        |   Bin 0 -> 77300 bytes
 .../Resources/splash/Default-Landscape~ipad.png |   Bin 0 -> 34935 bytes
 .../splash/Default-Portrait@2x~ipad.png         |   Bin 0 -> 76546 bytes
 .../Resources/splash/Default-Portrait~ipad.png  |   Bin 0 -> 34278 bytes
 .../Resources/splash/Default@2x~iphone.png      |   Bin 0 -> 29475 bytes
 .../iospush/Resources/splash/Default~iphone.png |   Bin 0 -> 10394 bytes
 .../samples/push/ios/iospush/config.xml         |    65 +
 .../samples/push/ios/iospush/iospush-Info.plist |    78 +
 .../samples/push/ios/iospush/iospush-Prefix.pch |    26 +
 .../apigee-sdk/samples/push/ios/iospush/main.m  |    35 +
 .../samples/push/ios/www/PushNotification.js    |    65 +
 .../samples/push/ios/www/cordova-2.6.0.js       |  6433 ++++
 .../samples/push/ios/www/css/index.css          |   115 +
 .../samples/push/ios/www/img/logo.png           |   Bin 0 -> 21814 bytes
 .../apigee-sdk/samples/push/ios/www/js/index.js |   217 +
 .../res/screen/ios/screen-ipad-landscape-2x.png |   Bin 0 -> 1534088 bytes
 .../res/screen/ios/screen-ipad-landscape.png    |   Bin 0 -> 407370 bytes
 .../res/screen/ios/screen-ipad-portrait-2x.png  |   Bin 0 -> 1610434 bytes
 .../www/res/screen/ios/screen-ipad-portrait.png |   Bin 0 -> 422441 bytes
 .../screen/ios/screen-iphone-landscape-2x.png   |   Bin 0 -> 339639 bytes
 .../res/screen/ios/screen-iphone-landscape.png  |   Bin 0 -> 92301 bytes
 .../screen/ios/screen-iphone-portrait-2x.png    |   Bin 0 -> 350593 bytes
 .../res/screen/ios/screen-iphone-portrait.png   |   Bin 0 -> 93897 bytes
 .../apigee-sdk/samples/push/ios/www/spec.html   |    68 +
 .../samples/push/ios/www/spec/helper.js         |    33 +
 .../samples/push/ios/www/spec/index.js          |    67 +
 .../ios/www/spec/lib/jasmine-1.2.0/MIT.LICENSE  |    20 +
 .../www/spec/lib/jasmine-1.2.0/jasmine-html.js  |   616 +
 .../ios/www/spec/lib/jasmine-1.2.0/jasmine.css  |    81 +
 .../ios/www/spec/lib/jasmine-1.2.0/jasmine.js   |  2529 ++
 .../samples/usersAndGroups/README.txt           |    22 +
 .../usersAndGroups/css/codiqa.ext.min.css       |     1 +
 .../usersAndGroups/css/images/ajax-loader.gif   |   Bin 0 -> 7825 bytes
 .../css/images/icons-18-black.png               |   Bin 0 -> 1968 bytes
 .../css/images/icons-18-white.png               |   Bin 0 -> 1988 bytes
 .../css/images/icons-36-black.png               |   Bin 0 -> 3859 bytes
 .../css/images/icons-36-white.png               |   Bin 0 -> 3861 bytes
 .../css/jquery.mobile-1.3.1.min.css             |     3 +
 .../samples/usersAndGroups/js/codiqa.ext.min.js |     6 +
 .../samples/usersAndGroups/js/index.js          |   345 +
 .../usersAndGroups/js/jquery-1.9.1.min.js       |     5 +
 .../js/jquery.mobile-1.3.1.min.js               |     7 +
 .../bower_components/apigee.max.ui/bower.json   |    19 +
 .../apigee.max.ui/dist/css/max.min.css          |     1 +
 .../apigee.max.ui/dist/img/no-data1.png         |   Bin 0 -> 45300 bytes
 .../apigee.max.ui/dist/img/phone-small.gif      |   Bin 0 -> 1300 bytes
 .../apigee.max.ui/dist/img/tablet-small.gif     |   Bin 0 -> 1390 bytes
 .../apigee.max.ui/dist/js/max-dev.min.js        |  1781 +
 .../apigee.max.ui/dist/js/max.min.js            |     4 +
 .../bower_components/intro.js/BUILD/BUILD.js    |    43 +
 .../bower_components/intro.js/Makefile          |     6 +
 .../bower_components/intro.js/README.md         |   487 +
 .../bower_components/intro.js/bower.json        |     9 +
 .../bower_components/intro.js/component.json    |    13 +
 .../bower_components/intro.js/intro.js          |   940 +
 .../bower_components/intro.js/introjs-rtl.css   |    22 +
 .../bower_components/intro.js/introjs.css       |   248 +
 .../intro.js/minified/intro.min.js              |    24 +
 .../intro.js/minified/introjs-rtl.min.css       |     1 +
 .../intro.js/minified/introjs.min.css           |     1 +
 .../bower_components/intro.js/package.json      |    17 +
 .../jquery-waypoints/CHANGELOG.md               |    92 +
 .../jquery-waypoints/README.markdown            |    47 +
 .../jquery-waypoints/bower.json                 |    19 +
 .../jquery-waypoints/licenses.txt               |    23 +
 .../jquery-waypoints/package.json               |    19 +
 .../infinite-scroll/waypoints-infinite.js       |    67 +
 .../infinite-scroll/waypoints-infinite.min.js   |     8 +
 .../sticky-elements/waypoints-sticky.js         |    55 +
 .../sticky-elements/waypoints-sticky.min.js     |     8 +
 .../jquery-waypoints/waypoints.js               |   520 +
 .../jquery-waypoints/waypoints.min.js           |     8 +
 .../bower_components/jquery/MIT-LICENSE.txt     |    21 +
 .../bower_components/jquery/bower.json          |    27 +
 .../bower_components/jquery/dist/jquery.js      |  9174 +++++
 .../bower_components/jquery/dist/jquery.min.js  |     5 +
 .../bower_components/jquery/dist/jquery.min.map |     1 +
 .../bower_components/jquery/src/ajax.js         |   806 +
 .../bower_components/jquery/src/ajax/jsonp.js   |    89 +
 .../bower_components/jquery/src/ajax/load.js    |    75 +
 .../jquery/src/ajax/parseJSON.js                |    13 +
 .../jquery/src/ajax/parseXML.js                 |    28 +
 .../bower_components/jquery/src/ajax/script.js  |    64 +
 .../jquery/src/ajax/var/nonce.js                |     5 +
 .../jquery/src/ajax/var/rquery.js               |     3 +
 .../bower_components/jquery/src/ajax/xhr.js     |   135 +
 .../bower_components/jquery/src/attributes.js   |    11 +
 .../jquery/src/attributes/attr.js               |   143 +
 .../jquery/src/attributes/classes.js            |   158 +
 .../jquery/src/attributes/prop.js               |    96 +
 .../jquery/src/attributes/support.js            |    35 +
 .../jquery/src/attributes/val.js                |   163 +
 .../bower_components/jquery/src/callbacks.js    |   205 +
 .../bower_components/jquery/src/core.js         |   498 +
 .../bower_components/jquery/src/core/access.js  |    60 +
 .../bower_components/jquery/src/core/init.js    |   123 +
 .../jquery/src/core/parseHTML.js                |    39 +
 .../bower_components/jquery/src/core/ready.js   |    97 +
 .../jquery/src/core/var/rsingleTag.js           |     4 +
 .../bower_components/jquery/src/css.js          |   451 +
 .../jquery/src/css/addGetHookIf.js              |    24 +
 .../bower_components/jquery/src/css/curCSS.js   |    57 +
 .../jquery/src/css/defaultDisplay.js            |    70 +
 .../jquery/src/css/hiddenVisibleSelectors.js    |    15 +
 .../bower_components/jquery/src/css/support.js  |    91 +
 .../bower_components/jquery/src/css/swap.js     |    28 +
 .../jquery/src/css/var/cssExpand.js             |     3 +
 .../jquery/src/css/var/getStyles.js             |     5 +
 .../jquery/src/css/var/isHidden.js              |    13 +
 .../jquery/src/css/var/rmargin.js               |     3 +
 .../jquery/src/css/var/rnumnonpx.js             |     5 +
 .../bower_components/jquery/src/data.js         |   175 +
 .../bower_components/jquery/src/data/Data.js    |   181 +
 .../bower_components/jquery/src/data/accepts.js |    20 +
 .../jquery/src/data/var/data_priv.js            |     5 +
 .../jquery/src/data/var/data_user.js            |     5 +
 .../bower_components/jquery/src/deferred.js     |   149 +
 .../bower_components/jquery/src/deprecated.js   |    13 +
 .../bower_components/jquery/src/dimensions.js   |    50 +
 .../bower_components/jquery/src/effects.js      |   647 +
 .../jquery/src/effects/Tween.js                 |   114 +
 .../jquery/src/effects/animatedSelector.js      |    13 +
 .../bower_components/jquery/src/event.js        |   868 +
 .../bower_components/jquery/src/event/alias.js  |    39 +
 .../jquery/src/event/support.js                 |     9 +
 .../bower_components/jquery/src/exports/amd.js  |    24 +
 .../jquery/src/exports/global.js                |    32 +
 .../bower_components/jquery/src/intro.js        |    44 +
 .../bower_components/jquery/src/jquery.js       |    36 +
 .../bower_components/jquery/src/manipulation.js |   582 +
 .../jquery/src/manipulation/_evalUrl.js         |    18 +
 .../jquery/src/manipulation/support.js          |    31 +
 .../src/manipulation/var/rcheckableType.js      |     3 +
 .../bower_components/jquery/src/offset.js       |   204 +
 .../bower_components/jquery/src/outro.js        |     1 +
 .../bower_components/jquery/src/queue.js        |   142 +
 .../bower_components/jquery/src/queue/delay.js  |    22 +
 .../jquery/src/selector-native.js               |   172 +
 .../jquery/src/selector-sizzle.js               |    14 +
 .../bower_components/jquery/src/selector.js     |     1 +
 .../bower_components/jquery/src/serialize.js    |   111 +
 .../jquery/src/sizzle/dist/sizzle.js            |  2034 ++
 .../jquery/src/sizzle/dist/sizzle.min.js        |     3 +
 .../jquery/src/sizzle/dist/sizzle.min.map       |     1 +
 .../bower_components/jquery/src/traversing.js   |   200 +
 .../jquery/src/traversing/findFilter.js         |   100 +
 .../jquery/src/traversing/var/rneedsContext.js  |     6 +
 .../bower_components/jquery/src/var/arr.js      |     3 +
 .../jquery/src/var/class2type.js                |     4 +
 .../bower_components/jquery/src/var/concat.js   |     5 +
 .../bower_components/jquery/src/var/hasOwn.js   |     5 +
 .../bower_components/jquery/src/var/indexOf.js  |     5 +
 .../bower_components/jquery/src/var/pnum.js     |     3 +
 .../bower_components/jquery/src/var/push.js     |     5 +
 .../jquery/src/var/rnotwhite.js                 |     3 +
 .../bower_components/jquery/src/var/slice.js    |     5 +
 .../jquery/src/var/strundefined.js              |     3 +
 .../bower_components/jquery/src/var/support.js  |     4 +
 .../bower_components/jquery/src/var/toString.js |     5 +
 .../bower_components/jquery/src/var/trim.js     |     3 +
 .../bower_components/jquery/src/wrap.js         |    78 +
 .../bower_components/sizzle/dist/sizzle.js      |  2015 +
 .../bower_components/sizzle/dist/sizzle.min.js  |     3 +
 .../bower_components/sizzle/dist/sizzle.min.map |     1 +
 .../bower_components/sizzle/tasks/commit.js     |    10 +
 .../bower_components/sizzle/tasks/compile.js    |    34 +
 .../bower_components/sizzle/tasks/dist.js       |    35 +
 .../bower_components/sizzle/tasks/release.js    |    43 +
 .../bower_components/sizzle/tasks/tag.js        |     9 +
 .../bower_components/sizzle/tasks/version.js    |    35 +
 .../bower_components/sizzle/test/data/empty.js  |     0
 .../sizzle/test/data/mixed_sort.html            |    22 +
 .../sizzle/test/data/testinit.js                |   136 +
 .../bower_components/sizzle/test/jquery.js      |  9597 +++++
 .../sizzle/test/libs/qunit/qunit.css            |   244 +
 .../sizzle/test/libs/qunit/qunit.js             |  2212 ++
 .../sizzle/test/unit/extending.js               |    95 +
 .../sizzle/test/unit/selector.js                |  1138 +
 .../sizzle/test/unit/utilities.js               |   169 +
 portal/dist/usergrid-portal/config.js           |    60 +
 .../css/apigeeGlobalNavigation.css              |   274 +
 .../css/arsmarquette/ARSMaquettePro-Light.otf   |   Bin 0 -> 184600 bytes
 .../css/arsmarquette/ARSMaquettePro-Medium.otf  |   Bin 0 -> 188020 bytes
 .../css/arsmarquette/ARSMaquettePro-Regular.otf |   Bin 0 -> 188096 bytes
 portal/dist/usergrid-portal/css/dash.min.css    |     1 +
 .../dist/usergrid-portal/css/entypo/entypo.eot  |   Bin 0 -> 35540 bytes
 .../dist/usergrid-portal/css/entypo/entypo.svg  |    13 +
 .../dist/usergrid-portal/css/entypo/entypo.ttf  |   Bin 0 -> 35392 bytes
 .../dist/usergrid-portal/css/entypo/entypo.woff |   Bin 0 -> 21916 bytes
 portal/dist/usergrid-portal/css/main.css        |  1970 +
 portal/dist/usergrid-portal/favicon.ico         |   Bin 0 -> 1150 bytes
 .../img/appswitcher/apiPlatform_lg.png          |   Bin 0 -> 2397 bytes
 .../img/appswitcher/appServices_lg.png          |   Bin 0 -> 2295 bytes
 .../img/appswitcher/console_lg.png              |   Bin 0 -> 1453 bytes
 .../usergrid-portal/img/appswitcher/home_lg.png |   Bin 0 -> 1522 bytes
 .../img/appswitcher/logo_color.png              |   Bin 0 -> 3459 bytes
 .../usergrid-portal/img/appswitcher/max_lg.png  |   Bin 0 -> 1970 bytes
 .../img/appswitcher/triangleMenuItem_right.png  |   Bin 0 -> 1158 bytes
 .../triangleMenuItem_right_hover.png            |   Bin 0 -> 1169 bytes
 portal/dist/usergrid-portal/img/blue-bars.png   |   Bin 0 -> 3635 bytes
 portal/dist/usergrid-portal/img/blue-bolt.png   |   Bin 0 -> 3942 bytes
 portal/dist/usergrid-portal/img/blue-carat.png  |   Bin 0 -> 1006 bytes
 portal/dist/usergrid-portal/img/green_dot.png   |   Bin 0 -> 3472 bytes
 .../img/introjs_arrow_step_next.png             |   Bin 0 -> 219 bytes
 .../img/introjs_arrow_step_next_disabled.png    |   Bin 0 -> 220 bytes
 .../img/introjs_arrow_step_prev.png             |   Bin 0 -> 217 bytes
 .../img/introjs_arrow_step_prev_disabled.png    |   Bin 0 -> 218 bytes
 .../dist/usergrid-portal/img/introjs_close.png  |   Bin 0 -> 274 bytes
 portal/dist/usergrid-portal/img/logo.gif        |   Bin 0 -> 2279 bytes
 portal/dist/usergrid-portal/img/nav-device.gif  |   Bin 0 -> 2184 bytes
 portal/dist/usergrid-portal/img/nav-sprites.png |   Bin 0 -> 7953 bytes
 portal/dist/usergrid-portal/img/no-data1.png    |   Bin 0 -> 45300 bytes
 portal/dist/usergrid-portal/img/phone-small.gif |   Bin 0 -> 1300 bytes
 .../img/push/APNS_cert_upload.png               |   Bin 0 -> 33956 bytes
 .../img/push/APNS_certification.png             |   Bin 0 -> 16855 bytes
 .../img/push/android-notification.png           |   Bin 0 -> 41629 bytes
 .../usergrid-portal/img/push/google_api_key.png |   Bin 0 -> 98118 bytes
 .../usergrid-portal/img/push/iphone_message.png |   Bin 0 -> 90307 bytes
 portal/dist/usergrid-portal/img/push/step_1.png |   Bin 0 -> 1953 bytes
 portal/dist/usergrid-portal/img/push/step_2.png |   Bin 0 -> 2117 bytes
 portal/dist/usergrid-portal/img/push/step_3.png |   Bin 0 -> 2162 bytes
 portal/dist/usergrid-portal/img/red_dot.png     |   Bin 0 -> 3482 bytes
 .../usergrid-portal/img/sdk-sprites-large.png   |   Bin 0 -> 14642 bytes
 portal/dist/usergrid-portal/img/sdk-sprites.png |   Bin 0 -> 5027 bytes
 .../dist/usergrid-portal/img/tablet-small.gif   |   Bin 0 -> 1390 bytes
 portal/dist/usergrid-portal/img/user-photo.png  |   Bin 0 -> 3849 bytes
 .../dist/usergrid-portal/img/user_profile.png   |   Bin 0 -> 3775 bytes
 portal/dist/usergrid-portal/img/verify.png      |   Bin 0 -> 22934 bytes
 portal/dist/usergrid-portal/img/yellow_dot.png  |   Bin 0 -> 3475 bytes
 portal/dist/usergrid-portal/index-debug.html    |   167 +
 portal/dist/usergrid-portal/index-template.html |   172 +
 portal/dist/usergrid-portal/index.html          |   167 +
 .../usergrid-portal/js/charts/highcharts.json   |   329 +
 .../js/libs/Highcharts-2.3.5/index.htm          |    79 +
 .../js/adapters/mootools-adapter.js             |    13 +
 .../js/adapters/mootools-adapter.src.js         |   328 +
 .../js/adapters/prototype-adapter.js            |    16 +
 .../js/adapters/prototype-adapter.src.js        |   385 +
 .../libs/Highcharts-2.3.5/js/highcharts-more.js |    35 +
 .../Highcharts-2.3.5/js/highcharts-more.src.js  |  1581 +
 .../js/libs/Highcharts-2.3.5/js/highcharts.js   |   250 +
 .../libs/Highcharts-2.3.5/js/highcharts.src.js  | 15281 ++++++++
 .../Highcharts-2.3.5/js/modules/canvas-tools.js |   133 +
 .../js/modules/canvas-tools.src.js              |  3113 ++
 .../js/libs/Highcharts-2.3.5/js/modules/data.js |    14 +
 .../Highcharts-2.3.5/js/modules/data.src.js     |   512 +
 .../Highcharts-2.3.5/js/modules/exporting.js    |    23 +
 .../js/modules/exporting.src.js                 |   752 +
 .../Highcharts-2.3.5/js/themes/dark-blue.js     |   263 +
 .../Highcharts-2.3.5/js/themes/dark-green.js    |   263 +
 .../js/libs/Highcharts-2.3.5/js/themes/gray.js  |   262 +
 .../js/libs/Highcharts-2.3.5/js/themes/grid.js  |    95 +
 .../js/libs/Highcharts-2.3.5/js/themes/skies.js |    89 +
 portal/dist/usergrid-portal/js/libs/MD5.min.js  |     1 +
 .../js/libs/angular-1.0.5/angular-cookies.js    |   183 +
 .../libs/angular-1.0.5/angular-cookies.min.js   |     7 +
 .../js/libs/angular-1.0.5/angular-loader.js     |   276 +
 .../js/libs/angular-1.0.5/angular-loader.min.js |     7 +
 .../js/libs/angular-1.0.5/angular-mocks.js      |  1886 +
 .../js/libs/angular-1.0.5/angular-resource.js   |   445 +
 .../libs/angular-1.0.5/angular-resource.min.js  |    10 +
 .../js/libs/angular-1.0.5/angular-sanitize.js   |   535 +
 .../libs/angular-1.0.5/angular-sanitize.min.js  |    13 +
 .../js/libs/angular-1.0.5/angular.js            | 14733 ++++++++
 .../js/libs/angular-1.0.5/angular.min.js        |   161 +
 .../js/libs/angular-1.0.5/version.txt           |     1 +
 .../js/libs/angular-1.1.5/angular-1.1.5.js      | 16876 +++++++++
 .../js/libs/angular-1.1.5/angular-merge.min.js  |     8 +
 .../angular-1.1.5/angular-resource-1.1.5.js     |   537 +
 .../js/libs/angular-1.2.5/angular-animate.js    |  1323 +
 .../libs/angular-1.2.5/angular-animate.min.js   |    23 +
 .../angular-1.2.5/angular-animate.min.js.map    |     8 +
 .../js/libs/angular-1.2.5/angular-cookies.js    |   202 +
 .../libs/angular-1.2.5/angular-cookies.min.js   |     8 +
 .../angular-1.2.5/angular-cookies.min.js.map    |     8 +
 .../js/libs/angular-1.2.5/angular-csp.css       |    24 +
 .../js/libs/angular-1.2.5/angular-loader.js     |   410 +
 .../js/libs/angular-1.2.5/angular-loader.min.js |     9 +
 .../angular-1.2.5/angular-loader.min.js.map     |     8 +
 .../js/libs/angular-1.2.5/angular-mocks.js      |  2116 ++
 .../js/libs/angular-1.2.5/angular-resource.js   |   565 +
 .../libs/angular-1.2.5/angular-resource.min.js  |    13 +
 .../angular-1.2.5/angular-resource.min.js.map   |     8 +
 .../js/libs/angular-1.2.5/angular-route.js      |   911 +
 .../js/libs/angular-1.2.5/angular-route.min.js  |    14 +
 .../libs/angular-1.2.5/angular-route.min.js.map |     8 +
 .../js/libs/angular-1.2.5/angular-sanitize.js   |   622 +
 .../libs/angular-1.2.5/angular-sanitize.min.js  |    14 +
 .../angular-1.2.5/angular-sanitize.min.js.map   |     8 +
 .../js/libs/angular-1.2.5/angular-scenario.js   | 32374 +++++++++++++++++
 .../js/libs/angular-1.2.5/angular-touch.js      |   563 +
 .../js/libs/angular-1.2.5/angular-touch.min.js  |    13 +
 .../libs/angular-1.2.5/angular-touch.min.js.map |     8 +
 .../js/libs/angular-1.2.5/angular.js            | 20369 +++++++++++
 .../js/libs/angular-1.2.5/angular.min.js        |   201 +
 .../js/libs/angular-1.2.5/angular.min.js.map    |     8 +
 .../js/libs/angular-1.2.5/errors.json           |     1 +
 .../js/libs/angular-1.2.5/version.json          |     1 +
 .../js/libs/angular-1.2.5/version.txt           |     1 +
 .../angularitics-0.8.5-google-analytics.js      |     7 +
 .../js/libs/angularitics/angularitics-0.8.5.js  |     6 +
 .../libs/bootstrap/css/bootstrap-responsive.css |  1345 +
 .../bootstrap/css/bootstrap-responsive.min.css  |  1245 +
 .../js/libs/bootstrap/css/bootstrap.css         |  6169 ++++
 .../js/libs/bootstrap/css/bootstrap.min.css     |  5469 +++
 .../js/libs/bootstrap/custom/css/bootstrap.css  |  6316 ++++
 .../libs/bootstrap/custom/css/bootstrap.min.css |     9 +
 .../custom/img/glyphicons-halflings-white.png   |   Bin 0 -> 8777 bytes
 .../custom/img/glyphicons-halflings.png         |   Bin 0 -> 12799 bytes
 .../js/libs/bootstrap/custom/js/bootstrap.js    |  2291 ++
 .../libs/bootstrap/custom/js/bootstrap.min.js   |     7 +
 .../img/glyphicons-halflings-white.png          |   Bin 0 -> 8777 bytes
 .../libs/bootstrap/img/glyphicons-halflings.png |   Bin 0 -> 12799 bytes
 .../js/libs/bootstrap/js/bootstrap.js           |  2117 ++
 .../js/libs/bootstrap/js/bootstrap.min.js       |   644 +
 .../usergrid-portal/js/libs/google-viz-api.js   |    49 +
 .../js/libs/jquery/jquery-1.9.1.min.js          |     5 +
 .../js/libs/jquery/jquery-migrate-1.1.1.min.js  |     3 +
 .../js/libs/jquery/jquery.sparkline.min.js      |     5 +
 .../js/libs/jqueryui/date.min.js                |     2 +
 .../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
 .../jqueryui/images/ui-icons_000000_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_2694e8_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_2e83ff_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_3d80b3_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_72a7cf_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_ffffff_256x240.png |   Bin 0 -> 4369 bytes
 .../js/libs/jqueryui/jquery-ui-1.8.18.min.js    |    15 +
 .../js/libs/jqueryui/jquery-ui-1.8.9.custom.css |     1 +
 .../js/libs/jqueryui/jquery-ui-timepicker.css   |     1 +
 .../libs/jqueryui/jquery.ui.timepicker.min.js   |     1 +
 .../ui-bootstrap-custom-0.3.0.min.js            |     1 +
 .../ui-bootstrap-custom-tpls-0.3.0.min.js       |     1 +
 .../js/libs/usergrid-libs.min.js                |    22 +
 .../usergrid-portal/js/libs/usergrid.sdk.js     |  2474 ++
 .../dist/usergrid-portal/js/usergrid-dev.min.js |  4939 +++
 portal/dist/usergrid-portal/js/usergrid.min.js  |     6 +
 .../dist/usergrid-portal/sdk/usergrid.0.10.4.js |  1402 +
 .../dist/usergrid-portal/sdk/usergrid.0.10.5.js |  1755 +
 .../dist/usergrid-portal/sdk/usergrid.0.10.7.js |  2265 ++
 portal/index-debug.html                         |    18 +-
 portal/index.html                               |    18 +-
 portal/js/libs/usergrid-libs.min.js             |     2 +-
 portal/js/usergrid-dev.min.js                   |     2 +-
 portal/js/usergrid.min.js                       |     2 +-
 .../instrument/js/usergrid-coverage.min.js      |     2 +-
 .../test/coverage/instrument/js/usergrid.min.js |     2 +-
 1586 files changed, 335478 insertions(+), 337819 deletions(-)
----------------------------------------------------------------------



[02/43] git commit: Added organization level exports with a different applications file for each application.

Posted by sn...@apache.org.
Added organization level exports with a different applications file for each application.


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

Branch: refs/pull/96/merge
Commit: 844fd5d6eb1fc8416f4836d2abca30abc9d9394a
Parents: 2cd1d5d
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 00:32:57 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 00:32:57 2014 -0700

----------------------------------------------------------------------
 .../organizations/OrganizationResource.java     |  81 ++++++++++++
 .../rest/management/ManagementResourceIT.java   |   2 +-
 .../management/export/ExportServiceImpl.java    | 129 +++++++++++++++++--
 .../cassandra/ManagementServiceIT.java          |  89 +++++++------
 4 files changed, 253 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/844fd5d6/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
index b57d02a..05312ab 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
@@ -17,7 +17,9 @@
 package org.apache.usergrid.rest.management.organizations;
 
 
+import java.util.HashMap;
 import java.util.Map;
+import java.util.UUID;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DefaultValue;
@@ -29,20 +31,29 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Component;
+
+import org.apache.amber.oauth2.common.exception.OAuthSystemException;
+import org.apache.amber.oauth2.common.message.OAuthResponse;
+
 import org.apache.usergrid.management.ActivationState;
 import org.apache.usergrid.management.OrganizationInfo;
+import org.apache.usergrid.management.export.ExportService;
 import org.apache.usergrid.rest.AbstractContextResource;
 import org.apache.usergrid.rest.ApiResponse;
+import org.apache.usergrid.rest.applications.ServiceResource;
 import org.apache.usergrid.rest.exceptions.RedirectionException;
 import org.apache.usergrid.rest.management.organizations.applications.ApplicationsResource;
 import org.apache.usergrid.rest.management.organizations.users.UsersResource;
 import org.apache.usergrid.rest.security.annotations.RequireOrganizationAccess;
+import org.apache.usergrid.rest.utils.JSONPUtils;
 import org.apache.usergrid.security.oauth.ClientCredentialsInfo;
 import org.apache.usergrid.security.tokens.exceptions.TokenException;
 import org.apache.usergrid.services.ServiceResults;
@@ -50,6 +61,11 @@ import org.apache.usergrid.services.ServiceResults;
 import com.sun.jersey.api.json.JSONWithPadding;
 import com.sun.jersey.api.view.Viewable;
 
+import static javax.servlet.http.HttpServletResponse.SC_ACCEPTED;
+import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
+import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+
 
 @Component("org.apache.usergrid.rest.management.organizations.OrganizationResource")
 @Scope("prototype")
@@ -61,6 +77,9 @@ public class OrganizationResource extends AbstractContextResource {
 
     private static final Logger logger = LoggerFactory.getLogger( OrganizationsResource.class );
 
+    @Autowired
+    protected ExportService exportService;
+
     OrganizationInfo organization;
 
 
@@ -252,4 +271,66 @@ public class OrganizationResource extends AbstractContextResource {
 
         return new JSONWithPadding( response, callback );
     }
+
+    @POST
+    @Path("export")
+    @Consumes(APPLICATION_JSON)
+    @RequireOrganizationAccess
+    public Response exportPostJson( @Context UriInfo ui,Map<String, Object> json,
+                                    @QueryParam("callback") @DefaultValue("") String callback )
+            throws OAuthSystemException {
+
+
+        OAuthResponse response = null;
+        UUID jobUUID = null;
+        Map<String, String> uuidRet = new HashMap<String, String>();
+
+        Map<String,Object> properties;
+        Map<String, Object> storage_info;
+
+        try {
+            if((properties = ( Map<String, Object> )  json.get( "properties" )) == null){
+                throw new NullPointerException("Could not find 'properties'");
+            }
+            storage_info = ( Map<String, Object> ) properties.get( "storage_info" );
+            String storage_provider = ( String ) properties.get( "storage_provider" );
+            if(storage_provider == null) {
+                throw new NullPointerException( "Could not find field 'storage_provider'" );
+            }
+            if(storage_info == null) {
+                throw new NullPointerException( "Could not find field 'storage_info'" );
+            }
+
+
+            String bucketName = ( String ) storage_info.get( "bucket_location" );
+            String accessId = ( String ) storage_info.get( "s3_access_id" );
+            String secretKey = ( String ) storage_info.get( "s3_key" );
+
+            if(bucketName == null) {
+                throw new NullPointerException( "Could not find field 'bucketName'" );
+            }
+            if(accessId == null) {
+                throw new NullPointerException( "Could not find field 's3_access_id'" );
+            }
+            if(secretKey == null) {
+                throw new NullPointerException( "Could not find field 's3_key'" );
+            }
+
+            json.put( "organizationId",organization.getUuid());
+
+            jobUUID = exportService.schedule( json );
+            uuidRet.put( "Export Entity", jobUUID.toString() );
+        }
+        catch ( NullPointerException e ) {
+            return Response.status( SC_BAD_REQUEST ).type( JSONPUtils.jsonMediaType( callback ) )
+                           .entity( ServiceResource.wrapWithCallback( e.getMessage(), callback ) ).build();
+        }
+        catch ( Exception e ) {
+            //TODO:throw descriptive error message and or include on in the response
+            //TODO:fix below, it doesn't work if there is an exception. Make it look like the OauthResponse.
+            return Response.status( SC_INTERNAL_SERVER_ERROR ).type( JSONPUtils.jsonMediaType( callback ) )
+                           .entity( ServiceResource.wrapWithCallback( e.getMessage(), callback ) ).build();
+        }
+        return Response.status( SC_ACCEPTED ).entity( uuidRet ).build();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/844fd5d6/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index 9874bd4..d117e57 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -771,7 +771,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         uuid = uuid.replaceAll( "\"", "" );
 
         try {
-            node = resource().path( "/management/orgs/test-organization/export/" + uuid )
+            node = resource().path( "/management/orgs/test-organization/apps/exporters/export/" + uuid )
                              .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
                              .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
         }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/844fd5d6/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index b599854..053a4e3 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -48,6 +48,8 @@ import org.apache.usergrid.persistence.Results;
 import org.apache.usergrid.persistence.entities.Export;
 import org.apache.usergrid.persistence.entities.JobData;
 
+import com.google.common.collect.BiMap;
+
 
 /**
  * Need to refactor out the mutliple orgs being take , need to factor out the multiple apps it will just be the one app
@@ -78,9 +80,12 @@ public class ExportServiceImpl implements ExportService {
 
     private S3Export s3Export;
 
+    private String defaultAppExportname = "exporters";
+
 
     @Override
     public UUID schedule( final Map<String, Object> config ) throws Exception {
+        ApplicationInfo defaultExportApp = null;
 
         if ( config == null ) {
             logger.error( "export information cannot be null" );
@@ -88,8 +93,11 @@ public class ExportServiceImpl implements ExportService {
         }
 
         if ( config.get( "applicationId" ) == null ) {
-            logger.error( "application information from export info could not be found" );
-            return null;
+            defaultExportApp =
+                    managementService.createApplication( ( UUID ) config.get( "organizationId" ), defaultAppExportname );
+            config.put( "applicationId", defaultExportApp.getId() );
+            //logger.error( "application information from export info could not be found" );
+            //return null;
         }
 
         EntityManager em = null;
@@ -169,24 +177,29 @@ public class ExportServiceImpl implements ExportService {
     public void doExport( final JobExecution jobExecution ) throws Exception {
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
 
+        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
+
         if ( config == null ) {
             logger.error( "Export Information passed through is null" );
             return;
         }
         //get the entity manager for the application, and the entity that this Export corresponds to.
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
-        if ( config.get( "applicationId" ) == null ) {
+        if ( scopedAppId == null ) {
             logger.error( "Export Information application uuid is null" );
             return;
         }
-        EntityManager em = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+        EntityManager em = emf.getEntityManager( scopedAppId );
         Export export = em.get( exportId, Export.class );
 
         //update the entity state to show that the job has officially started.
         export.setState( Export.State.STARTED );
         em.update( export );
 
-        if ( config.get( "collectionName" ) == null ) {
+        if ( em.getApplication().getApplicationName().equals( "exporters" ) ) {
+            exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution );
+        }
+        else if ( config.get( "collectionName" ) == null ) {
             //exports all the applications for a given organization.
 
             if ( config.get( "organizationId" ) == null ) {
@@ -195,7 +208,7 @@ public class ExportServiceImpl implements ExportService {
                 em.update( export );
                 return;
             }
-            exportApplicationsForOrg( ( UUID ) config.get( "organizationId" ), ( UUID ) config.get( "applicationId" ),
+            exportApplicationFromOrg( ( UUID ) config.get( "organizationId" ), ( UUID ) config.get( "applicationId" ),
                     config, jobExecution );
         }
         else {
@@ -207,7 +220,7 @@ public class ExportServiceImpl implements ExportService {
                     em.update( export );
                     return;
                 }
-                exportApplicationForOrg( ( UUID ) config.get( "organizationId" ),
+                exportCollectionFromOrgApp( ( UUID ) config.get( "organizationId" ),
                         ( UUID ) config.get( "applicationId" ), config, jobExecution );
             }
             catch ( Exception e ) {
@@ -254,9 +267,99 @@ public class ExportServiceImpl implements ExportService {
 
 
     /**
-     * Exports all applications for the given organization.
+     * Exports All Applications from an Organization
      */
-    private void exportApplicationsForOrg( UUID organizationUUID, UUID applicationId, final Map<String, Object> config,
+    private void exportApplicationsFromOrg( UUID organizationUUID, final Map<String, Object> config,
+                                            final JobExecution jobExecution ) throws Exception {
+
+        //retrieves export entity
+        UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
+        EntityManager exportManager = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+        Export export = exportManager.get( exportId, Export.class );
+        String appFileName = null;
+
+        //sets up a output stream for s3 backup.
+//        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+//        JsonGenerator jg = getJsonGenerator( baos );
+
+        BiMap<UUID, String> applications = managementService.getApplicationsForOrganization( organizationUUID );
+
+        for ( Map.Entry<UUID, String> application : applications.entrySet() ) {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            JsonGenerator jg = getJsonGenerator( baos );
+            if(application.getValue().equals(
+                    managementService.getOrganizationByUuid( organizationUUID ).getName() + "/exporters" )){
+                continue;
+            }
+
+            appFileName = prepareOutputFileName( "application", application.getValue(), null );
+
+
+            EntityManager em = emf.getEntityManager( application.getKey() );
+
+            jg.writeStartArray();
+
+            Map<String, Object> metadata = em.getApplicationCollectionMetadata();
+            long starting_time = System.currentTimeMillis();
+
+            // Loop through the collections. This is the only way to loop
+            // through the entities in the application (former namespace).
+            //could support queries, just need to implement that in the rest endpoint.
+            for ( String collectionName : metadata.keySet() ) {
+                if ( collectionName.equals( "exports" ) ) {
+                    continue;
+                }
+                //if the collection you are looping through doesn't match the name of the one you want. Don't export it.
+
+                if ( ( config.get( "collectionName" ) == null ) || collectionName
+                        .equals( config.get( "collectionName" ) ) ) {
+                    //Query entity manager for the entities in a collection
+                    Query query = new Query();
+                    query.setLimit( MAX_ENTITY_FETCH );
+                    query.setResultsLevel( Results.Level.ALL_PROPERTIES );
+                    Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
+
+                    //pages through the query and backs up all results.
+                    PagingResultsIterator itr = new PagingResultsIterator( entities );
+                    for ( Object e : itr ) {
+                        starting_time = checkTimeDelta( starting_time, jobExecution );
+                        Entity entity = ( Entity ) e;
+                        jg.writeStartObject();
+                        jg.writeFieldName( "Metadata" );
+                        jg.writeObject( entity );
+                        saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
+                        jg.writeEndObject();
+                    }
+                 }
+            }
+        //}
+
+
+
+        // Close writer and file for this application.
+        jg.writeEndArray();
+
+        jg.close();
+        baos.flush();
+        baos.close();
+
+        //sets up the Inputstream for copying the method to s3.
+        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
+        try {
+            s3Export.copyToS3( is, config, appFileName );
+        }
+        catch ( Exception e ) {
+            export.setState( Export.State.FAILED );
+            return;
+        }
+        }
+    }
+
+
+    /**
+     * Exports a specific applications from an organization
+     */
+    private void exportApplicationFromOrg( UUID organizationUUID, UUID applicationId, final Map<String, Object> config,
                                            final JobExecution jobExecution ) throws Exception {
 
         //retrieves export entity
@@ -328,9 +431,13 @@ public class ExportServiceImpl implements ExportService {
     }
 
 
+    /**
+     * Exports a specific collection from an org-app combo.
+     */
     //might be confusing, but uses the /s/ inclusion or exclusion nomenclature.
-    private void exportApplicationForOrg( UUID organizationUUID, UUID applicationUUID, final Map<String, Object> config,
-                                          final JobExecution jobExecution ) throws Exception {
+    private void exportCollectionFromOrgApp( UUID organizationUUID, UUID applicationUUID,
+                                             final Map<String, Object> config, final JobExecution jobExecution )
+            throws Exception {
 
         //retrieves export entity
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/844fd5d6/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index f1dd4bb..fa8dd0c 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -1589,40 +1589,43 @@ public class ManagementServiceIT {
 
         OrganizationInfo orgMade = null;
         ApplicationInfo appMade = null;
-        for(int i = 0; i < 100; i++) {
-            orgMade =setup.getMgmtSvc().createOrganization( "minorboss"+i,adminUser,true );
-            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp"+i);
-
-            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol"+i );
-            //intialize user object to be posted
-            Map<String, Object> entityLevelProperties = null;
-            Entity[] entNotCopied;
-            entNotCopied = new Entity[20];
-            //creates entities
-            for ( int index = 0; index < 20; index++ ) {
-                entityLevelProperties = new LinkedHashMap<String, Object>();
-                entityLevelProperties.put( "username", "bobso" + index );
-                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
-                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
+        for ( int i = 0; i < 5; i++ ) {
+            orgMade = setup.getMgmtSvc().createOrganization( "minorboss" + i, adminUser, true );
+            for ( int j = 0; j < 5; j++ ) {
+                appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + j );
+
+                EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+                customMaker.createApplicationCollection( "superappCol" + j );
+                //intialize user object to be posted
+                Map<String, Object> entityLevelProperties = null;
+                Entity[] entNotCopied;
+                entNotCopied = new Entity[1];
+                //creates entities
+                for ( int index = 0; index < 1; index++ ) {
+                    entityLevelProperties = new LinkedHashMap<String, Object>();
+                    entityLevelProperties.put( "derp","bacon" );
+//                    entityLevelProperties.put( "username", "bobso" + index );
+//                    entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                    entNotCopied[index] = customMaker.create( "superappCol"+j, entityLevelProperties );
+                }
             }
         }
 
         payload.put("organizationId",orgMade.getUuid());
 
-        EntityManager em = setup.getEmf().getEntityManager( appMade.getId() );
+        //EntityManager em = setup.getEmf().getEntityManager( appMade.getId() );
         //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[100];
-        //creates entities
-        for ( int i = 0; i < 100; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "bido" + i );
-            userProperties.put( "email", "bido" + i + "@anuff.com" );
-
-            entity[i] = em.create( "user", userProperties );
-        }
+//        Map<String, Object> userProperties = null;
+//        Entity[] entity;
+//        entity = new Entity[100];
+//        //creates entities
+//        for ( int i = 0; i < 100; i++ ) {
+//            userProperties = new LinkedHashMap<String, Object>();
+//            userProperties.put( "username", "bido" + i );
+//            userProperties.put( "email", "bido" + i + "@anuff.com" );
+//
+//            entity[i] = em.create( "user", userProperties );
+//        }
 
         UUID exportUUID = exportService.schedule( payload );
         assertNotNull( exportUUID );
@@ -1637,8 +1640,15 @@ public class ManagementServiceIT {
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
+        //the exporters app is never returned, and I'm not even sure if that is the way we want to go
+        // I feel like there should be a better way than having to store data for the user.
         exportService.doExport( jobExecution );
-        while (!exportService.getState( appMade.getId(),exportUUID ).equals("FINISHED"));
+        //BiMap<UUID,String> mapper = setup.getMgmtSvc().getApplicationsForOrganization(orgMade.getUuid());
+        //mapper.get( "" )
+//        while (!exportService.getState( ,exportUUID )
+//                             .equals("FINISHED"));
+
+        Thread.sleep( 3000 );
 
         String bucketName = System.getProperty( "bucketName" );
         String accessId = System.getProperty( "accessKey" );
@@ -1662,17 +1672,24 @@ public class ManagementServiceIT {
 
 
             blobStore = context.getBlobStore();
-            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
-                blobStore.deleteContainer( bucketName );
-                assert(false);
-            }
+//            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+//                blobStore.deleteContainer( bucketName );
+//                assert(false);
+//            }
+            //Grab Number of files
             Long numOfFiles = blobStore.countBlobs( bucketName );
-            Long numWeWant = Long.valueOf( 100 );
-            assertEquals( numOfFiles, numWeWant );
-
+            //delete container containing said files
             bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
+            blobStore.deleteContainer( bucketName );
+            Long numWeWant = Long.valueOf( 5 );
+            //asserts that the correct number of files was transferred over
+            assertEquals( numWeWant, numOfFiles);
+
+
 
         }catch(Exception e) {
+            blobStore.deleteContainer( bucketName );
+            e.printStackTrace();
             assert(false);
         }
 


[09/43] git commit: Missed a new integration test, that needed to be ignored.

Posted by sn...@apache.org.
Missed a new integration test, that needed to be ignored.


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

Branch: refs/pull/96/merge
Commit: 52985b00103d54b7548ab5cb32b32cf4e5add444
Parents: 6d53e9b
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:56:29 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:56:29 2014 -0700

----------------------------------------------------------------------
 .../apache/usergrid/management/cassandra/ManagementServiceIT.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/52985b00/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index c597661..0fd9676 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -1770,7 +1770,7 @@ public class ManagementServiceIT {
     }
 
 
-    @Test
+    @Ignore
     public void testIntegration100EntitiesOnOneOrg() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();


[03/43] git commit: Add query tests, but doesn’t protect the users from themselves. Reduced number of max entities so people don’t crash the JVM with huge queries.

Posted by sn...@apache.org.
Add query tests, but doesn’t protect the users from themselves.
Reduced number of max entities so people don’t crash the JVM with huge queries.


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

Branch: refs/pull/96/merge
Commit: 1a5f8b479e4dfbfc4036032d6814b931fa9e7aa0
Parents: 844fd5d
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:28:11 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:28:11 2014 -0700

----------------------------------------------------------------------
 .../management/export/ExportServiceImpl.java    |  30 ++++-
 .../cassandra/ManagementServiceIT.java          | 109 +++++++++++++++----
 2 files changed, 113 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1a5f8b47/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 053a4e3..92e76bc 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -71,7 +71,7 @@ public class ExportServiceImpl implements ExportService {
     private ManagementService managementService;
 
     //Maximum amount of entities retrieved in a single go.
-    public static final int MAX_ENTITY_FETCH = 100000;
+    public static final int MAX_ENTITY_FETCH = 1000;
 
     //Amount of time that has passed before sending another heart beat in millis
     public static final int TIMESTAMP_DELTA = 5000;
@@ -314,7 +314,13 @@ public class ExportServiceImpl implements ExportService {
                 if ( ( config.get( "collectionName" ) == null ) || collectionName
                         .equals( config.get( "collectionName" ) ) ) {
                     //Query entity manager for the entities in a collection
-                    Query query = new Query();
+                    Query query;
+                    if(config.get( "query" ) == null) {
+                        query = new Query(  );
+                    }
+                    else {
+                        query = Query.fromQL( ( String ) config.get( "query" ) );
+                    }
                     query.setLimit( MAX_ENTITY_FETCH );
                     query.setResultsLevel( Results.Level.ALL_PROPERTIES );
                     Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
@@ -394,9 +400,19 @@ public class ExportServiceImpl implements ExportService {
             if ( ( config.get( "collectionName" ) == null ) || collectionName
                     .equals( config.get( "collectionName" ) ) ) {
                 //Query entity manager for the entities in a collection
-                Query query = new Query();
+                Query query;
+                if(config.get( "query" ) == null) {
+                    query = new Query(  );
+                }
+                else {
+                    query = Query.fromQL( ( String ) config.get( "query" ) );
+                }
+               // Query query = Query.fromQL( ( String ) config.get( "query" ) ); //new Query();
                 query.setLimit( MAX_ENTITY_FETCH );
                 query.setResultsLevel( Results.Level.ALL_PROPERTIES );
+                query.setCollection( collectionName );
+                //query.setQl( ( String ) config.get( "query" ) );
+
                 Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
 
                 //pages through the query and backs up all results.
@@ -467,7 +483,13 @@ public class ExportServiceImpl implements ExportService {
             //if the collection you are looping through doesn't match the name of the one you want. Don't export it.
             if ( collectionName.equals( ( String ) config.get( "collectionName" ) ) ) {
                 //Query entity manager for the entities in a collection
-                Query query = new Query();
+                Query query;
+                if(config.get( "query" ) == null) {
+                    query = new Query(  );
+                }
+                else {
+                    query = Query.fromQL( ( String ) config.get( "query" ) );
+                }
                 query.setLimit( MAX_ENTITY_FETCH );
                 query.setResultsLevel( Results.Level.ALL_PROPERTIES );
                 Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1a5f8b47/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index fa8dd0c..cb817f0 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -1112,6 +1112,8 @@ public class ManagementServiceIT {
         catch ( Exception e ) {
             //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
         }
+        f.deleteOnExit();
+
 
         UUID appId = setup.getEmf().createApplication( orgName, appName );
 
@@ -1161,27 +1163,25 @@ public class ManagementServiceIT {
             String entityName = ( String ) entityData.get( "name" );
             assertFalse( "junkRealName".equals( entityName ) );
         }
-        f.deleteOnExit();
     }
-//
+
     @Test
-    public void testExportOneAppOnApplicationEndpoint() throws Exception {
+    public void testExportOneAppOnApplicationEndpointWQuery() throws Exception {
 
         File f = null;
-        String orgName = "ed-organization";
-        String appName = "testAppNotExported";
 
         try {
-            f = new File( "exportOneApp.json" );
+            f = new File( "exportOneAppWQuery.json" );
         }
         catch ( Exception e ) {
             //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
         }
 
-        UUID appId = setup.getEmf().createApplication( orgName, appName );
+        f.deleteOnExit();
 
 
-        EntityManager em = setup.getEmf().getEntityManager( appId );
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
         Entity[] entity;
@@ -1189,16 +1189,19 @@ public class ManagementServiceIT {
         //creates entities
         for ( int i = 0; i < 1; i++ ) {
             userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put("name","me");
             userProperties.put( "username", "junkRealName");
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            userProperties.put( "email", "burp" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
             entity[i] = em.create( "users", userProperties );
         }
 
         S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneApp.json" );
+        s3Export.setFilename( "exportOneAppWQuery.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
+        payload.put( "query","select * where username = 'junkRealName'" );
+
         payload.put( "organizationId",organization.getUuid() );
         payload.put( "applicationId",applicationId);
 
@@ -1219,17 +1222,15 @@ public class ManagementServiceIT {
 
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
-        assertEquals( 3 , a.size() );
+        assertEquals( 1 , a.size() );
         for ( int i = 0; i < a.size(); i++ ) {
             org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
             org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
             String entityName = ( String ) entityData.get( "name" );
             assertFalse( "junkRealName".equals( entityName ) );
         }
-
-        f.deleteOnExit();
-
     }
+
 //
     @Test
     public void testExportOneCollection() throws Exception {
@@ -1245,7 +1246,7 @@ public class ManagementServiceIT {
         }
 
         EntityManager em = setup.getEmf().getEntityManager( applicationId);
-        em.createApplicationCollection( "baconators" );
+        em.createApplicationCollection( "qt" );
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
         Entity[] entity;
@@ -1255,7 +1256,7 @@ public class ManagementServiceIT {
             userProperties = new LinkedHashMap<String, Object>();
             userProperties.put( "username", "billybob" + i );
             userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-            entity[i] = em.create( "baconators", userProperties );
+            entity[i] = em.create( "qts", userProperties );
         }
 
         S3Export s3Export = new MockS3ExportImpl();
@@ -1265,7 +1266,7 @@ public class ManagementServiceIT {
 
         payload.put( "organizationId",organization.getUuid() );
         payload.put( "applicationId",applicationId);
-        payload.put( "collectionName","baconators");
+        payload.put( "collectionName","qts");
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1289,6 +1290,70 @@ public class ManagementServiceIT {
 
     }
 
+    @Test
+    public void testExportOneCollectionWQuery() throws Exception {
+
+        File f = null;
+        int entitiesToCreate = 5;
+
+        try {
+            f = new File( "exportOneCollectionWQuery.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
+        }
+        f.deleteOnExit();
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId);
+        em.createApplicationCollection( "baconators" );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[entitiesToCreate];
+        //creates entities
+        for ( int i = 0; i < entitiesToCreate; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "billybob" + i );
+            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            entity[i] = em.create( "baconators", userProperties );
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneCollectionWQuery.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+        payload.put( "query","select * where username contains 'billybob0'" );
+
+        payload.put( "organizationId",organization.getUuid() );
+        payload.put( "applicationId",applicationId);
+        payload.put( "collectionName","baconators");
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        //only one entity should match the query.
+        assertEquals( 1 , a.size() );
+
+    }
+
+
+
+
+
     //@Ignore("file created won't be deleted when running tests")
     @Test
     public void testExportOneOrganization() throws Exception {
@@ -1503,11 +1568,11 @@ public class ManagementServiceIT {
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
         Entity[] entity;
-        entity = new Entity[100];
+        entity = new Entity[5];
         //creates entities
 
         ApplicationInfo appMade = null;
-        for(int i = 0; i < 100; i++) {
+        for(int i = 0; i < 5; i++) {
             appMade = setup.getMgmtSvc().createApplication( organization.getUuid(), "superapp"+i);
 
             EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
@@ -1515,9 +1580,9 @@ public class ManagementServiceIT {
             //intialize user object to be posted
             Map<String, Object> entityLevelProperties = null;
             Entity[] entNotCopied;
-            entNotCopied = new Entity[20];
+            entNotCopied = new Entity[5];
             //creates entities
-            for ( int index = 0; index < 20; index++ ) {
+            for ( int index = 0; index < 5; index++ ) {
                 entityLevelProperties = new LinkedHashMap<String, Object>();
                 entityLevelProperties.put( "username", "bobso" + index );
                 entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
@@ -1710,7 +1775,7 @@ public class ManagementServiceIT {
         OrganizationInfo orgMade = null;
         ApplicationInfo appMade = null;
         for(int i = 0; i < 100; i++) {
-            orgMade =setup.getMgmtSvc().createOrganization( "minorboss"+i,adminUser,true );
+            orgMade =setup.getMgmtSvc().createOrganization( "largerboss"+i,adminUser,true );
             appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp"+i);
 
             EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );


[07/43] 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 Shawn Feldman (14) and others
# Via Rod Simpson (6) and others
* 'master' of https://github.com/usergrid/usergrid: (31 commits)
  fix api-url issue
  portal build
  adding bower
  built
  build
  add sizzle
  building changes updating bower
  fixed introjs hover border and spaced next/back buttons
  removing dynamic menus
  minor css tweaks to embedded help and fix for if 25948route is null
  remove underscore dependency, fix case
  rebuild portal
  add built file
  rebuild binary
  fix title
  adding built file
  adding help framework adding google analytics framework bug fixes
  add "delete by query" functionality
  type should be plural
  accept options for query
  ...


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

Branch: refs/pull/96/merge
Commit: 9598c8ec8ffd2f54a24d6a580fd15c796210f682
Parents: 3260354 d5b6c97
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:36:05 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:36:05 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |     3 +-
 bower.json                                      |    39 +
 portal/Gruntfile.js                             |   191 +-
 portal/archive/index.html                       |    21 +
 portal/archive/js/app/console.js                |     4 +
 portal/bower.json                               |    27 +-
 portal/config.js                                |    57 +-
 portal/css/dash.min.css                         |     2 +-
 portal/css/main.css                             |   267 +-
 .../bower_components/angular-intro.js/LICENSE   |    20 +
 .../angular-intro.js/angular-intro.js           |    60 +
 .../angular-intro.js/bower.json                 |    20 +
 .../angular-intro.js/build/angular-intro.min.js |     1 +
 .../angular-intro.js/example/app.js             |    51 +
 .../angular-intro.js/lib/app.js                 |    49 +
 .../angular-intro.js/lib/intro.min.js           |    20 +
 .../angular-intro.js/lib/introjs.css            |   216 +
 .../2.0.2/bower_components/angular/README.md    |    48 +
 .../bower_components/angular/angular-csp.css    |    18 +
 .../2.0.2/bower_components/angular/angular.js   | 21734 +++++++++++
 .../bower_components/angular/angular.min.js     |   211 +
 .../angular/angular.min.js.gzip                 |   Bin 0 -> 38778 bytes
 .../bower_components/angular/angular.min.js.map |     8 +
 .../2.0.2/bower_components/angular/bower.json   |     7 +
 .../bower_components/angularitics/Gruntfile.js  |    62 +
 .../2.0.2/bower_components/angularitics/LICENSE |    22 +
 .../bower_components/angularitics/README.md     |   115 +
 .../bower_components/angularitics/bower.json    |    12 +
 .../dist/angulartics-chartbeat.min.js           |     7 +
 .../dist/angulartics-ga-cordova.min.js          |     6 +
 .../angularitics/dist/angulartics-ga.min.js     |     7 +
 .../dist/angulartics-google-analytics.min.js    |     7 +
 .../dist/angulartics-kissmetrics.min.js         |     6 +
 .../dist/angulartics-mixpanel.min.js            |     7 +
 .../angularitics/dist/angulartics-scroll.min.js |    14 +
 .../dist/angulartics-segmentio.min.js           |     6 +
 .../angularitics/dist/angulartics.min.js        |     6 +
 .../bower_components/angularitics/karma.conf.js |    22 +
 .../bower_components/angularitics/package.json  |    43 +
 .../angularitics/samples/chartbeat.html         |    79 +
 .../angularitics/samples/google-analytics.html  |    68 +
 .../angularitics/samples/kissmetrics.html       |    75 +
 .../angularitics/samples/mixpanel.html          |    65 +
 .../angularitics/samples/partials/a.tpl.html    |     1 +
 .../angularitics/samples/partials/b.tpl.html    |     1 +
 .../angularitics/samples/partials/c.tpl.html    |     1 +
 .../angularitics/samples/partials/root.tpl.html |     1 +
 .../angularitics/samples/scroll.html            |    82 +
 .../angularitics/samples/segmentio.html         |    65 +
 .../angularitics/src/angulartics-chartbeat.js   |    29 +
 .../angularitics/src/angulartics-ga-cordova.js  |    91 +
 .../angularitics/src/angulartics-ga.js          |    32 +
 .../angularitics/src/angulartics-kissmetrics.js |    29 +
 .../angularitics/src/angulartics-mixpanel.js    |    29 +
 .../angularitics/src/angulartics-scroll.js      |    47 +
 .../angularitics/src/angulartics-segmentio.js   |    24 +
 .../angularitics/src/angulartics.js             |   132 +
 .../angularitics/test/angularticsSpec.js        |    38 +
 .../2.0.2/bower_components/apigee-sdk/apigee.js |  3260 ++
 .../bower_components/apigee-sdk/apigee.min.js   |     3 +
 .../bower_components/apigee-sdk/bower.json      |    13 +
 .../samples/collections/css/apigee.min.css      |   213 +
 .../collections/css/jquery.mobile.icons.min.css |     3 +
 .../samples/collections/css/theme.min.css       |   213 +
 .../apigee-sdk/samples/collections/js/index.js  |   360 +
 .../entities/css/jquery.mobile.icons.min.css    |     3 +
 .../samples/entities/css/theme.min.css          |   213 +
 .../apigee-sdk/samples/entities/js/index.js     |   228 +
 .../geolocation/css/jquery.mobile.icons.min.css |     3 +
 .../samples/geolocation/css/theme.min.css       |   213 +
 .../apigee-sdk/samples/geolocation/js/index.js  |   133 +
 .../apigee-sdk/samples/messagee/app.js          |   634 +
 .../samples/messagee/usergrid.validation.js     |   249 +
 .../samples/push/android/AndroidManifest.xml    |    79 +
 .../samples/push/android/ant.properties         |    17 +
 .../push/android/assets/www/PushNotification.js |    65 +
 .../push/android/assets/www/cordova-2.7.0.js    |  6836 ++++
 .../push/android/assets/www/css/index.css       |   115 +
 .../push/android/assets/www/img/cordova.png     |   Bin 0 -> 19932 bytes
 .../push/android/assets/www/img/logo.png        |   Bin 0 -> 21814 bytes
 .../samples/push/android/assets/www/js/index.js |   241 +
 .../samples/push/android/assets/www/main.js     |   165 +
 .../samples/push/android/assets/www/master.css  |   116 +
 .../screen/android/screen-hdpi-landscape.png    |   Bin 0 -> 218302 bytes
 .../res/screen/android/screen-hdpi-portrait.png |   Bin 0 -> 222148 bytes
 .../screen/android/screen-ldpi-landscape.png    |   Bin 0 -> 42616 bytes
 .../res/screen/android/screen-ldpi-portrait.png |   Bin 0 -> 42034 bytes
 .../screen/android/screen-mdpi-landscape.png    |   Bin 0 -> 92347 bytes
 .../res/screen/android/screen-mdpi-portrait.png |   Bin 0 -> 90555 bytes
 .../screen/android/screen-xhdpi-landscape.png   |   Bin 0 -> 489604 bytes
 .../screen/android/screen-xhdpi-portrait.png    |   Bin 0 -> 504508 bytes
 .../samples/push/android/assets/www/spec.html   |    68 +
 .../push/android/assets/www/spec/helper.js      |    33 +
 .../push/android/assets/www/spec/index.js       |    67 +
 .../www/spec/lib/jasmine-1.2.0/MIT.LICENSE      |    20 +
 .../www/spec/lib/jasmine-1.2.0/jasmine-html.js  |   616 +
 .../www/spec/lib/jasmine-1.2.0/jasmine.css      |    81 +
 .../www/spec/lib/jasmine-1.2.0/jasmine.js       |  2529 ++
 .../apigee-sdk/samples/push/android/build.xml   |    92 +
 .../samples/push/android/cordova/appinfo.jar    |   Bin 0 -> 1574 bytes
 .../samples/push/android/cordova/build          |    24 +
 .../samples/push/android/cordova/clean          |    24 +
 .../samples/push/android/cordova/cordova        |   159 +
 .../apigee-sdk/samples/push/android/cordova/log |    24 +
 .../samples/push/android/cordova/release        |    24 +
 .../apigee-sdk/samples/push/android/cordova/run |    24 +
 .../push/android/libs/android-support-v13.jar   |   Bin 0 -> 402581 bytes
 .../samples/push/android/libs/cordova-2.7.0.jar |   Bin 0 -> 256941 bytes
 .../samples/push/android/libs/gcm.jar           |   Bin 0 -> 13662 bytes
 .../samples/push/android/proguard-project.txt   |    20 +
 .../samples/push/android/project.properties     |    14 +
 .../android/res/drawable-hdpi/ic_launcher.png   |   Bin 0 -> 9397 bytes
 .../push/android/res/drawable-hdpi/icon.png     |   Bin 0 -> 6080 bytes
 .../android/res/drawable-ldpi/ic_launcher.png   |   Bin 0 -> 2729 bytes
 .../push/android/res/drawable-ldpi/icon.png     |   Bin 0 -> 3096 bytes
 .../android/res/drawable-mdpi/ic_launcher.png   |   Bin 0 -> 5237 bytes
 .../push/android/res/drawable-mdpi/icon.png     |   Bin 0 -> 4090 bytes
 .../android/res/drawable-xhdpi/ic_launcher.png  |   Bin 0 -> 14383 bytes
 .../push/android/res/drawable-xhdpi/icon.png    |   Bin 0 -> 7685 bytes
 .../samples/push/android/res/drawable/icon.png  |   Bin 0 -> 7685 bytes
 .../samples/push/android/res/layout/main.xml    |    13 +
 .../samples/push/android/res/values/strings.xml |     4 +
 .../samples/push/android/res/xml/config.xml     |    62 +
 .../plugin/gcm/CordovaGCMBroadcastReceiver.java |    19 +
 .../src/com/plugin/gcm/GCMIntentService.java    |   163 +
 .../src/com/plugin/gcm/PushHandlerActivity.java |    66 +
 .../android/src/com/plugin/gcm/PushPlugin.java  |   216 +
 .../src/me/mdob/android/androidpush.java        |    36 +
 .../samples/push/ios/CordovaLib/Classes/CDV.h   |    57 +
 .../ios/CordovaLib/Classes/CDVAccelerometer.h   |    39 +
 .../ios/CordovaLib/Classes/CDVAccelerometer.m   |   128 +
 .../ios/CordovaLib/Classes/CDVAvailability.h    |    87 +
 .../push/ios/CordovaLib/Classes/CDVBattery.h    |    40 +
 .../push/ios/CordovaLib/Classes/CDVBattery.m    |   152 +
 .../push/ios/CordovaLib/Classes/CDVCamera.h     |    92 +
 .../push/ios/CordovaLib/Classes/CDVCamera.m     |   570 +
 .../push/ios/CordovaLib/Classes/CDVCapture.h    |   118 +
 .../push/ios/CordovaLib/Classes/CDVCapture.m    |   847 +
 .../ios/CordovaLib/Classes/CDVCommandDelegate.h |    54 +
 .../CordovaLib/Classes/CDVCommandDelegateImpl.h |    33 +
 .../CordovaLib/Classes/CDVCommandDelegateImpl.m |   145 +
 .../ios/CordovaLib/Classes/CDVCommandQueue.h    |    40 +
 .../ios/CordovaLib/Classes/CDVCommandQueue.m    |   169 +
 .../ios/CordovaLib/Classes/CDVConfigParser.h    |    28 +
 .../ios/CordovaLib/Classes/CDVConfigParser.m    |    70 +
 .../push/ios/CordovaLib/Classes/CDVConnection.h |    34 +
 .../push/ios/CordovaLib/Classes/CDVConnection.m |   132 +
 .../push/ios/CordovaLib/Classes/CDVContact.h    |   136 +
 .../push/ios/CordovaLib/Classes/CDVContact.m    |  1752 +
 .../push/ios/CordovaLib/Classes/CDVContacts.h   |   151 +
 .../push/ios/CordovaLib/Classes/CDVContacts.m   |   593 +
 .../push/ios/CordovaLib/Classes/CDVDebug.h      |    25 +
 .../ios/CordovaLib/Classes/CDVDebugConsole.h    |    28 +
 .../ios/CordovaLib/Classes/CDVDebugConsole.m    |    37 +
 .../push/ios/CordovaLib/Classes/CDVDevice.h     |    30 +
 .../push/ios/CordovaLib/Classes/CDVDevice.m     |    90 +
 .../push/ios/CordovaLib/Classes/CDVEcho.h       |    23 +
 .../push/ios/CordovaLib/Classes/CDVEcho.m       |    61 +
 .../push/ios/CordovaLib/Classes/CDVExif.h       |    43 +
 .../push/ios/CordovaLib/Classes/CDVFile.h       |   106 +
 .../push/ios/CordovaLib/Classes/CDVFile.m       |  1409 +
 .../ios/CordovaLib/Classes/CDVFileTransfer.h    |    74 +
 .../ios/CordovaLib/Classes/CDVFileTransfer.m    |   625 +
 .../ios/CordovaLib/Classes/CDVGlobalization.h   |   150 +
 .../ios/CordovaLib/Classes/CDVGlobalization.m   |   790 +
 .../ios/CordovaLib/Classes/CDVInAppBrowser.h    |    88 +
 .../ios/CordovaLib/Classes/CDVInAppBrowser.m    |   581 +
 .../CordovaLib/Classes/CDVInvokedUrlCommand.h   |    57 +
 .../CordovaLib/Classes/CDVInvokedUrlCommand.m   |   140 +
 .../push/ios/CordovaLib/Classes/CDVJSON.h       |    30 +
 .../push/ios/CordovaLib/Classes/CDVJSON.m       |    77 +
 .../CordovaLib/Classes/CDVJpegHeaderWriter.h    |    62 +
 .../CordovaLib/Classes/CDVJpegHeaderWriter.m    |   522 +
 .../ios/CordovaLib/Classes/CDVLocalStorage.h    |    50 +
 .../ios/CordovaLib/Classes/CDVLocalStorage.m    |   485 +
 .../push/ios/CordovaLib/Classes/CDVLocation.h   |   104 +
 .../push/ios/CordovaLib/Classes/CDVLocation.m   |   623 +
 .../push/ios/CordovaLib/Classes/CDVLogger.h     |    26 +
 .../push/ios/CordovaLib/Classes/CDVLogger.m     |    38 +
 .../ios/CordovaLib/Classes/CDVNotification.h    |    37 +
 .../ios/CordovaLib/Classes/CDVNotification.m    |   126 +
 .../push/ios/CordovaLib/Classes/CDVPlugin.h     |    64 +
 .../push/ios/CordovaLib/Classes/CDVPlugin.m     |   152 +
 .../ios/CordovaLib/Classes/CDVPluginResult.h    |    68 +
 .../ios/CordovaLib/Classes/CDVPluginResult.m    |   224 +
 .../ios/CordovaLib/Classes/CDVReachability.h    |    85 +
 .../ios/CordovaLib/Classes/CDVReachability.m    |   260 +
 .../Classes/CDVScreenOrientationDelegate.h      |    28 +
 .../push/ios/CordovaLib/Classes/CDVSound.h      |   116 +
 .../push/ios/CordovaLib/Classes/CDVSound.m      |   699 +
 .../ios/CordovaLib/Classes/CDVSplashScreen.h    |    33 +
 .../ios/CordovaLib/Classes/CDVSplashScreen.m    |   225 +
 .../ios/CordovaLib/Classes/CDVURLProtocol.h     |    29 +
 .../ios/CordovaLib/Classes/CDVURLProtocol.m     |   230 +
 .../ios/CordovaLib/Classes/CDVUserAgentUtil.h   |    27 +
 .../ios/CordovaLib/Classes/CDVUserAgentUtil.m   |   120 +
 .../ios/CordovaLib/Classes/CDVViewController.h  |    73 +
 .../ios/CordovaLib/Classes/CDVViewController.m  |   931 +
 .../ios/CordovaLib/Classes/CDVWebViewDelegate.h |    37 +
 .../ios/CordovaLib/Classes/CDVWebViewDelegate.m |   171 +
 .../push/ios/CordovaLib/Classes/CDVWhitelist.h  |    36 +
 .../push/ios/CordovaLib/Classes/CDVWhitelist.m  |   192 +
 .../CordovaLib/Classes/NSArray+Comparisons.h    |    26 +
 .../CordovaLib/Classes/NSArray+Comparisons.m    |    41 +
 .../push/ios/CordovaLib/Classes/NSData+Base64.h |    33 +
 .../push/ios/CordovaLib/Classes/NSData+Base64.m |   281 +
 .../Classes/NSDictionary+Extensions.h           |    35 +
 .../Classes/NSDictionary+Extensions.m           |   159 +
 .../Classes/NSMutableArray+QueueAdditions.h     |    29 +
 .../Classes/NSMutableArray+QueueAdditions.m     |    58 +
 .../CordovaLib/Classes/UIDevice+Extensions.h    |    31 +
 .../CordovaLib/Classes/UIDevice+Extensions.m    |    47 +
 .../Classes/compatibility/0.9.6/CDV.h           |    30 +
 .../Classes/compatibility/0.9.6/CDVPlugin.h     |    46 +
 .../Classes/compatibility/0.9.6/CDVPlugin.m     |    29 +
 .../Classes/compatibility/1.5.0/CDV.h           |    32 +
 .../Classes/compatibility/1.5.0/CDVPlugin.h     |    23 +
 .../CordovaLib/Classes/compatibility/README.txt |    23 +
 .../CordovaLib.xcodeproj/project.pbxproj        |   667 +
 .../push/ios/CordovaLib/CordovaLib_Prefix.pch   |    22 +
 .../samples/push/ios/CordovaLib/VERSION         |     1 +
 .../apigee-sdk/samples/push/ios/cordova/build   |    51 +
 .../apigee-sdk/samples/push/ios/cordova/emulate |    55 +
 .../apigee-sdk/samples/push/ios/cordova/log     |    23 +
 .../apigee-sdk/samples/push/ios/cordova/release |    51 +
 .../apigee-sdk/samples/push/ios/cordova/run     |    58 +
 .../push/ios/iospush.xcodeproj/project.pbxproj  |   623 +
 .../push/ios/iospush/Classes/AppDelegate.h      |    42 +
 .../push/ios/iospush/Classes/AppDelegate.m      |   122 +
 .../ios/iospush/Classes/MainViewController.h    |    40 +
 .../ios/iospush/Classes/MainViewController.m    |   174 +
 .../ios/iospush/Classes/MainViewController.xib  |   138 +
 .../iospush/Plugins/AppDelegate+notification.h  |    20 +
 .../iospush/Plugins/AppDelegate+notification.m  |   119 +
 .../push/ios/iospush/Plugins/PushPlugin.h       |    54 +
 .../push/ios/iospush/Plugins/PushPlugin.m       |   248 +
 .../samples/push/ios/iospush/Plugins/README     |    20 +
 .../Resources/Capture.bundle/controls_bg.png    |   Bin 0 -> 955 bytes
 .../Resources/Capture.bundle/controls_bg@2x.png |   Bin 0 -> 971 bytes
 .../Capture.bundle/controls_bg@2x~ipad.png      |   Bin 0 -> 2858 bytes
 .../Capture.bundle/controls_bg~ipad.png         |   Bin 0 -> 969 bytes
 .../microphone-568h@2x~iphone.png               |   Bin 0 -> 531673 bytes
 .../Resources/Capture.bundle/microphone.png     |   Bin 0 -> 72226 bytes
 .../Resources/Capture.bundle/microphone@2x.png  |   Bin 0 -> 282409 bytes
 .../Capture.bundle/microphone@2x~ipad.png       |   Bin 0 -> 911582 bytes
 .../Capture.bundle/microphone~ipad.png          |   Bin 0 -> 393975 bytes
 .../Resources/Capture.bundle/record_button.png  |   Bin 0 -> 5852 bytes
 .../Capture.bundle/record_button@2x.png         |   Bin 0 -> 13875 bytes
 .../Capture.bundle/record_button@2x~ipad.png    |   Bin 0 -> 15822 bytes
 .../Capture.bundle/record_button~ipad.png       |   Bin 0 -> 7547 bytes
 .../Resources/Capture.bundle/recording_bg.png   |   Bin 0 -> 973 bytes
 .../Capture.bundle/recording_bg@2x.png          |   Bin 0 -> 990 bytes
 .../Capture.bundle/recording_bg@2x~ipad.png     |   Bin 0 -> 1026 bytes
 .../Capture.bundle/recording_bg~ipad.png        |   Bin 0 -> 996 bytes
 .../Resources/Capture.bundle/stop_button.png    |   Bin 0 -> 5514 bytes
 .../Resources/Capture.bundle/stop_button@2x.png |   Bin 0 -> 12965 bytes
 .../Capture.bundle/stop_button@2x~ipad.png      |   Bin 0 -> 14474 bytes
 .../Capture.bundle/stop_button~ipad.png         |   Bin 0 -> 7119 bytes
 .../Resources/de.lproj/Localizable.strings      |    26 +
 .../Resources/en.lproj/Localizable.strings      |    25 +
 .../Resources/es.lproj/Localizable.strings      |    25 +
 .../ios/iospush/Resources/icons/icon-72.png     |   Bin 0 -> 4944 bytes
 .../ios/iospush/Resources/icons/icon-72@2x.png  |   Bin 0 -> 11706 bytes
 .../push/ios/iospush/Resources/icons/icon.png   |   Bin 0 -> 3902 bytes
 .../ios/iospush/Resources/icons/icon@2x.png     |   Bin 0 -> 7869 bytes
 .../Resources/se.lproj/Localizable.strings      |    26 +
 .../Resources/splash/Default-568h@2x~iphone.png |   Bin 0 -> 34225 bytes
 .../splash/Default-Landscape@2x~ipad.png        |   Bin 0 -> 77300 bytes
 .../Resources/splash/Default-Landscape~ipad.png |   Bin 0 -> 34935 bytes
 .../splash/Default-Portrait@2x~ipad.png         |   Bin 0 -> 76546 bytes
 .../Resources/splash/Default-Portrait~ipad.png  |   Bin 0 -> 34278 bytes
 .../Resources/splash/Default@2x~iphone.png      |   Bin 0 -> 29475 bytes
 .../iospush/Resources/splash/Default~iphone.png |   Bin 0 -> 10394 bytes
 .../samples/push/ios/iospush/config.xml         |    65 +
 .../samples/push/ios/iospush/iospush-Info.plist |    78 +
 .../samples/push/ios/iospush/iospush-Prefix.pch |    26 +
 .../apigee-sdk/samples/push/ios/iospush/main.m  |    35 +
 .../samples/push/ios/www/PushNotification.js    |    65 +
 .../samples/push/ios/www/cordova-2.6.0.js       |  6433 ++++
 .../samples/push/ios/www/css/index.css          |   115 +
 .../samples/push/ios/www/img/logo.png           |   Bin 0 -> 21814 bytes
 .../apigee-sdk/samples/push/ios/www/js/index.js |   217 +
 .../res/screen/ios/screen-ipad-landscape-2x.png |   Bin 0 -> 1534088 bytes
 .../res/screen/ios/screen-ipad-landscape.png    |   Bin 0 -> 407370 bytes
 .../res/screen/ios/screen-ipad-portrait-2x.png  |   Bin 0 -> 1610434 bytes
 .../www/res/screen/ios/screen-ipad-portrait.png |   Bin 0 -> 422441 bytes
 .../screen/ios/screen-iphone-landscape-2x.png   |   Bin 0 -> 339639 bytes
 .../res/screen/ios/screen-iphone-landscape.png  |   Bin 0 -> 92301 bytes
 .../screen/ios/screen-iphone-portrait-2x.png    |   Bin 0 -> 350593 bytes
 .../res/screen/ios/screen-iphone-portrait.png   |   Bin 0 -> 93897 bytes
 .../apigee-sdk/samples/push/ios/www/spec.html   |    68 +
 .../samples/push/ios/www/spec/helper.js         |    33 +
 .../samples/push/ios/www/spec/index.js          |    67 +
 .../ios/www/spec/lib/jasmine-1.2.0/MIT.LICENSE  |    20 +
 .../www/spec/lib/jasmine-1.2.0/jasmine-html.js  |   616 +
 .../ios/www/spec/lib/jasmine-1.2.0/jasmine.css  |    81 +
 .../ios/www/spec/lib/jasmine-1.2.0/jasmine.js   |  2529 ++
 .../samples/usersAndGroups/README.txt           |    22 +
 .../usersAndGroups/css/codiqa.ext.min.css       |     1 +
 .../usersAndGroups/css/images/ajax-loader.gif   |   Bin 0 -> 7825 bytes
 .../css/images/icons-18-black.png               |   Bin 0 -> 1968 bytes
 .../css/images/icons-18-white.png               |   Bin 0 -> 1988 bytes
 .../css/images/icons-36-black.png               |   Bin 0 -> 3859 bytes
 .../css/images/icons-36-white.png               |   Bin 0 -> 3861 bytes
 .../css/jquery.mobile-1.3.1.min.css             |     3 +
 .../samples/usersAndGroups/js/codiqa.ext.min.js |     6 +
 .../samples/usersAndGroups/js/index.js          |   345 +
 .../usersAndGroups/js/jquery-1.9.1.min.js       |     5 +
 .../js/jquery.mobile-1.3.1.min.js               |     7 +
 .../bower_components/apigee.max.ui/bower.json   |    19 +
 .../apigee.max.ui/dist/css/max.min.css          |     1 +
 .../apigee.max.ui/dist/img/no-data1.png         |   Bin 0 -> 45300 bytes
 .../apigee.max.ui/dist/img/phone-small.gif      |   Bin 0 -> 1300 bytes
 .../apigee.max.ui/dist/img/tablet-small.gif     |   Bin 0 -> 1390 bytes
 .../apigee.max.ui/dist/js/max-dev.min.js        |  1781 +
 .../apigee.max.ui/dist/js/max.min.js            |     4 +
 .../bower_components/intro.js/BUILD/BUILD.js    |    43 +
 .../2.0.2/bower_components/intro.js/Makefile    |     6 +
 .../2.0.2/bower_components/intro.js/README.md   |   487 +
 .../2.0.2/bower_components/intro.js/bower.json  |     9 +
 .../bower_components/intro.js/component.json    |    13 +
 .../2.0.2/bower_components/intro.js/intro.js    |   940 +
 .../bower_components/intro.js/introjs-rtl.css   |    22 +
 .../2.0.2/bower_components/intro.js/introjs.css |   248 +
 .../intro.js/minified/intro.min.js              |    24 +
 .../intro.js/minified/introjs-rtl.min.css       |     1 +
 .../intro.js/minified/introjs.min.css           |     1 +
 .../bower_components/intro.js/package.json      |    17 +
 .../jquery-waypoints/CHANGELOG.md               |    92 +
 .../jquery-waypoints/README.markdown            |    47 +
 .../jquery-waypoints/bower.json                 |    19 +
 .../jquery-waypoints/licenses.txt               |    23 +
 .../jquery-waypoints/package.json               |    19 +
 .../infinite-scroll/waypoints-infinite.js       |    67 +
 .../infinite-scroll/waypoints-infinite.min.js   |     8 +
 .../sticky-elements/waypoints-sticky.js         |    55 +
 .../sticky-elements/waypoints-sticky.min.js     |     8 +
 .../jquery-waypoints/waypoints.js               |   520 +
 .../jquery-waypoints/waypoints.min.js           |     8 +
 .../bower_components/jquery/MIT-LICENSE.txt     |    21 +
 .../2.0.2/bower_components/jquery/bower.json    |    27 +
 .../bower_components/jquery/dist/jquery.js      |  9174 +++++
 .../bower_components/jquery/dist/jquery.min.js  |     5 +
 .../bower_components/jquery/dist/jquery.min.map |     1 +
 .../2.0.2/bower_components/jquery/src/ajax.js   |   806 +
 .../bower_components/jquery/src/ajax/jsonp.js   |    89 +
 .../bower_components/jquery/src/ajax/load.js    |    75 +
 .../jquery/src/ajax/parseJSON.js                |    13 +
 .../jquery/src/ajax/parseXML.js                 |    28 +
 .../bower_components/jquery/src/ajax/script.js  |    64 +
 .../jquery/src/ajax/var/nonce.js                |     5 +
 .../jquery/src/ajax/var/rquery.js               |     3 +
 .../bower_components/jquery/src/ajax/xhr.js     |   135 +
 .../bower_components/jquery/src/attributes.js   |    11 +
 .../jquery/src/attributes/attr.js               |   143 +
 .../jquery/src/attributes/classes.js            |   158 +
 .../jquery/src/attributes/prop.js               |    96 +
 .../jquery/src/attributes/support.js            |    35 +
 .../jquery/src/attributes/val.js                |   163 +
 .../bower_components/jquery/src/callbacks.js    |   205 +
 .../2.0.2/bower_components/jquery/src/core.js   |   498 +
 .../bower_components/jquery/src/core/access.js  |    60 +
 .../bower_components/jquery/src/core/init.js    |   123 +
 .../jquery/src/core/parseHTML.js                |    39 +
 .../bower_components/jquery/src/core/ready.js   |    97 +
 .../jquery/src/core/var/rsingleTag.js           |     4 +
 .../2.0.2/bower_components/jquery/src/css.js    |   451 +
 .../jquery/src/css/addGetHookIf.js              |    24 +
 .../bower_components/jquery/src/css/curCSS.js   |    57 +
 .../jquery/src/css/defaultDisplay.js            |    70 +
 .../jquery/src/css/hiddenVisibleSelectors.js    |    15 +
 .../bower_components/jquery/src/css/support.js  |    91 +
 .../bower_components/jquery/src/css/swap.js     |    28 +
 .../jquery/src/css/var/cssExpand.js             |     3 +
 .../jquery/src/css/var/getStyles.js             |     5 +
 .../jquery/src/css/var/isHidden.js              |    13 +
 .../jquery/src/css/var/rmargin.js               |     3 +
 .../jquery/src/css/var/rnumnonpx.js             |     5 +
 .../2.0.2/bower_components/jquery/src/data.js   |   175 +
 .../bower_components/jquery/src/data/Data.js    |   181 +
 .../bower_components/jquery/src/data/accepts.js |    20 +
 .../jquery/src/data/var/data_priv.js            |     5 +
 .../jquery/src/data/var/data_user.js            |     5 +
 .../bower_components/jquery/src/deferred.js     |   149 +
 .../bower_components/jquery/src/deprecated.js   |    13 +
 .../bower_components/jquery/src/dimensions.js   |    50 +
 .../bower_components/jquery/src/effects.js      |   647 +
 .../jquery/src/effects/Tween.js                 |   114 +
 .../jquery/src/effects/animatedSelector.js      |    13 +
 .../2.0.2/bower_components/jquery/src/event.js  |   868 +
 .../bower_components/jquery/src/event/alias.js  |    39 +
 .../jquery/src/event/support.js                 |     9 +
 .../bower_components/jquery/src/exports/amd.js  |    24 +
 .../jquery/src/exports/global.js                |    32 +
 .../2.0.2/bower_components/jquery/src/intro.js  |    44 +
 .../2.0.2/bower_components/jquery/src/jquery.js |    36 +
 .../bower_components/jquery/src/manipulation.js |   582 +
 .../jquery/src/manipulation/_evalUrl.js         |    18 +
 .../jquery/src/manipulation/support.js          |    31 +
 .../src/manipulation/var/rcheckableType.js      |     3 +
 .../2.0.2/bower_components/jquery/src/offset.js |   204 +
 .../2.0.2/bower_components/jquery/src/outro.js  |     1 +
 .../2.0.2/bower_components/jquery/src/queue.js  |   142 +
 .../bower_components/jquery/src/queue/delay.js  |    22 +
 .../jquery/src/selector-native.js               |   172 +
 .../jquery/src/selector-sizzle.js               |    14 +
 .../bower_components/jquery/src/selector.js     |     1 +
 .../bower_components/jquery/src/serialize.js    |   111 +
 .../jquery/src/sizzle/dist/sizzle.js            |  2034 ++
 .../jquery/src/sizzle/dist/sizzle.min.js        |     3 +
 .../jquery/src/sizzle/dist/sizzle.min.map       |     1 +
 .../bower_components/jquery/src/traversing.js   |   200 +
 .../jquery/src/traversing/findFilter.js         |   100 +
 .../jquery/src/traversing/var/rneedsContext.js  |     6 +
 .../bower_components/jquery/src/var/arr.js      |     3 +
 .../jquery/src/var/class2type.js                |     4 +
 .../bower_components/jquery/src/var/concat.js   |     5 +
 .../bower_components/jquery/src/var/hasOwn.js   |     5 +
 .../bower_components/jquery/src/var/indexOf.js  |     5 +
 .../bower_components/jquery/src/var/pnum.js     |     3 +
 .../bower_components/jquery/src/var/push.js     |     5 +
 .../jquery/src/var/rnotwhite.js                 |     3 +
 .../bower_components/jquery/src/var/slice.js    |     5 +
 .../jquery/src/var/strundefined.js              |     3 +
 .../bower_components/jquery/src/var/support.js  |     4 +
 .../bower_components/jquery/src/var/toString.js |     5 +
 .../bower_components/jquery/src/var/trim.js     |     3 +
 .../2.0.2/bower_components/jquery/src/wrap.js   |    78 +
 .../bower_components/sizzle/dist/sizzle.js      |  2015 +
 .../bower_components/sizzle/dist/sizzle.min.js  |     3 +
 .../bower_components/sizzle/dist/sizzle.min.map |     1 +
 .../bower_components/sizzle/tasks/commit.js     |    10 +
 .../bower_components/sizzle/tasks/compile.js    |    34 +
 .../2.0.2/bower_components/sizzle/tasks/dist.js |    35 +
 .../bower_components/sizzle/tasks/release.js    |    43 +
 .../2.0.2/bower_components/sizzle/tasks/tag.js  |     9 +
 .../bower_components/sizzle/tasks/version.js    |    35 +
 .../bower_components/sizzle/test/data/empty.js  |     0
 .../sizzle/test/data/mixed_sort.html            |    22 +
 .../sizzle/test/data/testinit.js                |   136 +
 .../bower_components/sizzle/test/jquery.js      |  9597 +++++
 .../sizzle/test/libs/qunit/qunit.css            |   244 +
 .../sizzle/test/libs/qunit/qunit.js             |  2212 ++
 .../sizzle/test/unit/extending.js               |    95 +
 .../sizzle/test/unit/selector.js                |  1138 +
 .../sizzle/test/unit/utilities.js               |   169 +
 .../2.0.2/css/apigeeGlobalNavigation.css        |   274 +
 .../css/arsmarquette/ARSMaquettePro-Light.otf   |   Bin 0 -> 184600 bytes
 .../css/arsmarquette/ARSMaquettePro-Medium.otf  |   Bin 0 -> 188020 bytes
 .../css/arsmarquette/ARSMaquettePro-Regular.otf |   Bin 0 -> 188096 bytes
 portal/dist/appsvc-ui/2.0.2/css/dash.min.css    |     1 +
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.eot  |   Bin 0 -> 35540 bytes
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.svg  |    13 +
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.ttf  |   Bin 0 -> 35392 bytes
 .../dist/appsvc-ui/2.0.2/css/entypo/entypo.woff |   Bin 0 -> 21916 bytes
 portal/dist/appsvc-ui/2.0.2/css/main.css        |  1970 +
 .../2.0.2/img/appswitcher/apiPlatform_lg.png    |   Bin 0 -> 2397 bytes
 .../2.0.2/img/appswitcher/appServices_lg.png    |   Bin 0 -> 2295 bytes
 .../2.0.2/img/appswitcher/console_lg.png        |   Bin 0 -> 1453 bytes
 .../appsvc-ui/2.0.2/img/appswitcher/home_lg.png |   Bin 0 -> 1522 bytes
 .../2.0.2/img/appswitcher/logo_color.png        |   Bin 0 -> 3459 bytes
 .../appsvc-ui/2.0.2/img/appswitcher/max_lg.png  |   Bin 0 -> 1970 bytes
 .../img/appswitcher/triangleMenuItem_right.png  |   Bin 0 -> 1158 bytes
 .../triangleMenuItem_right_hover.png            |   Bin 0 -> 1169 bytes
 portal/dist/appsvc-ui/2.0.2/img/blue-bars.png   |   Bin 0 -> 3635 bytes
 portal/dist/appsvc-ui/2.0.2/img/blue-bolt.png   |   Bin 0 -> 3942 bytes
 portal/dist/appsvc-ui/2.0.2/img/blue-carat.png  |   Bin 0 -> 1006 bytes
 portal/dist/appsvc-ui/2.0.2/img/green_dot.png   |   Bin 0 -> 3472 bytes
 .../2.0.2/img/introjs_arrow_step_next.png       |   Bin 0 -> 219 bytes
 .../img/introjs_arrow_step_next_disabled.png    |   Bin 0 -> 220 bytes
 .../2.0.2/img/introjs_arrow_step_prev.png       |   Bin 0 -> 217 bytes
 .../img/introjs_arrow_step_prev_disabled.png    |   Bin 0 -> 218 bytes
 .../dist/appsvc-ui/2.0.2/img/introjs_close.png  |   Bin 0 -> 274 bytes
 portal/dist/appsvc-ui/2.0.2/img/logo.gif        |   Bin 0 -> 2279 bytes
 portal/dist/appsvc-ui/2.0.2/img/nav-device.gif  |   Bin 0 -> 2184 bytes
 portal/dist/appsvc-ui/2.0.2/img/nav-sprites.png |   Bin 0 -> 7953 bytes
 portal/dist/appsvc-ui/2.0.2/img/no-data1.png    |   Bin 0 -> 45300 bytes
 portal/dist/appsvc-ui/2.0.2/img/phone-small.gif |   Bin 0 -> 1300 bytes
 .../2.0.2/img/push/APNS_cert_upload.png         |   Bin 0 -> 33956 bytes
 .../2.0.2/img/push/APNS_certification.png       |   Bin 0 -> 16855 bytes
 .../2.0.2/img/push/android-notification.png     |   Bin 0 -> 41629 bytes
 .../appsvc-ui/2.0.2/img/push/google_api_key.png |   Bin 0 -> 98118 bytes
 .../appsvc-ui/2.0.2/img/push/iphone_message.png |   Bin 0 -> 90307 bytes
 portal/dist/appsvc-ui/2.0.2/img/push/step_1.png |   Bin 0 -> 1953 bytes
 portal/dist/appsvc-ui/2.0.2/img/push/step_2.png |   Bin 0 -> 2117 bytes
 portal/dist/appsvc-ui/2.0.2/img/push/step_3.png |   Bin 0 -> 2162 bytes
 portal/dist/appsvc-ui/2.0.2/img/red_dot.png     |   Bin 0 -> 3482 bytes
 .../appsvc-ui/2.0.2/img/sdk-sprites-large.png   |   Bin 0 -> 14642 bytes
 portal/dist/appsvc-ui/2.0.2/img/sdk-sprites.png |   Bin 0 -> 5027 bytes
 .../dist/appsvc-ui/2.0.2/img/tablet-small.gif   |   Bin 0 -> 1390 bytes
 portal/dist/appsvc-ui/2.0.2/img/user-photo.png  |   Bin 0 -> 3849 bytes
 .../dist/appsvc-ui/2.0.2/img/user_profile.png   |   Bin 0 -> 3775 bytes
 portal/dist/appsvc-ui/2.0.2/img/verify.png      |   Bin 0 -> 22934 bytes
 portal/dist/appsvc-ui/2.0.2/img/yellow_dot.png  |   Bin 0 -> 3475 bytes
 .../2.0.2/js/libs/Highcharts-2.3.5/index.htm    |    79 +
 .../js/adapters/mootools-adapter.js             |    13 +
 .../js/adapters/mootools-adapter.src.js         |   328 +
 .../js/adapters/prototype-adapter.js            |    16 +
 .../js/adapters/prototype-adapter.src.js        |   385 +
 .../libs/Highcharts-2.3.5/js/highcharts-more.js |    35 +
 .../Highcharts-2.3.5/js/highcharts-more.src.js  |  1581 +
 .../js/libs/Highcharts-2.3.5/js/highcharts.js   |   250 +
 .../libs/Highcharts-2.3.5/js/highcharts.src.js  | 15281 ++++++++
 .../Highcharts-2.3.5/js/modules/canvas-tools.js |   133 +
 .../js/modules/canvas-tools.src.js              |  3113 ++
 .../js/libs/Highcharts-2.3.5/js/modules/data.js |    14 +
 .../Highcharts-2.3.5/js/modules/data.src.js     |   512 +
 .../Highcharts-2.3.5/js/modules/exporting.js    |    23 +
 .../js/modules/exporting.src.js                 |   752 +
 .../Highcharts-2.3.5/js/themes/dark-blue.js     |   263 +
 .../Highcharts-2.3.5/js/themes/dark-green.js    |   263 +
 .../js/libs/Highcharts-2.3.5/js/themes/gray.js  |   262 +
 .../js/libs/Highcharts-2.3.5/js/themes/grid.js  |    95 +
 .../js/libs/Highcharts-2.3.5/js/themes/skies.js |    89 +
 portal/dist/appsvc-ui/2.0.2/js/libs/MD5.min.js  |     1 +
 .../js/libs/angular-1.0.5/angular-cookies.js    |   183 +
 .../libs/angular-1.0.5/angular-cookies.min.js   |     7 +
 .../js/libs/angular-1.0.5/angular-loader.js     |   276 +
 .../js/libs/angular-1.0.5/angular-loader.min.js |     7 +
 .../js/libs/angular-1.0.5/angular-mocks.js      |  1886 +
 .../js/libs/angular-1.0.5/angular-resource.js   |   445 +
 .../libs/angular-1.0.5/angular-resource.min.js  |    10 +
 .../js/libs/angular-1.0.5/angular-sanitize.js   |   535 +
 .../libs/angular-1.0.5/angular-sanitize.min.js  |    13 +
 .../2.0.2/js/libs/angular-1.0.5/angular.js      | 14733 ++++++++
 .../2.0.2/js/libs/angular-1.0.5/angular.min.js  |   161 +
 .../2.0.2/js/libs/angular-1.0.5/version.txt     |     1 +
 .../js/libs/angular-1.1.5/angular-1.1.5.js      | 16876 +++++++++
 .../js/libs/angular-1.1.5/angular-merge.min.js  |     8 +
 .../angular-1.1.5/angular-resource-1.1.5.js     |   537 +
 .../js/libs/angular-1.2.5/angular-animate.js    |  1323 +
 .../libs/angular-1.2.5/angular-animate.min.js   |    23 +
 .../angular-1.2.5/angular-animate.min.js.map    |     8 +
 .../js/libs/angular-1.2.5/angular-cookies.js    |   202 +
 .../libs/angular-1.2.5/angular-cookies.min.js   |     8 +
 .../angular-1.2.5/angular-cookies.min.js.map    |     8 +
 .../2.0.2/js/libs/angular-1.2.5/angular-csp.css |    24 +
 .../js/libs/angular-1.2.5/angular-loader.js     |   410 +
 .../js/libs/angular-1.2.5/angular-loader.min.js |     9 +
 .../angular-1.2.5/angular-loader.min.js.map     |     8 +
 .../js/libs/angular-1.2.5/angular-mocks.js      |  2116 ++
 .../js/libs/angular-1.2.5/angular-resource.js   |   565 +
 .../libs/angular-1.2.5/angular-resource.min.js  |    13 +
 .../angular-1.2.5/angular-resource.min.js.map   |     8 +
 .../js/libs/angular-1.2.5/angular-route.js      |   911 +
 .../js/libs/angular-1.2.5/angular-route.min.js  |    14 +
 .../libs/angular-1.2.5/angular-route.min.js.map |     8 +
 .../js/libs/angular-1.2.5/angular-sanitize.js   |   622 +
 .../libs/angular-1.2.5/angular-sanitize.min.js  |    14 +
 .../angular-1.2.5/angular-sanitize.min.js.map   |     8 +
 .../js/libs/angular-1.2.5/angular-scenario.js   | 32374 +++++++++++++++++
 .../js/libs/angular-1.2.5/angular-touch.js      |   563 +
 .../js/libs/angular-1.2.5/angular-touch.min.js  |    13 +
 .../libs/angular-1.2.5/angular-touch.min.js.map |     8 +
 .../2.0.2/js/libs/angular-1.2.5/angular.js      | 20369 +++++++++++
 .../2.0.2/js/libs/angular-1.2.5/angular.min.js  |   201 +
 .../js/libs/angular-1.2.5/angular.min.js.map    |     8 +
 .../2.0.2/js/libs/angular-1.2.5/errors.json     |     1 +
 .../2.0.2/js/libs/angular-1.2.5/version.json    |     1 +
 .../2.0.2/js/libs/angular-1.2.5/version.txt     |     1 +
 .../angularitics-0.8.5-google-analytics.js      |     7 +
 .../js/libs/angularitics/angularitics-0.8.5.js  |     6 +
 .../libs/bootstrap/css/bootstrap-responsive.css |  1345 +
 .../bootstrap/css/bootstrap-responsive.min.css  |  1245 +
 .../2.0.2/js/libs/bootstrap/css/bootstrap.css   |  6169 ++++
 .../js/libs/bootstrap/css/bootstrap.min.css     |  5469 +++
 .../js/libs/bootstrap/custom/css/bootstrap.css  |  6316 ++++
 .../libs/bootstrap/custom/css/bootstrap.min.css |     9 +
 .../custom/img/glyphicons-halflings-white.png   |   Bin 0 -> 8777 bytes
 .../custom/img/glyphicons-halflings.png         |   Bin 0 -> 12799 bytes
 .../js/libs/bootstrap/custom/js/bootstrap.js    |  2291 ++
 .../libs/bootstrap/custom/js/bootstrap.min.js   |     7 +
 .../img/glyphicons-halflings-white.png          |   Bin 0 -> 8777 bytes
 .../libs/bootstrap/img/glyphicons-halflings.png |   Bin 0 -> 12799 bytes
 .../2.0.2/js/libs/bootstrap/js/bootstrap.js     |  2117 ++
 .../2.0.2/js/libs/bootstrap/js/bootstrap.min.js |   644 +
 .../appsvc-ui/2.0.2/js/libs/google-viz-api.js   |    49 +
 .../2.0.2/js/libs/jquery/jquery-1.9.1.min.js    |     5 +
 .../js/libs/jquery/jquery-migrate-1.1.1.min.js  |     3 +
 .../js/libs/jquery/jquery.sparkline.min.js      |     5 +
 .../2.0.2/js/libs/jqueryui/date.min.js          |     2 +
 .../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
 .../jqueryui/images/ui-icons_000000_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_2694e8_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_2e83ff_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_3d80b3_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_72a7cf_256x240.png |   Bin 0 -> 4369 bytes
 .../jqueryui/images/ui-icons_ffffff_256x240.png |   Bin 0 -> 4369 bytes
 .../js/libs/jqueryui/jquery-ui-1.8.18.min.js    |    15 +
 .../js/libs/jqueryui/jquery-ui-1.8.9.custom.css |     1 +
 .../js/libs/jqueryui/jquery-ui-timepicker.css   |     1 +
 .../libs/jqueryui/jquery.ui.timepicker.min.js   |     1 +
 .../ui-bootstrap-custom-0.3.0.min.js            |     1 +
 .../ui-bootstrap-custom-tpls-0.3.0.min.js       |     1 +
 .../2.0.2/js/libs/usergrid-libs.min.js          |    22 +
 .../appsvc-ui/2.0.2/js/libs/usergrid.sdk.js     |  2474 ++
 .../dist/appsvc-ui/2.0.2/js/usergrid-dev.min.js |  4939 +++
 portal/dist/appsvc-ui/2.0.2/js/usergrid.min.js  |     6 +
 portal/dist/appsvc-ui/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 +
 .../archive/css/jquery-ui-timepicker.css        |    53 +
 .../archive/css/jquery.ui.statusbar.css         |    25 +
 portal/dist/appsvc-ui/archive/css/prettify.css  |    52 +
 .../appsvc-ui/archive/css/usergrid-stripped.css |  5199 +++
 portal/dist/appsvc-ui/archive/css/usergrid.css  |  5203 +++
 portal/dist/appsvc-ui/archive/dash/README.md    |     3 +
 .../archive/dash/config/testacular-e2e.conf.js  |    22 +
 .../archive/dash/config/testacular.conf.js      |    20 +
 .../appsvc-ui/archive/dash/test/e2e/runner.html |    10 +
 .../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 +
 .../archive/dash/test/unit/directivesSpec.js    |    19 +
 .../archive/dash/test/unit/filtersSpec.js       |    19 +
 .../archive/dash/test/unit/servicesSpec.js      |    14 +
 .../archive/images/APNS_cert_upload.png         |   Bin 0 -> 33956 bytes
 .../archive/images/APNS_certification.png       |   Bin 0 -> 16855 bytes
 .../archive/images/android-notification.png     |   Bin 0 -> 41629 bytes
 .../archive/images/android-sdk-download.png     |   Bin 0 -> 4848 bytes
 .../appsvc-ui/archive/images/api-activity.gif   |   Bin 0 -> 10819 bytes
 .../appsvc-ui/archive/images/apigee-logo.png    |   Bin 0 -> 3647 bytes
 .../appsvc-ui/archive/images/apigeetopbar.png   |   Bin 0 -> 4658 bytes
 .../archive/images/background_one_col.png       |   Bin 0 -> 3126 bytes
 .../archive/images/btn-copyCurl-up.png          |   Bin 0 -> 2762 bytes
 .../dist/appsvc-ui/archive/images/clippy-bg.png |   Bin 0 -> 561 bytes
 portal/dist/appsvc-ui/archive/images/close.gif  |   Bin 0 -> 718 bytes
 .../archive/images/dotnet-sdk-download.png      |   Bin 0 -> 7149 bytes
 .../appsvc-ui/archive/images/down_arrow.png     |   Bin 0 -> 1285 bytes
 portal/dist/appsvc-ui/archive/images/error.png  |   Bin 0 -> 2009 bytes
 .../appsvc-ui/archive/images/faviconApigee.ico  |   Bin 0 -> 1150 bytes
 .../images/glyphicons-halflings-white.png       |   Bin 0 -> 4352 bytes
 .../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
 .../appsvc-ui/archive/images/google_api_key.png |   Bin 0 -> 98118 bytes
 .../dist/appsvc-ui/archive/images/green_dot.png |   Bin 0 -> 3472 bytes
 portal/dist/appsvc-ui/archive/images/grid.png   |   Bin 0 -> 166 bytes
 portal/dist/appsvc-ui/archive/images/icons.png  |   Bin 0 -> 13132 bytes
 .../archive/images/ios-sdk-download.png         |   Bin 0 -> 4886 bytes
 .../appsvc-ui/archive/images/iphone_message.png |   Bin 0 -> 90307 bytes
 .../archive/images/javascript-sdk-download.png  |   Bin 0 -> 4618 bytes
 .../appsvc-ui/archive/images/left_arrow.png     |   Bin 0 -> 1257 bytes
 .../appsvc-ui/archive/images/logo-white.png     |   Bin 0 -> 2014 bytes
 .../archive/images/menuActiveTriangle.png       |   Bin 0 -> 315 bytes
 .../archive/images/nodejs-sdk-download.png      |   Bin 0 -> 5273 bytes
 portal/dist/appsvc-ui/archive/images/notice.png |   Bin 0 -> 2112 bytes
 .../appsvc-ui/archive/images/orange-arrow.png   |   Bin 0 -> 242 bytes
 .../archive/images/push_notifications_icon.png  |   Bin 0 -> 338 bytes
 .../dist/appsvc-ui/archive/images/red_dot.png   |   Bin 0 -> 3482 bytes
 .../appsvc-ui/archive/images/right_arrow.png    |   Bin 0 -> 1251 bytes
 .../archive/images/ruby-sdk-download.png        |   Bin 0 -> 6343 bytes
 portal/dist/appsvc-ui/archive/images/step_1.png |   Bin 0 -> 1953 bytes
 portal/dist/appsvc-ui/archive/images/step_2.png |   Bin 0 -> 2117 bytes
 portal/dist/appsvc-ui/archive/images/step_3.png |   Bin 0 -> 2162 bytes
 .../dist/appsvc-ui/archive/images/success.png   |   Bin 0 -> 1863 bytes
 .../appsvc-ui/archive/images/swish_arrow.png    |   Bin 0 -> 220 bytes
 .../appsvc-ui/archive/images/topbackground.png  |   Bin 0 -> 2890 bytes
 .../dist/appsvc-ui/archive/images/up_arrow.png  |   Bin 0 -> 1292 bytes
 .../appsvc-ui/archive/images/user-photo.png     |   Bin 0 -> 3849 bytes
 .../appsvc-ui/archive/images/user_profile.png   |   Bin 0 -> 3775 bytes
 .../appsvc-ui/archive/images/usergrid_200.png   |   Bin 0 -> 6397 bytes
 .../appsvc-ui/archive/images/usergrid_400.png   |   Bin 0 -> 8746 bytes
 .../dist/appsvc-ui/archive/images/warning.png   |   Bin 0 -> 1179 bytes
 .../appsvc-ui/archive/images/yellow_dot.png     |   Bin 0 -> 3475 bytes
 .../dist/appsvc-ui/archive/index-stripped2.html |  1795 +
 portal/dist/appsvc-ui/archive/index.html        |  1931 +
 portal/dist/appsvc-ui/archive/js/app/app.js     |   131 +
 portal/dist/appsvc-ui/archive/js/app/console.js |  5397 +++
 portal/dist/appsvc-ui/archive/js/app/helpers.js |   241 +
 .../dist/appsvc-ui/archive/js/app/navigation.js |   251 +
 portal/dist/appsvc-ui/archive/js/app/pages.js   |   161 +
 portal/dist/appsvc-ui/archive/js/app/params.js  |    30 +
 .../dist/appsvc-ui/archive/js/app/quickLogin.js |    30 +
 portal/dist/appsvc-ui/archive/js/app/session.js |   176 +
 portal/dist/appsvc-ui/archive/js/app/sso.js     |   135 +
 portal/dist/appsvc-ui/archive/js/app/status.js  |    37 +
 .../archive/js/app/ui/collections.entity.js     |   320 +
 .../archive/js/app/ui/collections.user.js       |   120 +
 portal/dist/appsvc-ui/archive/js/app/ui/ui.js   |   415 +
 .../appsvc-ui/archive/js/app/usergrid.appSDK.js |  2097 ++
 .../archive/js/app/usergrid.appSDK.orig.js      |  2070 ++
 portal/dist/appsvc-ui/archive/js/lib/MD5.min.js |     1 +
 .../dist/appsvc-ui/archive/js/lib/backbone.js   |  1431 +
 .../appsvc-ui/archive/js/lib/bootstrap.min.js   |     7 +
 .../dist/appsvc-ui/archive/js/lib/date.min.js   |     2 +
 .../archive/js/lib/jquery-1.7.2.min.js          |     4 +
 .../archive/js/lib/jquery-ui-1.8.18.min.js      |    15 +
 .../archive/js/lib/jquery.dataset.min.js        |     1 +
 .../archive/js/lib/jquery.dform-0.1.3.min.js    |    16 +
 .../archive/js/lib/jquery.jsonp-2.3.1.min.js    |     3 +
 .../appsvc-ui/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 +
 .../dist/appsvc-ui/archive/js/lib/prettify.js   |  1477 +
 .../appsvc-ui/archive/js/lib/underscore-min.js  |     5 +
 .../appsvc-ui/archive/js/spec/client-tests.js   |   159 +
 .../dist/appsvc-ui/archive/js/spec/index.html   |    20 +
 .../appsvc-ui/archive/js/spec/qunit-git.css     |   238 +
 .../dist/appsvc-ui/archive/js/spec/qunit-git.js |  1865 +
 .../archive/js/unit-tests/appSDK-tests.js       |   255 +
 .../archive/js/unit-tests/ie-jquery-tests.js    |   191 +
 .../appsvc-ui/archive/js/unit-tests/qunit.css   |   231 +
 .../appsvc-ui/archive/js/unit-tests/qunit.js    |  1934 +
 portal/dist/appsvc-ui/archive/loading.html      |     9 +
 portal/dist/appsvc-ui/archive/max/index.html    |     0
 .../dist/appsvc-ui/archive/planned_outage.html  |    48 +
 portal/dist/appsvc-ui/archive/push/index.html   |    34 +
 portal/dist/appsvc-ui/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 +
 .../archive/templates/test/modalForm2.html      |    32 +
 .../appsvc-ui/archive/test/autocomplete.html    |    25 +
 .../dist/appsvc-ui/archive/test/modalForm.html  |    32 +
 portal/dist/appsvc-ui/config.js                 |    60 +
 .../appsvc-ui/css/apigeeGlobalNavigation.css    |   274 +
 .../css/arsmarquette/ARSMaquettePro-Light.otf   |   Bin 0 -> 184600 bytes
 .../css/arsmarquette/ARSMaquettePro-Medium.otf  |   Bin 0 -> 188020 bytes
 .../css/arsmarquette/ARSMaquettePro-Regular.otf |   Bin 0 -> 188096 bytes
 portal/dist/appsvc-ui/css/dash.min.css          |     1 +
 portal/dist/appsvc-ui/css/entypo/entypo.eot     |   Bin 0 -> 35540 bytes
 portal/dist/appsvc-ui/css/entypo/entypo.svg     |    13 +
 portal/dist/appsvc-ui/css/entypo/entypo.ttf     |   Bin 0 -> 35392 bytes
 portal/dist/appsvc-ui/css/entypo/entypo.woff    |   Bin 0 -> 21916 bytes
 portal/dist/appsvc-ui/css/main.css              |  1970 +
 portal/dist/appsvc-ui/favicon.ico               |   Bin 0 -> 1150 bytes
 .../img/appswitcher/apiPlatform_lg.png          |   Bin 0 -> 2397 bytes
 .../img/appswitcher/appServices_lg.png          |   Bin 0 -> 2295 bytes
 .../appsvc-ui/img/appswitcher/console_lg.png    |   Bin 0 -> 1453 bytes
 .../dist/appsvc-ui/img/appswitcher/home_lg.png  |   Bin 0 -> 1522 bytes
 .../appsvc-ui/img/appswitcher/logo_color.png    |   Bin 0 -> 3459 bytes
 .../dist/appsvc-ui/img/appswitcher/max_lg.png   |   Bin 0 -> 1970 bytes
 .../img/appswitcher/triangleMenuItem_right.png  |   Bin 0 -> 1158 bytes
 .../triangleMenuItem_right_hover.png            |   Bin 0 -> 1169 bytes
 portal/dist/appsvc-ui/img/blue-bars.png         |   Bin 0 -> 3635 bytes
 portal/dist/appsvc-ui/img/blue-bolt.png         |   Bin 0 -> 3942 bytes
 portal/dist/appsvc-ui/img/blue-carat.png        |   Bin 0 -> 1006 bytes
 portal/dist/appsvc-ui/img/green_dot.png         |   Bin 0 -> 3472 bytes
 .../appsvc-ui/img/introjs_arrow_step_next.png   |   Bin 0 -> 219 bytes
 .../img/introjs_arrow_step_next_disabled.png    |   Bin 0 -> 220 bytes
 .../appsvc-ui/img/introjs_arrow_step_prev.png   |   Bin 0 -> 217 bytes
 .../img/introjs_arrow_step_prev_disabled.png    |   Bin 0 -> 218 bytes
 portal/dist/appsvc-ui/img/introjs_close.png     |   Bin 0 -> 274 bytes
 portal/dist/appsvc-ui/img/logo.gif              |   Bin 0 -> 2279 bytes
 portal/dist/appsvc-ui/img/nav-device.gif        |   Bin 0 -> 2184 bytes
 portal/dist/appsvc-ui/img/nav-sprites.png       |   Bin 0 -> 7953 bytes
 portal/dist/appsvc-ui/img/no-data1.png          |   Bin 0 -> 45300 bytes
 portal/dist/appsvc-ui/img/phone-small.gif       |   Bin 0 -> 1300 bytes
 .../appsvc-ui/img/push/APNS_cert_upload.png     |   Bin 0 -> 33956 bytes
 .../appsvc-ui/img/push/APNS_certification.png   |   Bin 0 -> 16855 bytes
 .../appsvc-ui/img/push/android-notification.png |   Bin 0 -> 41629 bytes
 .../dist/appsvc-ui/img/push/google_api_key.png  |   Bin 0 -> 98118 bytes
 .../dist/appsvc-ui/img/push/iphone_message.png  |   Bin 0 -> 90307 bytes
 portal/dist/appsvc-ui/img/push/step_1.png       |   Bin 0 -> 1953 bytes
 portal/dist/appsvc-ui/img/push/step_2.png       |   Bin 0 -> 2117 bytes
 portal/dist/appsvc-ui/img/push/step_3.png       |   Bin 0 -> 2162 bytes
 portal/dist/appsvc-ui/img/red_dot.png           |   Bin 0 -> 3482 bytes
 portal/dist/appsvc-ui/img/sdk-sprites-large.png |   Bin 0 -> 14642 bytes
 portal/dist/appsvc-ui/img/sdk-sprites.png       |   Bin 0 -> 5027 bytes
 portal/dist/appsvc-ui/img/tablet-small.gif      |   Bin 0 -> 1390 bytes
 portal/dist/appsvc-ui/img/user-photo.png        |   Bin 0 -> 3849 bytes
 portal/dist/appsvc-ui/img/user_profile.png      |   Bin 0 -> 3775 bytes
 portal/dist/appsvc-ui/img/verify.png            |   Bin 0 -> 22934 bytes
 portal/dist/appsvc-ui/img/yellow_dot.png        |   Bin 0 -> 3475 bytes
 portal/dist/appsvc-ui/index-debug.html          |   167 +
 portal/dist/appsvc-ui/index-template.html       |   172 +
 portal/dist/appsvc-ui/index.html                |   167 +
 portal/dist/appsvc-ui/js/charts/highcharts.json |   329 +
 portal/dist/appsvc-ui/sdk/usergrid.0.10.4.js    |  1402 +
 portal/dist/appsvc-ui/sdk/usergrid.0.10.5.js    |  1755 +
 portal/dist/appsvc-ui/sdk/usergrid.0.10.7.js    |  2265 ++
 portal/img/introjs_arrow_step_next.png          |   Bin 0 -> 219 bytes
 portal/img/introjs_arrow_step_next_disabled.png |   Bin 0 -> 220 bytes
 portal/img/introjs_arrow_step_prev.png          |   Bin 0 -> 217 bytes
 portal/img/introjs_arrow_step_prev_disabled.png |   Bin 0 -> 218 bytes
 portal/img/introjs_close.png                    |   Bin 0 -> 274 bytes
 portal/index-debug.html                         |    79 +-
 portal/index-template.html                      |    65 +-
 portal/index.html                               |    79 +-
 portal/js/app.js                                |   255 +-
 portal/js/data/shell-controller.js              |     9 -
 portal/js/global/help-service.js                |   140 +
 portal/js/global/page-controller.js             |   349 +-
 portal/js/global/page-title.js                  |    13 +-
 portal/js/global/ug-service.js                  |    20 +-
 .../js/libs/bootstrap/custom/css/bootstrap.css  |    15 +-
 .../libs/bootstrap/custom/css/bootstrap.min.css |     2 +-
 portal/js/libs/usergrid-libs.min.js             |    22 +-
 portal/js/libs/usergrid.sdk.js                  |     4 +-
 portal/js/login/login-controller.js             |    10 +-
 portal/js/login/login.html                      |     3 +-
 .../js/org-overview/org-overview-controller.js  |     4 +-
 portal/js/org-overview/org-overview.html        |   149 +-
 portal/js/org-overview/org-overview.html.orig   |   188 +
 portal/js/roles/roles.html                      |     9 +-
 portal/js/shell/shell-controller.js             |     5 +-
 portal/js/shell/shell.html                      |     1 +
 portal/js/templates.js                          |   163 +-
 portal/js/usergrid-dev.min.js                   |   174 +-
 portal/js/usergrid.min.js                       |    10 +-
 portal/package.json                             |    17 +-
 .../instrument/js/usergrid-coverage.min.js      |     6 +
 .../test/coverage/instrument/js/usergrid.min.js |     3 +
 portal/tests/protractor/applications.spec.js    |     2 +-
 .../tests/protractor/coverage/coverage.spec.js  |     7 +
 portal/tests/protractor/data.spec.js            |     2 +-
 portal/tests/protractor/forgotPassword.spec.js  |     4 +-
 portal/tests/protractor/login.spec.js           |    45 +
 portal/tests/protractor/organization.spec.js    |     2 +-
 portal/tests/protractor/profile.spec.js         |     6 +-
 portal/tests/protractor/roles.spec.js           |    40 +
 portal/tests/protractor/shell.spec.js           |   121 +
 portal/tests/protractor/users.spec.js           |    45 +-
 portal/tests/protractor/util.js                 |    81 +-
 portal/tests/protractorConf.js                  |     3 +-
 portal/tests/unit/sample.spec.js                |     1 +
 sdks/html5-javascript/README.md                 |    77 +-
 sdks/html5-javascript/changelog.md              |     3 +
 sdks/html5-javascript/examples/test/test.js     |    40 +-
 sdks/html5-javascript/lib/Usergrid.js           |     8 +-
 sdks/html5-javascript/lib/modules/Client.js     |    33 +-
 sdks/html5-javascript/lib/modules/Entity.js     |   102 +-
 sdks/html5-javascript/package.json              |     2 +-
 sdks/html5-javascript/tests/mocha/test.js       |    34 +-
 sdks/html5-javascript/usergrid.js               |   102 +-
 sdks/html5-javascript/usergrid.min.js           |     6 +-
 sdks/nodejs/lib/usergrid.js                     |    74 +-
 sdks/nodejs/package.json                        |     3 +-
 878 files changed, 339973 insertions(+), 957 deletions(-)
----------------------------------------------------------------------



[13/43] git commit: Reverse localhost designation.

Posted by sn...@apache.org.
Reverse localhost designation.


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

Branch: refs/pull/96/merge
Commit: db226fde292d2f0ba8b4864fdbe6e66dde26746e
Parents: 30c0a98
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 17:26:13 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 17:26:13 2014 -0700

----------------------------------------------------------------------
 portal/config.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/db226fde/portal/config.js
----------------------------------------------------------------------
diff --git a/portal/config.js b/portal/config.js
index 40a968f..12f1fe5 100644
--- a/portal/config.js
+++ b/portal/config.js
@@ -19,7 +19,7 @@ Usergrid.showNotifcations = true;
 
 
 // used only if hostname does not match a real server name
-Usergrid.overrideUrl = 'https://localhost:8080/';
+Usergrid.overrideUrl = 'https://api.usergrid.com/';
 
 Usergrid.options = {
   client:{


[22/43] git commit: Removed extraneous code. Added licenses to new refactored tests. Fixed singleton/concurrency issue in test cases. Removed validity tests as all tests enforce validity in a certain way. Made Mock export filename storage final, so that

Posted by sn...@apache.org.
Removed extraneous code.
Added licenses to new refactored tests.
Fixed singleton/concurrency issue in test cases.
Removed validity tests as all tests enforce validity in a certain way.
Made Mock export filename storage final, so that it can not be overwritten by concurrency issues.


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

Branch: refs/pull/96/merge
Commit: cb76cca98c60e32e555e6e180ec3d17fb26d1b28
Parents: 6527517
Author: grey <gr...@apigee.com>
Authored: Wed Apr 2 13:45:25 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Wed Apr 2 13:45:25 2014 -0700

----------------------------------------------------------------------
 .../applications/ApplicationResource.java       |  25 --
 .../rest/management/ExportResourceIT.java       |  17 ++
 .../management/export/ExportService.java        |   1 -
 .../management/export/ExportServiceImpl.java    |  32 +-
 .../usergrid/management/export/S3Export.java    |   2 -
 .../management/export/S3ExportImpl.java         |   2 -
 .../usergrid/ConcurrentServiceITSuite.java      |   3 +-
 .../management/cassandra/ExportServiceIT.java   | 296 +++++--------------
 .../management/cassandra/MockS3ExportImpl.java  |  13 +-
 9 files changed, 113 insertions(+), 278 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
index 14268da..a5fffdc 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
@@ -342,29 +342,4 @@ public class ApplicationResource extends AbstractContextResource {
 
         return Response.status( SC_ACCEPTED ).entity( uuidRet ).build();
     }
-
-
-//    @GET
-//    @RequireOrganizationAccess
-//    @Path("export/{exportEntity: [A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}}")
-//    public Response exportGetJson( @Context UriInfo ui, @PathParam("exportEntity") UUID exportEntityUUIDStr,
-//                                   @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
-//
-//        Export entity;
-//        try {
-//            entity = smf.getServiceManager( applicationId ).getEntityManager().get( exportEntityUUIDStr, Export.class );
-//        }
-//        catch ( Exception e ) { //this might not be a bad request and needs better error checking
-//            return Response.status( SC_BAD_REQUEST ).type( JSONPUtils.jsonMediaType( callback ) )
-//                           .entity( ServiceResource.wrapWithCallback( e.getMessage(), callback ) ).build();
-//        }
-//
-//        if ( entity == null ) {
-//            return Response.status( SC_BAD_REQUEST ).build();
-//        }
-//
-//        return Response.status( SC_OK ).entity( entity).build();
-//    }
-
-
 }

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

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
index 3cba828..5a14012 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
@@ -46,5 +46,4 @@ public interface ExportService {
 
     String getErrorMessage( UUID appId, UUID state ) throws Exception;
 
-    void setS3Export( S3Export s3Export );
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 199bc07..18bd130 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -32,7 +32,6 @@ import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.util.DefaultPrettyPrinter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 
 import org.apache.usergrid.batch.JobExecution;
 import org.apache.usergrid.batch.service.SchedulerService;
@@ -80,7 +79,7 @@ public class ExportServiceImpl implements ExportService {
 
     private JsonFactory jsonFactory = new JsonFactory();
 
-    private S3Export s3Export;
+    //private S3Export s3Export;
 
     private String defaultAppExportname = "exporters";
 
@@ -88,6 +87,7 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public UUID schedule( final Map<String, Object> config ) throws Exception {
         ApplicationInfo defaultExportApp = null;
+        S3Export exportTransfer = new S3ExportImpl();
 
         if ( config == null ) {
             logger.error( "export information cannot be null" );
@@ -127,6 +127,7 @@ public class ExportServiceImpl implements ExportService {
         JobData jobData = new JobData();
         jobData.setProperty( "exportInfo", config );
         jobData.setProperty( EXPORT_ID, export.getUuid() );
+        jobData.setProperty( "s3Export", exportTransfer);
 
         long soonestPossible = System.currentTimeMillis() + 250; //sch grace period
 
@@ -196,6 +197,7 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public void doExport( final JobExecution jobExecution ) throws Exception {
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
+        S3Export s3Export = ( S3Export )jobExecution.getJobData().getProperty( "s3Export" );
 
 //        UUID scopedAppId = ( UUID ) config.get( "applicationId" );
 
@@ -222,7 +224,7 @@ public class ExportServiceImpl implements ExportService {
         else if ( config.get( "applicationId" ) == null ) {
             //exports All the applications from an organization
             try {
-                exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution );
+                exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution,s3Export );
             }
             catch ( Exception e ) {
                 export.setErrorMessage( e.getMessage() );
@@ -235,7 +237,7 @@ public class ExportServiceImpl implements ExportService {
             //exports an Application from a single organization
             try {
                 exportApplicationFromOrg( ( UUID ) config.get( "organizationId" ),
-                        ( UUID ) config.get( "applicationId" ), config, jobExecution );
+                        ( UUID ) config.get( "applicationId" ), config, jobExecution, s3Export );
             }
             catch ( Exception e ) {
                 export.setErrorMessage( e.getMessage() );
@@ -249,7 +251,7 @@ public class ExportServiceImpl implements ExportService {
                 //exports a single collection from an app org combo
                 try {
                     exportCollectionFromOrgApp( ( UUID ) config.get( "organizationId" ),
-                            ( UUID ) config.get( "applicationId" ), config, jobExecution );
+                            ( UUID ) config.get( "applicationId" ), config, jobExecution,s3Export );
                 }
                 catch ( Exception e ) {
                     export.setErrorMessage( e.getMessage() );
@@ -313,7 +315,7 @@ public class ExportServiceImpl implements ExportService {
      * Exports All Applications from an Organization
      */
     private void exportApplicationsFromOrg( UUID organizationUUID, final Map<String, Object> config,
-                                            final JobExecution jobExecution ) throws Exception {
+                                            final JobExecution jobExecution, S3Export s3Export ) throws Exception {
 
         //TODO: move extranous code out of these methods and make each one more distinct.
         //retrieves export entity
@@ -333,7 +335,7 @@ public class ExportServiceImpl implements ExportService {
 
             ByteArrayOutputStream baos = collectionExportAndQuery(application.getKey(),config,export,jobExecution);
 
-            fileTransfer( export,appFileName,baos,config );
+            fileTransfer( export,appFileName,baos,config, s3Export );
 
 //            InputStream is = new ByteArrayInputStream( baos.toByteArray() );
 //            try {
@@ -346,7 +348,7 @@ public class ExportServiceImpl implements ExportService {
         }
     }
 
-    public void fileTransfer(Export export,String appFileName,ByteArrayOutputStream baos,Map<String,Object> config) {
+    public void fileTransfer(Export export,String appFileName,ByteArrayOutputStream baos,Map<String,Object> config, S3Export s3Export) {
         InputStream is = new ByteArrayInputStream( baos.toByteArray() );
         try {
             s3Export.copyToS3( is, config, appFileName );
@@ -364,7 +366,7 @@ public class ExportServiceImpl implements ExportService {
      * Exports a specific applications from an organization
      */
     private void exportApplicationFromOrg( UUID organizationUUID, UUID applicationId, final Map<String, Object> config,
-                                           final JobExecution jobExecution ) throws Exception {
+                                           final JobExecution jobExecution, S3Export s3Export ) throws Exception {
 
         //retrieves export entity
         Export export = getExportEntity(jobExecution);
@@ -374,7 +376,7 @@ public class ExportServiceImpl implements ExportService {
 
         ByteArrayOutputStream baos = collectionExportAndQuery(applicationId,config,export,jobExecution);
 
-        fileTransfer( export,appFileName,baos,config );
+        fileTransfer( export,appFileName,baos,config, s3Export );
         //sets up the Inputstream for copying the method to s3.
 //        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
 //        try {
@@ -392,7 +394,7 @@ public class ExportServiceImpl implements ExportService {
      */
     //might be confusing, but uses the /s/ inclusion or exclusion nomenclature.
     private void exportCollectionFromOrgApp( UUID organizationUUID, UUID applicationUUID,
-                                             final Map<String, Object> config, final JobExecution jobExecution )
+                                             final Map<String, Object> config, final JobExecution jobExecution, S3Export s3Export )
             throws Exception {
 
         //retrieves export entity
@@ -408,7 +410,7 @@ public class ExportServiceImpl implements ExportService {
         //sets up the Inputstream for copying the method to s3.
         InputStream is = new ByteArrayInputStream( baos.toByteArray() );
 
-        fileTransfer( export,appFileName,baos,config );
+        fileTransfer( export,appFileName,baos,config, s3Export );
 //        try {
 //            s3Export.copyToS3( is, config, appFileName );
 //        }
@@ -644,7 +646,7 @@ public class ExportServiceImpl implements ExportService {
     }
 
 
-    @Autowired
-    @Override
-    public void setS3Export( S3Export s3Export ) { this.s3Export = s3Export; }
+//    @Autowired
+//    @Override
+//    public void setS3Export( S3Export s3Export ) { this.s3Export = s3Export; }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
index 5b416d0..63b10d9 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
@@ -30,6 +30,4 @@ public interface S3Export {
 
     String getFilename ();
 
-    void setFilename (String givenName);
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index c6cfc37..521f962 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -108,6 +108,4 @@ public class S3ExportImpl implements S3Export {
     @Override
     public String getFilename () {return fn;}
 
-    @Override
-    public void setFilename(String givenName) {fn = givenName;}
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/test/java/org/apache/usergrid/ConcurrentServiceITSuite.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/ConcurrentServiceITSuite.java b/stack/services/src/test/java/org/apache/usergrid/ConcurrentServiceITSuite.java
index ef84a3c..2db2c48 100644
--- a/stack/services/src/test/java/org/apache/usergrid/ConcurrentServiceITSuite.java
+++ b/stack/services/src/test/java/org/apache/usergrid/ConcurrentServiceITSuite.java
@@ -27,6 +27,7 @@ import org.apache.usergrid.management.EmailFlowIT;
 import org.apache.usergrid.management.OrganizationIT;
 import org.apache.usergrid.management.RoleIT;
 import org.apache.usergrid.management.cassandra.ApplicationCreatorIT;
+import org.apache.usergrid.management.cassandra.ExportServiceIT;
 import org.apache.usergrid.management.cassandra.ManagementServiceIT;
 import org.apache.usergrid.security.providers.FacebookProviderIT;
 import org.apache.usergrid.security.providers.PingIdentityProviderIT;
@@ -47,7 +48,7 @@ import org.apache.usergrid.services.UsersServiceIT;
 @Suite.SuiteClasses(
         {
                 ActivitiesServiceIT.class, ApplicationCreatorIT.class, ApplicationsServiceIT.class,
-                CollectionServiceIT.class, ConnectionsServiceIT.class, ManagementServiceIT.class, EmailFlowIT.class,
+                CollectionServiceIT.class, ConnectionsServiceIT.class, ManagementServiceIT.class, ExportServiceIT.class ,EmailFlowIT.class,
                 FacebookProviderIT.class, GroupServiceIT.class, OrganizationIT.class, PingIdentityProviderIT.class,
                 RolesServiceIT.class, RoleIT.class, ServiceRequestIT.class, ServiceFactoryIT.class,
                 ServiceInvocationIT.class, TokenServiceIT.class, UsersServiceIT.class

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index 5764053..f64412d 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -1,3 +1,20 @@
+/*
+ * 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.management.cassandra;
 
 
@@ -42,14 +59,11 @@ import org.apache.usergrid.management.export.S3Export;
 import org.apache.usergrid.management.export.S3ExportImpl;
 import org.apache.usergrid.persistence.Entity;
 import org.apache.usergrid.persistence.EntityManager;
-import org.apache.usergrid.persistence.EntityManagerFactory;
-import org.apache.usergrid.persistence.entities.Export;
 import org.apache.usergrid.persistence.entities.JobData;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
-import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION_ID;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -83,9 +97,9 @@ public class ExportServiceIT {
     @BeforeClass
     public static void setup() throws Exception {
         LOG.info( "in setup" );
-        adminUser = setup.getMgmtSvc().createAdminUser( "edanuff", "Ed Anuff", "ed@anuff.com", "test", false, false );
-        organization = setup.getMgmtSvc().createOrganization( "ed-organization", adminUser, true );
-        applicationId = setup.getMgmtSvc().createApplication( organization.getUuid(), "ed-application" ).getId();
+        adminUser = setup.getMgmtSvc().createAdminUser( "grey", "George Reyes", "george@reyes.com", "test", false, false );
+        organization = setup.getMgmtSvc().createOrganization( "george-organization", adminUser, true );
+        applicationId = setup.getMgmtSvc().createApplication( organization.getUuid(), "george-application" ).getId();
     }
 
 
@@ -105,8 +119,7 @@ public class ExportServiceIT {
         }
         f.deleteOnExit();
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "testFileConnections.json" );
+        S3Export s3Export = new MockS3ExportImpl("testFileConnections.json" );
 
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
@@ -133,13 +146,9 @@ public class ExportServiceIT {
         em.createConnection( em.getRef( entity[1].getUuid() ), "Vibrations", em.getRef( entity[0].getUuid() ) );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
         //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator( payload,exportUUID,s3Export );
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -186,8 +195,7 @@ public class ExportServiceIT {
         }
 
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "testConnectionsOnApplicationEndpoint.json" );
+        S3Export s3Export = new MockS3ExportImpl( "testConnectionsOnApplicationEndpoint.json" );
 
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
@@ -213,13 +221,9 @@ public class ExportServiceIT {
         em.createConnection( em.getRef( entity[1].getUuid() ), "Vibrations", em.getRef( entity[0].getUuid() ) );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
         //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -256,103 +260,6 @@ public class ExportServiceIT {
         f.deleteOnExit();
     }
 
-    //
-    ////need to add tests for the other endpoint as well.
-    @Test
-    public void testValidityOfCollectionExport() throws Exception {
-
-        File f = null;
-
-        try {
-            f = new File( "fileValidity.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "fileValidity.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-        payload.put( "collectionName", "users" );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
-            assertNotNull( entityData );
-        }
-        f.deleteOnExit();
-    }
-
-
-    //
-    @Test
-    public void testValidityOfApplicationExport() throws Exception {
-
-        File f = null;
-
-        try {
-            f = new File( "testValidityOfApplicationExport.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "testValidityOfApplicationExport.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
-            assertNotNull( entityData );
-        }
-        f.deleteOnExit();
-    }
-
-
-    //
     @Test
     public void testExportOneOrgCollectionEndpoint() throws Exception {
 
@@ -369,8 +276,8 @@ public class ExportServiceIT {
              .createOwnerAndOrganization( "noExport", "junkUserName", "junkRealName", "ugExport@usergrid.com",
                      "123456789" );
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneOrg.json" );
+        S3Export s3Export = new MockS3ExportImpl("exportOneOrg.json");
+      //  s3Export.setFilename( "exportOneOrg.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
@@ -379,12 +286,10 @@ public class ExportServiceIT {
         payload.put( "collectionName", "roles" );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
+        //exportService.setS3Export( s3Export );
+
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -413,7 +318,7 @@ public class ExportServiceIT {
     public void testExportOneAppOnCollectionEndpoint() throws Exception {
 
         File f = null;
-        String orgName = "ed-organization";
+        String orgName = "george-organization";
         String appName = "testAppCollectionTestNotExported";
 
         try {
@@ -437,12 +342,12 @@ public class ExportServiceIT {
         for ( int i = 0; i < 1; i++ ) {
             userProperties = new LinkedHashMap<String, Object>();
             userProperties.put( "username", "junkRealName" );
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            userProperties.put( "email", "test" + i + "@anuff.com" );
             entity[i] = em.create( "user", userProperties );
         }
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneApp.json" );
+        S3Export s3Export = new MockS3ExportImpl("exportOneApp.json");
+        //s3Export.setFilename( "exportOneApp.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
@@ -450,12 +355,8 @@ public class ExportServiceIT {
         payload.put( "applicationId", applicationId );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -474,8 +375,8 @@ public class ExportServiceIT {
             assertFalse( "junkRealName".equals( entityName ) );
         }
     }
-
-
+//
+//
     @Test
     public void testExportOneAppOnApplicationEndpointWQuery() throws Exception {
 
@@ -503,8 +404,7 @@ public class ExportServiceIT {
             entity[i] = em.create( "users", userProperties );
         }
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneAppWQuery.json" );
+        S3Export s3Export = new MockS3ExportImpl("exportOneAppWQuery.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
@@ -513,12 +413,8 @@ public class ExportServiceIT {
         payload.put( "applicationId", applicationId );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -569,8 +465,7 @@ public class ExportServiceIT {
             entity[i] = em.create( "qts", userProperties );
         }
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneCollection.json" );
+        S3Export s3Export = new MockS3ExportImpl("exportOneCollection.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
@@ -579,12 +474,8 @@ public class ExportServiceIT {
         payload.put( "collectionName", "qts" );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -627,8 +518,7 @@ public class ExportServiceIT {
             entity[i] = em.create( "baconators", userProperties );
         }
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneCollectionWQuery.json" );
+        S3Export s3Export = new MockS3ExportImpl("exportOneCollectionWQuery.json");
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
         payload.put( "query", "select * where username contains 'billybob0'" );
@@ -638,12 +528,8 @@ public class ExportServiceIT {
         payload.put( "collectionName", "baconators" );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -689,8 +575,8 @@ public class ExportServiceIT {
             entity[i] = em.create( "newOrg", userProperties );
         }
 
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneOrganization.json" );
+        S3Export s3Export = new MockS3ExportImpl("exportOneOrganization.json" );
+
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
@@ -719,12 +605,8 @@ public class ExportServiceIT {
         payload.put( "applicationId", appMade.getId() );
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator(payload,exportUUID,s3Export);
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -769,48 +651,6 @@ public class ExportServiceIT {
         assert ( true );
     }
 
-
-    @Test
-    public void testExportDoExportOnApplicationEndpoint() throws Exception {
-
-        EntityManagerFactory emf = setup.getEmf();
-        EntityManager em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
-        HashMap<String, Object> payload = payloadBuilder();
-        ExportService eS = setup.getExportService();
-
-        JobExecution jobExecution = mock( JobExecution.class );
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        UUID entityExportUUID = eS.schedule( payload );
-
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", entityExportUUID );
-
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        //Exportem.get(entityExport);
-        Export exportEntity = ( Export ) em.get( entityExportUUID );
-        assertNotNull( exportEntity );
-        String derp = exportEntity.getState().name();
-        assertEquals( "SCHEDULED", exportEntity.getState().name() );
-        try {
-            eS.doExport( jobExecution );
-        }
-        catch ( Exception e ) {
-            //throw e;
-            assert ( false );
-        }
-        exportEntity = ( Export ) em.get( entityExportUUID );
-        assertNotNull( exportEntity );
-        assertEquals( "FINISHED", exportEntity.getState().name() );
-    }
-
-
     //tests that with empty job data, the export still runs.
     @Test
     public void testExportEmptyJobData() throws Exception {
@@ -823,7 +663,7 @@ public class ExportServiceIT {
 
         ExportJob job = new ExportJob();
         S3Export s3Export = mock( S3Export.class );
-        setup.getExportService().setS3Export( s3Export );
+        //setup.getExportService().setS3Export( s3Export );
         job.setExportService( setup.getExportService() );
         try {
             job.doJob( jobExecution );
@@ -846,7 +686,7 @@ public class ExportServiceIT {
 
         ExportJob job = new ExportJob();
         S3Export s3Export = mock( S3Export.class );
-        setup.getExportService().setS3Export( s3Export );
+       // setup.getExportService().setS3Export( s3Export );
         job.setExportService( setup.getExportService() );
         try {
             job.doJob( jobExecution );
@@ -858,8 +698,8 @@ public class ExportServiceIT {
     }
 
 
-   // @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
-    @Test
+    @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+   // @Test
     public void testIntegration100EntitiesOn() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -892,13 +732,9 @@ public class ExportServiceIT {
         }
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
 
         //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator( payload,exportUUID,s3Export );
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -951,8 +787,8 @@ public class ExportServiceIT {
         blobStore.deleteContainer( bucketName );
     }
 
-    //@Ignore
-    @Test
+    @Ignore
+    //@Test
     public void testIntegration100EntitiesForAllApps() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -985,13 +821,9 @@ public class ExportServiceIT {
 
         UUID exportUUID = exportService.schedule( payload );
         assertNotNull( exportUUID );
-        exportService.setS3Export( s3Export );
 
         //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator( payload,exportUUID,s3Export );
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -1042,8 +874,8 @@ public class ExportServiceIT {
     }
 
 
-    //@Ignore
-    @Test
+    @Ignore
+   // @Test
     public void testIntegration100EntitiesOnOneOrg() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -1089,13 +921,11 @@ public class ExportServiceIT {
         }
 
         UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
+       // exportService.setS3Export( s3Export );
 
         //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
+        JobData jobData = jobDataCreator( payload,exportUUID,s3Export );
+
 
         JobExecution jobExecution = mock( JobExecution.class );
         when( jobExecution.getJobData() ).thenReturn( jobData );
@@ -1144,6 +974,16 @@ public class ExportServiceIT {
         blobStore.deleteContainer( bucketName );
     }
 
+    public JobData jobDataCreator(HashMap<String, Object> payload,UUID exportUUID,S3Export s3Export) {
+        JobData jobData = new JobData();
+
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+        jobData.setProperty( "s3Export", s3Export );
+
+        return jobData;
+    }
 
     /*Creates fake payload for testing purposes.*/
     public HashMap<String, Object> payloadBuilder() {

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/cb76cca9/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
index a1814fd..adabf42 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
@@ -35,7 +35,12 @@ import org.apache.usergrid.management.export.S3Export;
  * Streams / reads the information written from the export service to a file named "test.json"
  */
 public class MockS3ExportImpl implements S3Export {
-    public static String filename;
+    private final String filename;
+
+    public MockS3ExportImpl (String filename) {
+        this.filename = filename;
+    }
+
     @Override
     public void copyToS3( final InputStream inputStream, final Map<String,Object> exportInfo, String filename ) {
         Logger logger = LoggerFactory.getLogger( MockS3ExportImpl.class );
@@ -44,7 +49,7 @@ public class MockS3ExportImpl implements S3Export {
         OutputStream outputStream = null;
 
         try {
-            outputStream = new FileOutputStream( new File( getFilename() ) );
+            outputStream = new FileOutputStream( new File( this.filename ) );
         }
         catch ( FileNotFoundException e ) {
             e.printStackTrace();
@@ -66,6 +71,6 @@ public class MockS3ExportImpl implements S3Export {
         return filename;
     }
 
-    @Override
-    public void setFilename (String givenName) { filename = givenName; }
+//    @Override
+//    public void setFilename (String givenName) { filename = givenName; }
 }


[11/43] git commit: Added test cases and fixes for the query testing. Changed error messages such that entire entity is returned with the GET call.

Posted by sn...@apache.org.
Added test cases and fixes for the query testing.
Changed error messages such that entire entity is returned with the GET call.


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

Branch: refs/pull/96/merge
Commit: b9ba6ac61c9153ef1e874191d203bd2f09cced2f
Parents: a4d86b4
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 16:36:47 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 16:36:47 2014 -0700

----------------------------------------------------------------------
 portal/config.js                                |  2 +-
 .../applications/ApplicationResource.java       |  2 +-
 .../rest/management/ManagementResourceIT.java   |  6 +-
 .../management/export/ExportService.java        |  2 +
 .../management/export/ExportServiceImpl.java    | 70 +++++++++++++++++---
 .../cassandra/ManagementServiceIT.java          |  3 -
 .../security/tokens/TokenServiceIT.java         |  3 +-
 7 files changed, 70 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/portal/config.js
----------------------------------------------------------------------
diff --git a/portal/config.js b/portal/config.js
index 12f1fe5..40a968f 100644
--- a/portal/config.js
+++ b/portal/config.js
@@ -19,7 +19,7 @@ Usergrid.showNotifcations = true;
 
 
 // used only if hostname does not match a real server name
-Usergrid.overrideUrl = 'https://api.usergrid.com/';
+Usergrid.overrideUrl = 'https://localhost:8080/';
 
 Usergrid.options = {
   client:{

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
index 60ae26a..588e5a1 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
@@ -365,7 +365,7 @@ public class ApplicationResource extends AbstractContextResource {
             return Response.status( SC_BAD_REQUEST ).build();
         }
 
-        return Response.status( SC_OK ).entity( entity.getState() ).build();
+        return Response.status( SC_OK ).entity( entity).build();
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index d117e57..306c7a1 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -781,7 +781,7 @@ public class ManagementResourceIT extends AbstractRestIT {
 
 
         assertEquals( Status.OK, responseStatus );
-        assertEquals( "SCHEDULED", node.asText() );//TODO: do tests for other states in service tier
+        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
     }
 
 
@@ -810,7 +810,7 @@ public class ManagementResourceIT extends AbstractRestIT {
 
 
         assertEquals( Status.OK, responseStatus );
-        assertEquals( "SCHEDULED", node.asText() );//TODO: do tests for other states in service tier
+        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
     }
 
 
@@ -838,7 +838,7 @@ public class ManagementResourceIT extends AbstractRestIT {
 
 
         assertEquals( Status.OK, responseStatus );
-        assertEquals( "SCHEDULED", node.asText() );//TODO: do tests for other states in service tier
+        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
     }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
index eafc59a..abb8829 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportService.java
@@ -44,5 +44,7 @@ public interface ExportService {
      */
     String getState( UUID appId, UUID state ) throws Exception;
 
+    String getErrorMessage( UUID appId, UUID state ) throws Exception;
+
     void setS3Export( S3Export s3Export );
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index f1d316e..0ad61ee 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -172,6 +172,32 @@ public class ExportServiceImpl implements ExportService {
         return export.getState().toString();
     }
 
+    @Override
+    public String getErrorMessage( final UUID appId, final UUID uuid ) throws Exception {
+
+        //get application entity manager
+        if ( appId == null ) {
+            logger.error( "Application context cannot be found." );
+            return "Application context cannot be found.";
+        }
+
+        if ( uuid == null ) {
+            logger.error( "UUID passed in cannot be null." );
+            return "UUID passed in cannot be null";
+        }
+
+        EntityManager rootEm = emf.getEntityManager( appId );
+
+        //retrieve the export entity.
+        Export export = rootEm.get( uuid, Export.class );
+
+        if ( export == null ) {
+            logger.error( "no entity with that uuid was found" );
+            return "No Such Element found";
+        }
+        return export.getErrorMessage();
+    }
+
 
     @Override
     public void doExport( final JobExecution jobExecution ) throws Exception {
@@ -197,7 +223,14 @@ public class ExportServiceImpl implements ExportService {
         em.update( export );
 
         if ( em.getApplication().getApplicationName().equals( "exporters" ) ) {
-            exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution );
+            try {
+                exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution );
+            }
+            catch ( Exception e ) {
+                export.setErrorMessage( e.getMessage() );
+                export.setState( Export.State.FAILED );
+                em.update( export );
+            }
         }
         else if ( config.get( "collectionName" ) == null ) {
             //exports all the applications for a given organization.
@@ -208,8 +241,15 @@ public class ExportServiceImpl implements ExportService {
                 em.update( export );
                 return;
             }
-            exportApplicationFromOrg( ( UUID ) config.get( "organizationId" ), ( UUID ) config.get( "applicationId" ),
-                    config, jobExecution );
+            try {
+                exportApplicationFromOrg( ( UUID ) config.get( "organizationId" ),
+                        ( UUID ) config.get( "applicationId" ), config, jobExecution );
+            }
+            catch ( Exception e ) {
+                export.setErrorMessage( e.getMessage() );
+                export.setState( Export.State.FAILED );
+                em.update( export );
+            }
         }
         else {
             try {
@@ -220,11 +260,19 @@ public class ExportServiceImpl implements ExportService {
                     em.update( export );
                     return;
                 }
-                exportCollectionFromOrgApp( ( UUID ) config.get( "organizationId" ),
-                        ( UUID ) config.get( "applicationId" ), config, jobExecution );
+                try {
+                    exportCollectionFromOrgApp( ( UUID ) config.get( "organizationId" ),
+                            ( UUID ) config.get( "applicationId" ), config, jobExecution );
+                }
+                catch ( Exception e ) {
+                    export.setErrorMessage( e.getMessage() );
+                    export.setState( Export.State.FAILED );
+                    em.update( export );
+                }
             }
             catch ( Exception e ) {
                 //if for any reason the backing up fails, then update the entity with a failed state.
+                export.setErrorMessage( e.getMessage() );
                 export.setState( Export.State.FAILED );
                 em.update( export );
                 return;
@@ -396,18 +444,21 @@ public class ExportServiceImpl implements ExportService {
             if ( ( config.get( "collectionName" ) == null ) || collectionName
                     .equals( config.get( "collectionName" ) ) ) {
                 //Query entity manager for the entities in a collection
-                Query query;
+                Query query = null;
                 if ( config.get( "query" ) == null ) {
                     query = new Query();
                 }
                 else {
-                    query = Query.fromQL( ( String ) config.get( "query" ) );
+                    try {
+                        query = Query.fromQL( ( String ) config.get( "query" ) );
+                    }
+                    catch ( Exception e ) {
+                        export.setErrorMessage( e.getMessage() );
+                    }
                 }
-                // Query query = Query.fromQL( ( String ) config.get( "query" ) ); //new Query();
                 query.setLimit( MAX_ENTITY_FETCH );
                 query.setResultsLevel( Results.Level.ALL_PROPERTIES );
                 query.setCollection( collectionName );
-                //query.setQl( ( String ) config.get( "query" ) );
 
                 Results entities = em.searchCollection( em.getApplicationRef(), collectionName, query );
 
@@ -518,6 +569,7 @@ public class ExportServiceImpl implements ExportService {
             s3Export.copyToS3( is, config, appFileName );
         }
         catch ( Exception e ) {
+            export.setErrorMessage( e.getMessage() );
             export.setState( Export.State.FAILED );
             return;
         }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index 0fd9676..558d7ea 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -1392,9 +1392,6 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        //        payload.put( "organizationId",organization.getUuid() );
-        //        payload.put( "applicationId",applicationId);
-
         //creates 100s of organizations with some entities in each one to make sure we don't actually apply it
         OrganizationInfo orgMade = null;
         ApplicationInfo appMade = null;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b9ba6ac6/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
index 961d923..0141c9b 100644
--- a/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/security/tokens/TokenServiceIT.java
@@ -39,7 +39,8 @@ import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.entities.Application;
 import org.apache.usergrid.security.AuthPrincipalInfo;
 import org.apache.usergrid.security.AuthPrincipalType;
-import org.apache.usergrid.security.tokens.cassandra.TokenServiceImpl;
+import org.apache.usergrid.security.tokens.cassandra.TokenServiceImpl
+        ;
 import org.apache.usergrid.security.tokens.exceptions.ExpiredTokenException;
 import org.apache.usergrid.security.tokens.exceptions.InvalidTokenException;
 import org.apache.usergrid.utils.UUIDUtils;


[23/43] git commit: Merge remote-tracking branch 'origin/master' into Export_Persistance_Integration

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


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

Branch: refs/pull/96/merge
Commit: 243856367f0a62ba435891852ea63cfd189ab2e3
Parents: cb76cca 1b4038a
Author: grey <gr...@apigee.com>
Authored: Wed Apr 2 16:04:30 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Wed Apr 2 16:04:30 2014 -0700

----------------------------------------------------------------------
 .gitignore                                      |    8 +-
 portal/Gruntfile.js                             |    5 +-
 portal/README.md                                |   10 +-
 portal/config.js                                |   15 -
 portal/dist/rel-usergrid-portal.2.0.3.zip       |  Bin 0 -> 16313787 bytes
 portal/dist/usergrid-portal/config.js           |   15 -
 portal/dist/usergrid-portal/index-debug.html    |   16 +
 portal/dist/usergrid-portal/index-template.html |   16 +
 portal/dist/usergrid-portal/index.html          |   16 +
 .../js/libs/usergrid-libs.min.js                |    2 +-
 .../js/libs/usergrid-libs.min.js.orig           |   26 +
 .../dist/usergrid-portal/js/usergrid-dev.min.js |    4 +-
 portal/dist/usergrid-portal/js/usergrid.min.js  |    4 +-
 portal/index-debug.html                         |   16 +
 portal/index-template.html                      |   16 +
 portal/index.html                               |   16 +
 portal/js/global/help-service.js                |    2 +-
 portal/js/libs/usergrid-libs.min.js             |   22 -
 portal/js/usergrid-dev.min.js                   | 4939 ------------------
 portal/js/usergrid-dev.min.js.orig              | 4939 ++++++++++++++++++
 portal/js/usergrid.min.js                       |    6 -
 portal/js/usergrid.min.js.orig                  |    6 +
 .../instrument/js/usergrid-coverage.min.js      |    6 -
 .../js/usergrid-coverage.min.js.BACKUP.31213.js |    6 +
 .../js/usergrid-coverage.min.js.BASE.31213.js   |    6 +
 .../js/usergrid-coverage.min.js.LOCAL.31213.js  |    6 +
 .../js/usergrid-coverage.min.js.REMOTE.31213.js |    0
 .../test/coverage/instrument/js/usergrid.min.js |    3 -
 28 files changed, 5107 insertions(+), 5019 deletions(-)
----------------------------------------------------------------------



[35/43] git commit: fix grunt file reference to intro.js

Posted by sn...@apache.org.
fix grunt file reference to intro.js


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

Branch: refs/heads/master
Commit: f5a7830df1b67ebfeb61ee18e6f76d7b99715a25
Parents: ded28e5
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Apr 8 13:45:06 2014 -0600
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Apr 8 13:45:06 2014 -0600

----------------------------------------------------------------------
 portal/Gruntfile.js | 6 +++---
 portal/bower.json   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f5a7830d/portal/Gruntfile.js
----------------------------------------------------------------------
diff --git a/portal/Gruntfile.js b/portal/Gruntfile.js
index 63d61ce..bf2e071 100644
--- a/portal/Gruntfile.js
+++ b/portal/Gruntfile.js
@@ -45,8 +45,8 @@ module.exports = function (grunt) {
             'js/libs/ui-bootstrap/ui-bootstrap-custom-tpls-0.3.0.min.js',
             'js/libs/jqueryui/jquery-ui-1.8.18.min.js',
             'js/libs/jqueryui/date.min.js',
-            'bower_components/angular-intro.js/angular-intro.js',
-            'bower_components/intro.js/minified/intro.min.js'
+            'bower_components/intro.js/minified/intro.min.js',
+            'bower_components/angular-intro.js/src/angular-intro.js',
           ]
         }
       },
@@ -403,7 +403,7 @@ module.exports = function (grunt) {
   grunt.registerTask('build-dev', [ 'ngtemplates','uglify:usergrid-dev','uglify:usergrid', 'cssmin','dom_munger','karma:unit']);
   grunt.registerTask('build-coverage', [ 'ngtemplates','instrument','uglify:usergrid-coverage','uglify:usergrid-coverage-min', 'cssmin','dom_munger', 'copy:coverage']);
 
-  grunt.registerTask('default', ['build','karma:unit']);
+  grunt.registerTask('default', ['build']);
 
   grunt.registerTask('e2e', ['connect:e2e-phantom','protractor:phantom']);
   grunt.registerTask('e2e-chrome', ['connect:e2e-chrome','protractor:chrome']);

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f5a7830d/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index f032249..4561fab 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -23,7 +23,7 @@
   "dependencies": {
     "angularitics": "~0.8.7",
     "apigee-sdk": "~2.0.8",
-    "angular-intro.js": "*",
+    "angular-intro.js": "1.0.3",
     "sizzle":"1.10.16"
   },
   "devDependencies": {},


[27/43] git commit: Ignore Netbeans project files.

Posted by sn...@apache.org.
Ignore Netbeans project files.


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

Branch: refs/pull/96/merge
Commit: 778511b710df15b53a21db98b6a0f6aa0b393883
Parents: 1b4038a
Author: Dave Johnson <dm...@apigee.com>
Authored: Fri Apr 4 09:59:56 2014 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Fri Apr 4 09:59:56 2014 -0400

----------------------------------------------------------------------
 .gitignore | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/778511b7/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 0da9432..1d8935a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,4 @@ stack/corepersistence/queryindex/nbactions.xml
 stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/query/tree/QueryFilterLexer.java
 stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/query/tree/QueryFilterParser.java
 
+/portal/nbproject/private/
\ No newline at end of file


[43/43] git commit: Merge e576e0a304999fe9f26c2ab9c3ab4bce8eec326a into 1cdb6b953351a75196ce36727aee3179b00425ff

Posted by sn...@apache.org.
Merge e576e0a304999fe9f26c2ab9c3ab4bce8eec326a into 1cdb6b953351a75196ce36727aee3179b00425ff


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

Branch: refs/pull/96/merge
Commit: c40bec1ef77979d702f3cbed73798e2e959bf72f
Parents: 1cdb6b9 e576e0a
Author: ryan bridges <ry...@fasterness.com>
Authored: Tue Apr 8 21:46:39 2014 +0000
Committer: ryan bridges <ry...@fasterness.com>
Committed: Tue Apr 8 21:46:39 2014 +0000

----------------------------------------------------------------------
 sdks/html5-javascript/changelog.md              |  13 +-
 sdks/html5-javascript/examples/dogs/app.js      |   6 +-
 sdks/html5-javascript/examples/test/test.js     |  46 +-
 sdks/html5-javascript/index.html                |  12 +-
 sdks/html5-javascript/lib/Usergrid.js           | 171 ++--
 sdks/html5-javascript/lib/modules/Asset.js      |  93 +-
 sdks/html5-javascript/lib/modules/Client.js     | 528 +++++-----
 sdks/html5-javascript/lib/modules/Collection.js | 236 ++---
 sdks/html5-javascript/lib/modules/Counter.js    | 166 ++--
 sdks/html5-javascript/lib/modules/Entity.js     | 470 ++++-----
 sdks/html5-javascript/lib/modules/Error.js      | 112 ++-
 sdks/html5-javascript/lib/modules/Folder.js     |  46 +-
 sdks/html5-javascript/lib/modules/Group.js      | 160 ++-
 sdks/html5-javascript/lib/modules/util/Ajax.js  |  16 +-
 sdks/html5-javascript/lib/modules/util/Event.js |   8 +-
 .../html5-javascript/lib/modules/util/Logger.js |  18 +-
 .../lib/modules/util/Promise.js                 |   5 +-
 sdks/html5-javascript/tests/mocha/test.js       | 107 +-
 sdks/html5-javascript/usergrid.js               | 989 ++++++++++---------
 sdks/html5-javascript/usergrid.min.js           |   6 +-
 20 files changed, 1684 insertions(+), 1524 deletions(-)
----------------------------------------------------------------------



[28/43] git commit: Making a switch to a ephemeral file transfers. Fixed mock export. Made sure files delete when done with the ephemeral file.

Posted by sn...@apache.org.
Making a switch to a ephemeral file transfers.
Fixed mock export.
Made sure files delete when done with the ephemeral file.


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

Branch: refs/pull/96/merge
Commit: 8a05f611e372e7a7ad4360e1eb617996b9f9c567
Parents: e3b79e8
Author: grey <gr...@apigee.com>
Authored: Mon Apr 7 09:53:32 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Apr 7 09:53:32 2014 -0700

----------------------------------------------------------------------
 .../management/export/ExportServiceImpl.java    | 95 ++++++++++----------
 .../usergrid/management/export/S3Export.java    |  4 +-
 .../management/export/S3ExportImpl.java         |  6 +-
 .../management/cassandra/MockS3ExportImpl.java  | 49 +++++-----
 4 files changed, 76 insertions(+), 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8a05f611/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index ac0eb20..bbbe414 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -17,15 +17,14 @@
 package org.apache.usergrid.management.export;
 
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
+import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
+import org.codehaus.jackson.JsonEncoding;
 import org.codehaus.jackson.JsonFactory;
 import org.codehaus.jackson.JsonGenerator;
 import org.codehaus.jackson.map.ObjectMapper;
@@ -79,6 +78,7 @@ public class ExportServiceImpl implements ExportService {
 
     private JsonFactory jsonFactory = new JsonFactory();
 
+
     @Override
     public UUID schedule( final Map<String, Object> config ) throws Exception {
         ApplicationInfo defaultExportApp = null;
@@ -91,11 +91,10 @@ public class ExportServiceImpl implements ExportService {
         EntityManager em = null;
         try {
             em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
-            Set<String> collections =  em.getApplicationCollections();
-            if(!collections.contains( "exports" )){
+            Set<String> collections = em.getApplicationCollections();
+            if ( !collections.contains( "exports" ) ) {
                 em.createApplicationCollection( "exports" );
             }
-
         }
         catch ( Exception e ) {
             logger.error( "application doesn't exist within the current context" );
@@ -159,6 +158,7 @@ public class ExportServiceImpl implements ExportService {
         return export.getState().toString();
     }
 
+
     @Override
     public String getErrorMessage( final UUID appId, final UUID uuid ) throws Exception {
 
@@ -189,7 +189,7 @@ public class ExportServiceImpl implements ExportService {
     @Override
     public void doExport( final JobExecution jobExecution ) throws Exception {
         Map<String, Object> config = ( Map<String, Object> ) jobExecution.getJobData().getProperty( "exportInfo" );
-        Object s3PlaceHolder = jobExecution.getJobData().getProperty( "s3Export" ) ;
+        Object s3PlaceHolder = jobExecution.getJobData().getProperty( "s3Export" );
         S3Export s3Export = null;
 
         if ( config == null ) {
@@ -206,12 +206,14 @@ public class ExportServiceImpl implements ExportService {
         export.setState( Export.State.STARTED );
         em.update( export );
         try {
-            if(s3PlaceHolder != null) {
+            if ( s3PlaceHolder != null ) {
                 s3Export = ( S3Export ) s3PlaceHolder;
             }
-            else
+            else {
                 s3Export = new S3ExportImpl();
-        }catch (Exception e){
+            }
+        }
+        catch ( Exception e ) {
             logger.error( "S3Export doesn't exist" );
             export.setErrorMessage( e.getMessage() );
             export.setState( Export.State.FAILED );
@@ -228,7 +230,7 @@ public class ExportServiceImpl implements ExportService {
         else if ( config.get( "applicationId" ) == null ) {
             //exports All the applications from an organization
             try {
-                exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution,s3Export );
+                exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution, s3Export );
             }
             catch ( Exception e ) {
                 export.setErrorMessage( e.getMessage() );
@@ -254,8 +256,8 @@ public class ExportServiceImpl implements ExportService {
             try {
                 //exports a single collection from an app org combo
                 try {
-                    exportCollectionFromOrgApp( ( UUID ) config.get( "organizationId" ),
-                            ( UUID ) config.get( "applicationId" ), config, jobExecution,s3Export );
+                    exportCollectionFromOrgApp( ( UUID ) config.get( "applicationId" ), config, jobExecution,
+                            s3Export );
                 }
                 catch ( Exception e ) {
                     export.setErrorMessage( e.getMessage() );
@@ -307,7 +309,8 @@ public class ExportServiceImpl implements ExportService {
         this.managementService = managementService;
     }
 
-    public Export getExportEntity ( final JobExecution jobExecution) throws Exception{
+
+    public Export getExportEntity( final JobExecution jobExecution ) throws Exception {
 
         UUID exportId = ( UUID ) jobExecution.getJobData().getProperty( EXPORT_ID );
         EntityManager exportManager = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
@@ -315,6 +318,7 @@ public class ExportServiceImpl implements ExportService {
         return exportManager.get( exportId, Export.class );
     }
 
+
     /**
      * Exports All Applications from an Organization
      */
@@ -323,7 +327,7 @@ public class ExportServiceImpl implements ExportService {
 
         //TODO: move extranous code out of these methods and make each one more distinct.
         //retrieves export entity
-        Export export = getExportEntity(jobExecution);
+        Export export = getExportEntity( jobExecution );
         String appFileName = null;
 
         BiMap<UUID, String> applications = managementService.getApplicationsForOrganization( organizationUUID );
@@ -337,26 +341,28 @@ public class ExportServiceImpl implements ExportService {
 
             appFileName = prepareOutputFileName( "application", application.getValue(), null );
 
-            ByteArrayOutputStream baos = collectionExportAndQuery(application.getKey(),config,export,jobExecution);
+            File ephemeral = collectionExportAndQuery( application.getKey(), config, export, jobExecution );
 
-            fileTransfer( export,appFileName,baos,config, s3Export );
+            fileTransfer( export, appFileName, ephemeral, config, s3Export );
         }
     }
 
-    public void fileTransfer(Export export,String appFileName,ByteArrayOutputStream baos,Map<String,Object> config, S3Export s3Export) {
-        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
+
+    public void fileTransfer( Export export, String appFileName, File ephemeral, Map<String, Object> config,
+                              S3Export s3Export ) {
         try {
-            s3Export.copyToS3( is, config, appFileName );
+            s3Export.copyToS3( ephemeral, config, appFileName );
+            if(ephemeral.exists())
+                ephemeral.delete();
         }
         catch ( Exception e ) {
+            export.setErrorMessage( e.getMessage() );
             export.setState( Export.State.FAILED );
             return;
         }
     }
 
 
-
-
     /**
      * Exports a specific applications from an organization
      */
@@ -364,15 +370,14 @@ public class ExportServiceImpl implements ExportService {
                                            final JobExecution jobExecution, S3Export s3Export ) throws Exception {
 
         //retrieves export entity
-        Export export = getExportEntity(jobExecution);
+        Export export = getExportEntity( jobExecution );
 
         ApplicationInfo application = managementService.getApplicationInfo( applicationId );
         String appFileName = prepareOutputFileName( "application", application.getName(), null );
 
-        ByteArrayOutputStream baos = collectionExportAndQuery(applicationId,config,export,jobExecution);
-
-        fileTransfer( export,appFileName,baos,config, s3Export );
+        File ephemeral = collectionExportAndQuery( applicationId, config, export, jobExecution );
 
+        fileTransfer( export, appFileName, ephemeral, config, s3Export );
     }
 
 
@@ -380,25 +385,20 @@ public class ExportServiceImpl implements ExportService {
      * Exports a specific collection from an org-app combo.
      */
     //might be confusing, but uses the /s/ inclusion or exclusion nomenclature.
-    private void exportCollectionFromOrgApp( UUID organizationUUID, UUID applicationUUID,
-                                             final Map<String, Object> config, final JobExecution jobExecution, S3Export s3Export )
-            throws Exception {
+    private void exportCollectionFromOrgApp( UUID applicationUUID, final Map<String, Object> config,
+                                             final JobExecution jobExecution, S3Export s3Export ) throws Exception {
 
         //retrieves export entity
-        Export export = getExportEntity(jobExecution);
+        Export export = getExportEntity( jobExecution );
         ApplicationInfo application = managementService.getApplicationInfo( applicationUUID );
 
         String appFileName = prepareOutputFileName( "application", application.getName(),
                 ( String ) config.get( "collectionName" ) );
 
 
-        ByteArrayOutputStream baos = collectionExportAndQuery(applicationUUID,config,export,jobExecution);
-
-        //sets up the Inputstream for copying the method to s3.
-        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
-
-        fileTransfer( export,appFileName,baos,config, s3Export );
+        File ephemeral = collectionExportAndQuery( applicationUUID, config, export, jobExecution );
 
+        fileTransfer( export, appFileName, ephemeral, config, s3Export );
     }
 
 
@@ -525,10 +525,10 @@ public class ExportServiceImpl implements ExportService {
     }
 
 
-    protected JsonGenerator getJsonGenerator( ByteArrayOutputStream out ) throws IOException {
+    protected JsonGenerator getJsonGenerator( File ephermal ) throws IOException {
         //TODO:shouldn't the below be UTF-16?
 
-        JsonGenerator jg = jsonFactory.createJsonGenerator( out );
+        JsonGenerator jg = jsonFactory.createJsonGenerator( ephermal, JsonEncoding.UTF8 );
         jg.setPrettyPrinter( new DefaultPrettyPrinter() );
         jg.setCodec( new ObjectMapper() );
         return jg;
@@ -556,23 +556,21 @@ public class ExportServiceImpl implements ExportService {
         return outputFileName;
     }
 
+
     /**
      * handles the query and export of collections
-     * @param applicationUUID
-     * @param config
-     * @param export
-     * @param jobExecution
-     * @throws Exception
      */
     //TODO:Needs further refactoring.
-    protected ByteArrayOutputStream collectionExportAndQuery(UUID applicationUUID,final Map<String,Object> config,Export export,final JobExecution jobExecution) throws Exception{
+    protected File collectionExportAndQuery( UUID applicationUUID, final Map<String, Object> config, Export export,
+                                             final JobExecution jobExecution ) throws Exception {
 
         EntityManager em = emf.getEntityManager( applicationUUID );
         Map<String, Object> metadata = em.getApplicationCollectionMetadata();
         long starting_time = System.currentTimeMillis();
+        File ephemeral = new File( "tempExport" + starting_time );
 
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        JsonGenerator jg = getJsonGenerator( baos );
+
+        JsonGenerator jg = getJsonGenerator( ephemeral );
 
         jg.writeStartArray();
 
@@ -618,10 +616,7 @@ public class ExportServiceImpl implements ExportService {
         }
         jg.writeEndArray();
         jg.close();
-        baos.flush();
-        baos.close();
 
-        return baos;
+        return ephemeral;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8a05f611/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
index 63b10d9..97c9ee8 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3Export.java
@@ -17,7 +17,7 @@
 package org.apache.usergrid.management.export;
 
 
-import java.io.InputStream;
+import java.io.File;
 import java.util.Map;
 
 
@@ -26,7 +26,7 @@ import java.util.Map;
  *
  */
 public interface S3Export {
-    void copyToS3( InputStream inputStream, Map<String,Object> exportInfo, String filename );
+    void copyToS3( File ephemeral,Map<String,Object> exportInfo, String filename );
 
     String getFilename ();
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8a05f611/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index 521f962..4399ad7 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -17,7 +17,7 @@
 package org.apache.usergrid.management.export;
 
 
-import java.io.InputStream;
+import java.io.File;
 import java.util.Map;
 import java.util.Properties;
 
@@ -47,7 +47,7 @@ public class S3ExportImpl implements S3Export {
     String fn;
 
     @Override
-    public void copyToS3( final InputStream inputStream, final Map<String,Object> exportInfo, String filename ) {
+    public void copyToS3( File ephemeral ,final Map<String,Object> exportInfo, String filename ) {
 
         fn = filename;
 
@@ -90,7 +90,7 @@ public class S3ExportImpl implements S3Export {
         try {
             AsyncBlobStore blobStore = context.getAsyncBlobStore();
             BlobBuilder blobBuilder =
-                    blobStore.blobBuilder( fn ).payload( inputStream ).calculateMD5().contentType( "text/plain" );
+                    blobStore.blobBuilder( fn ).payload( ephemeral ).calculateMD5().contentType( "text/plain" );
 
 
             Blob blob = blobBuilder.build();

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/8a05f611/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
index adabf42..56e80b0 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
@@ -18,15 +18,10 @@ package org.apache.usergrid.management.cassandra;
 
 
 import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.Map;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.commons.io.FileUtils;
 
 import org.apache.usergrid.management.export.S3Export;
 
@@ -42,28 +37,38 @@ public class MockS3ExportImpl implements S3Export {
     }
 
     @Override
-    public void copyToS3( final InputStream inputStream, final Map<String,Object> exportInfo, String filename ) {
-        Logger logger = LoggerFactory.getLogger( MockS3ExportImpl.class );
-        int read = 0;
-        byte[] bytes = new byte[1024];
-        OutputStream outputStream = null;
+    public void copyToS3( File ephemeral, final Map<String,Object> exportInfo, String filename ) {
 
+        File verfiedData = new File( this.filename );
         try {
-            outputStream = new FileOutputStream( new File( this.filename ) );
+            FileUtils.copyFile(ephemeral,verfiedData);
         }
-        catch ( FileNotFoundException e ) {
+        catch ( IOException e ) {
             e.printStackTrace();
         }
 
 
-        try {
-            while ( ( read = ( inputStream.read( bytes ) ) ) != -1 ) {
-                outputStream.write( bytes, 0, read );
-            }
-        }
-        catch ( IOException e ) {
-            e.printStackTrace();
-        }
+        //        Logger logger = LoggerFactory.getLogger( MockS3ExportImpl.class );
+//        int read = 0;
+//        byte[] bytes = new byte[1024];
+//        OutputStream outputStream = null;
+//
+//        try {
+//            outputStream = new FileOutputStream( new File( this.filename ) );
+//        }
+//        catch ( FileNotFoundException e ) {
+//            e.printStackTrace();
+//        }
+//
+//
+//        try {
+//            while ( ( read = ( inputStream.read( bytes ) ) ) != -1 ) {
+//                outputStream.write( bytes, 0, read );
+//            }
+//        }
+//        catch ( IOException e ) {
+//            e.printStackTrace();
+//        }
     }
 
     @Override
@@ -71,6 +76,4 @@ public class MockS3ExportImpl implements S3Export {
         return filename;
     }
 
-//    @Override
-//    public void setFilename (String givenName) { filename = givenName; }
 }


[15/43] git commit: Refactored out all the export tests into their own test file.

Posted by sn...@apache.org.
Refactored out all the export tests into their own test file.


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

Branch: refs/pull/96/merge
Commit: e9e414317ce18e2c4bdff7acf80e1503f517a5d6
Parents: db226fd
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 13:09:54 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 13:09:54 2014 -0700

----------------------------------------------------------------------
 .../management/cassandra/ExportServiceIT.java   | 1177 ++++++++++++++++++
 .../cassandra/ManagementServiceIT.java          | 1132 -----------------
 2 files changed, 1177 insertions(+), 1132 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e9e41431/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
new file mode 100644
index 0000000..93f00c9
--- /dev/null
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -0,0 +1,1177 @@
+package org.apache.usergrid.management.cassandra;
+
+
+import java.io.File;
+import java.io.FileReader;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.UUID;
+
+import org.jclouds.ContextBuilder;
+import org.jclouds.blobstore.BlobStore;
+import org.jclouds.blobstore.BlobStoreContext;
+import org.jclouds.blobstore.domain.Blob;
+import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
+import org.jclouds.logging.log4j.config.Log4JLoggingModule;
+import org.jclouds.netty.config.NettyPayloadModule;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.usergrid.ServiceITSetup;
+import org.apache.usergrid.ServiceITSetupImpl;
+import org.apache.usergrid.ServiceITSuite;
+import org.apache.usergrid.batch.JobExecution;
+import org.apache.usergrid.cassandra.CassandraResource;
+import org.apache.usergrid.cassandra.ClearShiroSubject;
+import org.apache.usergrid.cassandra.Concurrent;
+import org.apache.usergrid.management.ApplicationInfo;
+import org.apache.usergrid.management.OrganizationInfo;
+import org.apache.usergrid.management.UserInfo;
+import org.apache.usergrid.management.export.ExportJob;
+import org.apache.usergrid.management.export.ExportService;
+import org.apache.usergrid.management.export.S3Export;
+import org.apache.usergrid.management.export.S3ExportImpl;
+import org.apache.usergrid.persistence.Entity;
+import org.apache.usergrid.persistence.EntityManager;
+import org.apache.usergrid.persistence.EntityManagerFactory;
+import org.apache.usergrid.persistence.entities.Export;
+import org.apache.usergrid.persistence.entities.JobData;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.inject.Module;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+
+/**
+ *
+ *
+ */
+@Concurrent
+public class ExportServiceIT {
+
+    private static final Logger LOG = LoggerFactory.getLogger( ExportServiceIT.class );
+
+    private static CassandraResource cassandraResource = ServiceITSuite.cassandraResource;
+
+    // app-level data generated only once
+    private static UserInfo adminUser;
+    private static OrganizationInfo organization;
+    private static UUID applicationId;
+
+    @Rule
+    public ClearShiroSubject clearShiroSubject = new ClearShiroSubject();
+
+    @ClassRule
+    public static final ServiceITSetup setup = new ServiceITSetupImpl( cassandraResource );
+
+
+    @BeforeClass
+    public static void setup() throws Exception {
+        LOG.info( "in setup" );
+        adminUser = setup.getMgmtSvc().createAdminUser( "edanuff", "Ed Anuff", "ed@anuff.com", "test", false, false );
+        organization = setup.getMgmtSvc().createOrganization( "ed-organization", adminUser, true );
+        applicationId = setup.getMgmtSvc().createApplication( organization.getUuid(), "ed-application" ).getId();
+    }
+
+    //
+    //
+    //Tests to make sure we can call the job with mock data and it runs.
+    @Ignore //Connections won't save when run with maven, but on local builds it will.
+    public void testConnectionsOnCollectionExport() throws Exception {
+
+        File f = null;
+        int indexCon = 0;
+
+
+        try {
+            f = new File( "testFileConnections.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
+        }
+
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "testFileConnections.json" );
+
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "users" );
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[2];
+        //creates entities
+        for ( int i = 0; i < 2; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "meatIsGreat" + i );
+            userProperties.put( "email", "grey" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+
+            entity[i] = em.create( "users", userProperties );
+        }
+        //creates connections
+        em.createConnection( em.getRef( entity[0].getUuid() ), "Vibrations", em.getRef( entity[1].getUuid() ) );
+        em.createConnection( em.getRef( entity[1].getUuid() ), "Vibrations", em.getRef( entity[0].getUuid() ) );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        //create and initialize jobData returned in JobExecution.
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+        //assertEquals(2, a.size() );
+
+        for ( indexCon = 0; indexCon < a.size(); indexCon++ ) {
+            JSONObject jObj = ( JSONObject ) a.get( indexCon );
+            JSONObject data = ( JSONObject ) jObj.get( "Metadata" );
+            String uuid = ( String ) data.get( "uuid" );
+            if ( entity[0].getUuid().toString().equals( uuid ) ) {
+                break;
+            }
+        }
+
+        org.json.simple.JSONObject objEnt = ( org.json.simple.JSONObject ) a.get( indexCon );
+        org.json.simple.JSONObject objConnections = ( org.json.simple.JSONObject ) objEnt.get( "connections" );
+
+        assertNotNull( objConnections );
+
+        org.json.simple.JSONArray objVibrations = ( org.json.simple.JSONArray ) objConnections.get( "Vibrations" );
+
+        assertNotNull( objVibrations );
+
+        f.deleteOnExit();
+    }
+
+
+    @Test //Connections won't save when run with maven, but on local builds it will.
+    public void testConnectionsOnApplicationEndpoint() throws Exception {
+
+        File f = null;
+
+        try {
+            f = new File( "testConnectionsOnApplicationEndpoint.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
+        }
+
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "testConnectionsOnApplicationEndpoint.json" );
+
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[2];
+        //creates entities
+        for ( int i = 0; i < 2; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "billybob" + i );
+            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+
+            entity[i] = em.create( "users", userProperties );
+        }
+        //creates connections
+        em.createConnection( em.getRef( entity[0].getUuid() ), "Vibrations", em.getRef( entity[1].getUuid() ) );
+        em.createConnection( em.getRef( entity[1].getUuid() ), "Vibrations", em.getRef( entity[0].getUuid() ) );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        //create and initialize jobData returned in JobExecution.
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+        int indexApp = 0;
+
+        for ( indexApp = 0; indexApp < a.size(); indexApp++ ) {
+            JSONObject jObj = ( JSONObject ) a.get( indexApp );
+            JSONObject data = ( JSONObject ) jObj.get( "Metadata" );
+            String uuid = ( String ) data.get( "uuid" );
+            if ( entity[0].getUuid().toString().equals( uuid ) ) {
+                break;
+            }
+        }
+        if ( indexApp >= a.size() ) {
+            //what? How does this condition even get reached due to the above forloop
+            assert ( false );
+        }
+
+        org.json.simple.JSONObject objEnt = ( org.json.simple.JSONObject ) a.get( indexApp );
+        org.json.simple.JSONObject objConnections = ( org.json.simple.JSONObject ) objEnt.get( "connections" );
+
+        assertNotNull( objConnections );
+
+        org.json.simple.JSONArray objVibrations = ( org.json.simple.JSONArray ) objConnections.get( "Vibrations" );
+
+        assertNotNull( objVibrations );
+
+        f.deleteOnExit();
+    }
+
+    //
+    ////need to add tests for the other endpoint as well.
+    @Test
+    public void testValidityOfCollectionExport() throws Exception {
+
+        File f = null;
+
+        try {
+            f = new File( "fileValidity.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "fileValidity.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "users" );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        for ( int i = 0; i < a.size(); i++ ) {
+            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
+            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
+            assertNotNull( entityData );
+        }
+        f.deleteOnExit();
+    }
+
+
+    //
+    @Test
+    public void testValidityOfApplicationExport() throws Exception {
+
+        File f = null;
+
+        try {
+            f = new File( "testValidityOfApplicationExport.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "testValidityOfApplicationExport.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        for ( int i = 0; i < a.size(); i++ ) {
+            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
+            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
+            assertNotNull( entityData );
+        }
+        f.deleteOnExit();
+    }
+
+
+    //
+    @Test
+    public void testExportOneOrgCollectionEndpoint() throws Exception {
+
+        File f = null;
+
+
+        try {
+            f = new File( "exportOneOrg.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
+        }
+        setup.getMgmtSvc()
+             .createOwnerAndOrganization( "noExport", "junkUserName", "junkRealName", "ugExport@usergrid.com",
+                     "123456789" );
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneOrg.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "roles" );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        assertEquals( 3, a.size() );
+        for ( int i = 0; i < a.size(); i++ ) {
+            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
+            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
+            String entityName = ( String ) entityData.get( "name" );
+            // assertNotEquals( "NotEqual","junkRealName",entityName );
+            assertFalse( "junkRealName".equals( entityName ) );
+        }
+        f.deleteOnExit();
+    }
+
+
+    //
+    //creation of files doesn't always delete itself
+    @Test
+    public void testExportOneAppOnCollectionEndpoint() throws Exception {
+
+        File f = null;
+        String orgName = "ed-organization";
+        String appName = "testAppCollectionTestNotExported";
+
+        try {
+            f = new File( "exportOneApp.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
+        }
+        f.deleteOnExit();
+
+
+        UUID appId = setup.getEmf().createApplication( orgName, appName );
+
+
+        EntityManager em = setup.getEmf().getEntityManager( appId );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[1];
+        //creates entities
+        for ( int i = 0; i < 1; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "junkRealName" );
+            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            entity[i] = em.create( "user", userProperties );
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneApp.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        //assertEquals( 3 , a.size() );
+        for ( int i = 0; i < a.size(); i++ ) {
+            org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
+            org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
+            String entityName = ( String ) entityData.get( "name" );
+            assertFalse( "junkRealName".equals( entityName ) );
+        }
+    }
+
+
+    @Test
+    public void testExportOneAppOnApplicationEndpointWQuery() throws Exception {
+
+        File f = null;
+
+        try {
+            f = new File( "exportOneAppWQuery.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
+        }
+
+        f.deleteOnExit();
+
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[1];
+        //creates entities
+        for ( int i = 0; i < 1; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "name", "me" );
+            userProperties.put( "username", "junkRealName" );
+            userProperties.put( "email", "burp" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            entity[i] = em.create( "users", userProperties );
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneAppWQuery.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "query", "select * where username = 'junkRealName'" );
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        assertEquals( 1, a.size() );
+        for ( int i = 0; i < a.size(); i++ ) {
+            org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
+            org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
+            String entityName = ( String ) entityData.get( "name" );
+            assertFalse( "junkRealName".equals( entityName ) );
+        }
+    }
+
+
+    //
+    @Test
+    public void testExportOneCollection() throws Exception {
+
+        File f = null;
+        int entitiesToCreate = 5;
+
+        try {
+            f = new File( "exportOneCollection.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
+        }
+
+        f.deleteOnExit();
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        em.createApplicationCollection( "qt" );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[entitiesToCreate];
+        //creates entities
+        for ( int i = 0; i < entitiesToCreate; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "billybob" + i );
+            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            entity[i] = em.create( "qts", userProperties );
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneCollection.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "qts" );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        assertEquals( entitiesToCreate, a.size() );
+    }
+
+
+    @Test
+    public void testExportOneCollectionWQuery() throws Exception {
+
+        File f = null;
+        int entitiesToCreate = 5;
+
+        try {
+            f = new File( "exportOneCollectionWQuery.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
+        }
+        f.deleteOnExit();
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        em.createApplicationCollection( "baconators" );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[entitiesToCreate];
+        //creates entities
+        for ( int i = 0; i < entitiesToCreate; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "billybob" + i );
+            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            entity[i] = em.create( "baconators", userProperties );
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneCollectionWQuery.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+        payload.put( "query", "select * where username contains 'billybob0'" );
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "baconators" );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        //only one entity should match the query.
+        assertEquals( 1, a.size() );
+    }
+
+
+    //@Ignore("file created won't be deleted when running tests")
+    @Test
+    public void testExportOneOrganization() throws Exception {
+
+        //File f = new File( "exportOneOrganization.json" );
+        int entitiesToCreate = 123;
+        File f = null;
+
+
+        try {
+            f = new File( "exportOneOrganization.json" );
+        }
+        catch ( Exception e ) {
+            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
+        }
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        em.createApplicationCollection( "newOrg" );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[entitiesToCreate];
+        //creates entities
+        for ( int i = 0; i < entitiesToCreate; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "billybob" + i );
+            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
+            entity[i] = em.create( "newOrg", userProperties );
+        }
+
+        S3Export s3Export = new MockS3ExportImpl();
+        s3Export.setFilename( "exportOneOrganization.json" );
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        //creates 100s of organizations with some entities in each one to make sure we don't actually apply it
+        OrganizationInfo orgMade = null;
+        ApplicationInfo appMade = null;
+        for ( int i = 0; i < 100; i++ ) {
+            orgMade = setup.getMgmtSvc().createOrganization( "superboss" + i, adminUser, true );
+            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + i );
+
+            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+            customMaker.createApplicationCollection( "superappCol" + i );
+            //intialize user object to be posted
+            Map<String, Object> entityLevelProperties = null;
+            Entity[] entNotCopied;
+            entNotCopied = new Entity[entitiesToCreate];
+            //creates entities
+            for ( int index = 0; index < 20; index++ ) {
+                entityLevelProperties = new LinkedHashMap<String, Object>();
+                entityLevelProperties.put( "username", "bobso" + index );
+                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
+            }
+        }
+        payload.put( "organizationId", orgMade.getUuid() );
+        payload.put( "applicationId", appMade.getId() );
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+
+        JSONParser parser = new JSONParser();
+
+        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
+
+        /*plus 3 for the default roles*/
+        assertEquals( 23, a.size() );
+        f.deleteOnExit();
+    }
+
+
+    @Test
+    public void testExportDoJob() throws Exception {
+
+        HashMap<String, Object> payload = payloadBuilder();
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload ); //this needs to be populated with properties of export info
+
+        JobExecution jobExecution = mock( JobExecution.class );
+
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        ExportJob job = new ExportJob();
+        ExportService eS = mock( ExportService.class );
+        job.setExportService( eS );
+        try {
+            job.doJob( jobExecution );
+        }
+        catch ( Exception e ) {
+            assert ( false );
+        }
+        assert ( true );
+    }
+
+
+    @Test
+    public void testExportDoExportOnApplicationEndpoint() throws Exception {
+
+        EntityManagerFactory emf = setup.getEmf();
+        EntityManager em = emf.getEntityManager( applicationId );
+        HashMap<String, Object> payload = payloadBuilder();
+        ExportService eS = setup.getExportService();
+
+        JobExecution jobExecution = mock( JobExecution.class );
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        UUID entityExportUUID = eS.schedule( payload );
+
+
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", entityExportUUID );
+
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        //Exportem.get(entityExport);
+        Export exportEntity = ( Export ) em.get( entityExportUUID );
+        assertNotNull( exportEntity );
+        String derp = exportEntity.getState().name();
+        assertEquals( "SCHEDULED", exportEntity.getState().name() );
+        try {
+            eS.doExport( jobExecution );
+        }
+        catch ( Exception e ) {
+            //throw e;
+            assert ( false );
+        }
+        exportEntity = ( Export ) em.get( entityExportUUID );
+        assertNotNull( exportEntity );
+        assertEquals( "FINISHED", exportEntity.getState().name() );
+    }
+
+
+    //tests that with empty job data, the export still runs.
+    @Test
+    public void testExportEmptyJobData() throws Exception {
+
+        JobData jobData = new JobData();
+
+        JobExecution jobExecution = mock( JobExecution.class );
+
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        ExportJob job = new ExportJob();
+        S3Export s3Export = mock( S3Export.class );
+        setup.getExportService().setS3Export( s3Export );
+        job.setExportService( setup.getExportService() );
+        try {
+            job.doJob( jobExecution );
+        }
+        catch ( Exception e ) {
+            assert ( false );
+        }
+        assert ( true );
+    }
+
+
+    @Test
+    public void testNullJobExecution() {
+
+        JobData jobData = new JobData();
+
+        JobExecution jobExecution = mock( JobExecution.class );
+
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        ExportJob job = new ExportJob();
+        S3Export s3Export = mock( S3Export.class );
+        setup.getExportService().setS3Export( s3Export );
+        job.setExportService( setup.getExportService() );
+        try {
+            job.doJob( jobExecution );
+        }
+        catch ( Exception e ) {
+            assert ( false );
+        }
+        assert ( true );
+    }
+
+
+    @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+    //@Test
+    public void testIntegration100EntitiesOn() throws Exception {
+
+        S3Export s3Export = new S3ExportImpl();
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[5];
+        //creates entities
+
+        ApplicationInfo appMade = null;
+        for ( int i = 0; i < 5; i++ ) {
+            appMade = setup.getMgmtSvc().createApplication( organization.getUuid(), "superapp" + i );
+
+            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+            customMaker.createApplicationCollection( "superappCol" + i );
+            //intialize user object to be posted
+            Map<String, Object> entityLevelProperties = null;
+            Entity[] entNotCopied;
+            entNotCopied = new Entity[5];
+            //creates entities
+            for ( int index = 0; index < 5; index++ ) {
+                entityLevelProperties = new LinkedHashMap<String, Object>();
+                entityLevelProperties.put( "username", "bobso" + index );
+                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
+            }
+        }
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        //create and initialize jobData returned in JobExecution.
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
+            ;
+        }
+
+        String bucketName = System.getProperty( "bucketName" );
+        String accessId = System.getProperty( "accessKey" );
+        String secretKey = System.getProperty( "secretKey" );
+
+        Properties overrides = new Properties();
+        overrides.setProperty( "s3" + ".identity", accessId );
+        overrides.setProperty( "s3" + ".credential", secretKey );
+
+        Blob bo = null;
+        BlobStore blobStore = null;
+
+        try {
+            final Iterable<? extends Module> MODULES = ImmutableSet
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
+                            new NettyPayloadModule() );
+
+            BlobStoreContext context =
+                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
+                                  .overrides( overrides ).buildView( BlobStoreContext.class );
+
+
+            blobStore = context.getBlobStore();
+            if ( !blobStore.blobExists( bucketName, s3Export.getFilename() ) ) {
+                blobStore.deleteContainer( bucketName );
+                assert ( false );
+            }
+            Long numOfFiles = blobStore.countBlobs( bucketName );
+            Long numWeWant = Long.valueOf( 1 );
+            assertEquals( numOfFiles, numWeWant );
+
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+        }
+        catch ( Exception e ) {
+            assert ( false );
+        }
+
+        assertNotNull( bo );
+        blobStore.deleteContainer( bucketName );
+    }
+
+    @Ignore
+    //@Test
+    public void testIntegration100EntitiesForAllApps() throws Exception {
+
+        S3Export s3Export = new S3ExportImpl();
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        OrganizationInfo orgMade = null;
+        ApplicationInfo appMade = null;
+        for ( int i = 0; i < 5; i++ ) {
+            orgMade = setup.getMgmtSvc().createOrganization( "minorboss" + i, adminUser, true );
+            for ( int j = 0; j < 5; j++ ) {
+                appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + j );
+
+                EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+                customMaker.createApplicationCollection( "superappCol" + j );
+                //intialize user object to be posted
+                Map<String, Object> entityLevelProperties = null;
+                Entity[] entNotCopied;
+                entNotCopied = new Entity[1];
+                //creates entities
+                for ( int index = 0; index < 1; index++ ) {
+                    entityLevelProperties = new LinkedHashMap<String, Object>();
+                    entityLevelProperties.put( "derp", "bacon" );
+                    entNotCopied[index] = customMaker.create( "superappCol" + j, entityLevelProperties );
+                }
+            }
+        }
+
+        payload.put( "organizationId", orgMade.getUuid() );
+
+        UUID exportUUID = exportService.schedule( payload );
+        assertNotNull( exportUUID );
+        exportService.setS3Export( s3Export );
+
+        //create and initialize jobData returned in JobExecution.
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        //the exporters app is never returned, and I'm not even sure if that is the way we want to go
+        // I feel like there should be a better way than having to store data for the user.
+        exportService.doExport( jobExecution );
+        //BiMap<UUID,String> mapper = setup.getMgmtSvc().getApplicationsForOrganization(orgMade.getUuid());
+        //mapper.get( "" )
+        //        while (!exportService.getState( ,exportUUID )
+        //                             .equals("FINISHED"));
+
+        Thread.sleep( 3000 );
+
+        String bucketName = System.getProperty( "bucketName" );
+        String accessId = System.getProperty( "accessKey" );
+        String secretKey = System.getProperty( "secretKey" );
+
+        Properties overrides = new Properties();
+        overrides.setProperty( "s3" + ".identity", accessId );
+        overrides.setProperty( "s3" + ".credential", secretKey );
+
+        Blob bo = null;
+        BlobStore blobStore = null;
+
+        try {
+            final Iterable<? extends Module> MODULES = ImmutableSet
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
+                            new NettyPayloadModule() );
+
+            BlobStoreContext context =
+                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
+                                  .overrides( overrides ).buildView( BlobStoreContext.class );
+
+
+            blobStore = context.getBlobStore();
+            //            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+            //                blobStore.deleteContainer( bucketName );
+            //                assert(false);
+            //            }
+            //Grab Number of files
+            Long numOfFiles = blobStore.countBlobs( bucketName );
+            //delete container containing said files
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+            blobStore.deleteContainer( bucketName );
+            Long numWeWant = Long.valueOf( 5 );
+            //asserts that the correct number of files was transferred over
+            assertEquals( numWeWant, numOfFiles );
+        }
+        catch ( Exception e ) {
+            blobStore.deleteContainer( bucketName );
+            e.printStackTrace();
+            assert ( false );
+        }
+
+        assertNotNull( bo );
+        blobStore.deleteContainer( bucketName );
+    }
+
+
+    @Ignore
+    public void testIntegration100EntitiesOnOneOrg() throws Exception {
+
+        S3Export s3Export = new S3ExportImpl();
+        ExportService exportService = setup.getExportService();
+        HashMap<String, Object> payload = payloadBuilder();
+
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+
+        OrganizationInfo orgMade = null;
+        ApplicationInfo appMade = null;
+        for ( int i = 0; i < 100; i++ ) {
+            orgMade = setup.getMgmtSvc().createOrganization( "largerboss" + i, adminUser, true );
+            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + i );
+
+            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
+            customMaker.createApplicationCollection( "superappCol" + i );
+            //intialize user object to be posted
+            Map<String, Object> entityLevelProperties = null;
+            Entity[] entNotCopied;
+            entNotCopied = new Entity[20];
+            //creates entities
+            for ( int index = 0; index < 20; index++ ) {
+                entityLevelProperties = new LinkedHashMap<String, Object>();
+                entityLevelProperties.put( "username", "bobso" + index );
+                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
+            }
+        }
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
+        //intialize user object to be posted
+        Map<String, Object> userProperties = null;
+        Entity[] entity;
+        entity = new Entity[100];
+        //creates entities
+        for ( int i = 0; i < 100; i++ ) {
+            userProperties = new LinkedHashMap<String, Object>();
+            userProperties.put( "username", "bido" + i );
+            userProperties.put( "email", "bido" + i + "@anuff.com" );
+
+            entity[i] = em.create( "user", userProperties );
+        }
+
+        UUID exportUUID = exportService.schedule( payload );
+        exportService.setS3Export( s3Export );
+
+        //create and initialize jobData returned in JobExecution.
+        JobData jobData = new JobData();
+        jobData.setProperty( "jobName", "exportJob" );
+        jobData.setProperty( "exportInfo", payload );
+        jobData.setProperty( "exportId", exportUUID );
+
+        JobExecution jobExecution = mock( JobExecution.class );
+        when( jobExecution.getJobData() ).thenReturn( jobData );
+
+        exportService.doExport( jobExecution );
+        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
+            ;
+        }
+
+        String bucketName = System.getProperty( "bucketName" );
+        String accessId = System.getProperty( "accessKey" );
+        String secretKey = System.getProperty( "secretKey" );
+
+        Properties overrides = new Properties();
+        overrides.setProperty( "s3" + ".identity", accessId );
+        overrides.setProperty( "s3" + ".credential", secretKey );
+
+        Blob bo = null;
+        BlobStore blobStore = null;
+
+        try {
+            final Iterable<? extends Module> MODULES = ImmutableSet
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
+                            new NettyPayloadModule() );
+
+            BlobStoreContext context =
+                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
+                                  .overrides( overrides ).buildView( BlobStoreContext.class );
+
+
+            blobStore = context.getBlobStore();
+            if ( !blobStore.blobExists( bucketName, s3Export.getFilename() ) ) {
+                assert ( false );
+            }
+            Long numOfFiles = blobStore.countBlobs( bucketName );
+            Long numWeWant = Long.valueOf( 1 );
+            assertEquals( numOfFiles, numWeWant );
+
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+        }
+        catch ( Exception e ) {
+            assert ( false );
+        }
+
+        assertNotNull( bo );
+        blobStore.deleteContainer( bucketName );
+    }
+
+
+    /*Creates fake payload for testing purposes.*/
+    public HashMap<String, Object> payloadBuilder() {
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        storage_info.put( "s3_key", System.getProperty( "secretKey" ) );
+        storage_info.put( "s3_access_id", System.getProperty( "accessKey" ) );
+        storage_info.put( "bucket_location", System.getProperty( "bucketName" ) );
+
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+
+        payload.put( "path", "test-organization/test-app" );
+        payload.put( "properties", properties );
+        return payload;
+    }
+}


[31/43] git commit: Added delete on exit to ephemeral file.

Posted by sn...@apache.org.
Added delete on exit to ephemeral file.


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

Branch: refs/pull/96/merge
Commit: 537e8c5a1aa6282dcd75656ea387fe0066e4a4a9
Parents: 721d762
Author: grey <gr...@apigee.com>
Authored: Mon Apr 7 11:06:07 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Apr 7 11:06:07 2014 -0700

----------------------------------------------------------------------
 .../org/apache/usergrid/management/export/ExportServiceImpl.java    | 1 +
 .../java/org/apache/usergrid/management/export/S3ExportImpl.java    | 1 -
 .../org/apache/usergrid/management/cassandra/MockS3ExportImpl.java  | 1 -
 3 files changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/537e8c5a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 61a416d..effacf0 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -566,6 +566,7 @@ public class ExportServiceImpl implements ExportService {
         Map<String, Object> metadata = em.getApplicationCollectionMetadata();
         long starting_time = System.currentTimeMillis();
         File ephemeral = new File( "tempExport" + UUID.randomUUID() );
+        ephemeral.deleteOnExit();
 
 
         JsonGenerator jg = getJsonGenerator( ephemeral );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/537e8c5a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index 24130db..4399ad7 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -99,7 +99,6 @@ public class S3ExportImpl implements S3Export {
 
 
             logger.info( "Uploaded file etag=" + futureETag.get() );
-            ephemeral.delete();
         }
         catch ( Exception e ) {
             logger.error( "Error uploading to blob store", e );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/537e8c5a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
index b3ec1cb..932d1f8 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/MockS3ExportImpl.java
@@ -42,7 +42,6 @@ public class MockS3ExportImpl implements S3Export {
         File verfiedData = new File( this.filename );
         try {
             FileUtils.copyFile(ephemeral,verfiedData);
-            ephemeral.delete();
         }
         catch ( IOException e ) {
             e.printStackTrace();


[08/43] git commit: Ignore the integration tests.

Posted by sn...@apache.org.
Ignore the integration tests.


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

Branch: refs/pull/96/merge
Commit: 6d53e9b564bd431e5451f859a0e267ca70095e0e
Parents: 9598c8e
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:40:06 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:40:06 2014 -0700

----------------------------------------------------------------------
 .../usergrid/management/cassandra/ManagementServiceIT.java   | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/6d53e9b5/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index 6e7b153..c597661 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -1559,8 +1559,8 @@ public class ManagementServiceIT {
     }
 
 
-    //   @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
-    @Test
+    @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+    //@Test
     public void testIntegration100EntitiesOn() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();
@@ -1653,8 +1653,8 @@ public class ManagementServiceIT {
         blobStore.deleteContainer( bucketName );
     }
 
-
-    @Test
+    @Ignore
+    //@Test
     public void testIntegration100EntitiesForAllApps() throws Exception {
 
         S3Export s3Export = new S3ExportImpl();


[05/43] git commit: Reformatted tests.

Posted by sn...@apache.org.
Reformatted tests.


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

Branch: refs/pull/96/merge
Commit: f71743ea1dda127b5acccefc8a3a502b45441ec2
Parents: bc7e6d0
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:32:37 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:32:37 2014 -0700

----------------------------------------------------------------------
 .../cassandra/ManagementServiceIT.java          | 325 ++++++++++---------
 1 file changed, 172 insertions(+), 153 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f71743ea/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index cb817f0..5d73185 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -95,8 +95,9 @@ import static org.mockito.Mockito.when;
 //import com.amazonaws.services.s3.model.S3Object;
 
 
-
-/** @author zznate */
+/**
+ * @author zznate
+ */
 @Concurrent()
 public class ManagementServiceIT {
     private static final Logger LOG = LoggerFactory.getLogger( ManagementServiceIT.class );
@@ -511,7 +512,9 @@ public class ManagementServiceIT {
     }
 
 
-    /** Test we can change the password if it's hashed with sha1 */
+    /**
+     * Test we can change the password if it's hashed with sha1
+     */
     @Test
     public void testAdminPasswordChangeShaType() throws Exception {
         String username = "testAdminPasswordChangeShaType";
@@ -564,7 +567,9 @@ public class ManagementServiceIT {
     }
 
 
-    /** Test we can change the password if it's hashed with md5 then sha1 */
+    /**
+     * Test we can change the password if it's hashed with md5 then sha1
+     */
     @Test
     public void testAdminPasswordChangeMd5ShaType() throws Exception {
         String username = "testAdminPasswordChangeMd5ShaType";
@@ -665,7 +670,9 @@ public class ManagementServiceIT {
     }
 
 
-    /** Test we can change the password if it's hashed with sha1 */
+    /**
+     * Test we can change the password if it's hashed with sha1
+     */
     @Test
     public void testAppUserPasswordChangeShaType() throws Exception {
         String username = "tnine";
@@ -719,7 +726,9 @@ public class ManagementServiceIT {
     }
 
 
-    /** Test we can change the password if it's hashed with md5 then sha1 */
+    /**
+     * Test we can change the password if it's hashed with md5 then sha1
+     */
     @Test
     public void testAppUserPasswordChangeMd5ShaType() throws Exception {
         String username = "tnine";
@@ -778,8 +787,10 @@ public class ManagementServiceIT {
 
         assertEquals( userId, authedUser.getUuid() );
     }
-//
-//
+
+
+    //
+    //
     //Tests to make sure we can call the job with mock data and it runs.
     @Ignore //Connections won't save when run with maven, but on local builds it will.
     public void testConnectionsOnCollectionExport() throws Exception {
@@ -802,9 +813,9 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId );
-        payload.put("collectionName","users");
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "users" );
 
         EntityManager em = setup.getEmf().getEntityManager( applicationId );
         //intialize user object to be posted
@@ -842,14 +853,13 @@ public class ManagementServiceIT {
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
         //assertEquals(2, a.size() );
 
-        for(indexCon  = 0; indexCon < a.size(); indexCon++) {
+        for ( indexCon = 0; indexCon < a.size(); indexCon++ ) {
             JSONObject jObj = ( JSONObject ) a.get( indexCon );
             JSONObject data = ( JSONObject ) jObj.get( "Metadata" );
-            String uuid = (String) data.get( "uuid" );
-            if ( entity[0].getUuid().toString().equals( uuid )) {
+            String uuid = ( String ) data.get( "uuid" );
+            if ( entity[0].getUuid().toString().equals( uuid ) ) {
                 break;
             }
-
         }
 
         org.json.simple.JSONObject objEnt = ( org.json.simple.JSONObject ) a.get( indexCon );
@@ -862,9 +872,9 @@ public class ManagementServiceIT {
         assertNotNull( objVibrations );
 
         f.deleteOnExit();
-
     }
 
+
     @Test //Connections won't save when run with maven, but on local builds it will.
     public void testConnectionsOnApplicationEndpoint() throws Exception {
 
@@ -884,8 +894,8 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put("organizationId",organization.getUuid());
-        payload.put("applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
         EntityManager em = setup.getEmf().getEntityManager( applicationId );
         //intialize user object to be posted
@@ -923,18 +933,17 @@ public class ManagementServiceIT {
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
         int indexApp = 0;
 
-        for(indexApp  = 0; indexApp < a.size(); indexApp++) {
+        for ( indexApp = 0; indexApp < a.size(); indexApp++ ) {
             JSONObject jObj = ( JSONObject ) a.get( indexApp );
             JSONObject data = ( JSONObject ) jObj.get( "Metadata" );
-            String uuid = (String) data.get( "uuid" );
-            if ( entity[0].getUuid().toString().equals( uuid )) {
+            String uuid = ( String ) data.get( "uuid" );
+            if ( entity[0].getUuid().toString().equals( uuid ) ) {
                 break;
             }
-
         }
-        if(indexApp >= a.size()) {
+        if ( indexApp >= a.size() ) {
             //what? How does this condition even get reached due to the above forloop
-            assert(false);
+            assert ( false );
         }
 
         org.json.simple.JSONObject objEnt = ( org.json.simple.JSONObject ) a.get( indexApp );
@@ -947,10 +956,11 @@ public class ManagementServiceIT {
         assertNotNull( objVibrations );
 
         f.deleteOnExit();
-
     }
-//
-////need to add tests for the other endpoint as well.
+
+
+    //
+    ////need to add tests for the other endpoint as well.
     @Test
     public void testValidityOfCollectionExport() throws Exception {
 
@@ -968,9 +978,9 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
-        payload.put( "collectionName","users");
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "users" );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -995,9 +1005,10 @@ public class ManagementServiceIT {
             assertNotNull( entityData );
         }
         f.deleteOnExit();
-
     }
-//
+
+
+    //
     @Test
     public void testValidityOfApplicationExport() throws Exception {
 
@@ -1015,8 +1026,8 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1041,9 +1052,10 @@ public class ManagementServiceIT {
             assertNotNull( entityData );
         }
         f.deleteOnExit();
-
     }
-//
+
+
+    //
     @Test
     public void testExportOneOrgCollectionEndpoint() throws Exception {
 
@@ -1061,13 +1073,13 @@ public class ManagementServiceIT {
                      "123456789" );
 
         S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename("exportOneOrg.json");
+        s3Export.setFilename( "exportOneOrg.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
-        payload.put( "collectionName","roles");
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "roles" );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1086,7 +1098,7 @@ public class ManagementServiceIT {
 
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
-        assertEquals( 3 , a.size() );
+        assertEquals( 3, a.size() );
         for ( int i = 0; i < a.size(); i++ ) {
             org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
             org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
@@ -1095,10 +1107,11 @@ public class ManagementServiceIT {
             assertFalse( "junkRealName".equals( entityName ) );
         }
         f.deleteOnExit();
-
     }
-//
-//creation of files doesn't always delete itself
+
+
+    //
+    //creation of files doesn't always delete itself
     @Test
     public void testExportOneAppOnCollectionEndpoint() throws Exception {
 
@@ -1126,7 +1139,7 @@ public class ManagementServiceIT {
         //creates entities
         for ( int i = 0; i < 1; i++ ) {
             userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "junkRealName");
+            userProperties.put( "username", "junkRealName" );
             userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
             entity[i] = em.create( "user", userProperties );
         }
@@ -1136,8 +1149,8 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1165,6 +1178,7 @@ public class ManagementServiceIT {
         }
     }
 
+
     @Test
     public void testExportOneAppOnApplicationEndpointWQuery() throws Exception {
 
@@ -1180,7 +1194,6 @@ public class ManagementServiceIT {
         f.deleteOnExit();
 
 
-
         EntityManager em = setup.getEmf().getEntityManager( applicationId );
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
@@ -1189,8 +1202,8 @@ public class ManagementServiceIT {
         //creates entities
         for ( int i = 0; i < 1; i++ ) {
             userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put("name","me");
-            userProperties.put( "username", "junkRealName");
+            userProperties.put( "name", "me" );
+            userProperties.put( "username", "junkRealName" );
             userProperties.put( "email", "burp" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
             entity[i] = em.create( "users", userProperties );
         }
@@ -1200,10 +1213,10 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "query","select * where username = 'junkRealName'" );
+        payload.put( "query", "select * where username = 'junkRealName'" );
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1222,7 +1235,7 @@ public class ManagementServiceIT {
 
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
-        assertEquals( 1 , a.size() );
+        assertEquals( 1, a.size() );
         for ( int i = 0; i < a.size(); i++ ) {
             org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
             org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
@@ -1231,7 +1244,8 @@ public class ManagementServiceIT {
         }
     }
 
-//
+
+    //
     @Test
     public void testExportOneCollection() throws Exception {
 
@@ -1245,7 +1259,9 @@ public class ManagementServiceIT {
             //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
         }
 
-        EntityManager em = setup.getEmf().getEntityManager( applicationId);
+        f.deleteOnExit();
+
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
         em.createApplicationCollection( "qt" );
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
@@ -1264,9 +1280,9 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
-        payload.put( "collectionName","qts");
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "qts" );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1285,11 +1301,10 @@ public class ManagementServiceIT {
 
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
-        assertEquals( entitiesToCreate , a.size() );
-        f.deleteOnExit();
-
+        assertEquals( entitiesToCreate, a.size() );
     }
 
+
     @Test
     public void testExportOneCollectionWQuery() throws Exception {
 
@@ -1304,7 +1319,7 @@ public class ManagementServiceIT {
         }
         f.deleteOnExit();
 
-        EntityManager em = setup.getEmf().getEntityManager( applicationId);
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
         em.createApplicationCollection( "baconators" );
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
@@ -1322,11 +1337,11 @@ public class ManagementServiceIT {
         s3Export.setFilename( "exportOneCollectionWQuery.json" );
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
-        payload.put( "query","select * where username contains 'billybob0'" );
+        payload.put( "query", "select * where username contains 'billybob0'" );
 
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
-        payload.put( "collectionName","baconators");
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
+        payload.put( "collectionName", "baconators" );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1346,14 +1361,10 @@ public class ManagementServiceIT {
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
         //only one entity should match the query.
-        assertEquals( 1 , a.size() );
-
+        assertEquals( 1, a.size() );
     }
 
 
-
-
-
     //@Ignore("file created won't be deleted when running tests")
     @Test
     public void testExportOneOrganization() throws Exception {
@@ -1370,7 +1381,7 @@ public class ManagementServiceIT {
             //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
         }
 
-        EntityManager em = setup.getEmf().getEntityManager( applicationId);
+        EntityManager em = setup.getEmf().getEntityManager( applicationId );
         em.createApplicationCollection( "newOrg" );
         //intialize user object to be posted
         Map<String, Object> userProperties = null;
@@ -1389,18 +1400,18 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-//        payload.put( "organizationId",organization.getUuid() );
-//        payload.put( "applicationId",applicationId);
+        //        payload.put( "organizationId",organization.getUuid() );
+        //        payload.put( "applicationId",applicationId);
 
         //creates 100s of organizations with some entities in each one to make sure we don't actually apply it
         OrganizationInfo orgMade = null;
         ApplicationInfo appMade = null;
-        for(int i = 0; i < 100; i++) {
-            orgMade =setup.getMgmtSvc().createOrganization( "superboss"+i,adminUser,true );
-            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp"+i);
+        for ( int i = 0; i < 100; i++ ) {
+            orgMade = setup.getMgmtSvc().createOrganization( "superboss" + i, adminUser, true );
+            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + i );
 
             EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol"+i );
+            customMaker.createApplicationCollection( "superappCol" + i );
             //intialize user object to be posted
             Map<String, Object> entityLevelProperties = null;
             Entity[] entNotCopied;
@@ -1413,8 +1424,8 @@ public class ManagementServiceIT {
                 entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
             }
         }
-        payload.put( "organizationId",orgMade.getUuid());
-        payload.put( "applicationId",appMade.getId());
+        payload.put( "organizationId", orgMade.getUuid() );
+        payload.put( "applicationId", appMade.getId() );
 
         UUID exportUUID = exportService.schedule( payload );
         exportService.setS3Export( s3Export );
@@ -1434,16 +1445,17 @@ public class ManagementServiceIT {
         org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
 
         /*plus 3 for the default roles*/
-        assertEquals( 23 , a.size() );
+        assertEquals( 23, a.size() );
         f.deleteOnExit();
     }
 
+
     @Test
     public void testExportDoJob() throws Exception {
 
         HashMap<String, Object> payload = payloadBuilder();
-        payload.put( "organizationId",organization.getUuid() );
-        payload.put( "applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
 
         JobData jobData = new JobData();
@@ -1466,6 +1478,7 @@ public class ManagementServiceIT {
         assert ( true );
     }
 
+
     @Test
     public void testExportDoExportOnApplicationEndpoint() throws Exception {
 
@@ -1476,10 +1489,10 @@ public class ManagementServiceIT {
 
         JobExecution jobExecution = mock( JobExecution.class );
 
-        payload.put("organizationId",organization.getUuid());
-        payload.put("applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
-        UUID entityExportUUID = eS.schedule( payload);
+        UUID entityExportUUID = eS.schedule( payload );
 
 
         JobData jobData = new JobData();
@@ -1499,13 +1512,14 @@ public class ManagementServiceIT {
         }
         catch ( Exception e ) {
             //throw e;
-            assert(false);
+            assert ( false );
         }
         exportEntity = ( Export ) em.get( entityExportUUID );
         assertNotNull( exportEntity );
         assertEquals( "FINISHED", exportEntity.getState().name() );
     }
 
+
     //tests that with empty job data, the export still runs.
     @Test
     public void testExportEmptyJobData() throws Exception {
@@ -1553,7 +1567,7 @@ public class ManagementServiceIT {
     }
 
 
- //   @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
+    //   @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
     @Test
     public void testIntegration100EntitiesOn() throws Exception {
 
@@ -1561,8 +1575,8 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put("organizationId",organization.getUuid());
-        payload.put("applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
         EntityManager em = setup.getEmf().getEntityManager( applicationId );
         //intialize user object to be posted
@@ -1572,11 +1586,11 @@ public class ManagementServiceIT {
         //creates entities
 
         ApplicationInfo appMade = null;
-        for(int i = 0; i < 5; i++) {
-            appMade = setup.getMgmtSvc().createApplication( organization.getUuid(), "superapp"+i);
+        for ( int i = 0; i < 5; i++ ) {
+            appMade = setup.getMgmtSvc().createApplication( organization.getUuid(), "superapp" + i );
 
             EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol"+i );
+            customMaker.createApplicationCollection( "superappCol" + i );
             //intialize user object to be posted
             Map<String, Object> entityLevelProperties = null;
             Entity[] entNotCopied;
@@ -1603,11 +1617,13 @@ public class ManagementServiceIT {
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
         exportService.doExport( jobExecution );
-        while (!exportService.getState( applicationId,exportUUID ).equals("FINISHED"));
+        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
+            ;
+        }
 
         String bucketName = System.getProperty( "bucketName" );
         String accessId = System.getProperty( "accessKey" );
-        String secretKey =  System.getProperty("secretKey");
+        String secretKey = System.getProperty( "secretKey" );
 
         Properties overrides = new Properties();
         overrides.setProperty( "s3" + ".identity", accessId );
@@ -1618,8 +1634,8 @@ public class ManagementServiceIT {
 
         try {
             final Iterable<? extends Module> MODULES = ImmutableSet
-                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(), new NettyPayloadModule
-                            () );
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
+                            new NettyPayloadModule() );
 
             BlobStoreContext context =
                     ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
@@ -1627,24 +1643,25 @@ public class ManagementServiceIT {
 
 
             blobStore = context.getBlobStore();
-            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+            if ( !blobStore.blobExists( bucketName, s3Export.getFilename() ) ) {
                 blobStore.deleteContainer( bucketName );
-                assert(false);
+                assert ( false );
             }
             Long numOfFiles = blobStore.countBlobs( bucketName );
             Long numWeWant = Long.valueOf( 1 );
             assertEquals( numOfFiles, numWeWant );
 
-            bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
-
-        }catch(Exception e) {
-            assert(false);
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+        }
+        catch ( Exception e ) {
+            assert ( false );
         }
 
         assertNotNull( bo );
         blobStore.deleteContainer( bucketName );
     }
 
+
     @Test
     public void testIntegration100EntitiesForAllApps() throws Exception {
 
@@ -1668,29 +1685,29 @@ public class ManagementServiceIT {
                 //creates entities
                 for ( int index = 0; index < 1; index++ ) {
                     entityLevelProperties = new LinkedHashMap<String, Object>();
-                    entityLevelProperties.put( "derp","bacon" );
-//                    entityLevelProperties.put( "username", "bobso" + index );
-//                    entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
-                    entNotCopied[index] = customMaker.create( "superappCol"+j, entityLevelProperties );
+                    entityLevelProperties.put( "derp", "bacon" );
+                    //                    entityLevelProperties.put( "username", "bobso" + index );
+                    //                    entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
+                    entNotCopied[index] = customMaker.create( "superappCol" + j, entityLevelProperties );
                 }
             }
         }
 
-        payload.put("organizationId",orgMade.getUuid());
+        payload.put( "organizationId", orgMade.getUuid() );
 
         //EntityManager em = setup.getEmf().getEntityManager( appMade.getId() );
         //intialize user object to be posted
-//        Map<String, Object> userProperties = null;
-//        Entity[] entity;
-//        entity = new Entity[100];
-//        //creates entities
-//        for ( int i = 0; i < 100; i++ ) {
-//            userProperties = new LinkedHashMap<String, Object>();
-//            userProperties.put( "username", "bido" + i );
-//            userProperties.put( "email", "bido" + i + "@anuff.com" );
-//
-//            entity[i] = em.create( "user", userProperties );
-//        }
+        //        Map<String, Object> userProperties = null;
+        //        Entity[] entity;
+        //        entity = new Entity[100];
+        //        //creates entities
+        //        for ( int i = 0; i < 100; i++ ) {
+        //            userProperties = new LinkedHashMap<String, Object>();
+        //            userProperties.put( "username", "bido" + i );
+        //            userProperties.put( "email", "bido" + i + "@anuff.com" );
+        //
+        //            entity[i] = em.create( "user", userProperties );
+        //        }
 
         UUID exportUUID = exportService.schedule( payload );
         assertNotNull( exportUUID );
@@ -1710,14 +1727,14 @@ public class ManagementServiceIT {
         exportService.doExport( jobExecution );
         //BiMap<UUID,String> mapper = setup.getMgmtSvc().getApplicationsForOrganization(orgMade.getUuid());
         //mapper.get( "" )
-//        while (!exportService.getState( ,exportUUID )
-//                             .equals("FINISHED"));
+        //        while (!exportService.getState( ,exportUUID )
+        //                             .equals("FINISHED"));
 
         Thread.sleep( 3000 );
 
         String bucketName = System.getProperty( "bucketName" );
         String accessId = System.getProperty( "accessKey" );
-        String secretKey =  System.getProperty("secretKey");
+        String secretKey = System.getProperty( "secretKey" );
 
         Properties overrides = new Properties();
         overrides.setProperty( "s3" + ".identity", accessId );
@@ -1728,8 +1745,8 @@ public class ManagementServiceIT {
 
         try {
             final Iterable<? extends Module> MODULES = ImmutableSet
-                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(), new NettyPayloadModule
-                            () );
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
+                            new NettyPayloadModule() );
 
             BlobStoreContext context =
                     ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
@@ -1737,31 +1754,30 @@ public class ManagementServiceIT {
 
 
             blobStore = context.getBlobStore();
-//            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
-//                blobStore.deleteContainer( bucketName );
-//                assert(false);
-//            }
+            //            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
+            //                blobStore.deleteContainer( bucketName );
+            //                assert(false);
+            //            }
             //Grab Number of files
             Long numOfFiles = blobStore.countBlobs( bucketName );
             //delete container containing said files
-            bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
             blobStore.deleteContainer( bucketName );
             Long numWeWant = Long.valueOf( 5 );
             //asserts that the correct number of files was transferred over
-            assertEquals( numWeWant, numOfFiles);
-
-
-
-        }catch(Exception e) {
+            assertEquals( numWeWant, numOfFiles );
+        }
+        catch ( Exception e ) {
             blobStore.deleteContainer( bucketName );
             e.printStackTrace();
-            assert(false);
+            assert ( false );
         }
 
         assertNotNull( bo );
         blobStore.deleteContainer( bucketName );
     }
 
+
     @Test
     public void testIntegration100EntitiesOnOneOrg() throws Exception {
 
@@ -1769,17 +1785,17 @@ public class ManagementServiceIT {
         ExportService exportService = setup.getExportService();
         HashMap<String, Object> payload = payloadBuilder();
 
-        payload.put("organizationId",organization.getUuid());
-        payload.put("applicationId",applicationId);
+        payload.put( "organizationId", organization.getUuid() );
+        payload.put( "applicationId", applicationId );
 
         OrganizationInfo orgMade = null;
         ApplicationInfo appMade = null;
-        for(int i = 0; i < 100; i++) {
-            orgMade =setup.getMgmtSvc().createOrganization( "largerboss"+i,adminUser,true );
-            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp"+i);
+        for ( int i = 0; i < 100; i++ ) {
+            orgMade = setup.getMgmtSvc().createOrganization( "largerboss" + i, adminUser, true );
+            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + i );
 
             EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol"+i );
+            customMaker.createApplicationCollection( "superappCol" + i );
             //intialize user object to be posted
             Map<String, Object> entityLevelProperties = null;
             Entity[] entNotCopied;
@@ -1820,11 +1836,13 @@ public class ManagementServiceIT {
         when( jobExecution.getJobData() ).thenReturn( jobData );
 
         exportService.doExport( jobExecution );
-        while (!exportService.getState( applicationId,exportUUID ).equals("FINISHED"));
+        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
+            ;
+        }
 
         String bucketName = System.getProperty( "bucketName" );
         String accessId = System.getProperty( "accessKey" );
-        String secretKey =  System.getProperty("secretKey");
+        String secretKey = System.getProperty( "secretKey" );
 
         Properties overrides = new Properties();
         overrides.setProperty( "s3" + ".identity", accessId );
@@ -1835,8 +1853,8 @@ public class ManagementServiceIT {
 
         try {
             final Iterable<? extends Module> MODULES = ImmutableSet
-                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(), new NettyPayloadModule
-                            () );
+                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
+                            new NettyPayloadModule() );
 
             BlobStoreContext context =
                     ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
@@ -1844,30 +1862,31 @@ public class ManagementServiceIT {
 
 
             blobStore = context.getBlobStore();
-            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
-                assert(false);
+            if ( !blobStore.blobExists( bucketName, s3Export.getFilename() ) ) {
+                assert ( false );
             }
             Long numOfFiles = blobStore.countBlobs( bucketName );
             Long numWeWant = Long.valueOf( 1 );
             assertEquals( numOfFiles, numWeWant );
 
-            bo = blobStore.getBlob( bucketName,s3Export.getFilename()   );
-
-        }catch(Exception e) {
-            assert(false);
+            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
+        }
+        catch ( Exception e ) {
+            assert ( false );
         }
 
         assertNotNull( bo );
         blobStore.deleteContainer( bucketName );
     }
 
+
     /*Creates fake payload for testing purposes.*/
     public HashMap<String, Object> payloadBuilder() {
         HashMap<String, Object> payload = new HashMap<String, Object>();
         Map<String, Object> properties = new HashMap<String, Object>();
         Map<String, Object> storage_info = new HashMap<String, Object>();
         storage_info.put( "s3_key", System.getProperty( "secretKey" ) );
-        storage_info.put( "s3_access_id", System.getProperty( "accessKey" ));
+        storage_info.put( "s3_access_id", System.getProperty( "accessKey" ) );
         storage_info.put( "bucket_location", System.getProperty( "bucketName" ) );
 
         properties.put( "storage_provider", "s3" );


[14/43] Refactored out all the export tests into their own test file.

Posted by sn...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/e9e41431/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
index 558d7ea..3ddb664 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java
@@ -17,24 +17,11 @@
 package org.apache.usergrid.management.cassandra;
 
 
-import java.io.File;
-import java.io.FileReader;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.UUID;
 
-import org.jclouds.ContextBuilder;
-import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.BlobStoreContext;
-import org.jclouds.blobstore.domain.Blob;
-import org.jclouds.http.config.JavaUrlHttpCommandExecutorServiceModule;
-import org.jclouds.logging.log4j.config.Log4JLoggingModule;
-import org.jclouds.netty.config.NettyPayloadModule;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
 import org.junit.BeforeClass;
 import org.junit.ClassRule;
 import org.junit.Ignore;
@@ -46,24 +33,15 @@ import org.slf4j.LoggerFactory;
 import org.apache.usergrid.ServiceITSetup;
 import org.apache.usergrid.ServiceITSetupImpl;
 import org.apache.usergrid.ServiceITSuite;
-import org.apache.usergrid.batch.JobExecution;
 import org.apache.usergrid.cassandra.CassandraResource;
 import org.apache.usergrid.cassandra.ClearShiroSubject;
 import org.apache.usergrid.cassandra.Concurrent;
 import org.apache.usergrid.count.SimpleBatcher;
-import org.apache.usergrid.management.ApplicationInfo;
 import org.apache.usergrid.management.OrganizationInfo;
 import org.apache.usergrid.management.UserInfo;
-import org.apache.usergrid.management.export.ExportJob;
-import org.apache.usergrid.management.export.ExportService;
-import org.apache.usergrid.management.export.S3Export;
-import org.apache.usergrid.management.export.S3ExportImpl;
 import org.apache.usergrid.persistence.CredentialsInfo;
 import org.apache.usergrid.persistence.Entity;
 import org.apache.usergrid.persistence.EntityManager;
-import org.apache.usergrid.persistence.EntityManagerFactory;
-import org.apache.usergrid.persistence.entities.Export;
-import org.apache.usergrid.persistence.entities.JobData;
 import org.apache.usergrid.persistence.entities.User;
 import org.apache.usergrid.security.AuthPrincipalType;
 import org.apache.usergrid.security.crypto.command.Md5HashCommand;
@@ -73,9 +51,6 @@ import org.apache.usergrid.security.tokens.exceptions.InvalidTokenException;
 import org.apache.usergrid.utils.JsonUtils;
 import org.apache.usergrid.utils.UUIDUtils;
 
-import com.google.common.collect.ImmutableSet;
-import com.google.inject.Module;
-
 import static org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString;
 import static org.apache.usergrid.persistence.Schema.DICTIONARY_CREDENTIALS;
 import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION_ID;
@@ -84,8 +59,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 /**
  * @author zznate
@@ -780,1109 +753,4 @@ public class ManagementServiceIT {
         assertEquals( userId, authedUser.getUuid() );
     }
 
-
-    //
-    //
-    //Tests to make sure we can call the job with mock data and it runs.
-    @Ignore //Connections won't save when run with maven, but on local builds it will.
-    public void testConnectionsOnCollectionExport() throws Exception {
-
-        File f = null;
-        int indexCon = 0;
-
-
-        try {
-            f = new File( "testFileConnections.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "testFileConnections.json" );
-
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-        payload.put( "collectionName", "users" );
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[2];
-        //creates entities
-        for ( int i = 0; i < 2; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "meatIsGreat" + i );
-            userProperties.put( "email", "grey" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-
-            entity[i] = em.create( "users", userProperties );
-        }
-        //creates connections
-        em.createConnection( em.getRef( entity[0].getUuid() ), "Vibrations", em.getRef( entity[1].getUuid() ) );
-        em.createConnection( em.getRef( entity[1].getUuid() ), "Vibrations", em.getRef( entity[0].getUuid() ) );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-        //assertEquals(2, a.size() );
-
-        for ( indexCon = 0; indexCon < a.size(); indexCon++ ) {
-            JSONObject jObj = ( JSONObject ) a.get( indexCon );
-            JSONObject data = ( JSONObject ) jObj.get( "Metadata" );
-            String uuid = ( String ) data.get( "uuid" );
-            if ( entity[0].getUuid().toString().equals( uuid ) ) {
-                break;
-            }
-        }
-
-        org.json.simple.JSONObject objEnt = ( org.json.simple.JSONObject ) a.get( indexCon );
-        org.json.simple.JSONObject objConnections = ( org.json.simple.JSONObject ) objEnt.get( "connections" );
-
-        assertNotNull( objConnections );
-
-        org.json.simple.JSONArray objVibrations = ( org.json.simple.JSONArray ) objConnections.get( "Vibrations" );
-
-        assertNotNull( objVibrations );
-
-        f.deleteOnExit();
-    }
-
-
-    @Test //Connections won't save when run with maven, but on local builds it will.
-    public void testConnectionsOnApplicationEndpoint() throws Exception {
-
-        File f = null;
-
-        try {
-            f = new File( "testConnectionsOnApplicationEndpoint.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "testConnectionsOnApplicationEndpoint.json" );
-
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[2];
-        //creates entities
-        for ( int i = 0; i < 2; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "billybob" + i );
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-
-            entity[i] = em.create( "users", userProperties );
-        }
-        //creates connections
-        em.createConnection( em.getRef( entity[0].getUuid() ), "Vibrations", em.getRef( entity[1].getUuid() ) );
-        em.createConnection( em.getRef( entity[1].getUuid() ), "Vibrations", em.getRef( entity[0].getUuid() ) );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-        int indexApp = 0;
-
-        for ( indexApp = 0; indexApp < a.size(); indexApp++ ) {
-            JSONObject jObj = ( JSONObject ) a.get( indexApp );
-            JSONObject data = ( JSONObject ) jObj.get( "Metadata" );
-            String uuid = ( String ) data.get( "uuid" );
-            if ( entity[0].getUuid().toString().equals( uuid ) ) {
-                break;
-            }
-        }
-        if ( indexApp >= a.size() ) {
-            //what? How does this condition even get reached due to the above forloop
-            assert ( false );
-        }
-
-        org.json.simple.JSONObject objEnt = ( org.json.simple.JSONObject ) a.get( indexApp );
-        org.json.simple.JSONObject objConnections = ( org.json.simple.JSONObject ) objEnt.get( "connections" );
-
-        assertNotNull( objConnections );
-
-        org.json.simple.JSONArray objVibrations = ( org.json.simple.JSONArray ) objConnections.get( "Vibrations" );
-
-        assertNotNull( objVibrations );
-
-        f.deleteOnExit();
-    }
-
-
-    //
-    ////need to add tests for the other endpoint as well.
-    @Test
-    public void testValidityOfCollectionExport() throws Exception {
-
-        File f = null;
-
-        try {
-            f = new File( "fileValidity.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "fileValidity.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-        payload.put( "collectionName", "users" );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
-            assertNotNull( entityData );
-        }
-        f.deleteOnExit();
-    }
-
-
-    //
-    @Test
-    public void testValidityOfApplicationExport() throws Exception {
-
-        File f = null;
-
-        try {
-            f = new File( "testValidityOfApplicationExport.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "testValidityOfApplicationExport.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
-            assertNotNull( entityData );
-        }
-        f.deleteOnExit();
-    }
-
-
-    //
-    @Test
-    public void testExportOneOrgCollectionEndpoint() throws Exception {
-
-        File f = null;
-
-
-        try {
-            f = new File( "exportOneOrg.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't then don't do anything and carry on.
-        }
-        setup.getMgmtSvc()
-             .createOwnerAndOrganization( "noExport", "junkUserName", "junkRealName", "ugExport@usergrid.com",
-                     "123456789" );
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneOrg.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-        payload.put( "collectionName", "roles" );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        assertEquals( 3, a.size() );
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject entity = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) entity.get( "Metadata" );
-            String entityName = ( String ) entityData.get( "name" );
-            // assertNotEquals( "NotEqual","junkRealName",entityName );
-            assertFalse( "junkRealName".equals( entityName ) );
-        }
-        f.deleteOnExit();
-    }
-
-
-    //
-    //creation of files doesn't always delete itself
-    @Test
-    public void testExportOneAppOnCollectionEndpoint() throws Exception {
-
-        File f = null;
-        String orgName = "ed-organization";
-        String appName = "testAppCollectionTestNotExported";
-
-        try {
-            f = new File( "exportOneApp.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
-        }
-        f.deleteOnExit();
-
-
-        UUID appId = setup.getEmf().createApplication( orgName, appName );
-
-
-        EntityManager em = setup.getEmf().getEntityManager( appId );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[1];
-        //creates entities
-        for ( int i = 0; i < 1; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "junkRealName" );
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-            entity[i] = em.create( "user", userProperties );
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneApp.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        //assertEquals( 3 , a.size() );
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
-            String entityName = ( String ) entityData.get( "name" );
-            assertFalse( "junkRealName".equals( entityName ) );
-        }
-    }
-
-
-    @Test
-    public void testExportOneAppOnApplicationEndpointWQuery() throws Exception {
-
-        File f = null;
-
-        try {
-            f = new File( "exportOneAppWQuery.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
-        }
-
-        f.deleteOnExit();
-
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[1];
-        //creates entities
-        for ( int i = 0; i < 1; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "name", "me" );
-            userProperties.put( "username", "junkRealName" );
-            userProperties.put( "email", "burp" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-            entity[i] = em.create( "users", userProperties );
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneAppWQuery.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "query", "select * where username = 'junkRealName'" );
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        assertEquals( 1, a.size() );
-        for ( int i = 0; i < a.size(); i++ ) {
-            org.json.simple.JSONObject data = ( org.json.simple.JSONObject ) a.get( i );
-            org.json.simple.JSONObject entityData = ( JSONObject ) data.get( "Metadata" );
-            String entityName = ( String ) entityData.get( "name" );
-            assertFalse( "junkRealName".equals( entityName ) );
-        }
-    }
-
-
-    //
-    @Test
-    public void testExportOneCollection() throws Exception {
-
-        File f = null;
-        int entitiesToCreate = 5;
-
-        try {
-            f = new File( "exportOneCollection.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
-        }
-
-        f.deleteOnExit();
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        em.createApplicationCollection( "qt" );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[entitiesToCreate];
-        //creates entities
-        for ( int i = 0; i < entitiesToCreate; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "billybob" + i );
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-            entity[i] = em.create( "qts", userProperties );
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneCollection.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-        payload.put( "collectionName", "qts" );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        assertEquals( entitiesToCreate, a.size() );
-    }
-
-
-    @Test
-    public void testExportOneCollectionWQuery() throws Exception {
-
-        File f = null;
-        int entitiesToCreate = 5;
-
-        try {
-            f = new File( "exportOneCollectionWQuery.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
-        }
-        f.deleteOnExit();
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        em.createApplicationCollection( "baconators" );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[entitiesToCreate];
-        //creates entities
-        for ( int i = 0; i < entitiesToCreate; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "billybob" + i );
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-            entity[i] = em.create( "baconators", userProperties );
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneCollectionWQuery.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-        payload.put( "query", "select * where username contains 'billybob0'" );
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-        payload.put( "collectionName", "baconators" );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        //only one entity should match the query.
-        assertEquals( 1, a.size() );
-    }
-
-
-    //@Ignore("file created won't be deleted when running tests")
-    @Test
-    public void testExportOneOrganization() throws Exception {
-
-        //File f = new File( "exportOneOrganization.json" );
-        int entitiesToCreate = 123;
-        File f = null;
-
-
-        try {
-            f = new File( "exportOneOrganization.json" );
-        }
-        catch ( Exception e ) {
-            //consumed because this checks to see if the file exists. If it doesn't, don't do anything and carry on.
-        }
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        em.createApplicationCollection( "newOrg" );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[entitiesToCreate];
-        //creates entities
-        for ( int i = 0; i < entitiesToCreate; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "billybob" + i );
-            userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "test%i@anuff.com", i ) );
-            entity[i] = em.create( "newOrg", userProperties );
-        }
-
-        S3Export s3Export = new MockS3ExportImpl();
-        s3Export.setFilename( "exportOneOrganization.json" );
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        //creates 100s of organizations with some entities in each one to make sure we don't actually apply it
-        OrganizationInfo orgMade = null;
-        ApplicationInfo appMade = null;
-        for ( int i = 0; i < 100; i++ ) {
-            orgMade = setup.getMgmtSvc().createOrganization( "superboss" + i, adminUser, true );
-            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + i );
-
-            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol" + i );
-            //intialize user object to be posted
-            Map<String, Object> entityLevelProperties = null;
-            Entity[] entNotCopied;
-            entNotCopied = new Entity[entitiesToCreate];
-            //creates entities
-            for ( int index = 0; index < 20; index++ ) {
-                entityLevelProperties = new LinkedHashMap<String, Object>();
-                entityLevelProperties.put( "username", "bobso" + index );
-                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
-                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
-            }
-        }
-        payload.put( "organizationId", orgMade.getUuid() );
-        payload.put( "applicationId", appMade.getId() );
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-
-        JSONParser parser = new JSONParser();
-
-        org.json.simple.JSONArray a = ( org.json.simple.JSONArray ) parser.parse( new FileReader( f ) );
-
-        /*plus 3 for the default roles*/
-        assertEquals( 23, a.size() );
-        f.deleteOnExit();
-    }
-
-
-    @Test
-    public void testExportDoJob() throws Exception {
-
-        HashMap<String, Object> payload = payloadBuilder();
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload ); //this needs to be populated with properties of export info
-
-        JobExecution jobExecution = mock( JobExecution.class );
-
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        ExportJob job = new ExportJob();
-        ExportService eS = mock( ExportService.class );
-        job.setExportService( eS );
-        try {
-            job.doJob( jobExecution );
-        }
-        catch ( Exception e ) {
-            assert ( false );
-        }
-        assert ( true );
-    }
-
-
-    @Test
-    public void testExportDoExportOnApplicationEndpoint() throws Exception {
-
-        EntityManagerFactory emf = setup.getEmf();
-        EntityManager em = emf.getEntityManager( applicationId );
-        HashMap<String, Object> payload = payloadBuilder();
-        ExportService eS = setup.getExportService();
-
-        JobExecution jobExecution = mock( JobExecution.class );
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        UUID entityExportUUID = eS.schedule( payload );
-
-
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", entityExportUUID );
-
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        //Exportem.get(entityExport);
-        Export exportEntity = ( Export ) em.get( entityExportUUID );
-        assertNotNull( exportEntity );
-        String derp = exportEntity.getState().name();
-        assertEquals( "SCHEDULED", exportEntity.getState().name() );
-        try {
-            eS.doExport( jobExecution );
-        }
-        catch ( Exception e ) {
-            //throw e;
-            assert ( false );
-        }
-        exportEntity = ( Export ) em.get( entityExportUUID );
-        assertNotNull( exportEntity );
-        assertEquals( "FINISHED", exportEntity.getState().name() );
-    }
-
-
-    //tests that with empty job data, the export still runs.
-    @Test
-    public void testExportEmptyJobData() throws Exception {
-
-        JobData jobData = new JobData();
-
-        JobExecution jobExecution = mock( JobExecution.class );
-
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        ExportJob job = new ExportJob();
-        S3Export s3Export = mock( S3Export.class );
-        setup.getExportService().setS3Export( s3Export );
-        job.setExportService( setup.getExportService() );
-        try {
-            job.doJob( jobExecution );
-        }
-        catch ( Exception e ) {
-            assert ( false );
-        }
-        assert ( true );
-    }
-
-
-    @Test
-    public void testNullJobExecution() {
-
-        JobData jobData = new JobData();
-
-        JobExecution jobExecution = mock( JobExecution.class );
-
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        ExportJob job = new ExportJob();
-        S3Export s3Export = mock( S3Export.class );
-        setup.getExportService().setS3Export( s3Export );
-        job.setExportService( setup.getExportService() );
-        try {
-            job.doJob( jobExecution );
-        }
-        catch ( Exception e ) {
-            assert ( false );
-        }
-        assert ( true );
-    }
-
-
-    @Ignore //For this test please input your s3 credentials into settings.xml or Attach a -D with relevant fields.
-    //@Test
-    public void testIntegration100EntitiesOn() throws Exception {
-
-        S3Export s3Export = new S3ExportImpl();
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[5];
-        //creates entities
-
-        ApplicationInfo appMade = null;
-        for ( int i = 0; i < 5; i++ ) {
-            appMade = setup.getMgmtSvc().createApplication( organization.getUuid(), "superapp" + i );
-
-            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol" + i );
-            //intialize user object to be posted
-            Map<String, Object> entityLevelProperties = null;
-            Entity[] entNotCopied;
-            entNotCopied = new Entity[5];
-            //creates entities
-            for ( int index = 0; index < 5; index++ ) {
-                entityLevelProperties = new LinkedHashMap<String, Object>();
-                entityLevelProperties.put( "username", "bobso" + index );
-                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
-                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
-            }
-        }
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
-            ;
-        }
-
-        String bucketName = System.getProperty( "bucketName" );
-        String accessId = System.getProperty( "accessKey" );
-        String secretKey = System.getProperty( "secretKey" );
-
-        Properties overrides = new Properties();
-        overrides.setProperty( "s3" + ".identity", accessId );
-        overrides.setProperty( "s3" + ".credential", secretKey );
-
-        Blob bo = null;
-        BlobStore blobStore = null;
-
-        try {
-            final Iterable<? extends Module> MODULES = ImmutableSet
-                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
-                            new NettyPayloadModule() );
-
-            BlobStoreContext context =
-                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
-                                  .overrides( overrides ).buildView( BlobStoreContext.class );
-
-
-            blobStore = context.getBlobStore();
-            if ( !blobStore.blobExists( bucketName, s3Export.getFilename() ) ) {
-                blobStore.deleteContainer( bucketName );
-                assert ( false );
-            }
-            Long numOfFiles = blobStore.countBlobs( bucketName );
-            Long numWeWant = Long.valueOf( 1 );
-            assertEquals( numOfFiles, numWeWant );
-
-            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
-        }
-        catch ( Exception e ) {
-            assert ( false );
-        }
-
-        assertNotNull( bo );
-        blobStore.deleteContainer( bucketName );
-    }
-
-    @Ignore
-    //@Test
-    public void testIntegration100EntitiesForAllApps() throws Exception {
-
-        S3Export s3Export = new S3ExportImpl();
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        OrganizationInfo orgMade = null;
-        ApplicationInfo appMade = null;
-        for ( int i = 0; i < 5; i++ ) {
-            orgMade = setup.getMgmtSvc().createOrganization( "minorboss" + i, adminUser, true );
-            for ( int j = 0; j < 5; j++ ) {
-                appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + j );
-
-                EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-                customMaker.createApplicationCollection( "superappCol" + j );
-                //intialize user object to be posted
-                Map<String, Object> entityLevelProperties = null;
-                Entity[] entNotCopied;
-                entNotCopied = new Entity[1];
-                //creates entities
-                for ( int index = 0; index < 1; index++ ) {
-                    entityLevelProperties = new LinkedHashMap<String, Object>();
-                    entityLevelProperties.put( "derp", "bacon" );
-                    //                    entityLevelProperties.put( "username", "bobso" + index );
-                    //                    entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
-                    entNotCopied[index] = customMaker.create( "superappCol" + j, entityLevelProperties );
-                }
-            }
-        }
-
-        payload.put( "organizationId", orgMade.getUuid() );
-
-        //EntityManager em = setup.getEmf().getEntityManager( appMade.getId() );
-        //intialize user object to be posted
-        //        Map<String, Object> userProperties = null;
-        //        Entity[] entity;
-        //        entity = new Entity[100];
-        //        //creates entities
-        //        for ( int i = 0; i < 100; i++ ) {
-        //            userProperties = new LinkedHashMap<String, Object>();
-        //            userProperties.put( "username", "bido" + i );
-        //            userProperties.put( "email", "bido" + i + "@anuff.com" );
-        //
-        //            entity[i] = em.create( "user", userProperties );
-        //        }
-
-        UUID exportUUID = exportService.schedule( payload );
-        assertNotNull( exportUUID );
-        exportService.setS3Export( s3Export );
-
-        //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        //the exporters app is never returned, and I'm not even sure if that is the way we want to go
-        // I feel like there should be a better way than having to store data for the user.
-        exportService.doExport( jobExecution );
-        //BiMap<UUID,String> mapper = setup.getMgmtSvc().getApplicationsForOrganization(orgMade.getUuid());
-        //mapper.get( "" )
-        //        while (!exportService.getState( ,exportUUID )
-        //                             .equals("FINISHED"));
-
-        Thread.sleep( 3000 );
-
-        String bucketName = System.getProperty( "bucketName" );
-        String accessId = System.getProperty( "accessKey" );
-        String secretKey = System.getProperty( "secretKey" );
-
-        Properties overrides = new Properties();
-        overrides.setProperty( "s3" + ".identity", accessId );
-        overrides.setProperty( "s3" + ".credential", secretKey );
-
-        Blob bo = null;
-        BlobStore blobStore = null;
-
-        try {
-            final Iterable<? extends Module> MODULES = ImmutableSet
-                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
-                            new NettyPayloadModule() );
-
-            BlobStoreContext context =
-                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
-                                  .overrides( overrides ).buildView( BlobStoreContext.class );
-
-
-            blobStore = context.getBlobStore();
-            //            if(!blobStore.blobExists( bucketName,s3Export.getFilename()  )){
-            //                blobStore.deleteContainer( bucketName );
-            //                assert(false);
-            //            }
-            //Grab Number of files
-            Long numOfFiles = blobStore.countBlobs( bucketName );
-            //delete container containing said files
-            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
-            blobStore.deleteContainer( bucketName );
-            Long numWeWant = Long.valueOf( 5 );
-            //asserts that the correct number of files was transferred over
-            assertEquals( numWeWant, numOfFiles );
-        }
-        catch ( Exception e ) {
-            blobStore.deleteContainer( bucketName );
-            e.printStackTrace();
-            assert ( false );
-        }
-
-        assertNotNull( bo );
-        blobStore.deleteContainer( bucketName );
-    }
-
-
-    @Ignore
-    public void testIntegration100EntitiesOnOneOrg() throws Exception {
-
-        S3Export s3Export = new S3ExportImpl();
-        ExportService exportService = setup.getExportService();
-        HashMap<String, Object> payload = payloadBuilder();
-
-        payload.put( "organizationId", organization.getUuid() );
-        payload.put( "applicationId", applicationId );
-
-        OrganizationInfo orgMade = null;
-        ApplicationInfo appMade = null;
-        for ( int i = 0; i < 100; i++ ) {
-            orgMade = setup.getMgmtSvc().createOrganization( "largerboss" + i, adminUser, true );
-            appMade = setup.getMgmtSvc().createApplication( orgMade.getUuid(), "superapp" + i );
-
-            EntityManager customMaker = setup.getEmf().getEntityManager( appMade.getId() );
-            customMaker.createApplicationCollection( "superappCol" + i );
-            //intialize user object to be posted
-            Map<String, Object> entityLevelProperties = null;
-            Entity[] entNotCopied;
-            entNotCopied = new Entity[20];
-            //creates entities
-            for ( int index = 0; index < 20; index++ ) {
-                entityLevelProperties = new LinkedHashMap<String, Object>();
-                entityLevelProperties.put( "username", "bobso" + index );
-                entityLevelProperties.put( "email", "derp" + index + "@anuff.com" );
-                entNotCopied[index] = customMaker.create( "superappCol", entityLevelProperties );
-            }
-        }
-
-        EntityManager em = setup.getEmf().getEntityManager( applicationId );
-        //intialize user object to be posted
-        Map<String, Object> userProperties = null;
-        Entity[] entity;
-        entity = new Entity[100];
-        //creates entities
-        for ( int i = 0; i < 100; i++ ) {
-            userProperties = new LinkedHashMap<String, Object>();
-            userProperties.put( "username", "bido" + i );
-            userProperties.put( "email", "bido" + i + "@anuff.com" );
-
-            entity[i] = em.create( "user", userProperties );
-        }
-
-        UUID exportUUID = exportService.schedule( payload );
-        exportService.setS3Export( s3Export );
-
-        //create and initialize jobData returned in JobExecution.
-        JobData jobData = new JobData();
-        jobData.setProperty( "jobName", "exportJob" );
-        jobData.setProperty( "exportInfo", payload );
-        jobData.setProperty( "exportId", exportUUID );
-
-        JobExecution jobExecution = mock( JobExecution.class );
-        when( jobExecution.getJobData() ).thenReturn( jobData );
-
-        exportService.doExport( jobExecution );
-        while ( !exportService.getState( applicationId, exportUUID ).equals( "FINISHED" ) ) {
-            ;
-        }
-
-        String bucketName = System.getProperty( "bucketName" );
-        String accessId = System.getProperty( "accessKey" );
-        String secretKey = System.getProperty( "secretKey" );
-
-        Properties overrides = new Properties();
-        overrides.setProperty( "s3" + ".identity", accessId );
-        overrides.setProperty( "s3" + ".credential", secretKey );
-
-        Blob bo = null;
-        BlobStore blobStore = null;
-
-        try {
-            final Iterable<? extends Module> MODULES = ImmutableSet
-                    .of( new JavaUrlHttpCommandExecutorServiceModule(), new Log4JLoggingModule(),
-                            new NettyPayloadModule() );
-
-            BlobStoreContext context =
-                    ContextBuilder.newBuilder( "s3" ).credentials( accessId, secretKey ).modules( MODULES )
-                                  .overrides( overrides ).buildView( BlobStoreContext.class );
-
-
-            blobStore = context.getBlobStore();
-            if ( !blobStore.blobExists( bucketName, s3Export.getFilename() ) ) {
-                assert ( false );
-            }
-            Long numOfFiles = blobStore.countBlobs( bucketName );
-            Long numWeWant = Long.valueOf( 1 );
-            assertEquals( numOfFiles, numWeWant );
-
-            bo = blobStore.getBlob( bucketName, s3Export.getFilename() );
-        }
-        catch ( Exception e ) {
-            assert ( false );
-        }
-
-        assertNotNull( bo );
-        blobStore.deleteContainer( bucketName );
-    }
-
-
-    /*Creates fake payload for testing purposes.*/
-    public HashMap<String, Object> payloadBuilder() {
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        Map<String, Object> storage_info = new HashMap<String, Object>();
-        storage_info.put( "s3_key", System.getProperty( "secretKey" ) );
-        storage_info.put( "s3_access_id", System.getProperty( "accessKey" ) );
-        storage_info.put( "bucket_location", System.getProperty( "bucketName" ) );
-
-        properties.put( "storage_provider", "s3" );
-        properties.put( "storage_info", storage_info );
-
-        payload.put( "path", "test-organization/test-app" );
-        payload.put( "properties", properties );
-        return payload;
-    }
 }


[37/43] git commit: remove version, doesn't work

Posted by sn...@apache.org.
remove version, doesn't work


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

Branch: refs/pull/96/merge
Commit: 6a3c1482485e24014041cbdf449780f671ff4a5d
Parents: f5a7830
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Apr 8 13:49:07 2014 -0600
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Apr 8 13:49:07 2014 -0600

----------------------------------------------------------------------
 portal/bower.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/6a3c1482/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index 4561fab..f032249 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -23,7 +23,7 @@
   "dependencies": {
     "angularitics": "~0.8.7",
     "apigee-sdk": "~2.0.8",
-    "angular-intro.js": "1.0.3",
+    "angular-intro.js": "*",
     "sizzle":"1.10.16"
   },
   "devDependencies": {},


[17/43] git commit: Removed unused Export Entity properties. Added in org level status checker, removed the lower level export so that we can just call one command for a query. Refactored Rest level tests Storing entity in management application, no long

Posted by sn...@apache.org.
Removed unused Export Entity properties.
Added in org level status checker, removed the lower level export so that we can just call one command for a query.
Refactored Rest level tests
Storing entity in management application, no longer creating a separate application.


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

Branch: refs/pull/96/merge
Commit: 200b714234818da3b94c3bb117ef54b8ed9367f9
Parents: 88efb03
Author: grey <gr...@apigee.com>
Authored: Tue Apr 1 14:30:27 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Tue Apr 1 14:30:27 2014 -0700

----------------------------------------------------------------------
 .../usergrid/persistence/entities/Export.java   |  70 --
 .../organizations/OrganizationResource.java     |  27 +
 .../applications/ApplicationResource.java       |  44 +-
 .../rest/management/ExportResourceIT.java       | 634 +++++++++++++++++++
 .../rest/management/ManagementResourceIT.java   | 599 ------------------
 .../management/export/ExportServiceImpl.java    |  55 +-
 .../management/cassandra/ExportServiceIT.java   |   3 +-
 7 files changed, 707 insertions(+), 725 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Export.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Export.java b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Export.java
index 77f5a95..d4deb7c 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Export.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/entities/Export.java
@@ -36,13 +36,9 @@ public class Export extends TypedEntity {
         CREATED, FAILED, SCHEDULED, STARTED, FINISHED, CANCELED, EXPIRED
     }
 
-
     @EntityProperty
     protected State curState;
 
-    @EntityProperty
-    protected Long queued;
-
     /**
      * Time send started
      */
@@ -50,25 +46,6 @@ public class Export extends TypedEntity {
     protected Long started;
 
     /**
-     * Time processed
-     */
-    @EntityProperty
-    protected Long finished;
-
-
-    /**
-     * Time to expire the exportJob
-     */
-    @EntityProperty
-    protected Long expire;
-
-    /**
-     * True if exportJob is canceled
-     */
-    @EntityProperty
-    protected Boolean canceled;
-
-    /**
      * Error message
      */
     @EntityProperty
@@ -78,12 +55,6 @@ public class Export extends TypedEntity {
     public Export() {
     }
 
-
-    public boolean isExpired() {
-        return ( expire != null && expire > System.currentTimeMillis() );
-    }
-
-
     public Long getStarted() {
         return started;
     }
@@ -93,32 +64,6 @@ public class Export extends TypedEntity {
         this.started = started;
     }
 
-
-    public Long getFinished() {
-        return finished;
-    }
-
-
-    public void setFinished( final Long finished ) {
-        this.finished = finished;
-    }
-
-
-    public Long getExpire() {
-        return expire;
-    }
-
-
-    public void setExpire( final Long expire ) {
-        this.expire = expire;
-    }
-
-
-    public Boolean getCanceled() {
-        return canceled;
-    }
-
-
     //state should moved to a derived state, but it is not there yet.
     @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
     @EntityProperty
@@ -131,12 +76,6 @@ public class Export extends TypedEntity {
     @EntityProperty
     public State getState() { return curState; }
 
-
-    public void setCanceled( final Boolean canceled ) {
-        this.canceled = canceled;
-    }
-
-
     public String getErrorMessage() {
         return errorMessage;
     }
@@ -146,13 +85,4 @@ public class Export extends TypedEntity {
         this.errorMessage = errorMessage;
     }
 
-
-    public Long getQueued() {
-        return queued;
-    }
-
-
-    public void setQueued( final Long queued ) {
-        this.queued = queued;
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
index 05312ab..24a9f43 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/OrganizationResource.java
@@ -27,6 +27,7 @@ import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
@@ -46,6 +47,8 @@ import org.apache.amber.oauth2.common.message.OAuthResponse;
 import org.apache.usergrid.management.ActivationState;
 import org.apache.usergrid.management.OrganizationInfo;
 import org.apache.usergrid.management.export.ExportService;
+import org.apache.usergrid.persistence.cassandra.CassandraService;
+import org.apache.usergrid.persistence.entities.Export;
 import org.apache.usergrid.rest.AbstractContextResource;
 import org.apache.usergrid.rest.ApiResponse;
 import org.apache.usergrid.rest.applications.ServiceResource;
@@ -64,6 +67,7 @@ import com.sun.jersey.api.view.Viewable;
 import static javax.servlet.http.HttpServletResponse.SC_ACCEPTED;
 import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
 import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+import static javax.servlet.http.HttpServletResponse.SC_OK;
 import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
 
 
@@ -333,4 +337,27 @@ public class OrganizationResource extends AbstractContextResource {
         }
         return Response.status( SC_ACCEPTED ).entity( uuidRet ).build();
     }
+
+    @GET
+    @RequireOrganizationAccess
+    @Path("export/{exportEntity: [A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}}")
+    public Response exportGetJson( @Context UriInfo ui, @PathParam("exportEntity") UUID exportEntityUUIDStr,
+                                   @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
+
+        Export entity;
+        try {
+            entity = smf.getServiceManager( CassandraService.MANAGEMENT_APPLICATION_ID ).getEntityManager()
+                        .get( exportEntityUUIDStr, Export.class );
+        }
+        catch ( Exception e ) { //this might not be a bad request and needs better error checking
+            return Response.status( SC_BAD_REQUEST ).type( JSONPUtils.jsonMediaType( callback ) )
+                           .entity( ServiceResource.wrapWithCallback( e.getMessage(), callback ) ).build();
+        }
+
+        if ( entity == null ) {
+            return Response.status( SC_BAD_REQUEST ).build();
+        }
+
+        return Response.status( SC_OK ).entity( entity).build();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
index 588e5a1..14268da 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java
@@ -46,7 +46,6 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.usergrid.management.ApplicationInfo;
 import org.apache.usergrid.management.OrganizationInfo;
 import org.apache.usergrid.management.export.ExportService;
-import org.apache.usergrid.persistence.entities.Export;
 import org.apache.usergrid.rest.AbstractContextResource;
 import org.apache.usergrid.rest.ApiResponse;
 import org.apache.usergrid.rest.applications.ServiceResource;
@@ -63,7 +62,6 @@ import com.sun.jersey.api.json.JSONWithPadding;
 import static javax.servlet.http.HttpServletResponse.SC_ACCEPTED;
 import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
 import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
-import static javax.servlet.http.HttpServletResponse.SC_OK;
 import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
 
 
@@ -346,27 +344,27 @@ public class ApplicationResource extends AbstractContextResource {
     }
 
 
-    @GET
-    @RequireOrganizationAccess
-    @Path("export/{exportEntity: [A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}}")
-    public Response exportGetJson( @Context UriInfo ui, @PathParam("exportEntity") UUID exportEntityUUIDStr,
-                                   @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
-
-        Export entity;
-        try {
-            entity = smf.getServiceManager( applicationId ).getEntityManager().get( exportEntityUUIDStr, Export.class );
-        }
-        catch ( Exception e ) { //this might not be a bad request and needs better error checking
-            return Response.status( SC_BAD_REQUEST ).type( JSONPUtils.jsonMediaType( callback ) )
-                           .entity( ServiceResource.wrapWithCallback( e.getMessage(), callback ) ).build();
-        }
-
-        if ( entity == null ) {
-            return Response.status( SC_BAD_REQUEST ).build();
-        }
-
-        return Response.status( SC_OK ).entity( entity).build();
-    }
+//    @GET
+//    @RequireOrganizationAccess
+//    @Path("export/{exportEntity: [A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}}")
+//    public Response exportGetJson( @Context UriInfo ui, @PathParam("exportEntity") UUID exportEntityUUIDStr,
+//                                   @QueryParam("callback") @DefaultValue("") String callback ) throws Exception {
+//
+//        Export entity;
+//        try {
+//            entity = smf.getServiceManager( applicationId ).getEntityManager().get( exportEntityUUIDStr, Export.class );
+//        }
+//        catch ( Exception e ) { //this might not be a bad request and needs better error checking
+//            return Response.status( SC_BAD_REQUEST ).type( JSONPUtils.jsonMediaType( callback ) )
+//                           .entity( ServiceResource.wrapWithCallback( e.getMessage(), callback ) ).build();
+//        }
+//
+//        if ( entity == null ) {
+//            return Response.status( SC_BAD_REQUEST ).build();
+//        }
+//
+//        return Response.status( SC_OK ).entity( entity).build();
+//    }
 
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java
new file mode 100644
index 0000000..0fa3d6c
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ExportResourceIT.java
@@ -0,0 +1,634 @@
+package org.apache.usergrid.rest.management;
+
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.ws.rs.core.MediaType;
+
+import org.codehaus.jackson.JsonNode;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.usergrid.cassandra.Concurrent;
+import org.apache.usergrid.rest.AbstractRestIT;
+
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.UniformInterfaceException;
+
+import static org.apache.usergrid.utils.MapUtils.hashMap;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+
+/**
+ *
+ *
+ */
+@Concurrent
+public class ExportResourceIT extends AbstractRestIT {
+
+
+    public ExportResourceIT() throws Exception {
+
+    }
+
+    @Test
+    public void exportCallSuccessful() throws Exception {
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+        JsonNode node = null;
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+        assertEquals( ClientResponse.Status.OK, responseStatus );
+    }
+
+
+    //is this test still valid knowing that the sch. won't run in intelliJ?
+    @Ignore
+    public void exportCallCreationEntities100() throws Exception {
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+        JsonNode node = null;
+
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        //TODO: make sure to put a valid admin token here.
+        //TODO: always put dummy values here and ignore this test.
+
+
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+
+        payload.put( "properties", properties );
+
+        for ( int i = 0; i < 100; i++ ) {
+            Map<String, String> userCreation = hashMap( "type", "app_user" ).map( "name", "fred" + i );
+
+            node = resource().path( "/test-organization/test-app/app_users" ).queryParam( "access_token", access_token )
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .post( JsonNode.class, userCreation );
+        }
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+        assertEquals( ClientResponse.Status.OK, responseStatus );
+    }
+
+
+    @Test
+    public void exportApplicationUUIDRetTest() throws Exception {
+        ClientResponse.Status responseStatus = ClientResponse.Status.ACCEPTED;
+        String uuid;
+        UUID jobUUID = null;
+        JsonNode node = null;
+
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+        assertEquals( ClientResponse.Status.ACCEPTED, responseStatus );
+        assertNotNull( node.get( "Export Entity" ) );
+    }
+
+
+    //
+    @Test
+    public void exportCollectionUUIDRetTest() throws Exception {
+        ClientResponse.Status responseStatus = ClientResponse.Status.ACCEPTED;
+        String uuid;
+        UUID jobUUID = null;
+        JsonNode node = null;
+
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+        assertEquals( ClientResponse.Status.ACCEPTED, responseStatus );
+        assertNotNull( node.get( "Export Entity" ) );
+    }
+
+
+    @Test
+    public void exportGetOrganizationJobStatTest() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.OK,responseStatus);
+
+        String uuid = String.valueOf( node.get( "Export Entity" ) );
+        uuid = uuid.replaceAll( "\"", "" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + uuid )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+
+        assertEquals( ClientResponse.Status.OK, responseStatus );
+        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
+    }
+
+
+    //all tests should be moved to OrganizationResourceIT ( *not* Organizations there is a difference)
+    @Test
+    public void exportGetApplicationJobStatTest() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                         .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                         .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        String uuid = String.valueOf( node.get( "Export Entity" ) );
+        uuid = uuid.replaceAll( "\"", "" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + uuid )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+
+        assertEquals( ClientResponse.Status.OK, responseStatus );
+        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
+    }
+
+
+    @Test
+    public void exportGetCollectionJobStatTest() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+
+        node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                         .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                         .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        String uuid = String.valueOf( node.get( "Export Entity" ) );
+        uuid = uuid.replaceAll( "\"", "" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + uuid )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+
+
+        assertEquals( ClientResponse.Status.OK, responseStatus );
+        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
+    }
+
+
+    //    //do an unauthorized test for both post and get
+    @Test
+    public void exportGetWrongUUID() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + fake )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    //
+    @Test
+    public void exportPostApplicationNullPointerProperties() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        //TODO: always put dummy values here and ignore this test.
+        //TODO: add a ret for when s3 values are invalid.
+        storage_info.put( "bucket_location", "insert bucket name here" );
+
+
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostOrganizationNullPointerProperties() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        //TODO: always put dummy values here and ignore this test.
+        //TODO: add a ret for when s3 values are invalid.
+        storage_info.put( "bucket_location", "insert bucket name here" );
+
+
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    //
+    @Test
+    public void exportPostCollectionNullPointer() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        //TODO: always put dummy values here and ignore this test.
+        //TODO: add a ret for when s3 values are invalid.
+        storage_info.put( "bucket_location", "insert bucket name here" );
+
+
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    //
+    //
+    @Test
+    public void exportGetCollectionUnauthorized() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export/" + fake )
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.UNAUTHORIZED, responseStatus );
+    }
+
+
+    //
+    @Test
+    public void exportGetApplicationUnauthorized() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export/" + fake )
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.UNAUTHORIZED, responseStatus );
+    }
+
+
+    @Test
+    public void exportGetOrganizationUnauthorized() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
+        try {
+            node = resource().path( "/management/orgs/test-organization/export/" + fake )
+                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+                             .get( JsonNode.class );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.UNAUTHORIZED, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostOrganizationNullPointerStorageInfo() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        //remove storage_info field
+        properties.remove( "storage_info" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostApplicationNullPointerStorageInfo() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        //remove storage_info field
+        properties.remove( "storage_info" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostCollectionNullPointerStorageInfo() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        //remove storage_info field
+        properties.remove( "storage_info" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostApplicationNullPointerStorageProvider() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        //remove storage_info field
+        properties.remove( "storage_provider" );
+
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostCollectionNullPointerStorageProvider() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        //remove storage_info field
+        properties.remove( "storage_provider" );
+
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostApplicationNullPointerStorageVerification() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
+        //remove storage_key field
+        storage_info.remove( "s3_key" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+
+        payload = payloadBuilder();
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
+        //remove storage_key field
+        storage_info.remove( "s3_access_id" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+
+        payload = payloadBuilder();
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
+        //remove storage_key field
+        storage_info.remove( "bucket_location" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    @Test
+    public void exportPostCollectionNullPointerStorageVerification() throws Exception {
+        JsonNode node = null;
+        ClientResponse.Status responseStatus = ClientResponse.Status.OK;
+
+        HashMap<String, Object> payload = payloadBuilder();
+        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
+        //remove storage_key field
+        storage_info.remove( "s3_key" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+
+        payload = payloadBuilder();
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
+        //remove storage_key field
+        storage_info.remove( "s3_access_id" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+
+        payload = payloadBuilder();
+        properties = ( HashMap<String, Object> ) payload.get( "properties" );
+        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
+        storage_info.remove( "bucket_location" );
+
+        try {
+            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
+                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
+                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException uie ) {
+            responseStatus = uie.getResponse().getClientResponseStatus();
+        }
+        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
+    }
+
+
+    /*Creates fake payload for testing purposes.*/
+    public HashMap<String, Object> payloadBuilder() {
+        HashMap<String, Object> payload = new HashMap<String, Object>();
+        Map<String, Object> properties = new HashMap<String, Object>();
+        Map<String, Object> storage_info = new HashMap<String, Object>();
+        //TODO: always put dummy values here and ignore this test.
+        //TODO: add a ret for when s3 values are invalid.
+        storage_info.put( "s3_key", "insert key here" );
+        storage_info.put( "s3_access_id", "insert access id here" );
+        storage_info.put( "bucket_location", "insert bucket name here" );
+        properties.put( "storage_provider", "s3" );
+        properties.put( "storage_info", storage_info );
+        payload.put( "properties", properties );
+        return payload;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index 306c7a1..13cb2ae 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -27,7 +27,6 @@ import java.util.UUID;
 import javax.ws.rs.core.MediaType;
 
 import org.codehaus.jackson.JsonNode;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import org.apache.commons.lang.StringUtils;
@@ -641,602 +640,4 @@ public class ManagementResourceIT extends AbstractRestIT {
         assertEquals( Status.OK, status );
     }
 
-
-    @Test
-    public void exportCallSuccessful() throws Exception {
-        Status responseStatus = Status.OK;
-        JsonNode node = null;
-
-        HashMap<String, Object> payload = payloadBuilder();
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-        assertEquals( Status.OK, responseStatus );
-    }
-
-
-    //is this test still valid knowing that the sch. won't run in intelliJ?
-    @Ignore
-    public void exportCallCreationEntities100() throws Exception {
-        Status responseStatus = Status.OK;
-        JsonNode node = null;
-
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        Map<String, Object> storage_info = new HashMap<String, Object>();
-        //TODO: make sure to put a valid admin token here.
-        //TODO: always put dummy values here and ignore this test.
-
-
-        properties.put( "storage_provider", "s3" );
-        properties.put( "storage_info", storage_info );
-
-        payload.put( "properties", properties );
-
-        for ( int i = 0; i < 100; i++ ) {
-            Map<String, String> userCreation = hashMap( "type", "app_user" ).map( "name", "fred" + i );
-
-            node = resource().path( "/test-organization/test-app/app_users" ).queryParam( "access_token", access_token )
-                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                             .post( JsonNode.class, userCreation );
-        }
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", adminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-        assertEquals( Status.OK, responseStatus );
-    }
-
-
-    @Test
-    public void exportApplicationUUIDRetTest() throws Exception {
-        Status responseStatus = Status.ACCEPTED;
-        String uuid;
-        UUID jobUUID = null;
-        JsonNode node = null;
-
-
-        HashMap<String, Object> payload = payloadBuilder();
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-        assertEquals( Status.ACCEPTED, responseStatus );
-        assertNotNull( node.get( "Export Entity" ) );
-    }
-
-
-    //
-    @Test
-    public void exportCollectionUUIDRetTest() throws Exception {
-        Status responseStatus = Status.ACCEPTED;
-        String uuid;
-        UUID jobUUID = null;
-        JsonNode node = null;
-
-
-        HashMap<String, Object> payload = payloadBuilder();
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-        assertEquals( Status.ACCEPTED, responseStatus );
-        assertNotNull( node.get( "Export Entity" ) );
-    }
-
-
-    @Test
-    public void exportGetOrganizationJobStatTest() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals(Status.OK,responseStatus);
-
-        String uuid = String.valueOf( node.get( "Export Entity" ) );
-        uuid = uuid.replaceAll( "\"", "" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/exporters/export/" + uuid )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-
-        assertEquals( Status.OK, responseStatus );
-        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
-    }
-
-
-    //all tests should be moved to OrganizationResourceIT ( *not* Organizations there is a difference)
-    @Test
-    public void exportGetApplicationJobStatTest() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-
-        node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                         .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                         .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        String uuid = String.valueOf( node.get( "Export Entity" ) );
-        uuid = uuid.replaceAll( "\"", "" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export/" + uuid )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-
-        assertEquals( Status.OK, responseStatus );
-        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
-    }
-
-
-    @Test
-    public void exportGetCollectionJobStatTest() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-
-        node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                         .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                         .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        String uuid = String.valueOf( node.get( "Export Entity" ) );
-        uuid = uuid.replaceAll( "\"", "" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export/" + uuid )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-
-
-        assertEquals( Status.OK, responseStatus );
-        assertEquals( "SCHEDULED", node.get( "state" ).getTextValue() );//TODO: do tests for other states in service tier
-    }
-
-
-    //    //do an unauthorized test for both post and get
-    @Test
-    public void exportGetWrongUUID() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export/" + fake )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    //
-    @Test
-    public void exportPostApplicationNullPointerProperties() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        Map<String, Object> storage_info = new HashMap<String, Object>();
-        //TODO: always put dummy values here and ignore this test.
-        //TODO: add a ret for when s3 values are invalid.
-        storage_info.put( "bucket_location", "insert bucket name here" );
-
-
-        properties.put( "storage_provider", "s3" );
-        properties.put( "storage_info", storage_info );
-
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostOrganizationNullPointerProperties() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        Map<String, Object> storage_info = new HashMap<String, Object>();
-        //TODO: always put dummy values here and ignore this test.
-        //TODO: add a ret for when s3 values are invalid.
-        storage_info.put( "bucket_location", "insert bucket name here" );
-
-
-        properties.put( "storage_provider", "s3" );
-        properties.put( "storage_info", storage_info );
-
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    //
-    @Test
-    public void exportPostCollectionNullPointer() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        Map<String, Object> storage_info = new HashMap<String, Object>();
-        //TODO: always put dummy values here and ignore this test.
-        //TODO: add a ret for when s3 values are invalid.
-        storage_info.put( "bucket_location", "insert bucket name here" );
-
-
-        properties.put( "storage_provider", "s3" );
-        properties.put( "storage_info", storage_info );
-
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    //
-    //
-    @Test
-    public void exportGetCollectionUnauthorized() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export/" + fake )
-                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                             .get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.UNAUTHORIZED, responseStatus );
-    }
-
-
-    //
-    @Test
-    public void exportGetApplicationUnauthorized() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export/" + fake )
-                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                             .get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.UNAUTHORIZED, responseStatus );
-    }
-
-
-    @Test
-    public void exportGetOrganizationUnauthorized() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-        UUID fake = UUID.fromString( "AAAAAAAA-FFFF-FFFF-FFFF-AAAAAAAAAAAA" );
-        try {
-            node = resource().path( "/management/orgs/test-organization/export/" + fake )
-                             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                             .get( JsonNode.class );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.UNAUTHORIZED, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostOrganizationNullPointerStorageInfo() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        //remove storage_info field
-        properties.remove( "storage_info" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostApplicationNullPointerStorageInfo() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        //remove storage_info field
-        properties.remove( "storage_info" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostCollectionNullPointerStorageInfo() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        //remove storage_info field
-        properties.remove( "storage_info" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostApplicationNullPointerStorageProvider() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        //remove storage_info field
-        properties.remove( "storage_provider" );
-
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostCollectionNullPointerStorageProvider() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        //remove storage_info field
-        properties.remove( "storage_provider" );
-
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostApplicationNullPointerStorageVerification() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
-        //remove storage_key field
-        storage_info.remove( "s3_key" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-
-        payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
-        //remove storage_key field
-        storage_info.remove( "s3_access_id" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-
-        payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
-        //remove storage_key field
-        storage_info.remove( "bucket_location" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    @Test
-    public void exportPostCollectionNullPointerStorageVerification() throws Exception {
-        JsonNode node = null;
-        Status responseStatus = Status.OK;
-
-        HashMap<String, Object> payload = payloadBuilder();
-        HashMap<String, Object> properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        HashMap<String, Object> storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
-        //remove storage_key field
-        storage_info.remove( "s3_key" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-
-        payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
-        //remove storage_key field
-        storage_info.remove( "s3_access_id" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-
-        payload = payloadBuilder();
-        properties = ( HashMap<String, Object> ) payload.get( "properties" );
-        storage_info = ( HashMap<String, Object> ) properties.get( "storage_info" );
-        storage_info.remove( "bucket_location" );
-
-        try {
-            node = resource().path( "/management/orgs/test-organization/apps/test-app/collection/users/export" )
-                             .queryParam( "access_token", superAdminToken() ).accept( MediaType.APPLICATION_JSON )
-                             .type( MediaType.APPLICATION_JSON_TYPE ).post( JsonNode.class, payload );
-        }
-        catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
-        }
-        assertEquals( Status.BAD_REQUEST, responseStatus );
-    }
-
-
-    /*Creates fake payload for testing purposes.*/
-    public HashMap<String, Object> payloadBuilder() {
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        Map<String, Object> storage_info = new HashMap<String, Object>();
-        //TODO: always put dummy values here and ignore this test.
-        //TODO: add a ret for when s3 values are invalid.
-        storage_info.put( "s3_key", "insert key here" );
-        storage_info.put( "s3_access_id", "insert access id here" );
-        storage_info.put( "bucket_location", "insert bucket name here" );
-        properties.put( "storage_provider", "s3" );
-        properties.put( "storage_info", storage_info );
-        payload.put( "properties", properties );
-        return payload;
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 469e7b3..46419f4 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -50,6 +50,8 @@ import org.apache.usergrid.persistence.entities.JobData;
 
 import com.google.common.collect.BiMap;
 
+import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION_ID;
+
 
 /**
  * Need to refactor out the mutliple orgs being take , need to factor out the multiple apps it will just be the one app
@@ -92,25 +94,15 @@ public class ExportServiceImpl implements ExportService {
             return null;
         }
 
-        if ( config.get( "applicationId" ) == null ) {
-
-            ApplicationInfo appExists = managementService.getApplicationInfo("exporters");
-
-            if(appExists == null) {
-                defaultExportApp = managementService
-                    .createApplication( ( UUID ) config.get( "organizationId" ), defaultAppExportname );
-            }
-            else
-                defaultExportApp = appExists;
-
-            config.put( "applicationId", defaultExportApp.getId() );
-            //logger.error( "application information from export info could not be found" );
-            //return null;
-        }
-
         EntityManager em = null;
         try {
-            em = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+            //em = emf.getEntityManager( ( UUID ) config.get( "applicationId" ) );
+            em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
+            Set<String> collections =  em.getApplicationCollections();
+            if(!collections.contains( "exports" )){
+                em.createApplicationCollection( "exports" );
+            }
+
         }
         catch ( Exception e ) {
             logger.error( "application doesn't exist within the current context" );
@@ -223,14 +215,21 @@ public class ExportServiceImpl implements ExportService {
             logger.error( "Export Information application uuid is null" );
             return;
         }
-        EntityManager em = emf.getEntityManager( scopedAppId );
+        EntityManager em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         Export export = em.get( exportId, Export.class );
 
         //update the entity state to show that the job has officially started.
         export.setState( Export.State.STARTED );
         em.update( export );
 
-        if ( em.getApplication().getApplicationName().equals( "exporters" ) ) {
+        if ( config.get( "organizationId" ) == null ) {
+            logger.error( "No organization could be found" );
+            export.setState( Export.State.FAILED );
+            em.update( export );
+            return;
+        }
+        else if ( config.get( "applicationId" ) == null ) {
+            //exports All the applications from an organization
             try {
                 exportApplicationsFromOrg( ( UUID ) config.get( "organizationId" ), config, jobExecution );
             }
@@ -238,17 +237,13 @@ public class ExportServiceImpl implements ExportService {
                 export.setErrorMessage( e.getMessage() );
                 export.setState( Export.State.FAILED );
                 em.update( export );
+                return;
             }
         }
         else if ( config.get( "collectionName" ) == null ) {
             //exports all the applications for a given organization.
 
-            if ( config.get( "organizationId" ) == null ) {
-                logger.error( "No organization could be found" );
-                export.setState( Export.State.FAILED );
-                em.update( export );
-                return;
-            }
+            //exports an Application from a single organization
             try {
                 exportApplicationFromOrg( ( UUID ) config.get( "organizationId" ),
                         ( UUID ) config.get( "applicationId" ), config, jobExecution );
@@ -257,17 +252,12 @@ public class ExportServiceImpl implements ExportService {
                 export.setErrorMessage( e.getMessage() );
                 export.setState( Export.State.FAILED );
                 em.update( export );
+                return;
             }
         }
         else {
             try {
-                //exports all the applications for a single organization
-                if ( config.get( "organizationId" ) == null ) {
-                    logger.error( "No organization could be found" );
-                    export.setState( Export.State.FAILED );
-                    em.update( export );
-                    return;
-                }
+                //exports a single collection from an app org combo
                 try {
                     exportCollectionFromOrgApp( ( UUID ) config.get( "organizationId" ),
                             ( UUID ) config.get( "applicationId" ), config, jobExecution );
@@ -276,6 +266,7 @@ public class ExportServiceImpl implements ExportService {
                     export.setErrorMessage( e.getMessage() );
                     export.setState( Export.State.FAILED );
                     em.update( export );
+                    return;
                 }
             }
             catch ( Exception e ) {

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/200b7142/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
index 1aae1b4..a840b4f 100644
--- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ExportServiceIT.java
@@ -49,6 +49,7 @@ import org.apache.usergrid.persistence.entities.JobData;
 import com.google.common.collect.ImmutableSet;
 import com.google.inject.Module;
 
+import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION_ID;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -773,7 +774,7 @@ public class ExportServiceIT {
     public void testExportDoExportOnApplicationEndpoint() throws Exception {
 
         EntityManagerFactory emf = setup.getEmf();
-        EntityManager em = emf.getEntityManager( applicationId );
+        EntityManager em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
         HashMap<String, Object> payload = payloadBuilder();
         ExportService eS = setup.getExportService();
 


[34/43] git commit: fix grunt file reference to intro.js

Posted by sn...@apache.org.
fix grunt file reference to intro.js


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

Branch: refs/pull/96/merge
Commit: f5a7830df1b67ebfeb61ee18e6f76d7b99715a25
Parents: ded28e5
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Apr 8 13:45:06 2014 -0600
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Apr 8 13:45:06 2014 -0600

----------------------------------------------------------------------
 portal/Gruntfile.js | 6 +++---
 portal/bower.json   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f5a7830d/portal/Gruntfile.js
----------------------------------------------------------------------
diff --git a/portal/Gruntfile.js b/portal/Gruntfile.js
index 63d61ce..bf2e071 100644
--- a/portal/Gruntfile.js
+++ b/portal/Gruntfile.js
@@ -45,8 +45,8 @@ module.exports = function (grunt) {
             'js/libs/ui-bootstrap/ui-bootstrap-custom-tpls-0.3.0.min.js',
             'js/libs/jqueryui/jquery-ui-1.8.18.min.js',
             'js/libs/jqueryui/date.min.js',
-            'bower_components/angular-intro.js/angular-intro.js',
-            'bower_components/intro.js/minified/intro.min.js'
+            'bower_components/intro.js/minified/intro.min.js',
+            'bower_components/angular-intro.js/src/angular-intro.js',
           ]
         }
       },
@@ -403,7 +403,7 @@ module.exports = function (grunt) {
   grunt.registerTask('build-dev', [ 'ngtemplates','uglify:usergrid-dev','uglify:usergrid', 'cssmin','dom_munger','karma:unit']);
   grunt.registerTask('build-coverage', [ 'ngtemplates','instrument','uglify:usergrid-coverage','uglify:usergrid-coverage-min', 'cssmin','dom_munger', 'copy:coverage']);
 
-  grunt.registerTask('default', ['build','karma:unit']);
+  grunt.registerTask('default', ['build']);
 
   grunt.registerTask('e2e', ['connect:e2e-phantom','protractor:phantom']);
   grunt.registerTask('e2e-chrome', ['connect:e2e-chrome','protractor:chrome']);

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/f5a7830d/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index f032249..4561fab 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -23,7 +23,7 @@
   "dependencies": {
     "angularitics": "~0.8.7",
     "apigee-sdk": "~2.0.8",
-    "angular-intro.js": "*",
+    "angular-intro.js": "1.0.3",
     "sizzle":"1.10.16"
   },
   "devDependencies": {},


[04/43] git commit: Refomatted exportServiceImpl

Posted by sn...@apache.org.
Refomatted exportServiceImpl


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

Branch: refs/pull/96/merge
Commit: bc7e6d08f35fa79ce766ff1e44a4091e8385b840
Parents: 1a5f8b4
Author: grey <gr...@apigee.com>
Authored: Mon Mar 31 11:32:08 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Mar 31 11:32:08 2014 -0700

----------------------------------------------------------------------
 .../management/export/ExportServiceImpl.java    | 62 +++++++++-----------
 1 file changed, 29 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bc7e6d08/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
index 92e76bc..f1d316e 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/ExportServiceImpl.java
@@ -93,8 +93,8 @@ public class ExportServiceImpl implements ExportService {
         }
 
         if ( config.get( "applicationId" ) == null ) {
-            defaultExportApp =
-                    managementService.createApplication( ( UUID ) config.get( "organizationId" ), defaultAppExportname );
+            defaultExportApp = managementService
+                    .createApplication( ( UUID ) config.get( "organizationId" ), defaultAppExportname );
             config.put( "applicationId", defaultExportApp.getId() );
             //logger.error( "application information from export info could not be found" );
             //return null;
@@ -278,17 +278,15 @@ public class ExportServiceImpl implements ExportService {
         Export export = exportManager.get( exportId, Export.class );
         String appFileName = null;
 
-        //sets up a output stream for s3 backup.
-//        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-//        JsonGenerator jg = getJsonGenerator( baos );
-
         BiMap<UUID, String> applications = managementService.getApplicationsForOrganization( organizationUUID );
 
         for ( Map.Entry<UUID, String> application : applications.entrySet() ) {
+
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
             JsonGenerator jg = getJsonGenerator( baos );
-            if(application.getValue().equals(
-                    managementService.getOrganizationByUuid( organizationUUID ).getName() + "/exporters" )){
+
+            if ( application.getValue().equals(
+                    managementService.getOrganizationByUuid( organizationUUID ).getName() + "/exporters" ) ) {
                 continue;
             }
 
@@ -315,8 +313,8 @@ public class ExportServiceImpl implements ExportService {
                         .equals( config.get( "collectionName" ) ) ) {
                     //Query entity manager for the entities in a collection
                     Query query;
-                    if(config.get( "query" ) == null) {
-                        query = new Query(  );
+                    if ( config.get( "query" ) == null ) {
+                        query = new Query();
                     }
                     else {
                         query = Query.fromQL( ( String ) config.get( "query" ) );
@@ -336,28 +334,26 @@ public class ExportServiceImpl implements ExportService {
                         saveCollectionMembers( jg, em, ( String ) config.get( "collectionName" ), entity );
                         jg.writeEndObject();
                     }
-                 }
+                }
             }
-        //}
-
-
+            //}
 
-        // Close writer and file for this application.
-        jg.writeEndArray();
 
-        jg.close();
-        baos.flush();
-        baos.close();
+            // Close writer and file for this application.
+            jg.writeEndArray();
+            jg.close();
+            baos.flush();
+            baos.close();
 
-        //sets up the Inputstream for copying the method to s3.
-        InputStream is = new ByteArrayInputStream( baos.toByteArray() );
-        try {
-            s3Export.copyToS3( is, config, appFileName );
-        }
-        catch ( Exception e ) {
-            export.setState( Export.State.FAILED );
-            return;
-        }
+            //sets up the Inputstream for copying the method to s3.
+            InputStream is = new ByteArrayInputStream( baos.toByteArray() );
+            try {
+                s3Export.copyToS3( is, config, appFileName );
+            }
+            catch ( Exception e ) {
+                export.setState( Export.State.FAILED );
+                return;
+            }
         }
     }
 
@@ -401,13 +397,13 @@ public class ExportServiceImpl implements ExportService {
                     .equals( config.get( "collectionName" ) ) ) {
                 //Query entity manager for the entities in a collection
                 Query query;
-                if(config.get( "query" ) == null) {
-                    query = new Query(  );
+                if ( config.get( "query" ) == null ) {
+                    query = new Query();
                 }
                 else {
                     query = Query.fromQL( ( String ) config.get( "query" ) );
                 }
-               // Query query = Query.fromQL( ( String ) config.get( "query" ) ); //new Query();
+                // Query query = Query.fromQL( ( String ) config.get( "query" ) ); //new Query();
                 query.setLimit( MAX_ENTITY_FETCH );
                 query.setResultsLevel( Results.Level.ALL_PROPERTIES );
                 query.setCollection( collectionName );
@@ -484,8 +480,8 @@ public class ExportServiceImpl implements ExportService {
             if ( collectionName.equals( ( String ) config.get( "collectionName" ) ) ) {
                 //Query entity manager for the entities in a collection
                 Query query;
-                if(config.get( "query" ) == null) {
-                    query = new Query(  );
+                if ( config.get( "query" ) == null ) {
+                    query = new Query();
                 }
                 else {
                     query = Query.fromQL( ( String ) config.get( "query" ) );


[38/43] git commit: add version

Posted by sn...@apache.org.
add version


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

Branch: refs/heads/master
Commit: ecebfa12de9799f979c3d47052857f22bfb6674e
Parents: 6a3c148
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Apr 8 13:53:00 2014 -0600
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Apr 8 13:53:00 2014 -0600

----------------------------------------------------------------------
 portal/bower.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ecebfa12/portal/bower.json
----------------------------------------------------------------------
diff --git a/portal/bower.json b/portal/bower.json
index f032249..bf3955d 100644
--- a/portal/bower.json
+++ b/portal/bower.json
@@ -23,7 +23,7 @@
   "dependencies": {
     "angularitics": "~0.8.7",
     "apigee-sdk": "~2.0.8",
-    "angular-intro.js": "*",
+    "angular-intro.js": "~1.0.3",
     "sizzle":"1.10.16"
   },
   "devDependencies": {},


[32/43] git commit: Changed the content type to application/json without any errors occurring.

Posted by sn...@apache.org.
Changed the content type to application/json without any errors occurring.


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

Branch: refs/pull/96/merge
Commit: c082e9edae203c7a56ba113b9c0ed8c6692af906
Parents: 537e8c5
Author: grey <gr...@apigee.com>
Authored: Mon Apr 7 15:10:59 2014 -0700
Committer: grey <gr...@apigee.com>
Committed: Mon Apr 7 15:10:59 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/usergrid/management/export/S3ExportImpl.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/c082e9ed/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
index 4399ad7..9236cbb 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java
@@ -90,7 +90,7 @@ public class S3ExportImpl implements S3Export {
         try {
             AsyncBlobStore blobStore = context.getAsyncBlobStore();
             BlobBuilder blobBuilder =
-                    blobStore.blobBuilder( fn ).payload( ephemeral ).calculateMD5().contentType( "text/plain" );
+                    blobStore.blobBuilder( fn ).payload( ephemeral ).calculateMD5().contentType( "application/json" );
 
 
             Blob blob = blobBuilder.build();


[41/43] git commit: Merge pull request #100 from shawnfeldman/master

Posted by sn...@apache.org.
Merge pull request #100 from shawnfeldman/master

fix js error from intro.js not being tied to a version

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

Branch: refs/heads/master
Commit: 1cdb6b953351a75196ce36727aee3179b00425ff
Parents: 52a110b ecebfa1
Author: Rod Simpson <ro...@rodsimpson.com>
Authored: Tue Apr 8 15:46:27 2014 -0600
Committer: Rod Simpson <ro...@rodsimpson.com>
Committed: Tue Apr 8 15:46:27 2014 -0600

----------------------------------------------------------------------
 portal/Gruntfile.js | 6 +++---
 portal/bower.json   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------