usergrid git commit: Removed automatically added header
Repository: usergrid Updated Branches: refs/heads/USERGRID-1051 78bc3d5c0 -> 6c502aa35 Removed automatically added header Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6c502aa3 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6c502aa3 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6c502aa3 Branch: refs/heads/USERGRID-1051 Commit: 6c502aa355eb3f019c6652d64c70b542aaefa109 Parents: 78bc3d5 Author: George ReyesAuthored: Mon Jan 25 11:01:28 2016 -0800 Committer: George Reyes Committed: Mon Jan 25 11:01:28 2016 -0800 -- .../rest/exceptions/ElasticsearchExecutionExceptionMapper.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6c502aa3/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java index 6636727..55c5086 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java @@ -9,9 +9,7 @@ import org.elasticsearch.action.search.SearchPhaseExecutionException; import static javax.ws.rs.core.Response.Status.SERVICE_UNAVAILABLE; -/** - * Created by ApigeeCorporation on 1/19/16. - */ + @Provider public class ElasticsearchExecutionExceptionMapper extends AbstractExceptionMapper {
[03/35] usergrid git commit: Remove unused zookeeper lock manager.
Remove unused zookeeper lock manager. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8849d8eb Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8849d8eb Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8849d8eb Branch: refs/heads/USERGRID-1047 Commit: 8849d8eb2cb443a70e4ad37c4dae119bb198ece4 Parents: 56eb80f Author: Michael RussoAuthored: Wed Jan 13 09:13:39 2016 -0800 Committer: Michael Russo Committed: Wed Jan 13 09:13:39 2016 -0800 -- .../src/test/resources/usergrid-test.properties | 5 - stack/core/pom.xml | 5 - .../zookeeper/ZooKeeperLockManagerImpl.java | 115 .../locking/zookeeper/ZookeeperLockImpl.java| 88 -- .../main/resources/usergrid-core-context.xml| 8 - .../zookeeper/AbstractZooKeeperTest.java| 127 - .../usergrid/locking/zookeeper/ZooPut.java | 114 .../zookeeper/ZookeeperLockManagerTest.java | 186 - .../resources/usergrid-standalone.properties| 4 - stack/pom.xml | 32 --- .../test/resources/testApplicationContext.xml | 271 +-- 11 files changed, 135 insertions(+), 820 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/8849d8eb/stack/config/src/test/resources/usergrid-test.properties -- diff --git a/stack/config/src/test/resources/usergrid-test.properties b/stack/config/src/test/resources/usergrid-test.properties index 111c750..0824673 100644 --- a/stack/config/src/test/resources/usergrid-test.properties +++ b/stack/config/src/test/resources/usergrid-test.properties @@ -114,11 +114,6 @@ usergrid.binary.bucketname=usergrid-test-bucket # Where to store temporary files usergrid.temp.files=/tmp/usergrid -# Zookeeper instances -zookeeper.hosts=localhost:2180 -zookeeper.sessionTimeout = 3000 -zookeeper.maxAttempts = 3 - swagger.basepath=http://localhost:8080 AWS_ACCESS_KEY_ID= http://git-wip-us.apache.org/repos/asf/usergrid/blob/8849d8eb/stack/core/pom.xml -- diff --git a/stack/core/pom.xml b/stack/core/pom.xml index 7f7dcfb..ae9f915 100644 --- a/stack/core/pom.xml +++ b/stack/core/pom.xml @@ -177,11 +177,6 @@ commons-beanutils - - org.apache.zookeeper - zookeeper - - http://git-wip-us.apache.org/repos/asf/usergrid/blob/8849d8eb/stack/core/src/main/java/org/apache/usergrid/locking/zookeeper/ZooKeeperLockManagerImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/zookeeper/ZooKeeperLockManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/locking/zookeeper/ZooKeeperLockManagerImpl.java deleted file mode 100644 index 018e639..000 --- a/stack/core/src/main/java/org/apache/usergrid/locking/zookeeper/ZooKeeperLockManagerImpl.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * 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.locking.zookeeper; - - -import java.util.UUID; - -import javax.annotation.PostConstruct; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.apache.usergrid.locking.Lock; -import org.apache.usergrid.locking.LockManager; -import org.apache.usergrid.locking.LockPathBuilder; - -import com.netflix.curator.RetryPolicy; -import com.netflix.curator.framework.CuratorFramework; -import com.netflix.curator.framework.CuratorFrameworkFactory; -import com.netflix.curator.framework.recipes.locks.InterProcessMutex; -import com.netflix.curator.retry.ExponentialBackoffRetry; - - -/** Implementation for Zookeeper service that handles global locks. */ -public final class ZooKeeperLockManagerImpl implements LockManager { - -private String hostPort; - -private int sessionTimeout = 2000; - -private int maxAttempts = 5; - -
[19/35] usergrid git commit: Merge commit '19de00b5b72859ddceeea01bedc94c0cc2efaeb4' into release
Merge commit '19de00b5b72859ddceeea01bedc94c0cc2efaeb4' into release * commit '19de00b5b72859ddceeea01bedc94c0cc2efaeb4': Fix tests to handle uniqueness of fields being indexed at Elasticsearch (before assumed duplicates were allowed). Initial work to support a typed null field for an entity, including a new index field type named "null" with value of null. Also changes to pass a Set to elasticsearch for fields to index instead of a non unique list. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/cf3d6a38 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/cf3d6a38 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/cf3d6a38 Branch: refs/heads/USERGRID-1047 Commit: cf3d6a388929a154e48fa2d9ab288ee7ea075ea6 Parents: 4e048f3 19de00b Author: George ReyesAuthored: Fri Jan 15 16:42:15 2016 -0800 Committer: George Reyes Committed: Fri Jan 15 16:42:15 2016 -0800 -- .../model/entity/MapToEntityConverter.java | 18 ++- .../persistence/model/field/FieldTypeName.java | 3 +- .../persistence/model/field/NullField.java | 44 ++ .../model/entity/MapToEntityConverterTest.java | 142 ++ .../persistence/model/field/EntityTest.java | 9 +- .../persistence/index/impl/EntityField.java | 11 ++ .../index/impl/EntityMappingParser.java | 16 +- .../index/impl/EntityToMapConverter.java| 3 +- .../persistence/index/impl/FieldParser.java | 5 +- .../persistence/index/impl/IndexingUtils.java | 1 + .../persistence/index/impl/EntityIndexTest.java | 79 +- .../index/impl/EntityToMapConverterTest.java| 149 ++- .../index/impl/IndexLoadTestsIT.java| 6 +- 13 files changed, 428 insertions(+), 58 deletions(-) --
[30/35] usergrid git commit: Merge branch 'release'
Merge branch 'release' Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8ed5a24a Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8ed5a24a Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8ed5a24a Branch: refs/heads/USERGRID-1047 Commit: 8ed5a24a1e125b3e3c096c41a0e3693630ffdb07 Parents: ceae7db 2e37c21 Author: Michael RussoAuthored: Fri Jan 22 17:43:08 2016 -0800 Committer: Michael Russo Committed: Fri Jan 22 17:43:08 2016 -0800 -- .../model/entity/MapToEntityConverter.java | 235 +++ .../persistence/model/field/ArrayField.java | 4 +- .../persistence/model/field/BooleanField.java | 4 +- .../persistence/model/field/ByteArrayField.java | 8 +- .../persistence/model/field/DoubleField.java| 4 +- .../persistence/model/field/FloatField.java | 4 +- .../persistence/model/field/IntegerField.java | 4 +- .../persistence/model/field/ListField.java | 4 +- .../persistence/model/field/LocationField.java | 4 +- .../persistence/model/field/LongField.java | 4 +- .../persistence/model/field/NullField.java | 4 +- .../model/field/SerializedObjectField.java | 8 +- .../persistence/model/field/SetField.java | 6 +- .../persistence/model/field/StringField.java| 6 +- .../persistence/model/field/UUIDField.java | 4 +- .../model/entity/MapToEntityConverterTest.java | 40 +++- 16 files changed, 211 insertions(+), 132 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/8ed5a24a/stack/corepersistence/model/src/test/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverterTest.java --
[12/35] usergrid git commit: Remove unused SingleNodeLockImpl and any references to this.
Remove unused SingleNodeLockImpl and any references to this. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/0071df0e Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/0071df0e Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/0071df0e Branch: refs/heads/USERGRID-1047 Commit: 0071df0e235181f47ac370257b99c4de1d7705f7 Parents: 5685092 Author: Michael RussoAuthored: Thu Jan 14 18:53:14 2016 -0800 Committer: Michael Russo Committed: Thu Jan 14 18:53:14 2016 -0800 -- .../src/main/dist/lib/log4j.properties | 1 - .../locking/singlenode/SingleNodeLockImpl.java | 71 .../singlenode/SingleNodeLockManagerImpl.java | 96 --- .../main/resources/usergrid-core-context.xml| 5 - .../locking/SingleNodeLockTestSingleNode.java | 163 --- stack/core/src/test/resources/log4j.properties | 1 - stack/rest/src/test/resources/log4j.properties | 1 - .../src/test/resources/log4j.properties | 1 - stack/tools/src/main/resources/log4j.properties | 1 - 9 files changed, 340 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/0071df0e/stack/awscluster/src/main/dist/lib/log4j.properties -- diff --git a/stack/awscluster/src/main/dist/lib/log4j.properties b/stack/awscluster/src/main/dist/lib/log4j.properties index 52f99ce..013563b 100644 --- a/stack/awscluster/src/main/dist/lib/log4j.properties +++ b/stack/awscluster/src/main/dist/lib/log4j.properties @@ -37,7 +37,6 @@ log4j.logger.org.apache.usergrid.persistence.cassandra.ConnectionRefImpl=WARN, s log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN, stdout log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN, stdout log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR, stdout -log4j.logger.org.apache.usergrid.locking.singlenode.SingleNodeLockManagerImpl=DEBUG, stdout #log4j.logger.org.apache.usergrid.persistence=INFO #log4j.logger.org.apache.usergrid.corepersistence=DEBUG http://git-wip-us.apache.org/repos/asf/usergrid/blob/0071df0e/stack/core/src/main/java/org/apache/usergrid/locking/singlenode/SingleNodeLockImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/singlenode/SingleNodeLockImpl.java b/stack/core/src/main/java/org/apache/usergrid/locking/singlenode/SingleNodeLockImpl.java deleted file mode 100644 index 109307d..000 --- a/stack/core/src/main/java/org/apache/usergrid/locking/singlenode/SingleNodeLockImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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.locking.singlenode; - - -import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.ReentrantLock; - -import org.apache.usergrid.locking.Lock; -import org.apache.usergrid.locking.exception.UGLockException; - - -/** @author tnine */ -public class SingleNodeLockImpl implements Lock { - -private final ReentrantLock lock; - - -/** - * - */ -public SingleNodeLockImpl( ReentrantLock lock ) { -this.lock = lock; -} - - -/* (non-Javadoc) - * @see org.apache.usergrid.locking.Lock#acquire(long) - */ -@Override -public boolean tryLock( long timeout, TimeUnit time ) throws UGLockException { -try { -return this.lock.tryLock( timeout, time ); -} -catch ( InterruptedException e ) { -throw new UGLockException( "Couldn't get the lock", e ); -} -} - - -/* (non-Javadoc) - * @see org.apache.usergrid.locking.Lock#lock() - */ -@Override -public void lock() throws UGLockException { -this.lock.lock(); -} - - -/* (non-Javadoc) - * @see org.apache.usergrid.locking.Lock#release() - */ -@Override -public void unlock() throws UGLockException { -
[06/35] usergrid git commit: First commit of new implementation of Astyanax locks and having it wired with guide instead of Spring.
First commit of new implementation of Astyanax locks and having it wired with guide instead of Spring. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/71f32747 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/71f32747 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/71f32747 Branch: refs/heads/USERGRID-1047 Commit: 71f327473434874f78fb53bebf46b8cf909a9735 Parents: 8849d8e Author: Michael RussoAuthored: Thu Jan 14 09:42:42 2016 -0800 Committer: Michael Russo Committed: Thu Jan 14 12:17:35 2016 -0800 -- stack/core/pom.xml | 5 + .../apache/usergrid/batch/job/OnlyOnceJob.java | 3 +- .../usergrid/corepersistence/CoreModule.java| 2 + .../locking/cassandra/AstyanaxLockImpl.java | 79 + .../cassandra/AstyanaxLockManagerImpl.java | 173 + .../usergrid/locking/guice/LockModule.java | 40 +++ .../mq/cassandra/QueueManagerFactoryImpl.java | 5 +- .../persistence/cassandra/CassandraService.java | 5 +- .../main/resources/usergrid-core-context.xml| 5 +- stack/corepersistence/common/pom.xml| 351 ++- .../core/astyanax/AstyanaxKeyspaceProvider.java | 46 +-- .../core/astyanax/CassandraCluster.java | 20 ++ .../core/astyanax/CassandraClusterImpl.java | 198 +++ .../persistence/core/astyanax/CassandraFig.java | 72 +++- .../persistence/core/guice/CommonModule.java| 11 +- .../data/MigrationInfoSerializationImpl.java| 10 +- .../core/astyanax/ColumnNameIteratorTest.java | 5 +- .../MultiKeyColumnNameIteratorTest.java | 5 +- .../astyanax/MultiRowColumnIteratorTest.java| 5 +- .../persistence/core/astyanax/TestUtils.java| 8 +- stack/pom.xml | 7 + .../services/ServiceManagerFactory.java | 6 +- .../resources/usergrid-services-context.xml | 6 +- .../test/resources/testApplicationContext.xml | 10 +- 24 files changed, 830 insertions(+), 247 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/71f32747/stack/core/pom.xml -- diff --git a/stack/core/pom.xml b/stack/core/pom.xml index ae9f915..49082b6 100644 --- a/stack/core/pom.xml +++ b/stack/core/pom.xml @@ -214,6 +214,11 @@ curator-recipes + + com.netflix.astyanax + astyanax-recipes + + com.google.guava guava http://git-wip-us.apache.org/repos/asf/usergrid/blob/71f32747/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java index 726464e..f857d05 100644 --- a/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java +++ b/stack/core/src/main/java/org/apache/usergrid/batch/job/OnlyOnceJob.java @@ -19,6 +19,7 @@ package org.apache.usergrid.batch.job; import java.util.concurrent.TimeUnit; +import org.elasticsearch.common.inject.Inject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.apache.usergrid.batch.Job; @@ -37,7 +38,7 @@ import org.apache.usergrid.persistence.EntityManagerFactory; @Component("OnlyOnceJob") public abstract class OnlyOnceJob implements Job { -@Autowired +@Inject private LockManager lockManager; @Autowired http://git-wip-us.apache.org/repos/asf/usergrid/blob/71f32747/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java index 628459b..e2d845f 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CoreModule.java @@ -16,6 +16,7 @@ package org.apache.usergrid.corepersistence; +import org.apache.usergrid.locking.guice.LockModule; import org.apache.usergrid.persistence.cache.guice.CacheModule; import java.util.concurrent.ThreadPoolExecutor; @@ -94,6 +95,7 @@ public class CoreModule extends AbstractModule { protected void configure() { install( new CommonModule()); +install( new LockModule()); install( new CacheModule()); install( new CollectionModule() { /**
[33/35] usergrid git commit: Merge branch 'release'
Merge branch 'release' Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/40be90f5 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/40be90f5 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/40be90f5 Branch: refs/heads/USERGRID-1047 Commit: 40be90f5ea69d73e487fc9f079247c15a1cc0691 Parents: 78727e1 595955d Author: Michael RussoAuthored: Sat Jan 23 18:02:06 2016 -0800 Committer: Michael Russo Committed: Sat Jan 23 18:02:06 2016 -0800 -- .../corepersistence/CpEntityMapUtilsTest.java | 28 +- .../model/entity/MapToEntityConverter.java | 39 +--- .../model/entity/MapToEntityConverterTest.java | 4 +- 3 files changed, 44 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/40be90f5/stack/corepersistence/model/src/test/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverterTest.java --
[34/35] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047 # By Michael Russo (19) and Dave Johnson (4) # Via Michael Russo (4) and others * 'master' of https://git-wip-us.apache.org/repos/asf/usergrid: (23 commits) Fix issue with null values nested in an entity list field being represented as a top-level entity NullField instead of a null value. Fix inheritance issue. Fix issue with multiple types within a list causing class cast exceptions. Revert ""port" tools from master" "port" tools from master Cleanup duplicate edges at the end of addToCollection and filter duplicate edges in our graph results. Only reset roles and application secrets if the create application request is not for a migration. Fix the default consistency level settings in properties. The fig (e.g. CassandraFig) will only use its default if there was no java prop set already. Implement a minimum lock expiration time. Ensure the lock manager is injected as a singleton. Fixes to allow ImportAdmin to run in distributed env, also remove org-merge from ImportAdmins. Fix tests to handle uniqueness of fields being indexed at Elasticsearch (before assumed duplicates were allowed). Initial work to support a typed null field for an entity, including a new index field type named "null" with value of null. Also changes to pass a Set to elasticsearch for fields to index instead of a non unique list. Remove unused SingleNodeLockImpl and any references to this. Only create new client secrets during app creation if the application UUID is not provided (otherwise you overwrite existing app credentials). Simplify the locks consistency level and default it to LQ in case something passed cannot be parsed to a valid consistency level. Fix Astyanax locking to be re-entrant as Hector locks were and possible UG code expects it to be. Remove all reference of Hector locks, changing its existing test to work with Astyanax. Remove commented, old Hector configuration from Spring context config. Fix new lock manager wiring issues in services layer. First commit of new implementation of Astyanax locks and having it wired with guide instead of Spring. ... Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/31df16e3 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/31df16e3 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/31df16e3 Branch: refs/heads/USERGRID-1047 Commit: 31df16e3d6435db7faa3287e0f3638f766ca7b5c Parents: d97f6e3 40be90f Author: George ReyesAuthored: Mon Jan 25 12:58:27 2016 -0800 Committer: George Reyes Committed: Mon Jan 25 12:58:27 2016 -0800 -- .../src/main/dist/lib/log4j.properties | 1 - .../main/resources/usergrid-default.properties | 10 +- .../src/test/resources/usergrid-test.properties | 5 - stack/core/pom.xml | 10 +- .../apache/usergrid/batch/job/OnlyOnceJob.java | 3 +- .../usergrid/corepersistence/CoreModule.java| 2 + .../corepersistence/CpEntityManagerFactory.java | 18 +- .../corepersistence/CpRelationManager.java | 54 +-- .../usergrid/corepersistence/CpSetup.java | 14 +- .../read/traverse/AbstractReadGraphFilter.java | 37 +- .../locking/cassandra/AstyanaxLockImpl.java | 92 + .../cassandra/AstyanaxLockManagerImpl.java | 211 +++ .../locking/cassandra/HectorLockImpl.java | 86 - .../cassandra/HectorLockManagerImpl.java| 142 .../usergrid/locking/guice/LockModule.java | 40 +++ .../locking/singlenode/SingleNodeLockImpl.java | 71 .../singlenode/SingleNodeLockManagerImpl.java | 96 - .../zookeeper/ZooKeeperLockManagerImpl.java | 115 -- .../locking/zookeeper/ZookeeperLockImpl.java| 88 - .../mq/cassandra/QueueManagerFactoryImpl.java | 5 +- .../persistence/EntityManagerFactory.java | 8 +- .../persistence/cassandra/CassandraService.java | 5 +- .../main/resources/usergrid-core-context.xml| 36 +- .../org/apache/usergrid/CoreITSetupImpl.java| 4 + .../corepersistence/CpEntityMapUtilsTest.java | 28 +- .../usergrid/locking/AstyanaxLockManagerIT.java | 164 + .../locking/cassandra/HectorLockManagerIT.java | 185 -- .../SingleNodeLockTestSingleNode.java | 170 - .../zookeeper/AbstractZooKeeperTest.java| 127 --- .../usergrid/locking/zookeeper/ZooPut.java | 114 -- .../zookeeper/ZookeeperLockManagerTest.java | 186 -- .../usergrid/persistence/EntityManagerIT.java | 33 ++ stack/core/src/test/resources/log4j.properties | 1 - .../impl/ScopedCacheSerializationImpl.java | 12 +- .../MvccEntitySerializationStrategyImpl.java| 14 +- ...vccEntitySerializationStrategyProxyImpl.java | 4 +-
[31/35] usergrid git commit: Fix inheritance issue.
Fix inheritance issue. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/78727e18 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/78727e18 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/78727e18 Branch: refs/heads/USERGRID-1047 Commit: 78727e18cf0fcbc2c313074a4f21834366e9b08a Parents: 8ed5a24 Author: Michael RussoAuthored: Fri Jan 22 18:04:40 2016 -0800 Committer: Michael Russo Committed: Fri Jan 22 18:04:40 2016 -0800 -- .../org/apache/usergrid/persistence/model/field/DoubleField.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/78727e18/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/DoubleField.java -- diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/DoubleField.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/DoubleField.java index 3b2c413..ccbc3e2 100644 --- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/DoubleField.java +++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/DoubleField.java @@ -20,7 +20,7 @@ package org.apache.usergrid.persistence.model.field; /** * @author: tnine */ -public final class DoubleField extends AbstractField { +public class DoubleField extends AbstractField { public DoubleField(String name, Double value) { super(name, value); @@ -35,7 +35,7 @@ public final class DoubleField extends AbstractField { @Override -public final FieldTypeName getTypeName() { +public FieldTypeName getTypeName() { return FieldTypeName.DOUBLE; } }
[22/35] usergrid git commit: Only reset roles and application secrets if the create application request is not for a migration.
Only reset roles and application secrets if the create application request is not for a migration. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f9028b24 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f9028b24 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f9028b24 Branch: refs/heads/USERGRID-1047 Commit: f9028b24aa9dfb4092a8957d205aeec26b5ff11b Parents: e03354f Author: Michael RussoAuthored: Tue Jan 19 15:40:01 2016 -0800 Committer: Michael Russo Committed: Tue Jan 19 15:40:01 2016 -0800 -- .../corepersistence/CpEntityManagerFactory.java | 18 +++--- .../apache/usergrid/corepersistence/CpSetup.java | 14 ++ .../persistence/EntityManagerFactory.java | 8 +++- .../management/AppInfoMigrationPlugin.java| 3 +-- .../usergrid/management/ManagementService.java| 4 ++-- .../cassandra/ManagementServiceImpl.java | 12 ++-- .../migration/AppInfoMigrationPluginTest.java | 2 +- 7 files changed, 26 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java index c75a025..8b6feed 100644 --- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java +++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpEntityManagerFactory.java @@ -207,17 +207,16 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application @Override public Entity createApplicationV2(String organizationName, String name) throws Exception { -return createApplicationV2( organizationName, name, null, null ); +return createApplicationV2( organizationName, name, null, null, false); } @Override public Entity createApplicationV2( -String orgName, String name, UUID applicationId, Map properties) throws Exception { +String orgName, String name, UUID applicationId, Map properties, boolean forMigration) throws Exception { String appName = buildAppName( orgName, name ); - final Optional appId = applicationIdCache.getApplicationId( appName ); if ( appId.isPresent()) { @@ -229,7 +228,7 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application logger.debug( "New application orgName {} orgAppName {} id {} ", new Object[] { orgName, name, applicationId.toString() } ); -return initializeApplicationV2( orgName, applicationId, appName, properties ); +return initializeApplicationV2( orgName, applicationId, appName, properties, forMigration); } @@ -243,8 +242,8 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application * @return UUID of newly created Entity of type application_info */ @Override -public Entity initializeApplicationV2( String organizationName, final UUID applicationId, String name, - Map properties ) throws Exception { +public Entity initializeApplicationV2(String organizationName, final UUID applicationId, String name, + Map properties, boolean forMigration) throws Exception { // Ensure our management system exists before creating our application init(); @@ -268,7 +267,12 @@ public class CpEntityManagerFactory implements EntityManagerFactory, Application } properties.put( PROPERTY_NAME, appName ); appEm.create(applicationId, TYPE_APPLICATION, properties); -appEm.resetRoles(); + +// only reset roles if this application isn't being migrated (meaning dictionary and role data already exists) +if(!forMigration){ +appEm.resetRoles(); +} + // create application info entity in the management app http://git-wip-us.apache.org/repos/asf/usergrid/blob/f9028b24/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpSetup.java index 71db120..035518e 100644 ---
[28/35] usergrid git commit: Merge branch 'release'
Merge branch 'release' Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/ceae7db5 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/ceae7db5 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/ceae7db5 Branch: refs/heads/USERGRID-1047 Commit: ceae7db5a992291fdac207f47a8e4e229c6bf380 Parents: c4813b5 46fb926 Author: Dave JohnsonAuthored: Fri Jan 22 09:37:19 2016 -0500 Committer: Dave Johnson Committed: Fri Jan 22 09:37:19 2016 -0500 -- --
usergrid git commit: Changed how the use of UnsupportedException to be only in core and added a new UnsupportedRestException error that is to be used in the rest tier. Confirmed it is now thrown in th
Repository: usergrid Updated Branches: refs/heads/USERGRID-767 783c58403 -> f563a8d05 Changed how the use of UnsupportedException to be only in core and added a new UnsupportedRestException error that is to be used in the rest tier. Confirmed it is now thrown in the correct cases Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f563a8d0 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f563a8d0 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f563a8d0 Branch: refs/heads/USERGRID-767 Commit: f563a8d0540578228ad559e5b7a0ed4beac901e4 Parents: 783c584 Author: George ReyesAuthored: Mon Jan 25 12:48:28 2016 -0800 Committer: George Reyes Committed: Mon Jan 25 12:48:28 2016 -0800 -- .../org/apache/usergrid/rest/ApiResponse.java | 2 +- .../rest/applications/ApplicationResource.java | 3 +- .../exceptions/AbstractExceptionMapper.java | 3 -- .../UnsupportedOperationExceptionMapper.java| 7 ++-- .../UnsupportedRestOperationException.java | 25 ++ ...UnsupportedRestOperationExceptionMapper.java | 34 ...upportedServiceOperationExceptionMapper.java | 3 -- .../applications/ApplicationResource.java | 3 +- .../usergrid/rest/test/PropertiesResource.java | 3 +- .../rest/test/RefreshIndexResource.java | 3 +- .../usergrid/rest/ExceptionResourceIT.java | 3 -- .../endpoints/OrganizationResource.java | 3 +- .../rest/test/resource/model/Collection.java| 4 ++- 13 files changed, 76 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f563a8d0/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java b/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java index 314f9aa..5d61c39 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java @@ -184,7 +184,7 @@ public class ApiResponse { error = code; if ( e instanceof UncaughtException ) { errorId = ((UncaughtException) e).getTimeUUID(); -errorDescription = "Internal Server Error: "+e.getMessage(); +errorDescription = "Error: " + e.getMessage(); exception = UncaughtException.class.getName(); } else { errorDescription = description; http://git-wip-us.apache.org/repos/asf/usergrid/blob/f563a8d0/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java index a598c4f..8feee2c 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java @@ -46,6 +46,7 @@ import org.apache.usergrid.rest.applications.users.UsersResource; import org.apache.usergrid.rest.exceptions.AuthErrorInfo; import org.apache.usergrid.rest.exceptions.NotFoundExceptionMapper; import org.apache.usergrid.rest.exceptions.RedirectionException; +import org.apache.usergrid.rest.exceptions.UnsupportedRestOperationException; import org.apache.usergrid.rest.security.annotations.RequireApplicationAccess; import org.apache.usergrid.rest.security.annotations.RequireOrganizationAccess; import org.apache.usergrid.rest.security.annotations.RequireSystemAccess; @@ -487,7 +488,7 @@ public class ApplicationResource extends ServiceResource { @RequireOrganizationAccess public ApiResponse executeDelete( @Context final UriInfo ui, @DefaultValue( "callback" ) final String callback, final String confirmAppDelete ) throws Exception { -throw new UnsupportedOperationException( "Delete must be done from the management endpoint" ); +throw new UnsupportedRestOperationException( "Delete must be done from the management endpoint" ); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/f563a8d0/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java index 5c42224..765e9fb 100644 ---
[02/35] usergrid git commit: Fix typo in word 'tenant'.
Fix typo in word 'tenant'. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/56eb80f8 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/56eb80f8 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/56eb80f8 Branch: refs/heads/USERGRID-1047 Commit: 56eb80f8119324e262eac8fd0a25e4c9a32087cf Parents: c080b02 Author: Michael RussoAuthored: Tue Jan 12 16:18:50 2016 -0800 Committer: Michael Russo Committed: Tue Jan 12 16:18:50 2016 -0800 -- .../impl/ScopedCacheSerializationImpl.java | 12 +- .../MvccEntitySerializationStrategyImpl.java| 14 +- ...vccEntitySerializationStrategyProxyImpl.java | 4 +- .../MvccEntitySerializationStrategyV1Impl.java | 8 +- .../MvccEntitySerializationStrategyV2Impl.java | 13 +- .../MvccEntitySerializationStrategyV3Impl.java | 14 +- .../MvccLogEntrySerializationProxyImpl.java | 4 +- .../MvccLogEntrySerializationStrategyImpl.java | 6 +- ...MvccLogEntrySerializationStrategyV1Impl.java | 18 +-- ...MvccLogEntrySerializationStrategyV2Impl.java | 18 +-- .../UniqueValueSerializationStrategyImpl.java | 28 ++-- ...iqueValueSerializationStrategyProxyImpl.java | 4 +- .../UniqueValueSerializationStrategyV1Impl.java | 31 ++--- .../UniqueValueSerializationStrategyV2Impl.java | 31 ++--- .../core/astyanax/MultiTenantColumnFamily.java | 47 +++ .../MultiTenantColumnFamilyDefinition.java | 138 +++ .../core/astyanax/MultiTennantColumnFamily.java | 47 --- .../MultiTennantColumnFamilyDefinition.java | 138 --- .../data/MigrationInfoSerializationImpl.java| 18 +-- .../core/migration/schema/Migration.java| 4 +- .../migration/schema/MigrationManagerImpl.java | 9 +- .../EdgeMetadataSerializationProxyImpl.java | 4 +- .../impl/EdgeMetadataSerializationV1Impl.java | 36 ++--- .../impl/EdgeMetadataSerializationV2Impl.java | 36 ++--- .../impl/NodeSerializationImpl.java | 14 +- .../impl/shard/EdgeColumnFamilies.java | 12 +- .../shard/impl/EdgeShardSerializationImpl.java | 14 +- .../impl/ShardedEdgeSerializationImpl.java | 58 .../impl/shard/impl/ShardsColumnIterator.java | 15 +- .../shard/impl/SizebasedEdgeColumnFamilies.java | 46 +++ .../map/impl/MapSerializationImpl.java | 28 ++-- 31 files changed, 424 insertions(+), 445 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/56eb80f8/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java -- diff --git a/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java b/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java index 1439bc5..22c304a 100644 --- a/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java +++ b/stack/corepersistence/cache/src/main/java/org/apache/usergrid/persistence/cache/impl/ScopedCacheSerializationImpl.java @@ -71,8 +71,8 @@ public class ScopedCacheSerializationImpl implements ScopedCacheSerializati private static final ObjectSerializer COLUMN_VALUE_SERIALIZER = ObjectSerializer.get(); -public static final MultiTennantColumnFamily SCOPED_CACHE -= new MultiTennantColumnFamily<>( "SCOPED_CACHE", +public static final MultiTenantColumnFamily SCOPED_CACHE += new MultiTenantColumnFamily<>( "SCOPED_CACHE", BUCKET_ROWKEY_SERIALIZER, COLUMN_NAME_SERIALIZER, COLUMN_VALUE_SERIALIZER ); /** Number of buckets to hash across */ @@ -278,13 +278,13 @@ public class ScopedCacheSerializationImpl implements ScopedCacheSerializati //-- @Override -public Collection getColumnFamilies() { -final MultiTennantColumnFamilyDefinition scopedCache = -new MultiTennantColumnFamilyDefinition( SCOPED_CACHE, +public Collection getColumnFamilies() { +final MultiTenantColumnFamilyDefinition scopedCache = +new MultiTenantColumnFamilyDefinition( SCOPED_CACHE, BytesType.class.getSimpleName(), BytesType.class.getSimpleName(), BytesType.class.getSimpleName(), -MultiTennantColumnFamilyDefinition.CacheOption.KEYS ); +MultiTenantColumnFamilyDefinition.CacheOption.KEYS ); return Arrays.asList(scopedCache); }
[09/35] usergrid git commit: Fix Astyanax locking to be re-entrant as Hector locks were and possible UG code expects it to be. Remove all reference of Hector locks, changing its existing test to work
Fix Astyanax locking to be re-entrant as Hector locks were and possible UG code expects it to be. Remove all reference of Hector locks, changing its existing test to work with Astyanax. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/973f5a70 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/973f5a70 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/973f5a70 Branch: refs/heads/USERGRID-1047 Commit: 973f5a70c9cab0fdd5006684d3def8e18f962b51 Parents: d1c1d01 Author: Michael RussoAuthored: Thu Jan 14 15:30:52 2016 -0800 Committer: Michael Russo Committed: Thu Jan 14 15:30:52 2016 -0800 -- .../locking/cassandra/AstyanaxLockImpl.java | 31 +++- .../cassandra/AstyanaxLockManagerImpl.java | 4 +- .../locking/cassandra/HectorLockImpl.java | 86 - .../cassandra/HectorLockManagerImpl.java| 142 -- .../usergrid/locking/AstyanaxLockManagerIT.java | 164 .../locking/SingleNodeLockTestSingleNode.java | 163 .../locking/cassandra/HectorLockManagerIT.java | 185 --- .../SingleNodeLockTestSingleNode.java | 170 - .../test/resources/testApplicationContext.xml | 4 - 9 files changed, 352 insertions(+), 597 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/973f5a70/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockImpl.java b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockImpl.java index 3c12d8a..1399d16 100644 --- a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockImpl.java @@ -19,24 +19,24 @@ package org.apache.usergrid.locking.cassandra; import com.netflix.astyanax.recipes.locks.ColumnPrefixDistributedRowLock; +import com.netflix.astyanax.retry.RetryPolicy; +import com.netflix.astyanax.retry.RunOnce; import org.apache.usergrid.locking.Lock; import org.apache.usergrid.locking.exception.UGLockException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; public class AstyanaxLockImpl implements Lock { -private static final Logger logger = LoggerFactory.getLogger( AstyanaxLockImpl.class ); +private AtomicInteger count = new AtomicInteger(); +private ColumnPrefixDistributedRowLock lock; - -ColumnPrefixDistributedRowLock lock; - -public AstyanaxLockImpl(//AstyanaxLockManagerImpl lockManager, -ColumnPrefixDistributedRowLock lock) { +public AstyanaxLockImpl( ColumnPrefixDistributedRowLock lock ) { this.lock = lock; @@ -45,21 +45,27 @@ public class AstyanaxLockImpl implements Lock { @Override public boolean tryLock( long timeout, TimeUnit time ) throws UGLockException { -lock.withTtl( (int) timeout, time); try { + lock.acquire(); -return true; +count.incrementAndGet(); + } catch (Exception e) { return false; } + +return true; } @Override public void lock() throws UGLockException { try { + lock.acquire(); +count.incrementAndGet(); + } catch (Exception e) { throw new UGLockException("Unable to acquire lock with id: " + lock.getLockId()); } @@ -68,8 +74,15 @@ public class AstyanaxLockImpl implements Lock { @Override public void unlock() throws UGLockException { +// all re-entrant locks to be used and only release them all when the count is 0 +int current = count.decrementAndGet(); + try { -lock.release(); + +if ( current == 0 ) { +lock.release(); +} + } catch (Exception e) { throw new UGLockException("Unable to release lock with id: " + lock.getLockId()); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/973f5a70/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java index ece942f..1786d72 100644 ---
[01/35] usergrid git commit: Fix typo in word 'tenant'.
Repository: usergrid Updated Branches: refs/heads/USERGRID-1047 d97f6e3c5 -> e7d2d9257 http://git-wip-us.apache.org/repos/asf/usergrid/blob/56eb80f8/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgeMetadataSerializationV2Impl.java -- diff --git a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgeMetadataSerializationV2Impl.java b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgeMetadataSerializationV2Impl.java index 9e59dbf..2af62a8 100644 --- a/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgeMetadataSerializationV2Impl.java +++ b/stack/corepersistence/graph/src/main/java/org/apache/usergrid/persistence/graph/serialization/impl/EdgeMetadataSerializationV2Impl.java @@ -39,8 +39,8 @@ import org.apache.usergrid.persistence.core.astyanax.ColumnSearch; import org.apache.usergrid.persistence.core.astyanax.CompositeFieldSerializer; import org.apache.usergrid.persistence.core.astyanax.IdRowCompositeSerializer; import org.apache.usergrid.persistence.core.astyanax.MultiRowColumnIterator; -import org.apache.usergrid.persistence.core.astyanax.MultiTennantColumnFamily; -import org.apache.usergrid.persistence.core.astyanax.MultiTennantColumnFamilyDefinition; +import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamily; +import org.apache.usergrid.persistence.core.astyanax.MultiTenantColumnFamilyDefinition; import org.apache.usergrid.persistence.core.astyanax.StringColumnParser; import org.apache.usergrid.persistence.core.migration.schema.Migration; import org.apache.usergrid.persistence.core.scope.ApplicationScope; @@ -99,23 +99,23 @@ public class EdgeMetadataSerializationV2Impl implements EdgeMetadataSerializatio /** * CFs where the row key contains the source node id */ -private static final MultiTennantColumnFamilyCF_SOURCE_EDGE_TYPES = -new MultiTennantColumnFamily<>( "Graph_Source_Edge_Types_V2", ROW_KEY_SER, STRING_SERIALIZER ); +private static final MultiTenantColumnFamily CF_SOURCE_EDGE_TYPES = +new MultiTenantColumnFamily<>( "Graph_Source_Edge_Types_V2", ROW_KEY_SER, STRING_SERIALIZER ); //all target id types for source edge type -private static final MultiTennantColumnFamily CF_SOURCE_EDGE_ID_TYPES = -new MultiTennantColumnFamily<>( "Graph_Source_Edge_Id_Types_V2", EDGE_TYPE_ROW_KEY, STRING_SERIALIZER ); +private static final MultiTenantColumnFamily CF_SOURCE_EDGE_ID_TYPES = +new MultiTenantColumnFamily<>( "Graph_Source_Edge_Id_Types_V2", EDGE_TYPE_ROW_KEY, STRING_SERIALIZER ); /** * CFs where the row key is the target node id */ -private static final MultiTennantColumnFamily CF_TARGET_EDGE_TYPES = -new MultiTennantColumnFamily<>( "Graph_Target_Edge_Types_V2", ROW_KEY_SER, STRING_SERIALIZER ); +private static final MultiTenantColumnFamily CF_TARGET_EDGE_TYPES = +new MultiTenantColumnFamily<>( "Graph_Target_Edge_Types_V2", ROW_KEY_SER, STRING_SERIALIZER ); //all source id types for target edge type -private static final MultiTennantColumnFamily CF_TARGET_EDGE_ID_TYPES = -new MultiTennantColumnFamily<>( "Graph_Target_Edge_Id_Types_V2", EDGE_TYPE_ROW_KEY, STRING_SERIALIZER ); +private static final MultiTenantColumnFamily CF_TARGET_EDGE_ID_TYPES = +new MultiTenantColumnFamily<>( "Graph_Target_Edge_Id_Types_V2", EDGE_TYPE_ROW_KEY, STRING_SERIALIZER ); private static final Comparator STRING_COMPARATOR = new Comparator() { @@ -321,7 +321,7 @@ public class EdgeMetadataSerializationV2Impl implements EdgeMetadataSerializatio */ private MutationBatch removeEdgeType( final ApplicationScope scope, final Id rowKeyId, final String edgeType, final long version, - final MultiTennantColumnFamily cf ) { + final MultiTenantColumnFamily cf ) { //write target<--source edge type meta data @@ -352,7 +352,7 @@ public class EdgeMetadataSerializationV2Impl implements EdgeMetadataSerializatio */ private MutationBatch removeIdType( final ApplicationScope scope, final Id rowId, final String idType, final String edgeType, final long version, -final MultiTennantColumnFamily
[08/35] usergrid git commit: Remove commented, old Hector configuration from Spring context config.
Remove commented, old Hector configuration from Spring context config. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d1c1d01f Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d1c1d01f Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d1c1d01f Branch: refs/heads/USERGRID-1047 Commit: d1c1d01fc9ecbfa33493b7c2a8c4c8c155132971 Parents: 8ddc7d9 Author: Michael RussoAuthored: Thu Jan 14 13:31:03 2016 -0800 Committer: Michael Russo Committed: Thu Jan 14 13:31:03 2016 -0800 -- .../main/resources/usergrid-core-context.xml| 22 1 file changed, 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/d1c1d01f/stack/core/src/main/resources/usergrid-core-context.xml -- diff --git a/stack/core/src/main/resources/usergrid-core-context.xml b/stack/core/src/main/resources/usergrid-core-context.xml index d413816..fb668fa 100644 --- a/stack/core/src/main/resources/usergrid-core-context.xml +++ b/stack/core/src/main/resources/usergrid-core-context.xml @@ -72,33 +72,11 @@ - - - - -
[15/35] usergrid git commit: Fixes to allow ImportAdmin to run in distributed env, also remove org-merge from ImportAdmins.
Fixes to allow ImportAdmin to run in distributed env, also remove org-merge from ImportAdmins. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/b22ac656 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/b22ac656 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/b22ac656 Branch: refs/heads/USERGRID-1047 Commit: b22ac656cda8429ac4ae47ffbdfe78c9c4fb599b Parents: e38ee3e Author: Dave JohnsonAuthored: Fri Jan 15 15:12:09 2016 -0500 Committer: Dave Johnson Committed: Fri Jan 15 15:12:09 2016 -0500 -- .../org/apache/usergrid/tools/ImportAdmins.java | 81 ++-- .../org/apache/usergrid/tools/ToolBase.java | 6 +- 2 files changed, 11 insertions(+), 76 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/b22ac656/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java -- diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java b/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java index 7a925b0..c1a60b8 100644 --- a/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java +++ b/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java @@ -30,7 +30,6 @@ import org.apache.usergrid.persistence.EntityRef; import org.apache.usergrid.persistence.SimpleEntityRef; import org.apache.usergrid.persistence.entities.User; import org.apache.usergrid.persistence.exceptions.DuplicateUniquePropertyExistsException; -import org.apache.usergrid.persistence.index.query.Identifier; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonToken; @@ -118,9 +117,8 @@ public class ImportAdmins extends ToolBase { @SuppressWarnings("static-access") public Options createOptions() { -Option hostOption = OptionBuilder.withArgName("host") -.hasArg() -.withDescription("Cassandra host").create("host"); +// inherit parent options +Options options = super.createOptions(); Option inputDir = OptionBuilder .hasArg() @@ -138,10 +136,8 @@ public class ImportAdmins extends ToolBase { .withDescription("Print on the console an echo of the content written to the file") .create(VERBOSE); -Options options = new Options(); -options.addOption(hostOption); -options.addOption(writeThreads); -options.addOption(auditThreads); +options.addOption( writeThreads ); +options.addOption( auditThreads ); options.addOption( inputDir ); options.addOption( verbose ); @@ -503,73 +499,8 @@ public class ImportAdmins extends ToolBase { logger.warn("User {} has no dictionaries", entityRef.getUuid() ); } -} else { // this is a duplicate user, so merge orgs - -logger.info("Processing duplicate username={} email={}", dup.email, dup.username ); - -Identifier identifier = dup.email != null ? -Identifier.fromEmail( dup.email ) : Identifier.from( dup.username ); -User originalUser = em.get( em.getUserByIdentifier(identifier), User.class ); - -// get map of original user's orgs - -UserInfo originalUserInfo = managementService.getAdminUserByEmail( originalUser.getEmail() ); -Map originalUserOrgData = -managementService.getAdminUserOrganizationData( originalUser.getUuid() ); -Map > originalUserOrgs = -(Map >) originalUserOrgData.get( "organizations" ); - -// loop through duplicate user's orgs and give orgs to original user - -List organizationsList = (List) metadata.get("organizations"); -for (Object orgObject : organizationsList) { - -Map orgMap = (Map ) orgObject; -UUID orgUuid = UUID.fromString( (String) orgMap.get( "uuid" ) ); -String orgName = (String) orgMap.get( "name" ); - -if (originalUserOrgs.get( orgName ) == null) { // original user does not have this org - -OrganizationInfo orgInfo = managementService.getOrganizationByUuid( orgUuid ); - -if (orgInfo == null) { // org does not exist yet, create it and add original user to it -try { -managementService.createOrganization( orgUuid, orgName, originalUserInfo, false ); -orgInfo =
[13/35] usergrid git commit: Initial work to support a typed null field for an entity, including a new index field type named "null" with value of null. Also changes to pass a Set to elasticsearch for
Initial work to support a typed null field for an entity, including a new index field type named "null" with value of null. Also changes to pass a Set to elasticsearch for fields to index instead of a non unique list. Conflicts: stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/FieldTypeName.java stack/corepersistence/model/src/test/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverterTest.java stack/corepersistence/queryindex/src/test/java/org/apache/usergrid/persistence/index/impl/EntityIndexTest.java Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/4a695c09 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/4a695c09 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/4a695c09 Branch: refs/heads/USERGRID-1047 Commit: 4a695c09f8ea5ba88ae8fad528d0576e9ccee0df Parents: 38b6b88 Author: Michael RussoAuthored: Fri Jan 15 09:10:10 2016 -0800 Committer: Michael Russo Committed: Fri Jan 15 09:16:10 2016 -0800 -- .../model/entity/MapToEntityConverter.java | 18 ++- .../persistence/model/field/FieldTypeName.java | 3 +- .../persistence/model/field/NullField.java | 44 ++ .../model/entity/MapToEntityConverterTest.java | 142 +++ .../persistence/model/field/EntityTest.java | 9 +- .../persistence/index/impl/EntityField.java | 11 ++ .../index/impl/EntityMappingParser.java | 16 ++- .../index/impl/EntityToMapConverter.java| 3 +- .../persistence/index/impl/FieldParser.java | 5 +- .../persistence/index/impl/IndexingUtils.java | 1 + .../persistence/index/impl/EntityIndexTest.java | 79 ++- .../index/impl/EntityToMapConverterTest.java| 80 +-- 12 files changed, 378 insertions(+), 33 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/4a695c09/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java -- diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java index aff7439..38d6631 100644 --- a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java +++ b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/entity/MapToEntityConverter.java @@ -77,7 +77,13 @@ public class MapToEntityConverter{ entity.setField( new LongField( fieldName, (Long)value, unique )); } else if ( value instanceof List) { -entity.setField( listToListField( fieldName, (List)value )); + +Field field = listToListField( fieldName, (List)value ); +if(field == null){ +entity.setField( new NullField( fieldName, unique)); +}else{ +entity.setField( listToListField( fieldName, (List)value )); +} } else if ( value instanceof UUID) { entity.setField( new UUIDField( fieldName, (UUID)value, unique )); @@ -88,7 +94,10 @@ public class MapToEntityConverter{ } else if ( value instanceof Enum ) { entity.setField( new StringField( fieldName, value.toString(), unique )); -} else if ( value != null ) { +} else if ( value == null ){ +entity.setField( new NullField( fieldName, unique )); + +} else { byte[] valueSerialized; try { valueSerialized = objectMapper.writeValueAsBytes( value ); @@ -137,7 +146,10 @@ public class MapToEntityConverter{ } else if ( sample instanceof Long ) { return new ArrayField( fieldName, (List)list ); -} else { +} else if ( sample == null ) { +return new ArrayField( fieldName, (List)list ); + +} else{ throw new RuntimeException("Unknown type " + sample.getClass().getName()); } } http://git-wip-us.apache.org/repos/asf/usergrid/blob/4a695c09/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/FieldTypeName.java -- diff --git a/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/FieldTypeName.java b/stack/corepersistence/model/src/main/java/org/apache/usergrid/persistence/model/field/FieldTypeName.java index 90f3879..975c6bb 100644 ---
[21/35] usergrid git commit: Fix the default consistency level settings in properties. The fig (e.g. CassandraFig) will only use its default if there was no java prop set already.
Fix the default consistency level settings in properties. The fig (e.g. CassandraFig) will only use its default if there was no java prop set already. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e03354f6 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e03354f6 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e03354f6 Branch: refs/heads/USERGRID-1047 Commit: e03354f60bc1174056ced91926172fdf004bec33 Parents: cf3d6a3 Author: Michael RussoAuthored: Sun Jan 17 17:10:48 2016 -0800 Committer: Michael Russo Committed: Sun Jan 17 17:10:48 2016 -0800 -- .../config/src/main/resources/usergrid-default.properties | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/e03354f6/stack/config/src/main/resources/usergrid-default.properties -- diff --git a/stack/config/src/main/resources/usergrid-default.properties b/stack/config/src/main/resources/usergrid-default.properties index 39ae84e..cac7898 100644 --- a/stack/config/src/main/resources/usergrid-default.properties +++ b/stack/config/src/main/resources/usergrid-default.properties @@ -134,19 +134,19 @@ cassandra.password= # Set the read consistency level. This is the default Usergrid read consistency. # -cassandra.readcl=QUORUM -usergrid.read.cl=CL_QUORUM +cassandra.readcl=LOCAL_QUORUM +usergrid.read.cl=CL_LOCAL_QUORUM # Set the write consistency level. This is the default Usergrid write consistency. # -cassandra.writecl=QUORUM -usergrid.write.cl=CL_QUORUM +cassandra.writecl=LOCAL_QUORUM +usergrid.write.cl=CL_LOCAL_QUORUM # Set an additional strict read consistency level. When choosing to perform a # consistent read from Usergrid, this is the consistency level used when reading # from Cassandra. Used only with astyanax client. # -#usergrid.consistent.read.cl=CL_LOCAL_QUORUM +#usergrid.consistent.read.cl=CL_QUORUM # Set the timeout used when writing unique values and logs to the datastore. (in seconds).
[20/35] usergrid git commit: Merge commit '4945b6f2d3a8a2d6e78c230bce6be09082dfa68c'
Merge commit '4945b6f2d3a8a2d6e78c230bce6be09082dfa68c' * commit '4945b6f2d3a8a2d6e78c230bce6be09082dfa68c': Implement a minimum lock expiration time. Ensure the lock manager is injected as a singleton. Remove unused SingleNodeLockImpl and any references to this. Simplify the locks consistency level and default it to LQ in case something passed cannot be parsed to a valid consistency level. Fix Astyanax locking to be re-entrant as Hector locks were and possible UG code expects it to be. Remove all reference of Hector locks, changing its existing test to work with Astyanax. Remove commented, old Hector configuration from Spring context config. Fix new lock manager wiring issues in services layer. First commit of new implementation of Astyanax locks and having it wired with guide instead of Spring. Remove unused zookeeper lock manager. Fix typo in word 'tenant'. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d796b68c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d796b68c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d796b68c Branch: refs/heads/USERGRID-1047 Commit: d796b68c64a47b5a79f9b98ae26f5a326ca62bd5 Parents: a51ee2c 4945b6f Author: George ReyesAuthored: Fri Jan 15 16:44:30 2016 -0800 Committer: George Reyes Committed: Fri Jan 15 16:44:30 2016 -0800 -- .../src/main/dist/lib/log4j.properties | 1 - .../src/test/resources/usergrid-test.properties | 5 - stack/core/pom.xml | 10 +- .../apache/usergrid/batch/job/OnlyOnceJob.java | 3 +- .../usergrid/corepersistence/CoreModule.java| 2 + .../locking/cassandra/AstyanaxLockImpl.java | 92 + .../cassandra/AstyanaxLockManagerImpl.java | 211 +++ .../locking/cassandra/HectorLockImpl.java | 86 - .../cassandra/HectorLockManagerImpl.java| 142 .../usergrid/locking/guice/LockModule.java | 40 +++ .../locking/singlenode/SingleNodeLockImpl.java | 71 .../singlenode/SingleNodeLockManagerImpl.java | 96 - .../zookeeper/ZooKeeperLockManagerImpl.java | 115 -- .../locking/zookeeper/ZookeeperLockImpl.java| 88 - .../mq/cassandra/QueueManagerFactoryImpl.java | 5 +- .../persistence/cassandra/CassandraService.java | 5 +- .../main/resources/usergrid-core-context.xml| 36 +- .../org/apache/usergrid/CoreITSetupImpl.java| 4 + .../usergrid/locking/AstyanaxLockManagerIT.java | 164 + .../locking/cassandra/HectorLockManagerIT.java | 185 -- .../SingleNodeLockTestSingleNode.java | 170 - .../zookeeper/AbstractZooKeeperTest.java| 127 --- .../usergrid/locking/zookeeper/ZooPut.java | 114 -- .../zookeeper/ZookeeperLockManagerTest.java | 186 -- stack/core/src/test/resources/log4j.properties | 1 - .../impl/ScopedCacheSerializationImpl.java | 12 +- .../MvccEntitySerializationStrategyImpl.java| 14 +- ...vccEntitySerializationStrategyProxyImpl.java | 4 +- .../MvccEntitySerializationStrategyV1Impl.java | 8 +- .../MvccEntitySerializationStrategyV2Impl.java | 13 +- .../MvccEntitySerializationStrategyV3Impl.java | 14 +- .../MvccLogEntrySerializationProxyImpl.java | 4 +- .../MvccLogEntrySerializationStrategyImpl.java | 6 +- ...MvccLogEntrySerializationStrategyV1Impl.java | 18 +- ...MvccLogEntrySerializationStrategyV2Impl.java | 18 +- .../UniqueValueSerializationStrategyImpl.java | 28 +- ...iqueValueSerializationStrategyProxyImpl.java | 4 +- .../UniqueValueSerializationStrategyV1Impl.java | 31 +- .../UniqueValueSerializationStrategyV2Impl.java | 31 +- stack/corepersistence/common/pom.xml| 351 ++- .../core/astyanax/AstyanaxKeyspaceProvider.java | 46 +-- .../core/astyanax/CassandraCluster.java | 20 ++ .../core/astyanax/CassandraClusterImpl.java | 198 +++ .../persistence/core/astyanax/CassandraFig.java | 72 +++- .../core/astyanax/MultiTenantColumnFamily.java | 47 +++ .../MultiTenantColumnFamilyDefinition.java | 138 .../core/astyanax/MultiTennantColumnFamily.java | 47 --- .../MultiTennantColumnFamilyDefinition.java | 138 .../persistence/core/guice/CommonModule.java| 11 +- .../data/MigrationInfoSerializationImpl.java| 24 +- .../core/migration/schema/Migration.java| 4 +- .../migration/schema/MigrationManagerImpl.java | 9 +- .../core/astyanax/ColumnNameIteratorTest.java | 5 +- .../MultiKeyColumnNameIteratorTest.java | 5 +- .../astyanax/MultiRowColumnIteratorTest.java| 5 +- .../persistence/core/astyanax/TestUtils.java| 8 +- .../EdgeMetadataSerializationProxyImpl.java | 4 +- .../impl/EdgeMetadataSerializationV1Impl.java | 36 +-
[17/35] usergrid git commit: Ensure the lock manager is injected as a singleton.
Ensure the lock manager is injected as a singleton. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/289cc97c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/289cc97c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/289cc97c Branch: refs/heads/USERGRID-1047 Commit: 289cc97c34d5fbe4ec16ac376da85621055524a1 Parents: 0071df0 Author: Michael RussoAuthored: Fri Jan 15 12:26:20 2016 -0800 Committer: Michael Russo Committed: Fri Jan 15 12:26:20 2016 -0800 -- .../apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java | 2 ++ .../main/java/org/apache/usergrid/locking/guice/LockModule.java| 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/289cc97c/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java index f310118..1fcd1b7 100644 --- a/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java +++ b/stack/core/src/main/java/org/apache/usergrid/locking/cassandra/AstyanaxLockManagerImpl.java @@ -19,6 +19,7 @@ package org.apache.usergrid.locking.cassandra; import com.google.common.collect.ImmutableMap; import com.google.inject.Inject; +import com.google.inject.Singleton; import com.netflix.astyanax.Keyspace; import com.netflix.astyanax.connectionpool.exceptions.ConnectionException; import com.netflix.astyanax.ddl.ColumnFamilyDefinition; @@ -41,6 +42,7 @@ import java.util.Map; import java.util.UUID; import java.util.concurrent.TimeUnit; +@Singleton public class AstyanaxLockManagerImpl implements LockManager { private static final Logger logger = LoggerFactory.getLogger( AstyanaxLockManagerImpl.class ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/289cc97c/stack/core/src/main/java/org/apache/usergrid/locking/guice/LockModule.java -- diff --git a/stack/core/src/main/java/org/apache/usergrid/locking/guice/LockModule.java b/stack/core/src/main/java/org/apache/usergrid/locking/guice/LockModule.java index 49c58fe..79e2b67 100644 --- a/stack/core/src/main/java/org/apache/usergrid/locking/guice/LockModule.java +++ b/stack/core/src/main/java/org/apache/usergrid/locking/guice/LockModule.java @@ -32,7 +32,7 @@ public class LockModule extends AbstractModule { @Override protected void configure() { -bind( LockManager.class ).to( AstyanaxLockManagerImpl.class ); +bind( LockManager.class ).to( AstyanaxLockManagerImpl.class ).asEagerSingleton(); } }
[25/35] usergrid git commit: "port" tools from master
"port" tools from master Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e5ebb375 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e5ebb375 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e5ebb375 Branch: refs/heads/USERGRID-1047 Commit: e5ebb375386f34b2ad8883c28701500b59208a81 Parents: 4e048f3 Author: Dave JohnsonAuthored: Fri Jan 22 09:31:06 2016 -0500 Committer: Dave Johnson Committed: Fri Jan 22 09:31:06 2016 -0500 -- .../usergrid/management/ManagementService.java | 4 +- .../cassandra/ManagementServiceImpl.java| 10 +- .../usergrid/tools/DryRunUserOrgManager.java| 62 +++ .../usergrid/tools/DuplicateAdminRepair.java| 293 + .../usergrid/tools/DuplicateOrgRepair.java | 421 +++ .../org/apache/usergrid/tools/ExportAdmins.java | 38 +- .../apache/usergrid/tools/UserOrgInterface.java | 173 .../apache/usergrid/tools/UserOrgManager.java | 389 + .../apache/usergrid/tools/ExportAppTest.java| 4 - 9 files changed, 1372 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/e5ebb375/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java index cf2924b..0851838 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java @@ -229,7 +229,9 @@ public interface ManagementService { String objectType, String objectName, String title, String content ) throws Exception; -public void removeAdminUserFromOrganization( UUID userId, UUID organizationId ) throws Exception; +public void removeAdminUserFromOrganization(UUID userId, UUID organizationId ) throws Exception; + +public void removeAdminUserFromOrganization(UUID userId, UUID organizationId, boolean force ) throws Exception; public void removeOrganizationApplication( UUID organizationId, UUID applicationId ) throws Exception; http://git-wip-us.apache.org/repos/asf/usergrid/blob/e5ebb375/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java index f252705..fe8152d 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java @@ -1585,7 +1585,13 @@ public class ManagementServiceImpl implements ManagementService { @Override -public void removeAdminUserFromOrganization( UUID userId, UUID organizationId ) throws Exception { +public void removeAdminUserFromOrganization(UUID userId, UUID organizationId ) throws Exception { +removeAdminUserFromOrganization( userId, organizationId, false ); +} + + +@Override +public void removeAdminUserFromOrganization(UUID userId, UUID organizationId, boolean force) throws Exception { if ( ( userId == null ) || ( organizationId == null ) ) { return; @@ -1594,7 +1600,7 @@ public class ManagementServiceImpl implements ManagementService { EntityManager em = emf.getEntityManager( smf.getManagementAppId() ); try { -if ( em.getCollection( new SimpleEntityRef( Group.ENTITY_TYPE, organizationId ), "users", null, 2, +if ( !force && em.getCollection( new SimpleEntityRef( Group.ENTITY_TYPE, organizationId ), "users", null, 2, Level.IDS, false ).size() <= 1 ) { throw new Exception(); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/e5ebb375/stack/tools/src/main/java/org/apache/usergrid/tools/DryRunUserOrgManager.java -- diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/DryRunUserOrgManager.java b/stack/tools/src/main/java/org/apache/usergrid/tools/DryRunUserOrgManager.java new file mode 100644 index 000..966b18c --- /dev/null +++ b/stack/tools/src/main/java/org/apache/usergrid/tools/DryRunUserOrgManager.java @@ -0,0 +1,62 @@ +/* + * Licensed to
[04/35] usergrid git commit: Copy in just the tools changes from the master branch.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e38ee3e9/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java -- diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java b/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java index f39ef9b..7a925b0 100644 --- a/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java +++ b/stack/tools/src/main/java/org/apache/usergrid/tools/ImportAdmins.java @@ -17,20 +17,20 @@ package org.apache.usergrid.tools; -import com.sun.org.apache.bcel.internal.generic.DUP; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.io.filefilter.PrefixFileFilter; +import org.apache.usergrid.corepersistence.util.CpNamingUtils; import org.apache.usergrid.management.OrganizationInfo; import org.apache.usergrid.management.UserInfo; import org.apache.usergrid.persistence.EntityManager; import org.apache.usergrid.persistence.EntityRef; -import org.apache.usergrid.persistence.Identifier; import org.apache.usergrid.persistence.SimpleEntityRef; import org.apache.usergrid.persistence.entities.User; import org.apache.usergrid.persistence.exceptions.DuplicateUniquePropertyExistsException; +import org.apache.usergrid.persistence.index.query.Identifier; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonToken; @@ -39,7 +39,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; @@ -47,18 +50,16 @@ import java.util.concurrent.atomic.AtomicInteger; import static org.apache.usergrid.persistence.Schema.PROPERTY_TYPE; import static org.apache.usergrid.persistence.Schema.PROPERTY_UUID; -import static org.apache.usergrid.persistence.cassandra.CassandraService.MANAGEMENT_APPLICATION_ID; - /** * Import Admin Users and metadata including organizations and passwords. - * - * Usage Example: - * + * + * Usage Example: + * * java -Xmx8000m -Dlog4j.configuration=file:/home/me/log4j.properties -classpath . \ * -jar usergrid-tools-1.0.2.jar ImportAdmins -writeThreads 100 -auditThreads 100 \ - * -host casshost -inputDir=/home/me/import-data - * + * -host casshost -inputDir=/home/me/import-data + * * If you want to provide any property overrides, put properties file named usergrid-custom-tools.properties * in the same directory where you run the above command. For example, you might want to set the Cassandra * client threads and import to a specific set of keyspaces: @@ -97,8 +98,8 @@ public class ImportAdmins extends ToolBase { AtomicInteger writeEmptyCount = new AtomicInteger( 0 ); AtomicInteger auditEmptyCount = new AtomicInteger( 0 ); AtomicInteger metadataEmptyCount = new AtomicInteger( 0 ); - - + + static class DuplicateUser { String email; String username; @@ -110,7 +111,7 @@ public class ImportAdmins extends ToolBase { } } } - + @Override @@ -269,7 +270,7 @@ public class ImportAdmins extends ToolBase { long timeRemaining = (long) ( sizeLast / (rateAverageSum / iterations) ); logger.info("++PROGRESS ({}): sizeLast={} nowSize={} processed={} rateLast={}/s rateAvg={}/s timeRemaining={}s", -new Object[] { +new Object[] { identifier, sizeLast, sizeNow, processed, rateLast, (rateAverageSum / iterations), timeRemaining } ); } @@ -355,7 +356,7 @@ public class ImportAdmins extends ToolBase { workerThread.start(); metadataWorkerThreadMap.put(worker, workerThread); } - + logger.info( "Started {} metadata workers", writeThreadCount ); } @@ -363,7 +364,7 @@ public class ImportAdmins extends ToolBase { @SuppressWarnings("unchecked") private void importMetadata(String fileName, int writeThreads) throws Exception { -EntityManager em = emf.getEntityManager(MANAGEMENT_APPLICATION_ID); +EntityManager em = emf.getEntityManager( CpNamingUtils.MANAGEMENT_APPLICATION_ID); File metadataFile = new File(importDir, fileName); @@ -401,10 +402,10 @@ public class ImportAdmins extends ToolBase { try { EntityRef entityRef = new SimpleEntityRef( "user", UUID.fromString( entityOwnerId ) ); Mapmetadata = (Map ) jp.readValueAs( Map.class ); - +
usergrid git commit: USERGRID-1200: EmailFlowIT fix
Repository: usergrid Updated Branches: refs/heads/master 4610eed26 -> 586dad080 USERGRID-1200: EmailFlowIT fix Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/586dad08 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/586dad08 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/586dad08 Branch: refs/heads/master Commit: 586dad08091ed19e532695f234a0d973176ad3b6 Parents: 4610eed Author: Mike DunkerAuthored: Mon Jan 25 17:23:58 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 25 17:23:58 2016 -0800 -- .../test/java/org/apache/usergrid/management/EmailFlowIT.java| 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/586dad08/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java -- diff --git a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java index e9c0bd8..a46bd60 100644 --- a/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java +++ b/stack/services/src/test/java/org/apache/usergrid/management/EmailFlowIT.java @@ -78,7 +78,6 @@ public class EmailFlowIT { setup.set( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" ); setup.set( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" ); setup.set( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" ); -setup.set( PROPERTIES_DEFAULT_SYSADMIN_EMAIL, "sysadmi...@mockserver.com" ); setup.set( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" ); final String orgName = uniqueOrg(); @@ -121,7 +120,6 @@ public class EmailFlowIT { setup.set( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" ); setup.set( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" ); setup.set( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" ); -setup.set( PROPERTIES_DEFAULT_SYSADMIN_EMAIL, "sysadmi...@mockserver.com" ); final String orgName = uniqueOrg(); final String userName = uniqueUsername(); @@ -156,7 +154,7 @@ public class EmailFlowIT { assertEquals( "User Account Confirmed", confirmation.getSubject() ); -List sysadmin_inbox = Mailbox.get( "sysadmi...@mockserver.com" ); +List sysadmin_inbox = Mailbox.get( "testad...@usergrid.com" ); assertFalse( sysadmin_inbox.isEmpty() ); Message activation = sysadmin_inbox.get( 0 );
[1/7] usergrid git commit: USERGRID-1200: workflow URL refactor
Repository: usergrid Updated Branches: refs/heads/master 949105226 -> 21ba17e45 http://git-wip-us.apache.org/repos/asf/usergrid/blob/90d5d665/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java index 577e1d6..f50705f 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationConfigProps.java @@ -16,25 +16,45 @@ */ package org.apache.usergrid.management; +import org.apache.usergrid.system.ServerEnvironmentProps; + import java.util.Map; +import java.util.Properties; import java.util.Set; public interface OrganizationConfigProps { -String PROPERTIES_DEFAULT_CONNECTION_PARAM = "usergrid.rest.default-connection-param"; -String PROPERTIES_ADMIN_SYSADMIN_EMAIL = AccountCreationProps.PROPERTIES_ADMIN_SYSADMIN_EMAIL; -String PROPERTIES_ADMIN_ACTIVATION_URL = AccountCreationProps.PROPERTIES_ADMIN_ACTIVATION_URL; -String PROPERTIES_ADMIN_CONFIRMATION_URL = AccountCreationProps.PROPERTIES_ADMIN_CONFIRMATION_URL; -String PROPERTIES_ADMIN_RESETPW_URL = AccountCreationProps.PROPERTIES_ADMIN_RESETPW_URL; +String ORGPROPERTIES_API_URL_BASE = ServerEnvironmentProps.API_URL_BASE; +String ORGPROPERTIES_DEFAULT_CONNECTION_PARAM = "usergrid.rest.default-connection-param"; +String ORGPROPERTIES_ADMIN_SYSADMIN_EMAIL = AccountCreationProps.PROPERTIES_ADMIN_SYSADMIN_EMAIL; + +// these can not currently be set as org config items, but they select +// the full URL to be created from the org-specific API URL base and the +// hardcoded paths +// +// use these specifiers with getFullUrl() to select the URL to be built +enum WorkflowUrl { +ORGANIZATION_ACTIVATION_URL, +ADMIN_ACTIVATION_URL, +ADMIN_CONFIRMATION_URL, +ADMIN_RESETPW_URL, +USER_ACTIVATION_URL, +USER_CONFIRMATION_URL, +USER_RESETPW_URL +} + +Set getOrgPropertyNames(); -Set getPropertyNames(); +Properties getPropertiesMap(); -MapgetPropertyMap(); +Map getDefaultPropertiesMap(); + +Map getOrgPropertiesMap(); String getProperty(String name); String getProperty(String name, String defaultValue); -boolean isProperty(String name, boolean defaultValue); +boolean boolProperty(String name, boolean defaultValue); int intProperty(String name, int defaultValue); @@ -42,4 +62,8 @@ public interface OrganizationConfigProps { void setProperty(String name, String value); +String getFullUrlTemplate(WorkflowUrl urlType); + +String getFullUrl(WorkflowUrl urlType, Object ... arguments); + } http://git-wip-us.apache.org/repos/asf/usergrid/blob/90d5d665/stack/services/src/main/java/org/apache/usergrid/management/OrganizationInfo.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationInfo.java b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationInfo.java index ba6322e..7481447 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/OrganizationInfo.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/OrganizationInfo.java @@ -17,12 +17,8 @@ package org.apache.usergrid.management; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.UUID; import static org.apache.usergrid.persistence.Schema.PROPERTY_PATH; import static org.apache.usergrid.persistence.Schema.PROPERTY_UUID; @@ -53,9 +49,9 @@ public class OrganizationInfo { } -public OrganizationInfo( UUID id, String name, Map properties ) { +public OrganizationInfo( UUID id, String name, Map properties ) { this( id, name ); -this.properties = properties; +setProperties(properties); } @@ -98,7 +94,7 @@ public class OrganizationInfo { public static List fromNameIdMap( Map map ) { -List list = new ArrayList(); +List list = new ArrayList<>(); for ( Entry s : map.entrySet() ) { list.add( new OrganizationInfo( s.getValue(), s.getKey() ) ); } @@ -107,7 +103,7 @@ public class OrganizationInfo { public static List fromIdNameMap( Map map ) { -List list = new ArrayList(); +List list = new ArrayList<>(); for ( Entry s : map.entrySet() )
[5/7] usergrid git commit: Merge remote-tracking branch 'origin/master' into USERGRID-1200
Merge remote-tracking branch 'origin/master' into USERGRID-1200 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f6c8b853 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f6c8b853 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f6c8b853 Branch: refs/heads/master Commit: f6c8b8535a8b74179224b34594bc9983a353cd8f Parents: 34f7d71 40be90f Author: Mike DunkerAuthored: Mon Jan 25 09:48:48 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 25 09:48:48 2016 -0800 -- .../main/resources/usergrid-default.properties | 10 +- .../corepersistence/CpEntityManagerFactory.java | 18 +- .../corepersistence/CpRelationManager.java | 54 +-- .../usergrid/corepersistence/CpSetup.java | 14 +- .../read/traverse/AbstractReadGraphFilter.java | 37 +- .../persistence/EntityManagerFactory.java | 8 +- .../corepersistence/CpEntityMapUtilsTest.java | 28 +- .../usergrid/persistence/EntityManagerIT.java | 33 ++ .../graph/impl/stage/EdgeDeleteRepairImpl.java | 8 +- .../model/entity/MapToEntityConverter.java | 230 +++- .../persistence/model/field/ArrayField.java | 4 +- .../persistence/model/field/BooleanField.java | 4 +- .../persistence/model/field/ByteArrayField.java | 8 +- .../persistence/model/field/FieldTypeName.java | 3 +- .../persistence/model/field/FloatField.java | 4 +- .../persistence/model/field/IntegerField.java | 4 +- .../persistence/model/field/ListField.java | 4 +- .../persistence/model/field/LocationField.java | 4 +- .../persistence/model/field/LongField.java | 4 +- .../persistence/model/field/NullField.java | 44 +++ .../model/field/SerializedObjectField.java | 8 +- .../persistence/model/field/SetField.java | 6 +- .../persistence/model/field/StringField.java| 6 +- .../persistence/model/field/UUIDField.java | 4 +- .../model/entity/MapToEntityConverterTest.java | 64 .../persistence/model/field/EntityTest.java | 9 +- .../persistence/index/impl/EntityField.java | 11 + .../index/impl/EntityMappingParser.java | 16 +- .../index/impl/EntityToMapConverter.java| 3 +- .../persistence/index/impl/FieldParser.java | 5 +- .../persistence/index/impl/IndexingUtils.java | 1 + .../persistence/index/impl/EntityIndexTest.java | 69 +++- .../index/impl/EntityToMapConverterTest.java| 149 ++-- .../index/impl/IndexLoadTestsIT.java| 1 + .../management/AppInfoMigrationPlugin.java | 3 +- .../usergrid/management/ManagementService.java | 348 +-- .../cassandra/ManagementServiceImpl.java| 25 +- .../migration/AppInfoMigrationPluginTest.java | 2 +- .../apache/usergrid/tools/DupAdminRepair.java | 297 .../org/apache/usergrid/tools/DupOrgRepair.java | 263 -- .../org/apache/usergrid/tools/ExportApp.java| 16 +- .../org/apache/usergrid/tools/ImportAdmins.java | 81 + .../apache/usergrid/tools/PopulateSample.java | 2 +- .../org/apache/usergrid/tools/ToolBase.java | 6 +- .../apache/usergrid/tools/bean/MetricQuery.java | 7 +- .../apache/usergrid/tools/ExportAppTest.java| 6 +- .../usergrid/tools/ExportImportAdminsTest.java | 3 +- 47 files changed, 873 insertions(+), 1061 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f6c8b853/stack/config/src/main/resources/usergrid-default.properties -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f6c8b853/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java -- diff --cc stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java index 117269a,4e99f13..1352dad --- a/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/ManagementService.java @@@ -41,322 -41,332 +41,322 @@@ import rx.Observable public interface ManagementService { - void activateAdminUser( UUID userId ) throws Exception; -public void activateAdminUser( UUID userId ) throws Exception; ++ void activateAdminUser( UUID userId ) throws Exception; - void activateOrganization( OrganizationInfo organization ) throws Exception; -public void activateOrganization( OrganizationInfo organization ) throws Exception; ++ void activateOrganization( OrganizationInfo organization ) throws Exception; - void addAdminUserToOrganization( UserInfo user, OrganizationInfo organization, boolean email ) -public void
[4/7] usergrid git commit: USERGRID-1200: bug fixes and tests
USERGRID-1200: bug fixes and tests 1. Fix copying of Properties object (requires constructor + putAll() ) 2. Fix property retrieval for org-configurable properties (take from org properties first, then config file properties, then org property defaults. 3. Added 2 tests for new org config functionality. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/34f7d713 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/34f7d713 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/34f7d713 Branch: refs/heads/master Commit: 34f7d7139a2e8561da6c232eab17f2216bcd2cee Parents: a33698b Author: Mike DunkerAuthored: Tue Jan 19 16:56:47 2016 -0800 Committer: Mike Dunker Committed: Tue Jan 19 16:56:47 2016 -0800 -- .../src/test/resources/usergrid-test.properties | 1 + .../cassandra/OrganizationConfigPropsImpl.java | 18 +++- .../management/OrganizationConfigIT.java| 108 ++- 3 files changed, 121 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/34f7d713/stack/config/src/test/resources/usergrid-test.properties -- diff --git a/stack/config/src/test/resources/usergrid-test.properties b/stack/config/src/test/resources/usergrid-test.properties index 4693f8d..29bb332 100644 --- a/stack/config/src/test/resources/usergrid-test.properties +++ b/stack/config/src/test/resources/usergrid-test.properties @@ -144,6 +144,7 @@ usergrid.recaptcha.public= usergrid.recaptcha.private= usergrid.sysadmin.email= +usergrid.admin.sysadmin.email=testad...@usergrid.com usergrid.management.admin_users_require_confirmation=false usergrid.management.admin_users_require_activation=false http://git-wip-us.apache.org/repos/asf/usergrid/blob/34f7d713/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java index 1063000..56c1e12 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/OrganizationConfigPropsImpl.java @@ -68,6 +68,7 @@ public class OrganizationConfigPropsImpl implements OrganizationConfigProps { public OrganizationConfigPropsImpl(Properties properties, Map map) { this.properties = new Properties(properties); +this.properties.putAll(properties); this.defaultProperties = new HashMap<>(noConfigDefaults); // add any corresponding properties to default props map @@ -101,7 +102,9 @@ public class OrganizationConfigPropsImpl implements OrganizationConfigProps { @Override public Properties getPropertiesMap() { -return new Properties(properties); +Properties ret = new Properties(properties); +ret.putAll(properties); +return ret; } @Override @@ -125,9 +128,16 @@ public class OrganizationConfigPropsImpl implements OrganizationConfigProps { String propertyValue; if (orgPropertyNameValid(name)) { -// return from org-specific properties, if set -propertyValue = orgProperties.containsKey(name) ? -orgProperties.get(name) : defaultProperties.get(name); +if (orgProperties.containsKey(name)) { +// return from org-specific properties +propertyValue = orgProperties.get(name); +} else if (properties.containsKey(name)) { +// return from properties file +propertyValue = (String)properties.get(name); +} else { +// return the default +propertyValue = defaultProperties.get(name); +} } else { // not an org config item, return from properties propertyValue = properties.getProperty(name); http://git-wip-us.apache.org/repos/asf/usergrid/blob/34f7d713/stack/services/src/test/java/org/apache/usergrid/management/OrganizationConfigIT.java -- diff --git a/stack/services/src/test/java/org/apache/usergrid/management/OrganizationConfigIT.java b/stack/services/src/test/java/org/apache/usergrid/management/OrganizationConfigIT.java index fc1a0f4..6424dbd 100644 --- a/stack/services/src/test/java/org/apache/usergrid/management/OrganizationConfigIT.java +++
[2/2] usergrid git commit: Merge commit 'refs/pull/471/head' of github.com:apache/usergrid
Merge commit 'refs/pull/471/head' of github.com:apache/usergrid Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/37d78ab9 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/37d78ab9 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/37d78ab9 Branch: refs/heads/master Commit: 37d78ab9aafe288440cdb18474a525bc1b2d74e8 Parents: 21ba17e dfac0ca Author: Michael RussoAuthored: Mon Jan 25 16:05:43 2016 -0800 Committer: Michael Russo Committed: Mon Jan 25 16:05:43 2016 -0800 -- sdks/ios/README.md | 53 - 1 file changed, 13 insertions(+), 40 deletions(-) --
[2/7] usergrid git commit: USERGRID-1200: workflow URL refactor
USERGRID-1200: workflow URL refactor 1. Add usergrid.api.url.base property (defaults to http://localhost:8080/ROOT) that can be overridden for an org. 2. The confirmation and activation properties are hardcoded paths and don't need org overrides. Example: usergrid.admin.activation.url is built by concatenating usergrid.api.url.base and "/management/users/%s/activate" 3. swagger.basepath removed and replaced by usergrid.api.url.base. 4. Refactor orgconfig to return system defaults if not configurable by org. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/90d5d665 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/90d5d665 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/90d5d665 Branch: refs/heads/master Commit: 90d5d665df0144b9f70098d8bd297d368e41d64f Parents: 7032c03 Author: Mike DunkerAuthored: Tue Jan 19 10:04:47 2016 -0800 Committer: Mike Dunker Committed: Tue Jan 19 10:04:47 2016 -0800 -- .../src/main/groovy/configure_usergrid.groovy | 16 +- .../main/resources/usergrid-default.properties | 21 +- .../src/test/resources/usergrid-test.properties | 14 +- .../usergrid/system/ServerEnvironmentProps.java | 27 ++ .../usergrid/persistence/RebuildIndexTest.java | 2 + .../resources/usergrid-standalone.properties| 8 +- .../usergrid/rest/AbstractContextResource.java | 2 +- .../org/apache/usergrid/rest/ApiResponse.java | 72 +++-- .../rest/ServerEnvironmentProperties.java | 22 +- .../apache/usergrid/rest/SwaggerServlet.java| 2 +- .../rest/applications/ServiceResource.java | 4 +- .../notifiers/NotifiersResource.java| 11 +- ...rganizationApplicationNotFoundException.java | 6 +- .../organizations/OrganizationResource.java | 28 +- .../organizations/OrganizationResource.java | 2 +- .../rest/management/RegistrationIT.java | 18 +- .../resources/usergrid-custom-test.properties | 2 +- .../management/AccountCreationProps.java| 131 - .../usergrid/management/ManagementService.java | 288 +-- .../usergrid/management/OrganizationConfig.java | 99 --- .../management/OrganizationConfigProps.java | 40 ++- .../usergrid/management/OrganizationInfo.java | 27 +- .../cassandra/ManagementServiceImpl.java| 167 +-- .../cassandra/OrganizationConfigPropsImpl.java | 158 +++--- .../apache/usergrid/management/EmailFlowIT.java | 17 +- .../management/OrganizationConfigIT.java| 4 +- 26 files changed, 642 insertions(+), 546 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/90d5d665/stack/awscluster/src/main/groovy/configure_usergrid.groovy -- diff --git a/stack/awscluster/src/main/groovy/configure_usergrid.groovy b/stack/awscluster/src/main/groovy/configure_usergrid.groovy index 647213a..a4d6a52 100644 --- a/stack/awscluster/src/main/groovy/configure_usergrid.groovy +++ b/stack/awscluster/src/main/groovy/configure_usergrid.groovy @@ -171,23 +171,9 @@ usergrid.management.notify_sysadmin_of_new_admin_users=true # Redirect path when request come in for TLD usergrid.redirect_root=${baseUrl}/status +usergrid.api.url.base=${baseUrl} -usergrid.view.management.organizations.organization.activate=${baseUrl}/accounts/welcome -usergrid.view.management.organizations.organization.confirm=${baseUrl}/accounts/welcome \n\ -usergrid.view.management.users.user.activate=${baseUrl}/accounts/welcome -usergrid.view.management.users.user.confirm=${baseUrl}/accounts/welcome - -usergrid.admin.confirmation.url=${baseUrl}/management/users/%s/confirm -usergrid.user.confirmation.url=${baseUrl}/%s/%s/users/%s/confirm - -usergrid.organization.activation.url=${baseUrl}/management/organizations/%s/activate - -usergrid.admin.activation.url=${baseUrl}/management/users/%s/activate -usergrid.user.activation.url=${baseUrl}%s/%s/users/%s/activate - -usergrid.admin.resetpw.url=${baseUrl}/management/users/%s/resetpw -usergrid.user.resetpw.url=${baseUrl}/%s/%s/users/%s/resetpw usergrid.metrics.graphite.host=${graphite} http://git-wip-us.apache.org/repos/asf/usergrid/blob/90d5d665/stack/config/src/main/resources/usergrid-default.properties -- diff --git a/stack/config/src/main/resources/usergrid-default.properties b/stack/config/src/main/resources/usergrid-default.properties index 1f8b7c9..56257db 100644 --- a/stack/config/src/main/resources/usergrid-default.properties +++ b/stack/config/src/main/resources/usergrid-default.properties @@ -558,9 +558,9 @@ usergrid.redirect_root= #usergrid.recaptcha.public=false #usergrid.recaptcha.private=false -# Set a basepath
[3/7] usergrid git commit: Merge remote-tracking branch 'origin/master' into USERGRID-1200
Merge remote-tracking branch 'origin/master' into USERGRID-1200 Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a33698b1 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a33698b1 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a33698b1 Branch: refs/heads/master Commit: a33698b166abfc3e96c9f88af5dddb41d7e5fa9e Parents: 90d5d66 d796b68 Author: Mike DunkerAuthored: Tue Jan 19 11:14:23 2016 -0800 Committer: Mike Dunker Committed: Tue Jan 19 11:14:23 2016 -0800 -- .../src/main/dist/lib/log4j.properties | 1 - .../src/test/resources/usergrid-test.properties | 5 - stack/core/pom.xml | 10 +- .../apache/usergrid/batch/job/OnlyOnceJob.java | 3 +- .../usergrid/corepersistence/CoreModule.java| 2 + .../asyncevents/AsyncEventsSchedulerFig.java| 2 +- .../index/IndexProcessorFig.java| 2 +- .../locking/cassandra/AstyanaxLockImpl.java | 92 ++ .../cassandra/AstyanaxLockManagerImpl.java | 211 + .../locking/cassandra/HectorLockImpl.java | 86 -- .../cassandra/HectorLockManagerImpl.java| 142 --- .../usergrid/locking/guice/LockModule.java | 40 + .../locking/singlenode/SingleNodeLockImpl.java | 71 -- .../singlenode/SingleNodeLockManagerImpl.java | 96 -- .../zookeeper/ZooKeeperLockManagerImpl.java | 115 --- .../locking/zookeeper/ZookeeperLockImpl.java| 88 -- .../mq/cassandra/QueueManagerFactoryImpl.java | 5 +- .../apache/usergrid/mq/cassandra/QueuesCF.java | 2 +- .../persistence/cassandra/CassandraService.java | 5 +- .../main/resources/usergrid-core-context.xml| 36 +- .../org/apache/usergrid/CoreITSetupImpl.java| 4 + .../usergrid/locking/AstyanaxLockManagerIT.java | 164 .../locking/cassandra/HectorLockManagerIT.java | 185 .../SingleNodeLockTestSingleNode.java | 170 .../zookeeper/AbstractZooKeeperTest.java| 127 --- .../usergrid/locking/zookeeper/ZooPut.java | 114 --- .../zookeeper/ZookeeperLockManagerTest.java | 186 .../org/apache/usergrid/persistence/GeoIT.java | 62 +- stack/core/src/test/resources/log4j.properties | 1 - .../impl/ScopedCacheSerializationImpl.java | 12 +- .../MvccEntitySerializationStrategyImpl.java| 14 +- ...vccEntitySerializationStrategyProxyImpl.java | 4 +- .../MvccEntitySerializationStrategyV1Impl.java | 8 +- .../MvccEntitySerializationStrategyV2Impl.java | 13 +- .../MvccEntitySerializationStrategyV3Impl.java | 14 +- .../MvccLogEntrySerializationProxyImpl.java | 4 +- .../MvccLogEntrySerializationStrategyImpl.java | 6 +- ...MvccLogEntrySerializationStrategyV1Impl.java | 18 +- ...MvccLogEntrySerializationStrategyV2Impl.java | 18 +- .../UniqueValueSerializationStrategyImpl.java | 28 +- ...iqueValueSerializationStrategyProxyImpl.java | 4 +- .../UniqueValueSerializationStrategyV1Impl.java | 31 +- .../UniqueValueSerializationStrategyV2Impl.java | 31 +- stack/corepersistence/common/pom.xml| 351 .../core/astyanax/AstyanaxKeyspaceProvider.java | 46 +- .../core/astyanax/CassandraCluster.java | 20 + .../core/astyanax/CassandraClusterImpl.java | 198 + .../persistence/core/astyanax/CassandraFig.java | 72 +- .../core/astyanax/MultiTenantColumnFamily.java | 47 + .../MultiTenantColumnFamilyDefinition.java | 138 +++ .../core/astyanax/MultiTennantColumnFamily.java | 47 - .../MultiTennantColumnFamilyDefinition.java | 138 --- .../persistence/core/guice/CommonModule.java| 11 +- .../data/MigrationInfoSerializationImpl.java| 24 +- .../core/migration/schema/Migration.java| 4 +- .../migration/schema/MigrationManagerImpl.java | 9 +- .../core/astyanax/ColumnNameIteratorTest.java | 5 +- .../MultiKeyColumnNameIteratorTest.java | 5 +- .../astyanax/MultiRowColumnIteratorTest.java| 5 +- .../persistence/core/astyanax/TestUtils.java| 8 +- .../EdgeMetadataSerializationProxyImpl.java | 4 +- .../impl/EdgeMetadataSerializationV1Impl.java | 36 +- .../impl/EdgeMetadataSerializationV2Impl.java | 36 +- .../impl/NodeSerializationImpl.java | 14 +- .../impl/shard/EdgeColumnFamilies.java | 12 +- .../shard/impl/EdgeShardSerializationImpl.java | 14 +- .../impl/ShardedEdgeSerializationImpl.java | 58 +- .../impl/shard/impl/ShardsColumnIterator.java | 15 +- .../shard/impl/SizebasedEdgeColumnFamilies.java | 46 +- .../map/impl/MapSerializationImpl.java | 28 +- .../resources/usergrid-standalone.properties| 4 - stack/pom.xml | 39 +- stack/rest/pom.xml | 32 +- .../rest/applications/ServiceResource.java | 12 +-
[10/14] usergrid git commit: Changed how the use of UnsupportedException to be only in core and added a new UnsupportedRestException error that is to be used in the rest tier. Confirmed it is now thro
Changed how the use of UnsupportedException to be only in core and added a new UnsupportedRestException error that is to be used in the rest tier. Confirmed it is now thrown in the correct cases Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/f563a8d0 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/f563a8d0 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/f563a8d0 Branch: refs/heads/master Commit: f563a8d0540578228ad559e5b7a0ed4beac901e4 Parents: 783c584 Author: George ReyesAuthored: Mon Jan 25 12:48:28 2016 -0800 Committer: George Reyes Committed: Mon Jan 25 12:48:28 2016 -0800 -- .../org/apache/usergrid/rest/ApiResponse.java | 2 +- .../rest/applications/ApplicationResource.java | 3 +- .../exceptions/AbstractExceptionMapper.java | 3 -- .../UnsupportedOperationExceptionMapper.java| 7 ++-- .../UnsupportedRestOperationException.java | 25 ++ ...UnsupportedRestOperationExceptionMapper.java | 34 ...upportedServiceOperationExceptionMapper.java | 3 -- .../applications/ApplicationResource.java | 3 +- .../usergrid/rest/test/PropertiesResource.java | 3 +- .../rest/test/RefreshIndexResource.java | 3 +- .../usergrid/rest/ExceptionResourceIT.java | 3 -- .../endpoints/OrganizationResource.java | 3 +- .../rest/test/resource/model/Collection.java| 4 ++- 13 files changed, 76 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/f563a8d0/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java b/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java index 314f9aa..5d61c39 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/ApiResponse.java @@ -184,7 +184,7 @@ public class ApiResponse { error = code; if ( e instanceof UncaughtException ) { errorId = ((UncaughtException) e).getTimeUUID(); -errorDescription = "Internal Server Error: "+e.getMessage(); +errorDescription = "Error: " + e.getMessage(); exception = UncaughtException.class.getName(); } else { errorDescription = description; http://git-wip-us.apache.org/repos/asf/usergrid/blob/f563a8d0/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java index a598c4f..8feee2c 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java @@ -46,6 +46,7 @@ import org.apache.usergrid.rest.applications.users.UsersResource; import org.apache.usergrid.rest.exceptions.AuthErrorInfo; import org.apache.usergrid.rest.exceptions.NotFoundExceptionMapper; import org.apache.usergrid.rest.exceptions.RedirectionException; +import org.apache.usergrid.rest.exceptions.UnsupportedRestOperationException; import org.apache.usergrid.rest.security.annotations.RequireApplicationAccess; import org.apache.usergrid.rest.security.annotations.RequireOrganizationAccess; import org.apache.usergrid.rest.security.annotations.RequireSystemAccess; @@ -487,7 +488,7 @@ public class ApplicationResource extends ServiceResource { @RequireOrganizationAccess public ApiResponse executeDelete( @Context final UriInfo ui, @DefaultValue( "callback" ) final String callback, final String confirmAppDelete ) throws Exception { -throw new UnsupportedOperationException( "Delete must be done from the management endpoint" ); +throw new UnsupportedRestOperationException( "Delete must be done from the management endpoint" ); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/f563a8d0/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java index 5c42224..765e9fb 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java +++
[07/14] usergrid git commit: Fixed assets tests and fixed oversight of not updating entity metadata for AWS binary assets. Also changed tests so they will run with properties set the way its done occa
Fixed assets tests and fixed oversight of not updating entity metadata for AWS binary assets. Also changed tests so they will run with properties set the way its done occasionally. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/d97f6e3c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/d97f6e3c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/d97f6e3c Branch: refs/heads/master Commit: d97f6e3c5d219ed8ca69be492d5d0dc9c45fd3a4 Parents: ee8c7c4 Author: George ReyesAuthored: Thu Jan 14 12:12:42 2016 -0800 Committer: George Reyes Committed: Thu Jan 14 12:12:42 2016 -0800 -- .../rest/applications/assets/AwsAssetResourceIT.java| 9 +++-- .../rest/applications/assets/aws/NoAWSCredsRule.java| 4 ++-- .../usergrid/services/assets/data/AwsSdkS3BinaryStore.java | 8 +++- 3 files changed, 16 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/d97f6e3c/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java -- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java index 4561199..914d253 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java @@ -34,6 +34,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.ws.rs.ClientErrorException; +import javax.ws.rs.ForbiddenException; +import javax.ws.rs.InternalServerErrorException; import javax.ws.rs.NotFoundException; import javax.ws.rs.core.MediaType; import java.io.IOException; @@ -151,7 +153,7 @@ public class AwsAssetResourceIT extends AbstractRestIT { }catch ( AwsPropertiesNotFoundException e ){ fail("Shouldn't interrupt runtime if access key isnt found."); } -catch( ClientErrorException uie){ +catch( InternalServerErrorException uie){ assertEquals( 500, uie.getResponse().getStatus() ); } finally{ @@ -193,7 +195,10 @@ public class AwsAssetResourceIT extends AbstractRestIT { }catch ( AwsPropertiesNotFoundException e ){ fail("Shouldn't interrupt runtime if access key isnt found."); } -catch( ClientErrorException uie){ +catch(ForbiddenException fe){ +assertEquals( 403, fe.getResponse().getStatus() ); +} +catch( InternalServerErrorException uie){ assertEquals( 500, uie.getResponse().getStatus() ); } finally{ http://git-wip-us.apache.org/repos/asf/usergrid/blob/d97f6e3c/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/aws/NoAWSCredsRule.java -- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/aws/NoAWSCredsRule.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/aws/NoAWSCredsRule.java index 1dd00ff..40a6b45 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/aws/NoAWSCredsRule.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/aws/NoAWSCredsRule.java @@ -57,8 +57,8 @@ public class NoAWSCredsRule extends AbstractRestIT implements TestRule { try { Map properties = getRemoteTestProperties(); //TODO: GREY change this so that it checks for the properties, then if it doesn't have them, mark the tests as ignored. -accessId = (String)properties.get( SDKGlobalConfiguration.ACCESS_KEY_ENV_VAR ); -secretKey = (String)properties.get( SDKGlobalConfiguration.SECRET_KEY_ENV_VAR ); +accessId = (String)System.getProperty( SDKGlobalConfiguration.ACCESS_KEY_ENV_VAR ); +secretKey = (String)System.getProperty( SDKGlobalConfiguration.SECRET_KEY_ENV_VAR ); bucketName =(String) properties.get( "usergrid.binary.bucketname" ); if(accessId==null||secretKey==null||bucketName==null){ http://git-wip-us.apache.org/repos/asf/usergrid/blob/d97f6e3c/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java -- diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/AwsSdkS3BinaryStore.java
[02/14] usergrid git commit: Modified excess code and removed it.
Modified excess code and removed it. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/a0b8b034 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/a0b8b034 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/a0b8b034 Branch: refs/heads/master Commit: a0b8b0342c9b51b0405884b9cacbb48a14b4f54b Parents: 3c96d5f Author: George ReyesAuthored: Wed Jan 6 11:31:20 2016 -0800 Committer: George Reyes Committed: Wed Jan 6 11:31:20 2016 -0800 -- .../org/apache/usergrid/rest/ExceptionResourceIT.java | 12 1 file changed, 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/a0b8b034/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java -- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java index 49dd317..b07de4d 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java @@ -39,18 +39,6 @@ public class ExceptionResourceIT extends AbstractRestIT{ @Test public void testNotImplementedException(){ try { -//Organization organization = createOrgPayload( "testCreateDuplicateOrgName", null ); -//Organization orgCreatedResponse = clientSetup.getRestClient().management().orgs().post( organization ); -//this.refreshIndex(); -// -//assertNotNull( orgCreatedResponse ); -// -//// Ensure that the token from the newly created organization works. -//Token tokenPayload = new Token( "password", organization.getUsername(), organization.getPassword() ); -//Token tokenReturned = clientSetup.getRestClient().management().token() -// .post( false, Token.class, tokenPayload, null ); -//this.management().token().setToken(tokenReturned); - clientSetup.getRestClient().management().orgs().delete( true );
[08/14] usergrid git commit: ElasticsearchException added so we return 503's if we don't do GETs.
ElasticsearchException added so we return 503's if we don't do GETs. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/78bc3d5c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/78bc3d5c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/78bc3d5c Branch: refs/heads/master Commit: 78bc3d5c06c25e2a2e7280e9d87e87f169b328b7 Parents: a51ee2c Author: George ReyesAuthored: Wed Jan 20 15:02:20 2016 -0800 Committer: George Reyes Committed: Wed Jan 20 15:02:20 2016 -0800 -- .../ElasticsearchExecutionExceptionMapper.java | 24 1 file changed, 24 insertions(+) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/78bc3d5c/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java new file mode 100644 index 000..6636727 --- /dev/null +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java @@ -0,0 +1,24 @@ +package org.apache.usergrid.rest.exceptions; + + +import javax.ws.rs.core.Response; +import javax.ws.rs.ext.Provider; + +import org.elasticsearch.action.search.SearchPhaseExecutionException; + +import static javax.ws.rs.core.Response.Status.SERVICE_UNAVAILABLE; + + +/** + * Created by ApigeeCorporation on 1/19/16. + */ +@Provider +public class ElasticsearchExecutionExceptionMapper +extends AbstractExceptionMapper { + +@Override +public Response toResponse( SearchPhaseExecutionException spee ){ +return toResponse( SERVICE_UNAVAILABLE, spee ); + +} +}
[13/14] usergrid git commit: Merge commit 'refs/pull/457/head' of github.com:apache/usergrid
Merge commit 'refs/pull/457/head' of github.com:apache/usergrid Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6c08e29c Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6c08e29c Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6c08e29c Branch: refs/heads/master Commit: 6c08e29c87659477702d0c96d6a90607dc07a610 Parents: e7d2d92 f563a8d Author: Michael RussoAuthored: Mon Jan 25 16:03:26 2016 -0800 Committer: Michael Russo Committed: Mon Jan 25 16:03:26 2016 -0800 -- .../org/apache/usergrid/rest/ApiResponse.java | 2 +- .../rest/applications/ApplicationResource.java | 3 +- .../exceptions/AbstractExceptionMapper.java | 8 ++- .../AwsPropertiesNotFoundExceptionMapper.java | 3 +- .../exceptions/NotAllowedExceptionMapper.java | 21 ++ .../UnsupportedOperationExceptionMapper.java| 19 + .../UnsupportedRestOperationException.java | 25 +++ ...UnsupportedRestOperationExceptionMapper.java | 34 + ...upportedServiceOperationExceptionMapper.java | 18 + .../applications/ApplicationResource.java | 3 +- .../usergrid/rest/test/PropertiesResource.java | 3 +- .../rest/test/RefreshIndexResource.java | 3 +- .../usergrid/rest/ExceptionResourceIT.java | 75 .../endpoints/OrganizationResource.java | 3 +- .../rest/test/resource/model/Collection.java| 4 +- 15 files changed, 213 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6c08e29c/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ApplicationResource.java -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6c08e29c/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java -- diff --cc stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java index 26e2736,765e9fb..b4fad57 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java @@@ -105,9 -107,8 +107,9 @@@ public abstract class AbstractException // only log real errors as errors logger.error( "Server Error (" + status + "):\n" + jsonResponse ); } else if ( logger.isDebugEnabled() ) { - logger.debug( "Server Error (" + status + "):\n" + jsonResponse ); + logger.debug( "Client Error (" + status + "):\n" + jsonResponse ); } + String callback = httpServletRequest.getParameter( "callback" ); if ( isJSONP() && isNotBlank( callback ) ) { jsonResponse = wrapJSONPResponse( callback, jsonResponse ); http://git-wip-us.apache.org/repos/asf/usergrid/blob/6c08e29c/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/applications/ApplicationResource.java -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6c08e29c/stack/rest/src/main/java/org/apache/usergrid/rest/test/RefreshIndexResource.java --
[11/14] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047 # By Michael Russo (19) and Dave Johnson (4) # Via Michael Russo (4) and others * 'master' of https://git-wip-us.apache.org/repos/asf/usergrid: (23 commits) Fix issue with null values nested in an entity list field being represented as a top-level entity NullField instead of a null value. Fix inheritance issue. Fix issue with multiple types within a list causing class cast exceptions. Revert ""port" tools from master" "port" tools from master Cleanup duplicate edges at the end of addToCollection and filter duplicate edges in our graph results. Only reset roles and application secrets if the create application request is not for a migration. Fix the default consistency level settings in properties. The fig (e.g. CassandraFig) will only use its default if there was no java prop set already. Implement a minimum lock expiration time. Ensure the lock manager is injected as a singleton. Fixes to allow ImportAdmin to run in distributed env, also remove org-merge from ImportAdmins. Fix tests to handle uniqueness of fields being indexed at Elasticsearch (before assumed duplicates were allowed). Initial work to support a typed null field for an entity, including a new index field type named "null" with value of null. Also changes to pass a Set to elasticsearch for fields to index instead of a non unique list. Remove unused SingleNodeLockImpl and any references to this. Only create new client secrets during app creation if the application UUID is not provided (otherwise you overwrite existing app credentials). Simplify the locks consistency level and default it to LQ in case something passed cannot be parsed to a valid consistency level. Fix Astyanax locking to be re-entrant as Hector locks were and possible UG code expects it to be. Remove all reference of Hector locks, changing its existing test to work with Astyanax. Remove commented, old Hector configuration from Spring context config. Fix new lock manager wiring issues in services layer. First commit of new implementation of Astyanax locks and having it wired with guide instead of Spring. ... Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/31df16e3 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/31df16e3 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/31df16e3 Branch: refs/heads/master Commit: 31df16e3d6435db7faa3287e0f3638f766ca7b5c Parents: d97f6e3 40be90f Author: George ReyesAuthored: Mon Jan 25 12:58:27 2016 -0800 Committer: George Reyes Committed: Mon Jan 25 12:58:27 2016 -0800 -- .../src/main/dist/lib/log4j.properties | 1 - .../main/resources/usergrid-default.properties | 10 +- .../src/test/resources/usergrid-test.properties | 5 - stack/core/pom.xml | 10 +- .../apache/usergrid/batch/job/OnlyOnceJob.java | 3 +- .../usergrid/corepersistence/CoreModule.java| 2 + .../corepersistence/CpEntityManagerFactory.java | 18 +- .../corepersistence/CpRelationManager.java | 54 +-- .../usergrid/corepersistence/CpSetup.java | 14 +- .../read/traverse/AbstractReadGraphFilter.java | 37 +- .../locking/cassandra/AstyanaxLockImpl.java | 92 + .../cassandra/AstyanaxLockManagerImpl.java | 211 +++ .../locking/cassandra/HectorLockImpl.java | 86 - .../cassandra/HectorLockManagerImpl.java| 142 .../usergrid/locking/guice/LockModule.java | 40 +++ .../locking/singlenode/SingleNodeLockImpl.java | 71 .../singlenode/SingleNodeLockManagerImpl.java | 96 - .../zookeeper/ZooKeeperLockManagerImpl.java | 115 -- .../locking/zookeeper/ZookeeperLockImpl.java| 88 - .../mq/cassandra/QueueManagerFactoryImpl.java | 5 +- .../persistence/EntityManagerFactory.java | 8 +- .../persistence/cassandra/CassandraService.java | 5 +- .../main/resources/usergrid-core-context.xml| 36 +- .../org/apache/usergrid/CoreITSetupImpl.java| 4 + .../corepersistence/CpEntityMapUtilsTest.java | 28 +- .../usergrid/locking/AstyanaxLockManagerIT.java | 164 + .../locking/cassandra/HectorLockManagerIT.java | 185 -- .../SingleNodeLockTestSingleNode.java | 170 - .../zookeeper/AbstractZooKeeperTest.java| 127 --- .../usergrid/locking/zookeeper/ZooPut.java | 114 -- .../zookeeper/ZookeeperLockManagerTest.java | 186 -- .../usergrid/persistence/EntityManagerIT.java | 33 ++ stack/core/src/test/resources/log4j.properties | 1 - .../impl/ScopedCacheSerializationImpl.java | 12 +- .../MvccEntitySerializationStrategyImpl.java| 14 +- ...vccEntitySerializationStrategyProxyImpl.java | 4 +-
[04/14] usergrid git commit: Added additional test, and verified that they all throw their kind of exceptions but they get mapped to NotAllowed for whatever reason.
Added additional test, and verified that they all throw their kind of exceptions but they get mapped to NotAllowed for whatever reason. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/783c5840 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/783c5840 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/783c5840 Branch: refs/heads/master Commit: 783c58403e5ecaf1fd899261746260268018aa33 Parents: b153591 Author: George ReyesAuthored: Fri Jan 8 12:08:30 2016 -0800 Committer: George Reyes Committed: Fri Jan 8 12:08:30 2016 -0800 -- .../exceptions/AbstractExceptionMapper.java | 3 --- .../AwsPropertiesNotFoundExceptionMapper.java | 3 ++- .../exceptions/NotAllowedExceptionMapper.java | 21 .../UnsupportedOperationExceptionMapper.java| 20 ...upportedServiceOperationExceptionMapper.java | 21 .../usergrid/rest/ExceptionResourceIT.java | 25 +--- 6 files changed, 81 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/783c5840/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java index b428567..5c42224 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java @@ -60,9 +60,6 @@ public abstract class AbstractExceptionMapper imp @Override public Response toResponse( E e ) { -if(e instanceof UnsupportedServiceOperationException || e instanceof NotAllowedException || e instanceof UnsupportedOperationException){ -return toResponse( METHOD_NOT_ALLOWED,e ); -} // if we don't know what type of error it is then it's a 500 return toResponse( INTERNAL_SERVER_ERROR, e ); } http://git-wip-us.apache.org/repos/asf/usergrid/blob/783c5840/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AwsPropertiesNotFoundExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AwsPropertiesNotFoundExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AwsPropertiesNotFoundExceptionMapper.java index f0f6e97..33f20b6 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AwsPropertiesNotFoundExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AwsPropertiesNotFoundExceptionMapper.java @@ -22,13 +22,14 @@ import javax.ws.rs.core.Response; import org.apache.usergrid.services.exceptions.AwsPropertiesNotFoundException; import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR; -import static javax.ws.rs.core.Response.Status.NOT_FOUND; +import javax.ws.rs.ext.Provider; /** * Maps the AwsPropertiesNotFoundExceptionMapper to a 500 error due to having a legit response * but there is an error in the properties file. */ +@Provider public class AwsPropertiesNotFoundExceptionMapper extends AbstractExceptionMapper { @Override public Response toResponse( AwsPropertiesNotFoundException e ) { http://git-wip-us.apache.org/repos/asf/usergrid/blob/783c5840/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java new file mode 100644 index 000..08070aa --- /dev/null +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/NotAllowedExceptionMapper.java @@ -0,0 +1,21 @@ +package org.apache.usergrid.rest.exceptions; + + +import javax.ws.rs.NotAllowedException; +import javax.ws.rs.core.Response; +import javax.ws.rs.ext.Provider; + +import static javax.ws.rs.core.Response.Status.METHOD_NOT_ALLOWED; + + +/** + * Created by ApigeeCorporation on 1/8/16. + */ +@Provider +public class NotAllowedExceptionMapper extends AbstractExceptionMapper { + +@Override +public Response toResponse( NotAllowedException e ) { +return toResponse( METHOD_NOT_ALLOWED, e ); +} +}
[05/14] usergrid git commit: Added test that verify that doing a get on an asset will now return on 404 and added AmazonException throwing for reading.
Added test that verify that doing a get on an asset will now return on 404 and added AmazonException throwing for reading. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/dae82542 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/dae82542 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/dae82542 Branch: refs/heads/master Commit: dae825429656871f97bba71b79a764e9c8976121 Parents: c080b02 Author: George ReyesAuthored: Wed Jan 13 12:18:53 2016 -0800 Committer: George Reyes Committed: Wed Jan 13 12:18:53 2016 -0800 -- .../rest/applications/ServiceResource.java | 9 .../applications/assets/AwsAssetResourceIT.java | 22 2 files changed, 31 insertions(+) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/dae82542/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java index 9956ff7..ba8a5a8 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java @@ -17,6 +17,8 @@ package org.apache.usergrid.rest.applications; +import com.amazonaws.AmazonClientException; +import com.amazonaws.AmazonServiceException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.jaxrs.json.annotation.JSONP; import org.apache.commons.lang.StringUtils; @@ -823,6 +825,13 @@ public class ServiceResource extends AbstractContextResource { logger.error( "Amazon Property needed for this operation not found",apnfe ); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } +catch(AmazonServiceException ase){ +logger.error(ase.getMessage()); +return Response.status(ase.getStatusCode()).build(); +} +catch(AmazonClientException ace){ +logger.error(ace.getMessage()); +} catch(RuntimeException re){ logger.error(re.getMessage()); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); http://git-wip-us.apache.org/repos/asf/usergrid/blob/dae82542/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java -- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java index c1e87a6..4561199 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AwsAssetResourceIT.java @@ -18,6 +18,8 @@ package org.apache.usergrid.rest.applications.assets; import com.amazonaws.SDKGlobalConfiguration; +import com.amazonaws.services.cognitoidentity.model.InternalErrorException; + import net.jcip.annotations.NotThreadSafe; import org.apache.commons.io.IOUtils; import org.apache.usergrid.rest.applications.assets.aws.NoAWSCredsRule; @@ -32,6 +34,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.ws.rs.ClientErrorException; +import javax.ws.rs.NotFoundException; import javax.ws.rs.core.MediaType; import java.io.IOException; import java.io.InputStream; @@ -71,6 +74,25 @@ public class AwsAssetResourceIT extends AbstractRestIT { setTestProperties(originalProperties); } + +@Test +public void ensureMissingFileReturns404(){ +Map payload = hashMap( "name", "assettest" ); +ApiResponse postResponse = pathResource( getOrgAppPath( "missingFile" ) ).post( payload ); +UUID assetId = postResponse.getEntities().get( 0 ).getUuid(); +assertNotNull( assetId ); + +try { +pathResource( getOrgAppPath( "missingFile/assettest" ) ).getAssetAsStream( true ); +fail("Should fail as there isn't an asset to retrieve."); +}catch(NotFoundException nfe){ +} +catch(Exception e){ +fail("Shouldn't return any other kind of exception"); +} + +} + @Test public void errorCheckingMissingProperties() throws Exception { Map errorTestProperties;
[01/14] usergrid git commit: Added fixes for USERGRID-767 and added tests looking for cases that would previously cause uncaught exception errors.
Repository: usergrid Updated Branches: refs/heads/master 40be90f5e -> 949105226 Added fixes for USERGRID-767 and added tests looking for cases that would previously cause uncaught exception errors. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/3c96d5ff Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/3c96d5ff Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/3c96d5ff Branch: refs/heads/master Commit: 3c96d5ff25ad0ddb015a76dfc14a32e851ce940d Parents: dd8d027 Author: George ReyesAuthored: Tue Jan 5 16:04:18 2016 -0800 Committer: George Reyes Committed: Tue Jan 5 16:04:18 2016 -0800 -- .../exceptions/AbstractExceptionMapper.java | 14 +++- .../usergrid/rest/ExceptionResourceIT.java | 81 2 files changed, 92 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/3c96d5ff/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java index 9e0f359..b428567 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/AbstractExceptionMapper.java @@ -18,10 +18,13 @@ package org.apache.usergrid.rest.exceptions; import org.apache.usergrid.rest.ApiResponse; +import org.apache.usergrid.services.exceptions.UnsupportedServiceOperationException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.NotAllowedException; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; @@ -30,6 +33,8 @@ import javax.ws.rs.ext.ExceptionMapper; import static javax.ws.rs.core.MediaType.APPLICATION_JSON_TYPE; import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR; +import static javax.ws.rs.core.Response.Status.METHOD_NOT_ALLOWED; +import static javax.ws.rs.core.Response.Status.NOT_IMPLEMENTED; import static javax.ws.rs.core.Response.Status.OK; import static org.apache.commons.lang.StringUtils.isNotBlank; import static org.apache.usergrid.rest.utils.JSONPUtils.isJavascript; @@ -55,8 +60,11 @@ public abstract class AbstractExceptionMapper imp @Override public Response toResponse( E e ) { +if(e instanceof UnsupportedServiceOperationException || e instanceof NotAllowedException || e instanceof UnsupportedOperationException){ +return toResponse( METHOD_NOT_ALLOWED,e ); +} // if we don't know what type of error it is then it's a 500 -return toResponse( INTERNAL_SERVER_ERROR, (E) new UncaughtException(e) ); +return toResponse( INTERNAL_SERVER_ERROR, e ); } @@ -73,7 +81,7 @@ public abstract class AbstractExceptionMapper imp } else { if (logger.isDebugEnabled()) { -logger.debug(e.getClass().getCanonicalName() + " Uncaught Exception (" + status + ")", e); +logger.debug(e.getClass().getCanonicalName() + " Following Exception Thrown (" + status + ")", e); } } @@ -105,7 +113,7 @@ public abstract class AbstractExceptionMapper imp // only log real errors as errors logger.error( "Server Error (" + status + "):\n" + jsonResponse ); } else if ( logger.isDebugEnabled() ) { -logger.debug( "Server Error (" + status + "):\n" + jsonResponse ); +logger.debug( "Client Error (" + status + "):\n" + jsonResponse ); } String callback = httpServletRequest.getParameter( "callback" ); if ( isJSONP() && isNotBlank( callback ) ) { http://git-wip-us.apache.org/repos/asf/usergrid/blob/3c96d5ff/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java -- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java new file mode 100644 index 000..49dd317 --- /dev/null +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/ExceptionResourceIT.java @@ -0,0 +1,81 @@ +package org.apache.usergrid.rest; + + +import java.util.Map; + +import javax.ws.rs.NotAllowedException; +import javax.ws.rs.ServerErrorException; + +import org.junit.Test; + +import org.apache.usergrid.persistence.Entity; +import org.apache.usergrid.persistence.index.utils.UUIDUtils;
[09/14] usergrid git commit: Removed automatically added header
Removed automatically added header Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/6c502aa3 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/6c502aa3 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/6c502aa3 Branch: refs/heads/master Commit: 6c502aa355eb3f019c6652d64c70b542aaefa109 Parents: 78bc3d5 Author: George ReyesAuthored: Mon Jan 25 11:01:28 2016 -0800 Committer: George Reyes Committed: Mon Jan 25 11:01:28 2016 -0800 -- .../rest/exceptions/ElasticsearchExecutionExceptionMapper.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/6c502aa3/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java -- diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java index 6636727..55c5086 100644 --- a/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java +++ b/stack/rest/src/main/java/org/apache/usergrid/rest/exceptions/ElasticsearchExecutionExceptionMapper.java @@ -9,9 +9,7 @@ import org.elasticsearch.action.search.SearchPhaseExecutionException; import static javax.ws.rs.core.Response.Status.SERVICE_UNAVAILABLE; -/** - * Created by ApigeeCorporation on 1/19/16. - */ + @Provider public class ElasticsearchExecutionExceptionMapper extends AbstractExceptionMapper {
[06/14] usergrid git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/usergrid into USERGRID-1047 # Via Dave Johnson (1) and George Reyes (1) * 'master' of https://git-wip-us.apache.org/repos/asf/usergrid: Added apache header to testing text. Fun fact time: The apache header adds 803 bytes unto every file. For the 251 files of apache rat checked files we use 201 KB on headers alone! Added some comments and deleting found commented out code. Created a test that correctly emulates what occurs when running curl asset call. Added additional test file and test case to verify the issue in USERGRID-144. Also, added fix to file not getting rid of text metadata and being properly replaced by image asset. Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/ee8c7c4d Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/ee8c7c4d Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/ee8c7c4d Branch: refs/heads/master Commit: ee8c7c4d023db8cc3b5c7dfb274492c2475de5c5 Parents: dae8254 a51ee2c Author: George ReyesAuthored: Thu Jan 14 11:19:05 2016 -0800 Committer: George Reyes Committed: Thu Jan 14 11:19:05 2016 -0800 -- .../rest/applications/ServiceResource.java | 12 ++- .../applications/assets/AssetResourceIT.java| 80 stack/rest/src/test/resources/test.txt | 17 + 3 files changed, 105 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/ee8c7c4d/stack/rest/src/main/java/org/apache/usergrid/rest/applications/ServiceResource.java --
[14/14] usergrid git commit: Merge commit 'refs/pull/470/head' of github.com:apache/usergrid
Merge commit 'refs/pull/470/head' of github.com:apache/usergrid Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/94910522 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/94910522 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/94910522 Branch: refs/heads/master Commit: 94910522628e90dc1b789ebc7ba459d87d4a5673 Parents: 6c08e29 6c502aa Author: Michael RussoAuthored: Mon Jan 25 16:03:44 2016 -0800 Committer: Michael Russo Committed: Mon Jan 25 16:03:44 2016 -0800 -- .../ElasticsearchExecutionExceptionMapper.java | 22 1 file changed, 22 insertions(+) --
[6/7] usergrid git commit: USERGRID-1200: fix test
USERGRID-1200: fix test Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/445ff5e5 Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/445ff5e5 Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/445ff5e5 Branch: refs/heads/master Commit: 445ff5e5e4ae72e7ddfcd3957ffcbac0ae263e3e Parents: f6c8b85 Author: Mike DunkerAuthored: Mon Jan 25 12:20:25 2016 -0800 Committer: Mike Dunker Committed: Mon Jan 25 12:20:25 2016 -0800 -- .../org/apache/usergrid/rest/management/RegistrationIT.java| 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/usergrid/blob/445ff5e5/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java -- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java index c678239..885710d 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java @@ -170,13 +170,11 @@ public class RegistrationIT extends AbstractRestIT { String subject = "Password Reset"; -/* SpringResource springResource = ConcurrentProcessSingleton.getInstance().getSpringResource(); ManagementService mgmt = springResource.getBean( ManagementService.class ); OrganizationConfig orgConfig = mgmt.getOrganizationConfigByName(this.clientSetup.getOrganizationName()); -String reset_url = orgConfig.getFullUrl(OrganizationConfigProps.WorkflowUrl.ADMIN_RESETPW_URL); -*/ +String reset_url = orgConfig.getFullUrl(OrganizationConfigProps.WorkflowUrl.ADMIN_RESETPW_URL, userId); String invited = "User Invited To Organization"; Message[] msgs = getMessages("servertest.com", this.clientSetup.getUsername(), "password"); @@ -191,7 +189,7 @@ public class RegistrationIT extends AbstractRestIT { // reseturl String mailContent = (String) ((MimeMultipart) msgs[0].getContent()).getBodyPart(1).getContent(); logger.info(mailContent); -//assertTrue(StringUtils.contains(mailContent, reset_url)); +assertTrue(StringUtils.contains(mailContent, reset_url)); //reset token String token = getTokenFromMessage(msgs[0]);
[usergrid] Git Push Summary
Repository: usergrid Updated Tags: refs/tags/2.1.0 [created] 1a795d823