You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/10/27 21:03:15 UTC
[5/6] git commit: Fix Multi-bindings setup,
which requires a Set and not a List for injected multi-bindings.
Fix Multi-bindings setup, which requires a Set and not a List for injected multi-bindings.
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/50728fee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/50728fee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/50728fee
Branch: refs/heads/two-dot-o-events
Commit: 50728fee145018e79d00c345c18c0cbc1f0e50a3
Parents: 91314e2
Author: Dave Johnson <dm...@apigee.com>
Authored: Mon Oct 27 16:00:31 2014 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Mon Oct 27 16:00:31 2014 -0400
----------------------------------------------------------------------
.../usergrid/corepersistence/GuiceModule.java | 18 +++++-----
.../collection/EntityCollectionManager.java | 13 ++------
.../collection/EntityVersionCleanupFactory.java | 7 +++-
.../collection/guice/CollectionModule.java | 19 ++++-------
.../impl/EntityCollectionManagerImpl.java | 25 ++++++++------
.../collection/impl/EntityDeletedTask.java | 31 ++++++++++-------
.../impl/EntityVersionCleanupTask.java | 35 ++++++++++----------
.../impl/EntityVersionCleanupTaskTest.java | 29 ++++++++--------
8 files changed, 90 insertions(+), 87 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceModule.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceModule.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceModule.java
index 890b08f..a11fe8b 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceModule.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceModule.java
@@ -13,10 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.usergrid.corepersistence;
-
import com.google.inject.AbstractModule;
import com.google.inject.multibindings.Multibinder;
import org.apache.usergrid.corepersistence.events.EntityDeletedImpl;
@@ -36,8 +34,9 @@ import org.slf4j.LoggerFactory;
/**
* Guice Module that encapsulates Core Persistence.
*/
-public class GuiceModule extends AbstractModule {
- private static final Logger LOG = LoggerFactory.getLogger( GuiceModule.class );
+public class GuiceModule extends AbstractModule {
+
+ private static final Logger logger = LoggerFactory.getLogger(GuiceModule.class);
@Override
protected void configure() {
@@ -49,13 +48,12 @@ public class GuiceModule extends AbstractModule {
install(new MapModule());
install(new QueueModule());
- bind(CpEntityDeleteListener.class).asEagerSingleton();
- bind(CpEntityIndexDeleteListener.class).asEagerSingleton();
-
+ Multibinder<EntityDeleted> entityBinder
+ = Multibinder.newSetBinder(binder(), EntityDeleted.class);
+ entityBinder.addBinding().to(EntityDeletedImpl.class);
- Multibinder<EntityDeleted> entityBinder = Multibinder.newSetBinder(binder(), EntityDeleted.class);
- entityBinder.addBinding().to( EntityDeletedImpl.class );
- Multibinder<EntityVersionDeleted> versionBinder = Multibinder.newSetBinder(binder(), EntityVersionDeleted.class);
+ Multibinder<EntityVersionDeleted> versionBinder
+ = Multibinder.newSetBinder(binder(), EntityVersionDeleted.class);
versionBinder.addBinding().to(EntityVersionDeletedImpl.class);
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityCollectionManager.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityCollectionManager.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityCollectionManager.java
index f976cb5..5b75f22 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityCollectionManager.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityCollectionManager.java
@@ -20,8 +20,8 @@ package org.apache.usergrid.persistence.collection;
import java.util.Collection;
+import org.apache.usergrid.persistence.collection.event.EntityDeleted;
-import java.util.UUID;
import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.entity.Id;
@@ -39,7 +39,6 @@ public interface EntityCollectionManager {
/**
* Write the entity in the entity collection. This is an entire entity, it's contents will
* completely overwrite the previous values, if it exists.
- *
* @param entity The entity to update
*/
public Observable<Entity> write( Entity entity );
@@ -62,25 +61,19 @@ public interface EntityCollectionManager {
/**
* Gets the Id for a field
- * @param field
* @return most likely a single Id, watch for onerror events
*/
public Observable<Id> getIdField(final Field field);
/**
* Load all the entityIds into the observable entity set
- * @param entityIds
- * @return
*/
public Observable<EntitySet> load(Collection<Id> entityIds);
-
/**
* Takes the change and reloads an entity with all changes applied in this entity applied.
- * The resulting entity from calling load will be the previous version of this entity + the entity
- * in this object applied to it.
- * @param entity
- * @return
+ * The resulting entity from calling load will be the previous version of this entity plus
+ * the entity in this object applied to it.
*/
public Observable<Entity> update ( Entity entity );
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityVersionCleanupFactory.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityVersionCleanupFactory.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityVersionCleanupFactory.java
index c349070..2232f00 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityVersionCleanupFactory.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/EntityVersionCleanupFactory.java
@@ -24,7 +24,12 @@ import org.apache.usergrid.persistence.model.entity.Id;
import java.util.UUID;
+
public interface EntityVersionCleanupFactory {
- public EntityVersionCleanupTask getTask( final CollectionScope scope, final Id entityId, final UUID version );
+
+ public EntityVersionCleanupTask getTask(
+ final CollectionScope scope,
+ final Id entityId,
+ final UUID version );
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/guice/CollectionModule.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/guice/CollectionModule.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/guice/CollectionModule.java
index 7dc8a4c..3532fe0 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/guice/CollectionModule.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/guice/CollectionModule.java
@@ -28,7 +28,6 @@ import org.apache.usergrid.persistence.collection.EntityCollectionManagerSync;
import org.apache.usergrid.persistence.collection.EntityDeletedFactory;
import org.apache.usergrid.persistence.collection.EntityVersionCleanupFactory;
import org.apache.usergrid.persistence.collection.event.EntityDeleted;
-import org.apache.usergrid.persistence.collection.event.EntityVersionCreated;
import org.apache.usergrid.persistence.collection.event.EntityVersionDeleted;
import org.apache.usergrid.persistence.collection.impl.EntityCollectionManagerImpl;
import org.apache.usergrid.persistence.collection.impl.EntityCollectionManagerSyncImpl;
@@ -52,6 +51,7 @@ import com.google.inject.Singleton;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import com.google.inject.multibindings.Multibinder;
import java.util.List;
+import org.apache.usergrid.persistence.collection.event.EntityVersionCreated;
/**
@@ -65,34 +65,27 @@ public class CollectionModule extends AbstractModule {
@Override
protected void configure() {
- //noinspection unchecked
+ // noinspection unchecked
install( new GuicyFigModule( SerializationFig.class ) );
-
install( new SerializationModule() );
install( new ServiceModule() );
- install ( new FactoryModuleBuilder()
- .build( EntityVersionCleanupFactory.class ));
-
- install ( new FactoryModuleBuilder()
- .build( EntityDeletedFactory.class));
+ install ( new FactoryModuleBuilder().build( EntityVersionCleanupFactory.class ));
+ install ( new FactoryModuleBuilder().build( EntityDeletedFactory.class));
- //bind empty list. including modules can add impelmentations
+ // users of this module can add their own implemementations
+ // for more information: https://github.com/google/guice/wiki/Multibindings
Multibinder.newSetBinder( binder(), EntityVersionDeleted.class );
Multibinder.newSetBinder( binder(), EntityVersionCreated.class );
Multibinder.newSetBinder( binder(), EntityDeleted.class );
-
// create a guice factor for getting our collection manager
install( new FactoryModuleBuilder()
.implement( EntityCollectionManager.class, EntityCollectionManagerImpl.class )
.implement( EntityCollectionManagerSync.class, EntityCollectionManagerSyncImpl.class )
.build( EntityCollectionManagerFactory.class ) );
-
- //bind( EntityVersionDeleted.class).to( org.apache.usergrid.corepersistence.events.EntityVersionDeletedImpl.class );
bind( UniqueValueSerializationStrategy.class ).to( UniqueValueSerializationStrategyImpl.class );
-
bind( ChangeLogGenerator.class).to( ChangeLogGeneratorImpl.class);
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
index 5a816b5..0170116 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityCollectionManagerImpl.java
@@ -21,8 +21,6 @@ package org.apache.usergrid.persistence.collection.impl;
import org.apache.usergrid.persistence.collection.*;
-import java.net.ConnectException;
-import java.util.*;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -32,7 +30,6 @@ import org.apache.usergrid.persistence.collection.serialization.UniqueValue;
import org.apache.usergrid.persistence.collection.serialization.UniqueValueSerializationStrategy;
import org.apache.usergrid.persistence.collection.serialization.UniqueValueSet;
import org.apache.usergrid.persistence.core.task.Task;
-import org.apache.usergrid.persistence.model.entity.SimpleId;
import org.apache.usergrid.persistence.model.field.Field;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,6 +58,8 @@ import org.apache.usergrid.persistence.model.util.UUIDGenerator;
import com.google.common.base.Preconditions;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
+import java.util.ArrayList;
+import org.apache.usergrid.persistence.collection.event.EntityDeleted;
import rx.Observable;
import rx.Subscriber;
@@ -81,7 +80,6 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
private final CollectionScope collectionScope;
private final UUIDService uuidService;
-
//start stages
private final WriteStart writeStart;
private final WriteStart writeUpdate;
@@ -90,17 +88,18 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
private final WriteCommit writeCommit;
private final RollbackAction rollback;
-
//delete stages
private final MarkStart markStart;
private final MarkCommit markCommit;
private final TaskExecutor taskExecutor;
- private EntityVersionCleanupFactory entityVersionCleanupFactory;
+ private final EntityVersionCleanupFactory entityVersionCleanupFactory;
private final MvccLogEntrySerializationStrategy mvccLogEntrySerializationStrategy;
private final MvccEntitySerializationStrategy entitySerializationStrategy;
- private EntityDeletedFactory entityDeletedFactory;
- private UniqueValueSerializationStrategy uniqueValueSerializationStrategy;
+ private final EntityDeletedFactory entityDeletedFactory;
+ private final UniqueValueSerializationStrategy uniqueValueSerializationStrategy;
+
+ private List<EntityDeleted> entityDeletedListeners = new ArrayList<EntityDeleted>();
@Inject
@@ -170,9 +169,13 @@ public class EntityCollectionManagerImpl implements EntityCollectionManager {
observable.map(writeCommit).doOnNext(new Action1<Entity>() {
@Override
public void call(final Entity entity) {
- //TODO fire a task here
- taskExecutor.submit(entityVersionCleanupFactory.getTask(collectionScope, entityId,entity.getVersion()));
- //post-processing to come later. leave it empty for now.
+
+ // TODO fire a task here
+
+ taskExecutor.submit(entityVersionCleanupFactory.getTask(
+ collectionScope, entityId, entity.getVersion() ));
+
+ // post-processing to come later. leave it empty for now.
}
}).doOnError(rollback);
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityDeletedTask.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityDeletedTask.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityDeletedTask.java
index 0755025..284cf5b 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityDeletedTask.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityDeletedTask.java
@@ -35,7 +35,7 @@ import rx.functions.Action1;
import rx.functions.Func1;
import rx.schedulers.Schedulers;
-import java.util.List;
+import java.util.Set;
import java.util.UUID;
@@ -43,23 +43,26 @@ import java.util.UUID;
* Fires Cleanup Task
*/
public class EntityDeletedTask implements Task<Void> {
+ private static final Logger LOG = LoggerFactory.getLogger(EntityDeletedTask.class);
+
private EntityVersionCleanupFactory entityVersionCleanupFactory;
private MvccLogEntrySerializationStrategy logEntrySerializationStrategy;
private MvccEntitySerializationStrategy entitySerializationStrategy;
- private List<EntityDeleted> listeners;
+ private Set<EntityDeleted> listeners;
private final CollectionScope collectionScope;
private final Id entityId;
private final UUID version;
- private static final Logger LOG = LoggerFactory.getLogger(EntityDeletedTask.class);
+
@Inject
- public EntityDeletedTask( EntityVersionCleanupFactory entityVersionCleanupFactory,
- final MvccLogEntrySerializationStrategy logEntrySerializationStrategy,
- final MvccEntitySerializationStrategy entitySerializationStrategy,
- final List<EntityDeleted> listeners,
- @Assisted final CollectionScope collectionScope,
- @Assisted final Id entityId,
- @Assisted final UUID version) {
+ public EntityDeletedTask(
+ EntityVersionCleanupFactory entityVersionCleanupFactory,
+ final MvccLogEntrySerializationStrategy logEntrySerializationStrategy,
+ final MvccEntitySerializationStrategy entitySerializationStrategy,
+ final Set<EntityDeleted> listeners, // MUST be a set or Guice will not inject
+ @Assisted final CollectionScope collectionScope,
+ @Assisted final Id entityId,
+ @Assisted final UUID version) {
this.entityVersionCleanupFactory = entityVersionCleanupFactory;
this.logEntrySerializationStrategy = logEntrySerializationStrategy;
@@ -70,12 +73,14 @@ public class EntityDeletedTask implements Task<Void> {
this.version = version;
}
+
@Override
public void exceptionThrown(Throwable throwable) {
LOG.error( "Unable to run update task for collection {} with entity {} and version {}",
new Object[] { collectionScope, entityId, version }, throwable );
}
+
@Override
public Void rejected() {
try {
@@ -88,10 +93,11 @@ public class EntityDeletedTask implements Task<Void> {
return null;
}
+
@Override
public Void call() throws Exception {
- entityVersionCleanupFactory.getTask( collectionScope, entityId, version, listeners ).call();
+ entityVersionCleanupFactory.getTask( collectionScope, entityId, version ).call();
fireEvents();
final MutationBatch entityDelete = entitySerializationStrategy.delete(collectionScope, entityId, version);
@@ -102,6 +108,7 @@ public class EntityDeletedTask implements Task<Void> {
return null;
}
+
private void fireEvents() {
final int listenerSize = listeners.size();
@@ -110,7 +117,7 @@ public class EntityDeletedTask implements Task<Void> {
}
if ( listenerSize == 1 ) {
- listeners.get( 0 ).deleted( collectionScope, entityId,version );
+ listeners.iterator().next().deleted( collectionScope, entityId,version );
return;
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTask.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTask.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTask.java
index ca66192..d45eeb9 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTask.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTask.java
@@ -45,6 +45,7 @@ import org.apache.usergrid.persistence.model.entity.Id;
import com.netflix.astyanax.Keyspace;
import com.netflix.astyanax.MutationBatch;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
+import java.util.Set;
import rx.Observable;
import rx.functions.Action1;
@@ -58,10 +59,9 @@ import rx.schedulers.Schedulers;
*/
public class EntityVersionCleanupTask implements Task<Void> {
- private static final Logger LOG = LoggerFactory.getLogger( EntityVersionCleanupTask.class );
+ private static final Logger logger = LoggerFactory.getLogger( EntityVersionCleanupTask.class );
-
- private final List<EntityVersionDeleted> listeners;
+ private final Set<EntityVersionDeleted> listeners;
private final MvccLogEntrySerializationStrategy logEntrySerializationStrategy;
private final MvccEntitySerializationStrategy entitySerializationStrategy;
@@ -76,14 +76,16 @@ public class EntityVersionCleanupTask implements Task<Void> {
@Inject
- public EntityVersionCleanupTask( final SerializationFig serializationFig,
- final MvccLogEntrySerializationStrategy logEntrySerializationStrategy,
- final MvccEntitySerializationStrategy entitySerializationStrategy,
- final UniqueValueSerializationStrategy uniqueValueSerializationStrategy,
- final Keyspace keyspace,
- @Assisted final CollectionScope scope,
- final List<EntityVersionDeleted> listeners,
- @Assisted final Id entityId,@Assisted final UUID version ) {
+ public EntityVersionCleanupTask(
+ final SerializationFig serializationFig,
+ final MvccLogEntrySerializationStrategy logEntrySerializationStrategy,
+ final MvccEntitySerializationStrategy entitySerializationStrategy,
+ final UniqueValueSerializationStrategy uniqueValueSerializationStrategy,
+ final Keyspace keyspace,
+ final Set<EntityVersionDeleted> listeners, // MUST be a set or Guice will not inject
+ @Assisted final CollectionScope scope,
+ @Assisted final Id entityId,
+ @Assisted final UUID version ) {
this.serializationFig = serializationFig;
this.logEntrySerializationStrategy = logEntrySerializationStrategy;
@@ -99,7 +101,7 @@ public class EntityVersionCleanupTask implements Task<Void> {
@Override
public void exceptionThrown( final Throwable throwable ) {
- LOG.error( "Unable to run update task for collection {} with entity {} and version {}",
+ logger.error( "Unable to run update task for collection {} with entity {} and version {}",
new Object[] { scope, entityId, version }, throwable );
}
@@ -193,7 +195,7 @@ public class EntityVersionCleanupTask implements Task<Void> {
final int removedCount = deleteFieldsObservable.count().toBlocking().last();
- LOG.debug("Removed unique values for {} entities of entity {}",removedCount,entityId);
+ logger.debug("Removed unique values for {} entities of entity {}",removedCount,entityId);
return null;
}
@@ -208,12 +210,11 @@ public class EntityVersionCleanupTask implements Task<Void> {
}
if ( listenerSize == 1 ) {
- listeners.get( 0 ).versionDeleted( scope, entityId, versions );
- //listeners.iterator().next().versionDeleted( scope,entityId,versions );
+ listeners.iterator().next().versionDeleted( scope, entityId, versions );
return;
}
- LOG.debug( "Started firing {} listeners", listenerSize );
+ logger.debug( "Started firing {} listeners", listenerSize );
//if we have more than 1, run them on the rx scheduler for a max of 8 operations at a time
Observable.from( listeners )
@@ -232,7 +233,7 @@ public class EntityVersionCleanupTask implements Task<Void> {
}
}, Schedulers.io() ).toBlocking().last();
- LOG.debug( "Finished firing {} listeners", listenerSize );
+ logger.debug( "Finished firing {} listeners", listenerSize );
}
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/50728fee/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTaskTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTaskTest.java b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTaskTest.java
index 2665dc2..621db20 100644
--- a/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTaskTest.java
+++ b/stack/corepersistence/collection/src/test/java/org/apache/usergrid/persistence/collection/impl/EntityVersionCleanupTaskTest.java
@@ -21,7 +21,6 @@ package org.apache.usergrid.persistence.collection.impl;
import com.google.common.base.Optional;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.CountDownLatch;
@@ -48,6 +47,8 @@ import com.google.common.util.concurrent.ListenableFuture;
import com.netflix.astyanax.Keyspace;
import com.netflix.astyanax.MutationBatch;
import com.netflix.astyanax.connectionpool.exceptions.ConnectionException;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.usergrid.persistence.collection.mvcc.entity.impl.MvccEntityImpl;
import org.apache.usergrid.persistence.model.entity.Entity;
import org.apache.usergrid.persistence.model.util.UUIDGenerator;
@@ -59,6 +60,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import org.mockito.internal.util.collections.Sets;
/**
@@ -102,7 +104,7 @@ public class EntityVersionCleanupTaskTest {
.thenReturn( logBatch );
// intentionally no events
- final List<EntityVersionDeleted> listeners = new ArrayList<EntityVersionDeleted>();
+ final Set<EntityVersionDeleted> listeners = new HashSet<EntityVersionDeleted>();
final Id applicationId = new SimpleId( "application" );
@@ -127,8 +129,8 @@ public class EntityVersionCleanupTaskTest {
ess,
uvss,
keyspace,
- appScope,
listeners,
+ appScope,
entityId,
version
);
@@ -199,7 +201,7 @@ public class EntityVersionCleanupTaskTest {
//intentionally no events
- final List<EntityVersionDeleted> listeners = new ArrayList<EntityVersionDeleted>();
+ final Set<EntityVersionDeleted> listeners = new HashSet<EntityVersionDeleted>();
final Id applicationId = new SimpleId( "application" );
@@ -226,8 +228,8 @@ public class EntityVersionCleanupTaskTest {
ess,
uniqueValueSerializationStrategy,
keyspace,
- appScope,
listeners,
+ appScope,
entityId,
version
);
@@ -305,7 +307,7 @@ public class EntityVersionCleanupTaskTest {
final EntityVersionDeletedTest eventListener = new EntityVersionDeletedTest( latch );
- final List<EntityVersionDeleted> listeners = new ArrayList<EntityVersionDeleted>();
+ final Set<EntityVersionDeleted> listeners = new HashSet<EntityVersionDeleted>();
listeners.add( eventListener );
@@ -335,8 +337,8 @@ public class EntityVersionCleanupTaskTest {
ess,
uniqueValueSerializationStrategy,
keyspace,
- appScope,
listeners,
+ appScope,
entityId,
version
);
@@ -423,7 +425,7 @@ public class EntityVersionCleanupTaskTest {
final EntityVersionDeletedTest listener2 = new EntityVersionDeletedTest( latch );
final EntityVersionDeletedTest listener3 = new EntityVersionDeletedTest( latch );
- final List<EntityVersionDeleted> listeners = new ArrayList<EntityVersionDeleted>();
+ final Set<EntityVersionDeleted> listeners = new HashSet<EntityVersionDeleted>();
listeners.add( listener1 );
listeners.add( listener2 );
@@ -448,8 +450,8 @@ public class EntityVersionCleanupTaskTest {
ess,
uniqueValueSerializationStrategy,
keyspace,
- appScope,
listeners,
+ appScope,
entityId,
version
);
@@ -550,7 +552,7 @@ public class EntityVersionCleanupTaskTest {
final SlowListener listener4 = new SlowListener( latch, waitSemaphore );
final SlowListener listener5 = new SlowListener( latch, waitSemaphore );
- final List<EntityVersionDeleted> listeners = new ArrayList<>();
+ final Set<EntityVersionDeleted> listeners = new HashSet<EntityVersionDeleted>();
listeners.add( listener1 );
listeners.add( listener2 );
@@ -584,8 +586,8 @@ public class EntityVersionCleanupTaskTest {
mvccEntitySerializationStrategy,
uniqueValueSerializationStrategy,
keyspace,
- appScope,
listeners,
+ appScope,
entityId,
version
);
@@ -721,8 +723,8 @@ public class EntityVersionCleanupTaskTest {
mvccEntitySerializationStrategy,
uniqueValueSerializationStrategy,
keyspace1,
+ Sets.newSet( (EntityVersionDeleted)runListener ),
appScope,
- Arrays.<EntityVersionDeleted>asList( slowListener ),
entityId,
version );
@@ -736,8 +738,8 @@ public class EntityVersionCleanupTaskTest {
mvccEntitySerializationStrategy,
uniqueValueSerializationStrategy,
keyspace2,
+ Sets.newSet( (EntityVersionDeleted)runListener ),
appScope,
- Arrays.<EntityVersionDeleted>asList( runListener ),
entityId,
version );
@@ -813,6 +815,7 @@ public class EntityVersionCleanupTaskTest {
final List<MvccEntity> entityVersion ) {
invocationLatch.countDown();
}
+
}