fix cursor
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/2df40137 Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/2df40137 Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/2df40137 Branch: refs/heads/two-dot-o-dev Commit: 2df40137c9d96ec05f82605e77ebcaeba016a420 Parents: 96d27b9 Author: Shawn Feldman <[email protected]> Authored: Thu Mar 26 14:23:04 2015 -0600 Committer: Shawn Feldman <[email protected]> Committed: Thu Mar 26 14:23:04 2015 -0600 ---------------------------------------------------------------------- .../impl/EsApplicationEntityIndexImpl.java | 11 +++++++--- .../migration/EsIndexDataMigrationImpl.java | 2 +- .../index/guice/TestIndexModule.java | 22 ++++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2df40137/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java index 603bee4..53286b4 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsApplicationEntityIndexImpl.java @@ -142,6 +142,10 @@ public class EsApplicationEntityIndexImpl implements ApplicationEntityIndex{ @Override public CandidateResults search(final IndexScope indexScope, final SearchTypes searchTypes, final Query query, final int limit){ + if(query.getCursor()!=null){ + return getNextPage(query.getCursor()); + } + SearchResponse searchResponse; SearchRequestBuilder srb = searchRequest.getBuilder(indexScope, searchTypes, query,limit); @@ -291,11 +295,12 @@ public class EsApplicationEntityIndexImpl implements ApplicationEntityIndex{ candidates.add(new CandidateResult(entityId, UUID.fromString(version))); } - CandidateResults candidateResults = new CandidateResults(candidates); - if(candidateResults.hasCursor()) { + final CandidateResults candidateResults = new CandidateResults(candidates); + final String esScrollCursor = searchResponse.getScrollId(); + + if(esScrollCursor != null) { candidateResults.initializeCursor(); - final String esScrollCursor = searchResponse.getScrollId(); //now set this into our map module final int minutes = indexFig.getQueryCursorTimeout(); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2df40137/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexDataMigrationImpl.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexDataMigrationImpl.java b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexDataMigrationImpl.java index 2a0bb15..64b7d29 100644 --- a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexDataMigrationImpl.java +++ b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/migration/EsIndexDataMigrationImpl.java @@ -80,7 +80,7 @@ public class EsIndexDataMigrationImpl implements DataMigration<ApplicationScope> .doOnError(error -> log.error("failed to migrate index",error)) .toBlocking().last(); - return integer.get(); + return dataVersion.getImplementationVersion(); } @Override http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2df40137/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/guice/TestIndexModule.java ---------------------------------------------------------------------- diff --git a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/guice/TestIndexModule.java b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/guice/TestIndexModule.java index 4e6700c..0c57b36 100644 --- a/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/guice/TestIndexModule.java +++ b/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/guice/TestIndexModule.java @@ -19,10 +19,18 @@ package org.apache.usergrid.persistence.index.guice; +import com.google.inject.TypeLiteral; +import org.apache.usergrid.persistence.core.migration.data.MigrationDataProvider; +import org.apache.usergrid.persistence.core.scope.ApplicationScope; +import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl; +import org.apache.usergrid.persistence.model.entity.SimpleId; import org.safehaus.guicyfig.GuicyFigModule; import org.apache.usergrid.persistence.core.guice.CommonModule; import org.apache.usergrid.persistence.core.guice.TestModule; +import rx.Observable; + +import java.util.UUID; public class TestIndexModule extends TestModule { @@ -37,8 +45,22 @@ public class TestIndexModule extends TestModule { @Override public void configureMigrationProvider(){ + bind( new TypeLiteral<MigrationDataProvider<ApplicationScope>>() {} ).to( + TestAllApplicationsObservable.class ); } }); install( new GuicyFigModule(IndexTestFig.class) ); } + public static class TestAllApplicationsObservable implements MigrationDataProvider<ApplicationScope>{ + + + @Override + public Observable<ApplicationScope> getData() { + ApplicationScope[] scopes = new ApplicationScope[]{ + new ApplicationScopeImpl(new SimpleId(UUID.randomUUID(),"application")) + }; + return Observable.from(scopes); + } + } + }
