Merge branch 'master' into datastax--cass-driver
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/70ff8fdb Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/70ff8fdb Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/70ff8fdb Branch: refs/heads/datastax-cass-driver Commit: 70ff8fdb44daeb81e24b1f7218aba791e2d59cc5 Parents: 3c6fcdc 279c020 Author: Michael Russo <[email protected]> Authored: Thu Apr 28 18:57:45 2016 +0800 Committer: Michael Russo <[email protected]> Committed: Thu Apr 28 18:57:45 2016 +0800 ---------------------------------------------------------------------- content/docs/README.html | 8 +- .../file-storage-configuration.html | 8 +- content/docs/assets-and-files/folders.html | 8 +- .../assets-and-files/legacy-asset-support.html | 8 +- .../assets-and-files/retrieving-assets.html | 8 +- .../docs/assets-and-files/uploading-assets.html | 8 +- .../creating-and-incrementing-counters.html | 8 +- .../events-and-counters.html | 8 +- .../retrieving-counters.html | 8 +- .../docs/data-queries/advanced-query-usage.html | 8 +- .../docs/data-queries/operators-and-types.html | 8 +- content/docs/data-queries/query-parameters.html | 8 +- .../docs/data-queries/querying-your-data.html | 8 +- content/docs/data-storage/collections.html | 8 +- content/docs/data-storage/data-store-dbms.html | 8 +- content/docs/data-storage/entities.html | 8 +- .../docs/data-storage/optimizing-access.html | 8 +- .../entity-connections/connecting-entities.html | 8 +- .../disconnecting-entities.html | 8 +- .../entity-connections/retrieving-entities.html | 8 +- content/docs/genindex.html | 8 +- content/docs/geolocation/geolocation.html | 8 +- content/docs/index.html | 8 +- content/docs/installation/deployment-guide.html | 8 +- .../docs/installation/ug1-deploy-to-tomcat.html | 8 +- .../installation/ug1-launcher-quick-start.html | 8 +- .../docs/installation/ug2-deploy-to-tomcat.html | 8 +- content/docs/introduction/async-vs-sync.html | 8 +- content/docs/introduction/data-model.html | 8 +- content/docs/introduction/overview.html | 8 +- .../docs/introduction/usergrid-features.html | 8 +- content/docs/jersey2skeleton/README.html | 8 +- content/docs/objects.inv | Bin 686 -> 686 bytes content/docs/orgs-and-apps/admin-user.html | 8 +- content/docs/orgs-and-apps/application.html | 8 +- content/docs/orgs-and-apps/managing.html | 8 +- content/docs/orgs-and-apps/organization.html | 8 +- .../push-notifications/adding-push-support.html | 8 +- .../creating-and-managing-notifications.html | 8 +- .../push-notifications/creating-notifiers.html | 8 +- .../push-notifications/getting-started.html | 8 +- .../managing-users-and-devices.html | 8 +- content/docs/push-notifications/overview.html | 8 +- .../docs/push-notifications/registering.html | 8 +- content/docs/push-notifications/tbd.html | 8 +- .../push-notifications/troubleshooting.html | 8 +- content/docs/push-notifications/tutorial.html | 8 +- .../docs/push-notifications/users-devices.html | 8 +- content/docs/reference/contribute-code.html | 8 +- content/docs/reference/presos-and-videos.html | 8 +- content/docs/rest-endpoints/api-docs.html | 8 +- content/docs/sdks/ios-new.html | 8 +- content/docs/sdks/sdk-outline.html | 8 +- content/docs/sdks/tbd.html | 8 +- content/docs/search.html | 8 +- .../docs/security-and-auth/app-security.html | 8 +- .../authenticating-api-requests.html | 8 +- ...nticating-users-and-application-clients.html | 8 +- .../changing-token-time-live-ttl.html | 8 +- .../docs/security-and-auth/facebook-sign.html | 8 +- .../revoking-tokens-logout.html | 8 +- .../security-and-auth/securing-your-app.html | 8 +- .../user-authentication-types.html | 8 +- .../security-and-auth/using-permissions.html | 8 +- content/docs/security-and-auth/using-roles.html | 8 +- content/docs/user-management/activity.html | 8 +- content/docs/user-management/group.html | 8 +- content/docs/user-management/groups.html | 8 +- .../docs/user-management/messagee-example.html | 8 +- .../docs/user-management/user-connections.html | 8 +- .../docs/user-management/user-management.html | 8 +- .../docs/user-management/working-user-data.html | 8 +- .../creating-a-new-application.html | 8 +- .../docs/using-usergrid/creating-account.html | 8 +- .../using-usergrid/using-a-sandbox-app.html | 8 +- content/docs/using-usergrid/using-the-api.html | 8 +- docs/conf.py | 4 +- .../main/resources/usergrid-default.properties | 24 + stack/core/pom.xml | 5 + .../apache/usergrid/batch/job/OnlyOnceJob.java | 22 +- .../corepersistence/ApplicationIdCache.java | 6 +- .../corepersistence/ApplicationIdCacheImpl.java | 64 +- .../usergrid/corepersistence/CoreModule.java | 6 + .../corepersistence/CpEntityManager.java | 231 +++++- .../corepersistence/CpEntityManagerFactory.java | 49 +- .../corepersistence/CpManagerCache.java | 2 +- .../corepersistence/CpRelationManager.java | 149 +++- .../usergrid/corepersistence/CpSetup.java | 103 +-- .../corepersistence/EntityManagerFig.java | 4 + .../usergrid/corepersistence/ManagerCache.java | 2 +- .../asyncevents/AsyncEventService.java | 7 + .../asyncevents/AsyncEventServiceImpl.java | 153 +++- .../asyncevents/EventBuilder.java | 12 +- .../asyncevents/EventBuilderImpl.java | 37 +- .../asyncevents/model/AsyncEvent.java | 7 +- .../model/DeIndexOldVersionsEvent.java | 50 ++ .../asyncevents/model/EdgeDeleteEvent.java | 4 +- .../asyncevents/model/EdgeIndexEvent.java | 70 ++ .../model/ElasticsearchIndexEvent.java | 2 +- .../asyncevents/model/EntityDeleteEvent.java | 3 + .../asyncevents/model/EntityIndexEvent.java | 54 ++ .../model/InitializeApplicationIndexEvent.java | 2 +- .../index/IndexProcessorFig.java | 13 +- .../corepersistence/index/IndexSchemaCache.java | 50 ++ .../index/IndexSchemaCacheFactory.java | 44 ++ .../index/IndexSchemaCacheFig.java | 39 + .../index/IndexSchemaCacheImpl.java | 119 +++ .../corepersistence/index/IndexServiceImpl.java | 98 ++- .../index/ReIndexRequestBuilder.java | 7 + .../index/ReIndexRequestBuilderImpl.java | 32 + .../index/ReIndexServiceImpl.java | 49 +- .../pipeline/builder/IdBuilder.java | 6 + .../pipeline/read/FilterFactory.java | 8 +- .../read/traverse/AbstractReadGraphFilter.java | 18 +- .../pipeline/read/traverse/IdFilter.java | 52 ++ .../results/IdQueryExecutor.java | 66 ++ .../service/ApplicationServiceImpl.java | 37 +- .../service/CollectionSearch.java | 9 + .../service/CollectionService.java | 5 + .../service/CollectionServiceImpl.java | 23 + .../service/ServiceSchedulerFig.java | 2 +- .../usergrid/persistence/EntityManager.java | 7 + .../persistence/EntityManagerFactory.java | 6 +- .../persistence/MultiQueryIterator.java | 2 +- .../persistence/NotificationGraphIterator.java | 163 +++++ .../persistence/PagingResultsIterator.java | 25 +- .../apache/usergrid/persistence/PathQuery.java | 67 +- .../org/apache/usergrid/persistence/Query.java | 2 + .../apache/usergrid/persistence/Results.java | 20 + .../persistence/cassandra/ApplicationCF.java | 2 +- .../persistence/cassandra/CassandraService.java | 2 - .../usergrid/persistence/cassandra/Setup.java | 28 +- .../persistence/entities/Notification.java | 106 ++- .../corepersistence/StaleIndexCleanupTest.java | 184 +---- .../index/AsyncEventServiceImplTest.java | 23 +- .../usergrid/corepersistence/index/RxTest.java | 129 ++++ .../usergrid/persistence/CoreSchemaManager.java | 14 +- .../cassandra/EntityManagerFactoryImplIT.java | 8 +- .../impl/ScopedCacheSerializationImpl.java | 9 +- .../impl/EntityCollectionManagerImpl.java | 2 +- .../mvcc/stage/write/WriteUniqueVerify.java | 9 +- .../serialization/SerializationFig.java | 3 + .../core/astyanax/CassandraClusterImpl.java | 4 +- .../persistence/core/astyanax/ColumnSearch.java | 7 +- .../core/astyanax/MultiRowColumnIterator.java | 37 +- .../astyanax/MultiRowShardColumnIterator.java | 462 ++++++++++++ .../core/consistency/TimeServiceImpl.java | 5 +- .../core/executor/TaskExecutorFactory.java | 10 +- .../persistence/core/shard/SmartShard.java | 61 ++ .../astyanax/MultiRowColumnIteratorTest.java | 12 +- .../usergrid/persistence/graph/GraphFig.java | 17 + .../graph/impl/GraphManagerImpl.java | 2 +- .../impl/EdgeMetadataSerializationV2Impl.java | 4 +- .../impl/shard/NodeShardCache.java | 7 +- .../graph/serialization/impl/shard/Shard.java | 33 +- .../impl/shard/impl/EdgeSearcher.java | 113 ++- .../shard/impl/EdgeShardSerializationImpl.java | 56 +- .../shard/impl/NodeShardAllocationImpl.java | 38 +- .../impl/shard/impl/NodeShardCacheImpl.java | 29 +- .../shard/impl/ShardEntryGroupIterator.java | 12 + .../shard/impl/ShardGroupCompactionImpl.java | 179 +++-- .../impl/ShardedEdgeSerializationImpl.java | 51 +- .../impl/shard/impl/ShardsColumnIterator.java | 64 +- .../shard/impl/serialize/ShardSerializer.java | 86 +++ .../graph/GraphManagerShardConsistencyIT.java | 215 +++--- .../impl/shard/EdgeShardSerializationTest.java | 12 +- .../impl/shard/NodeShardAllocationTest.java | 44 +- .../impl/shard/ShardGroupCompactionTest.java | 4 +- .../graph/src/test/resources/log4j.properties | 6 + .../persistence/map/impl/MapManagerImpl.java | 6 + .../persistence/index/EntityIndexBatch.java | 13 +- .../usergrid/persistence/index/IndexFig.java | 2 +- .../index/impl/EntityToMapConverter.java | 93 ++- .../index/impl/EsEntityIndexBatchImpl.java | 21 +- .../index/impl/EsEntityIndexImpl.java | 25 +- .../index/impl/FailureMonitorImpl.java | 2 +- .../persistence/index/impl/IndexOperation.java | 9 +- .../index/impl/IndexOperationMessage.java | 2 +- .../persistence/index/impl/EntityIndexTest.java | 2 +- .../usergrid/persistence/queue/QueueFig.java | 4 + .../apache/usergrid/mongo/BasicMongoTest.java | 8 +- .../apache/usergrid/mongo/MongoQueryTest.java | 18 +- stack/pom.xml | 2 +- .../org/apache/usergrid/rest/ApiResponse.java | 7 +- .../rest/applications/ApplicationResource.java | 2 +- .../rest/applications/CollectionResource.java | 233 ++++++ .../rest/applications/ServiceResource.java | 140 +++- .../notifiers/NotifierResource.java | 3 +- .../notifiers/NotifiersResource.java | 3 +- .../rest/applications/users/UserResource.java | 26 +- .../rest/applications/users/UsersResource.java | 3 +- .../IllegalArgumentExceptionMapper.java | 4 +- .../ServiceResourceNotFoundExceptionMapper.java | 9 +- .../organizations/OrganizationResource.java | 8 +- .../security/SecuredResourceFilterFactory.java | 29 +- .../OAuth2AccessTokenSecurityFilter.java | 3 +- .../usergrid/rest/system/DatabaseResource.java | 4 +- .../usergrid/rest/system/IndexResource.java | 6 + .../rest/applications/ApplicationCreateIT.java | 3 +- .../applications/ApplicationResourceIT.java | 2 +- .../collection/CollectionsResourceIT.java | 716 ++++++++++++++++++- .../collection/paging/PagingResourceIT.java | 70 +- .../collection/users/PermissionsResourceIT.java | 6 +- .../rest/test/resource/AbstractRestIT.java | 1 + .../rest/test/resource/ClientSetup.java | 10 + .../test/resource/endpoints/NamedResource.java | 22 + .../resources/usergrid-custom-test.properties | 4 + .../cassandra/ManagementServiceImpl.java | 91 ++- .../usergrid/security/shiro/ShiroCache.java | 41 +- .../security/shiro/ShiroCacheManager.java | 15 +- .../shiro/credentials/AdminUserAccessToken.java | 3 + .../ApplicationClientCredentials.java | 5 + .../shiro/principals/AdminUserPrincipal.java | 3 + .../principals/ApplicationGuestPrincipal.java | 4 +- .../shiro/principals/ApplicationPrincipal.java | 4 +- .../principals/ApplicationUserPrincipal.java | 3 + .../shiro/principals/OrganizationPrincipal.java | 4 +- .../security/shiro/utils/LocalShiroCache.java | 80 +++ .../usergrid/security/tokens/TokenService.java | 3 + .../tokens/cassandra/TokenServiceImpl.java | 40 +- .../services/AbstractCollectionService.java | 56 ++ .../services/AbstractConnectionsService.java | 13 + .../usergrid/services/AbstractService.java | 14 +- .../org/apache/usergrid/services/Service.java | 3 + .../usergrid/services/ServiceManager.java | 1 - .../usergrid/services/ServiceRequest.java | 5 + .../applications/ApplicationsService.java | 14 + .../usergrid/services/groups/GroupsService.java | 4 + .../notifications/NotificationDeviceFilter.java | 45 ++ .../notifications/NotificationsService.java | 32 +- .../services/notifications/QueueListener.java | 41 +- .../services/notifications/TaskManager.java | 25 +- .../services/notifications/gcm/GCMAdapter.java | 7 +- .../impl/ApplicationQueueManagerImpl.java | 283 ++++++-- .../usergrid/services/queues/QueueListener.java | 2 +- .../usergrid/services/roles/RolesService.java | 2 + .../usergrid/services/users/UsersService.java | 2 + .../services/users/roles/RolesService.java | 4 + .../resources/usergrid-services-context.xml | 11 +- .../migration/AppInfoMigrationPluginTest.java | 8 +- .../apns/NotificationsServiceIT.java | 32 +- .../gcm/NotificationsServiceIT.java | 58 +- .../resources/usergrid-custom-test.properties | 1 + .../usergrid/cassandra/SchemaManager.java | 3 - .../usergrid/cassandra/FakeSchemaManager.java | 8 +- .../test/notifications/notifications.js | 5 - tests/performance/runLoadNestedEntities.sh | 98 +++ .../datagenerators/EntityDataGenerator.scala | 40 ++ .../org/apache/usergrid/enums/EntityType.scala | 3 +- 249 files changed, 5902 insertions(+), 1465 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/config/src/main/resources/usergrid-default.properties ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/core/pom.xml ---------------------------------------------------------------------- diff --cc stack/core/pom.xml index 7083687,ce5b67d..75d6007 --- a/stack/core/pom.xml +++ b/stack/core/pom.xml @@@ -55,388 -55,384 +55,393 @@@ </includes> </resource> </resources> - <testResources> - <testResource> - <directory>src/test/resources</directory> - <filtering>true</filtering> - <includes> - <include>**/*.yaml</include> - <include>**/*.properties</include> - <include>**/*.xml</include> - </includes> - </testResource> - <testResource> - <directory>src/test/resources</directory> - <filtering>true</filtering> - <includes> - <include>largeentity.json</include> - </includes> - </testResource> - </testResources> - - <plugins> - - <!-- - Do not need to configure surefire plugin here, parent POM configuration is sufficient. - --> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <executions> - <execution> - <id>test-jar-execution</id> - <phase>package</phase> - <goals> - <goal>test-jar</goal> - </goals> - <configuration> - <includes> - <include>**/org/apache/usergrid/**</include> - </includes> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - </build> - - <dependencies> - - - <!-- dependent on wiring guice and spring --> - <dependency> - <groupId>com.google.inject.extensions</groupId> - <artifactId>guice-spring</artifactId> - <version>4.0-beta5</version> - </dependency> - - <!-- Apache Dependencies --> - - <dependency> - <groupId>org.apache.cassandra</groupId> - <artifactId>cassandra-all</artifactId> - <!-- Exclude the old and problematic Snappy --> - <exclusions> - <exclusion> - <artifactId>snappy-java</artifactId> - <groupId>org.xerial.snappy</groupId> - </exclusion> - <exclusion> - <artifactId>antlr</artifactId> - <groupId>org.antlr</groupId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.cassandra</groupId> - <artifactId>cassandra-thrift</artifactId> - </dependency> - - <!-- Include the slighly newer and less problematic snappy --> - <dependency> - <artifactId>snappy-java</artifactId> - <groupId>org.xerial.snappy</groupId> - <version>1.0.5</version> - </dependency> - - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - </dependency> - - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - </dependency> - - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </dependency> - - <dependency> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - </dependency> - - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - </dependency> - - <dependency> - <groupId>commons-cli</groupId> - <artifactId>commons-cli</artifactId> - </dependency> - - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - </dependency> - - <!-- SUN, Javax Package, and Other Commercial Dependencies --> - - <dependency> - <groupId>com.beust</groupId> - <artifactId>jcommander</artifactId> - </dependency> - - <dependency> - <groupId>com.sun.mail</groupId> - <artifactId>javax.mail</artifactId> - </dependency> - - <dependency> - <groupId>javax.activation</groupId> - <artifactId>activation</artifactId> - </dependency> - - <dependency> - <groupId>javax.persistence</groupId> - <artifactId>persistence-api</artifactId> - </dependency> - - <dependency> - <groupId>com.fasterxml.uuid</groupId> - <artifactId>java-uuid-generator</artifactId> - </dependency> - - <dependency> - <groupId>com.hazelcast</groupId> - <artifactId>hazelcast-all</artifactId> - </dependency> - - <dependency> - <groupId>com.netflix.curator</groupId> - <artifactId>curator-recipes</artifactId> - </dependency> - - <dependency> - <groupId>com.netflix.astyanax</groupId> - <artifactId>astyanax-recipes</artifactId> - </dependency> - - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </dependency> - - <!-- Codehaus, Spring and Other Org Dependencies --> - - <dependency> - <groupId>org.hectorclient</groupId> - <artifactId>hector-core</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-expression</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-beans</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-aop</artifactId> - </dependency> - - <dependency> - <groupId>aopalliance</groupId> - <artifactId>aopalliance</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context-support</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </dependency> - - <dependency> - <groupId>org.yaml</groupId> - <artifactId>snakeyaml</artifactId> - </dependency> - - <dependency> - <groupId>org.jsoup</groupId> - <artifactId>jsoup</artifactId> - </dependency> - - <dependency> - <groupId>org.perf4j</groupId> - <artifactId>perf4j</artifactId> - </dependency> - - <dependency> - <groupId>org.aspectj</groupId> - <artifactId>aspectjweaver</artifactId> - </dependency> - - <dependency> - <groupId>org.aspectj</groupId> - <artifactId>aspectjrt</artifactId> - </dependency> - - <dependency> - <groupId>cglib</groupId> - <artifactId>cglib-nodep</artifactId> - </dependency> - - <dependency> - <groupId>jline</groupId> - <artifactId>jline</artifactId> - </dependency> - - <dependency> - <groupId>org.jboss.netty</groupId> - <artifactId>netty</artifactId> - </dependency> - - <!-- Test and Logging Dependencies --> - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>usergrid-config</artifactId> - <version>${project.version}</version> - <scope>test</scope> - <classifier>tests</classifier> - </dependency> - - <dependency> - <groupId>org.hectorclient</groupId> - <artifactId>hector-test</artifactId> - <scope>test</scope> - </dependency> - - - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>${mockito.version}</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.jvnet.mock-javamail</groupId> - <artifactId>mock-javamail</artifactId> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>usergrid-test-utils</artifactId> - <version>${project.version}</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <scope>test</scope> - </dependency> - - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>common</artifactId> - <version>2.2.0-SNAPSHOT</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - - - <!-- Core Persistence deps --> - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>collection</artifactId> - <version>2.2.0-SNAPSHOT</version> - <type>jar</type> - <exclusions> - <exclusion> - <artifactId>antlr</artifactId> - <groupId>org.antlr</groupId> - </exclusion> - <exclusion> - <artifactId>antlr</artifactId> - <groupId>antlr</groupId> - </exclusion> - </exclusions> - </dependency> - - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>queryindex</artifactId> - <version>2.2.0-SNAPSHOT</version> - <type>jar</type> - </dependency> - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>graph</artifactId> - <version>2.2.0-SNAPSHOT</version> - <type>jar</type> - </dependency> - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>map</artifactId> - <version>2.2.0-SNAPSHOT</version> - <type>jar</type> - </dependency> - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>cache</artifactId> - <version>2.2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.usergrid</groupId> - <artifactId>queue</artifactId> - <version>2.2.0-SNAPSHOT</version> - <type>jar</type> - </dependency> - - <dependency> - <groupId>com.codahale.metrics</groupId> - <artifactId>metrics-core</artifactId> - <version>${metrics.version}</version> - </dependency> - - <dependency> - <groupId>com.codahale.metrics</groupId> - <artifactId>metrics-graphite</artifactId> - <version>${metrics.version}</version> - </dependency> - - </dependencies> - - <!-- - Do not need jacoco profile here because we do not override the surefire plugin in this POM - --> + <testResources> + <testResource> + <directory>src/test/resources</directory> + <filtering>true</filtering> + <includes> + <include>**/*.yaml</include> + <include>**/*.properties</include> + <include>**/*.xml</include> + </includes> + </testResource> + <testResource> + <directory>src/test/resources</directory> + <filtering>true</filtering> + <includes> + <include>largeentity.json</include> + </includes> + </testResource> + </testResources> + + <plugins> + + <!-- + Do not need to configure surefire plugin here, parent POM configuration is sufficient. + --> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <id>test-jar-execution</id> + <phase>package</phase> + <goals> + <goal>test-jar</goal> + </goals> + <configuration> + <includes> + <include>**/org/apache/usergrid/**</include> + </includes> + </configuration> + </execution> + </executions> + </plugin> + + </plugins> + </build> + + <dependencies> + + + <!-- dependent on wiring guice and spring --> + <dependency> + <groupId>com.google.inject.extensions</groupId> + <artifactId>guice-spring</artifactId> + <version>4.0-beta5</version> + </dependency> + + <!-- Apache Dependencies --> + + <dependency> + <groupId>org.apache.cassandra</groupId> + <artifactId>cassandra-all</artifactId> + <!-- Exclude the old and problematic Snappy --> + <exclusions> + <exclusion> + <artifactId>snappy-java</artifactId> + <groupId>org.xerial.snappy</groupId> + </exclusion> + <exclusion> + <artifactId>antlr</artifactId> + <groupId>org.antlr</groupId> + </exclusion> + <exclusion> + <groupId>net.jpountz.lz4</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.apache.cassandra</groupId> + <artifactId>cassandra-thrift</artifactId> + </dependency> + + <!-- Include the slighly newer and less problematic snappy --> + <dependency> + <artifactId>snappy-java</artifactId> + <groupId>org.xerial.snappy</groupId> + <version>1.0.5</version> + </dependency> + + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + </dependency> + + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + </dependency> + + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </dependency> + + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + </dependency> + + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + + <dependency> + <groupId>commons-cli</groupId> + <artifactId>commons-cli</artifactId> + </dependency> + + <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + </dependency> + + <!-- SUN, Javax Package, and Other Commercial Dependencies --> + + <dependency> + <groupId>com.beust</groupId> + <artifactId>jcommander</artifactId> + </dependency> + + <dependency> + <groupId>com.sun.mail</groupId> + <artifactId>javax.mail</artifactId> + </dependency> + + <dependency> + <groupId>javax.activation</groupId> + <artifactId>activation</artifactId> + </dependency> + + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + </dependency> + + <dependency> + <groupId>com.fasterxml.uuid</groupId> + <artifactId>java-uuid-generator</artifactId> + </dependency> + + <dependency> + <groupId>com.hazelcast</groupId> + <artifactId>hazelcast-all</artifactId> + </dependency> + + <dependency> + <groupId>com.netflix.curator</groupId> + <artifactId>curator-recipes</artifactId> + </dependency> + + <dependency> + <groupId>com.netflix.astyanax</groupId> + <artifactId>astyanax-recipes</artifactId> + </dependency> + + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + </dependency> + + <!-- Codehaus, Spring and Other Org Dependencies --> + + <dependency> + <groupId>org.hectorclient</groupId> + <artifactId>hector-core</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-core</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-expression</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-beans</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-aop</artifactId> + </dependency> + + <dependency> + <groupId>aopalliance</groupId> + <artifactId>aopalliance</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-context</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-context-support</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-web</artifactId> + </dependency> + + <dependency> + <groupId>org.yaml</groupId> + <artifactId>snakeyaml</artifactId> + </dependency> + + <dependency> + <groupId>org.jsoup</groupId> + <artifactId>jsoup</artifactId> + </dependency> + + <dependency> + <groupId>org.perf4j</groupId> + <artifactId>perf4j</artifactId> + </dependency> + + <dependency> + <groupId>org.aspectj</groupId> + <artifactId>aspectjweaver</artifactId> + </dependency> + + <dependency> + <groupId>org.aspectj</groupId> + <artifactId>aspectjrt</artifactId> + </dependency> + + <dependency> + <groupId>cglib</groupId> + <artifactId>cglib-nodep</artifactId> + </dependency> + + <dependency> + <groupId>jline</groupId> + <artifactId>jline</artifactId> + </dependency> + + <dependency> + <groupId>org.jboss.netty</groupId> + <artifactId>netty</artifactId> + </dependency> + + <!-- Test and Logging Dependencies --> + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>usergrid-config</artifactId> + <version>${project.version}</version> + <scope>test</scope> + <classifier>tests</classifier> + </dependency> + + <dependency> + <groupId>org.hectorclient</groupId> + <artifactId>hector-test</artifactId> + <scope>test</scope> + </dependency> + + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.jvnet.mock-javamail</groupId> + <artifactId>mock-javamail</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>usergrid-test-utils</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-test</artifactId> + <scope>test</scope> + </dependency> + + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>common</artifactId> + <version>2.1.1-SNAPSHOT</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + + <!-- Core Persistence deps --> + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>collection</artifactId> + <version>2.1.1-SNAPSHOT</version> + <type>jar</type> + <exclusions> + <exclusion> + <artifactId>antlr</artifactId> + <groupId>org.antlr</groupId> + </exclusion> + <exclusion> + <artifactId>antlr</artifactId> + <groupId>antlr</groupId> + </exclusion> + </exclusions> + </dependency> + + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>queryindex</artifactId> + <version>2.1.1-SNAPSHOT</version> + <type>jar</type> + </dependency> + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>graph</artifactId> + <version>2.1.1-SNAPSHOT</version> + <type>jar</type> + </dependency> + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>map</artifactId> + <version>2.1.1-SNAPSHOT</version> + <type>jar</type> + </dependency> + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>cache</artifactId> + <version>2.1.1-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.usergrid</groupId> + <artifactId>queue</artifactId> + <version>2.1.1-SNAPSHOT</version> + <type>jar</type> + </dependency> + + <dependency> + <groupId>com.codahale.metrics</groupId> + <artifactId>metrics-core</artifactId> + <version>${metrics.version}</version> + </dependency> + + <dependency> + <groupId>com.codahale.metrics</groupId> + <artifactId>metrics-graphite</artifactId> + <version>${metrics.version}</version> + </dependency> ++ <dependency> ++ <groupId>org.apache.usergrid</groupId> ++ <artifactId>common</artifactId> ++ <version>2.2.0-SNAPSHOT</version> ++ </dependency> + + </dependencies> + + <!-- + Do not need jacoco profile here because we do not override the surefire plugin in this POM + --> </project> http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java ---------------------------------------------------------------------- diff --cc stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java index d2c38e4,623400d..28b1ccc --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java @@@ -130,15 -106,16 +106,15 @@@ public class CpSetup implements Setup @Override - public void setupSystemKeyspace() throws Exception { + public void runDataMigration() throws Exception { - logger.info( "Initialize system tables" ); + injector.getInstance( DataMigrationManager.class ).migrate(); - cass.createColumnFamily( getApplicationKeyspace(), - createColumnFamilyDefinition( getApplicationKeyspace(), APPLICATIONS_CF, ComparatorType.BYTESTYPE ) ); + } - cass.createColumnFamily( getApplicationKeyspace(), - createColumnFamilyDefinition( getApplicationKeyspace(), PROPERTIES_CF, ComparatorType.BYTESTYPE ) ); - + private void setupLegacySchema() throws Exception { + + logger.info( "Initialize keyspace and legacy column families" ); cass.createColumnFamily( getApplicationKeyspace(), createColumnFamilyDefinition( getApplicationKeyspace(), TOKENS_CF, ComparatorType.BYTESTYPE ) ); @@@ -187,8 -133,23 +132,20 @@@ } - @Override - public boolean keyspacesExist() { - return true; + /** + * Initialize schema from the new 2.x Migration classes which contain schema individually + * + */ + + private void setupSchema() throws Exception { + + MigrationManager m = injector.getInstance( MigrationManager.class ); + try { + m.migrate(); + } + catch ( MigrationException ex ) { + throw new RuntimeException( "Error migrating Core Persistence", ex ); + } } + - - - } http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/core/src/main/java/org/apache/usergrid/corepersistence/index/ReIndexServiceImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/core/src/main/java/org/apache/usergrid/persistence/cassandra/CassandraService.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraClusterImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/astyanax/MultiRowColumnIteratorTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgeMetadataSerializationV2Impl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/shard/impl/EdgeShardSerializationImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/map/src/main/java/org/apache/usergrid/persistence/map/impl/MapManagerImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/rest/src/test/resources/usergrid-custom-test.properties ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid/blob/70ff8fdb/stack/services/src/test/resources/usergrid-custom-test.properties ----------------------------------------------------------------------
