You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by gr...@apache.org on 2016/04/08 22:21:00 UTC

[13/36] usergrid git commit: Cleaned up reindexing test, and covered a case where reindexing wasn't properly filtering values.

Cleaned up reindexing test, and covered a case where reindexing wasn't properly filtering values.


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

Branch: refs/heads/release-2.1.1
Commit: 975616b0a13187d5c87b2eacc3266b27661ac904
Parents: aebfe1b
Author: George Reyes <gr...@apache.org>
Authored: Tue Mar 22 16:24:08 2016 -0700
Committer: George Reyes <gr...@apache.org>
Committed: Thu Mar 24 09:14:56 2016 -0700

----------------------------------------------------------------------
 .../corepersistence/index/IndexServiceImpl.java | 13 +++++-
 .../collection/CollectionsResourceIT.java       | 47 +++++++-------------
 2 files changed, 27 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/975616b0/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
index a753dba..f8d7aa5 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/IndexServiceImpl.java
@@ -119,6 +119,9 @@ public class IndexServiceImpl implements IndexService {
         //we may have to index  we're indexing from source->target here
         final Observable<IndexEdge> sourceEdgesToIndex = edgesToTarget.map( edge -> generateScopeFromSource( edge ) );
 
+
+
+
         //do our observable for batching
         //try to send a whole batch if we can
         final Observable<IndexOperationMessage>  batches =  sourceEdgesToIndex
@@ -131,7 +134,15 @@ public class IndexServiceImpl implements IndexService {
                     if (logger.isDebugEnabled()) {
                         logger.debug("adding edge {} to batch for entity {}", indexEdge, entity);
                     }
-                    batch.index( indexEdge, entity );
+
+                    final Map map = getFilteredStringObjectMap( applicationScope, entity, indexEdge );
+
+                    if(map!=null){
+                        batch.index( indexEdge, entity ,map);
+                    }
+                    else{
+                        batch.index( indexEdge,entity );
+                    }
                 } )
                     //return the future from the batch execution
                 .map( batch -> batch.build() ) );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/975616b0/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
index 026f8a1..11a1878 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/CollectionsResourceIT.java
@@ -128,22 +128,24 @@ public class CollectionsResourceIT extends AbstractRestIT {
 
         //Create test collection with test entity that is full text indexed.
         Entity testEntity = new Entity();
-        testEntity.put( "one", "value" );
+        testEntity.put( "one", "value1" );
         //this field shouldn't persist after reindexing.
-        testEntity.put( "two","valuetwo" );
+        testEntity.put( "two","valuetwo1" );
 
-        //TODO: add arrays to the indexing test
-        //testEntity.put("array","array stuff here");
+        this.app().collection( "testCollection" ).post( testEntity );
+
+        testEntity.put( "one", "value2" );
+        //this field shouldn't persist after reindexing.
+        testEntity.put( "two","valuetwo2" );
+
+        this.app().collection( "testCollection" ).post( testEntity );
 
-        Entity returnedEntity = this.app().collection( "testCollection" ).post( testEntity );
 
         //Creating schema.
         //this could be changed to a hashmap.
         ArrayList<String> indexingArray = new ArrayList<>(  );
         indexingArray.add( "one" );
 
-        //TODO: add indexing array to the backend/test once you finish the regular selective indexing.
-        //indexingArray.add( "field.three.index.array" );
 
         //field "fields" is required.
         Entity payload = new Entity();
@@ -153,44 +155,25 @@ public class CollectionsResourceIT extends AbstractRestIT {
         Entity thing = this.app().collection( "testCollection" ).collection( "_indexes" ).post( payload );
         refreshIndex();
 
-        //Below is what needs to be implemented along with the index call above
-
-        //Get the collection schema and verify that it contains the same schema as posted above.
-//        Collection collection = this.app().collection( "testCollection" ).collection( "_index" ).get();
-//
-//        LinkedHashMap testCollectionSchema = (LinkedHashMap)collection.getResponse().getData();
-//        //TODO: the below will have to be replaced by the values that I deem correct.
-//        assertEquals( ( thing ).get( "lastUpdated" ), testCollectionSchema.get( "lastUpdated" ));
-//        assertEquals( ( thing ).get( "lastUpdateBy" ),testCollectionSchema.get( "lastUpdateBy" ) );
-//        assertEquals( ( thing ).get( "lastReindexed" ),testCollectionSchema.get( "lastReindexed" ) );
-//
-//        //TODO: this test doesn't check to see if create checks the schema. Only that the reindex removes whats already there.
-//        ArrayList<String> schema = ( ArrayList<String> ) testCollectionSchema.get( "fields" );
-//        assertEquals( "one",schema.get( 0 ) );
-
         //Reindex and verify that the entity only has field one index.
         this.app().collection( "testCollection" ).collection( "_reindex" ).post();
+        Thread.sleep( 1000 );
+        refreshIndex();
 
-        String query = "one ='value'";
+        String query = "one ='value1'";
         QueryParameters queryParameters = new QueryParameters().setQuery(query);
 
         //having a name breaks it. Need to get rid of the stack trace and also
         Collection tempEntity = this.app().collection( "testCollection" ).get(queryParameters,true);
         Entity reindexedEntity = tempEntity.getResponse().getEntity();
-        assertEquals( "value",reindexedEntity.get( "one" ) );
+        assertEquals( "value1",reindexedEntity.get( "one" ) );
+        tempEntity=null;
 
         //Verify if you can query on an entity that was not indexed and that no entities are returned.
-        query = "two = 'valuetwo'";
+        query = "two = 'valuetwo1'";
         queryParameters = new QueryParameters().setQuery(query);
         tempEntity = this.app().collection( "testCollection" ).get(queryParameters,true);
         assertEquals(0,tempEntity.getResponse().getEntities().size());
-
-//        refreshIndex();
-//
-//        Entity reindexedEntity = this.app().collection( "testCollection" ).entity( returnedEntity.getUuid() ).get();
-//        assertEquals( "12/31/9999",reindexedEntity.get( "one" ) );
-        //not sure if this should have some kind of sleep here because this reindex will be heavily throttled.
-
     }
 
     /**