Skip to content

Commit

Permalink
OGM-1111 Remove ModelConsumerWithSupplier
Browse files Browse the repository at this point in the history
This commit will delete ModeConsumerWithSupplier and create the method needed to consume
a supplier in ModelConsumer.

This will allow us to pass additional information when we need to get the tuples.
  • Loading branch information
DavideD committed Dec 11, 2016
1 parent b568e39 commit 66356c1
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 21 deletions.
Expand Up @@ -22,4 +22,10 @@ public interface ModelConsumer {
*/
void consume(Tuple tuple);

/**
* Consume a model element on all the tuples provided by a {@link TupleSupplier}.
*
* @param supplier provides the tuples the model will consume
*/
void consume(TupleSupplier supplier);
}

This file was deleted.

Expand Up @@ -15,7 +15,7 @@
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform;
import org.hibernate.ogm.dialect.query.spi.ClosableIterator;
import org.hibernate.ogm.dialect.spi.ModelConsumerWithSupplier;
import org.hibernate.ogm.dialect.spi.ModelConsumer;
import org.hibernate.ogm.dialect.spi.TransactionContext;
import org.hibernate.ogm.dialect.spi.TupleSupplier;
import org.hibernate.ogm.model.spi.Tuple;
Expand All @@ -34,7 +34,7 @@
*
* @author Emmanuel Bernard
*/
public class OptionallyWrapInJTATransaction implements ModelConsumerWithSupplier {
public class OptionallyWrapInJTATransaction implements ModelConsumer {

private static final Log log = LoggerFactory.make();

Expand Down
Expand Up @@ -27,6 +27,7 @@
import org.hibernate.ogm.datastore.spi.DatastoreProvider;
import org.hibernate.ogm.dialect.spi.ModelConsumer;
import org.hibernate.ogm.dialect.spi.NextValueRequest;
import org.hibernate.ogm.dialect.spi.TupleSupplier;
import org.hibernate.ogm.entityentry.impl.TuplePointer;
import org.hibernate.ogm.id.spi.PersistentNoSqlIdentifierGenerator;
import org.hibernate.ogm.model.impl.DefaultAssociatedEntityKeyMetadata;
Expand Down Expand Up @@ -176,6 +177,10 @@ private final class MyConsumer implements ModelConsumer {
public void consume(Tuple tuple) {
consumedTuple = tuple;
}

@Override
public void consume(TupleSupplier supplier) {
}
}

private static InfinispanEmbeddedDatastoreProvider createAndStartNewProvider(ServiceRegistryImplementor serviceRegistry) {
Expand Down
Expand Up @@ -42,7 +42,6 @@
import org.hibernate.ogm.dialect.query.spi.QueryParameters;
import org.hibernate.ogm.dialect.spi.AssociationContext;
import org.hibernate.ogm.dialect.spi.ModelConsumer;
import org.hibernate.ogm.dialect.spi.ModelConsumerWithSupplier;
import org.hibernate.ogm.dialect.spi.NextValueRequest;
import org.hibernate.ogm.dialect.spi.OperationContext;
import org.hibernate.ogm.dialect.spi.TransactionContext;
Expand Down Expand Up @@ -607,7 +606,7 @@ public void forEachTuple(ModelConsumer consumer, TupleTypeContext tupleTypeConte
BoltNeo4jDatastoreProvider neo4jProvider = (BoltNeo4jDatastoreProvider) datastoreProvider;
BoltNeo4jClient client = neo4jProvider.getClient();
BoltTupleSupplier tupleSupplier = new BoltTupleSupplier( entitiesQueries.get( entityKeyMetadata ), entityKeyMetadata, tupleTypeContext, client );
( (ModelConsumerWithSupplier) consumer ).consume( tupleSupplier );
consumer.consume( tupleSupplier );
}

private static class BoltTupleSupplier implements TupleSupplier {
Expand Down
Expand Up @@ -48,7 +48,6 @@
import org.hibernate.ogm.dialect.query.spi.QueryParameters;
import org.hibernate.ogm.dialect.spi.AssociationContext;
import org.hibernate.ogm.dialect.spi.ModelConsumer;
import org.hibernate.ogm.dialect.spi.ModelConsumerWithSupplier;
import org.hibernate.ogm.dialect.spi.NextValueRequest;
import org.hibernate.ogm.dialect.spi.OperationContext;
import org.hibernate.ogm.dialect.spi.TransactionContext;
Expand Down Expand Up @@ -516,7 +515,7 @@ private void putOneToOneAssociation(EntityKey ownerKey, Tuple tuple, Map<String,
@Override
public void forEachTuple(ModelConsumer consumer, TupleTypeContext tupleTypeContext, EntityKeyMetadata entityKeyMetadata) {
HttpTupleSupplier tupleSupplier = new HttpTupleSupplier( entityQueries.get( entityKeyMetadata ), entityKeyMetadata, tupleTypeContext, client );
( (ModelConsumerWithSupplier) consumer ).consume( tupleSupplier );
consumer.consume( tupleSupplier );
}

private static class HttpTupleSupplier implements TupleSupplier {
Expand Down
Expand Up @@ -18,6 +18,7 @@
import org.hibernate.ogm.datastore.redis.test.options.ttl.Song;
import org.hibernate.ogm.datastore.redis.utils.RedisTestHelper;
import org.hibernate.ogm.dialect.spi.ModelConsumer;
import org.hibernate.ogm.dialect.spi.TupleSupplier;
import org.hibernate.ogm.model.impl.DefaultEntityKeyMetadata;
import org.hibernate.ogm.model.spi.Tuple;

Expand Down Expand Up @@ -72,6 +73,10 @@ public void testScan() throws Exception {
public void consume(Tuple tuple) {
counter.incrementAndGet();
}

@Override
public void consume(TupleSupplier supplier) {
}
}, null, new DefaultEntityKeyMetadata( "Band", new String[] {"id"} ) );

assertEquals( availableKeys, counter.get() );
Expand Down

0 comments on commit 66356c1

Please sign in to comment.