From 6f322dcfb21b39ab4dc0591a896beeaa928c7e9d Mon Sep 17 00:00:00 2001
From: Rob Bygrave
Date: Thu, 24 Nov 2016 00:02:23 +1300
Subject: [PATCH] #891 - Refactor: Replace Ebean's QueryEachConsumer with
java.util.function.Consumer
---
.../java/com/avaje/ebean/DocumentStore.java | 3 +-
.../java/com/avaje/ebean/EbeanServer.java | 13 ++++---
.../java/com/avaje/ebean/ExpressionList.java | 5 ++-
src/main/java/com/avaje/ebean/Model.java | 5 ++-
src/main/java/com/avaje/ebean/Query.java | 3 +-
.../com/avaje/ebean/QueryEachConsumer.java | 39 -------------------
src/main/java/com/avaje/ebean/SqlQuery.java | 3 +-
.../server/core/DefaultServer.java | 6 +--
.../server/core/OrmQueryRequest.java | 4 +-
.../server/core/RelationalQueryEngine.java | 6 +--
.../server/core/RelationalQueryRequest.java | 4 +-
.../server/core/SpiOrmQueryRequest.java | 6 +--
.../expression/DefaultExpressionList.java | 4 +-
.../server/expression/JunctionExpression.java | 4 +-
.../query/DefaultRelationalQueryEngine.java | 4 +-
.../server/querydefn/DefaultOrmQuery.java | 4 +-
.../querydefn/DefaultRelationalQuery.java | 4 +-
.../docstore/none/NoneDocStore.java | 4 +-
.../ebeaninternal/api/TDSpiEbeanServer.java | 35 ++---------------
19 files changed, 48 insertions(+), 108 deletions(-)
delete mode 100644 src/main/java/com/avaje/ebean/QueryEachConsumer.java
diff --git a/src/main/java/com/avaje/ebean/DocumentStore.java b/src/main/java/com/avaje/ebean/DocumentStore.java
index 95e0a1134..685a38566 100644
--- a/src/main/java/com/avaje/ebean/DocumentStore.java
+++ b/src/main/java/com/avaje/ebean/DocumentStore.java
@@ -6,6 +6,7 @@ import org.jetbrains.annotations.Nullable;
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.function.Consumer;
/**
* Document storage operations.
@@ -129,7 +130,7 @@ public interface DocumentStore {
*
* }
*/
- void findEach(DocQueryRequest query, QueryEachConsumer consumer);
+ void findEach(DocQueryRequest query, Consumer consumer);
/**
* Execute the query against the document store with the expectation of a large set of results
diff --git a/src/main/java/com/avaje/ebean/EbeanServer.java b/src/main/java/com/avaje/ebean/EbeanServer.java
index 269625ce5..0c6de8214 100644
--- a/src/main/java/com/avaje/ebean/EbeanServer.java
+++ b/src/main/java/com/avaje/ebean/EbeanServer.java
@@ -15,6 +15,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Provides the API for fetching and saving beans to a particular DataSource.
@@ -755,7 +756,7 @@ public interface EbeanServer {
/**
* Return a QueryIterator for the query.
*
- * Generally using {@link #findEach(Query, QueryEachConsumer, Transaction)} or
+ * Generally using {@link #findEach(Query, Consumer, Transaction)} or
* {@link #findEachWhile(Query, QueryEachWhileConsumer, Transaction)} is preferred
* to findIterate(). The reason is that those methods automatically take care of
* closing the queryIterator (and the underlying jdbc statement and resultSet).
@@ -766,7 +767,7 @@ public interface EbeanServer {
*
*
* @see Query#findIterate()
- * @see Query#findEach(QueryEachConsumer)
+ * @see Query#findEach(Consumer)
* @see Query#findEachWhile(QueryEachWhileConsumer)
*/
QueryIterator findIterate(Query query, Transaction transaction);
@@ -796,10 +797,10 @@ public interface EbeanServer {
*
* }
*
- * @see Query#findEach(QueryEachConsumer)
+ * @see Query#findEach(Consumer)
* @see Query#findEachWhile(QueryEachWhileConsumer)
*/
- void findEach(Query query, QueryEachConsumer consumer, Transaction transaction);
+ void findEach(Query query, Consumer consumer, Transaction transaction);
/**
* Execute the query visiting the each bean one at a time.
@@ -833,7 +834,7 @@ public interface EbeanServer {
*
* }
*
- * @see Query#findEach(QueryEachConsumer)
+ * @see Query#findEach(Consumer)
* @see Query#findEachWhile(QueryEachWhileConsumer)
*/
void findEachWhile(Query query, QueryEachWhileConsumer consumer, Transaction transaction);
@@ -1093,7 +1094,7 @@ public interface EbeanServer {
* This streaming type query is useful for large query execution as only 1 row needs to be held in memory.
*
*/
- void findEach(SqlQuery query, QueryEachConsumer consumer, Transaction transaction);
+ void findEach(SqlQuery query, Consumer consumer, Transaction transaction);
/**
* Execute the SqlQuery iterating a row at a time with the ability to stop consuming part way through.
diff --git a/src/main/java/com/avaje/ebean/ExpressionList.java b/src/main/java/com/avaje/ebean/ExpressionList.java
index 4164d5d2e..cd45e432a 100644
--- a/src/main/java/com/avaje/ebean/ExpressionList.java
+++ b/src/main/java/com/avaje/ebean/ExpressionList.java
@@ -13,6 +13,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* List of Expressions that make up a where or having clause.
@@ -151,9 +152,9 @@ public interface ExpressionList {
/**
* Execute the query process the beans one at a time.
*
- * @see Query#findEach(QueryEachConsumer)
+ * @see Query#findEach(Consumer)
*/
- void findEach(QueryEachConsumer consumer);
+ void findEach(Consumer consumer);
/**
* Execute the query processing the beans one at a time with the ability to
diff --git a/src/main/java/com/avaje/ebean/Model.java b/src/main/java/com/avaje/ebean/Model.java
index af8fa20c6..1740f64ba 100644
--- a/src/main/java/com/avaje/ebean/Model.java
+++ b/src/main/java/com/avaje/ebean/Model.java
@@ -9,6 +9,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import java.util.function.Consumer;
/**
* A MappedSuperclass base class that provides convenience methods for inserting, updating and
@@ -596,9 +597,9 @@ public abstract class Model {
* you do not want to hold all the results in memory at once but instead
* process them one at a time (requiring far less memory).
*
- * Equivalent to {@link Query#findEach(QueryEachConsumer)}
+ * Equivalent to {@link Query#findEach(Consumer)}
*/
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
query().findEach(consumer);
}
diff --git a/src/main/java/com/avaje/ebean/Query.java b/src/main/java/com/avaje/ebean/Query.java
index d09d53af8..39978b0e1 100644
--- a/src/main/java/com/avaje/ebean/Query.java
+++ b/src/main/java/com/avaje/ebean/Query.java
@@ -7,6 +7,7 @@ import java.sql.Timestamp;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Object relational query for finding a List, Set, Map or single entity bean.
@@ -627,7 +628,7 @@ public interface Query {
*
* @param consumer the consumer used to process the queried beans.
*/
- void findEach(QueryEachConsumer consumer);
+ void findEach(Consumer consumer);
/**
* Execute the query using callbacks to a visitor to process the resulting
diff --git a/src/main/java/com/avaje/ebean/QueryEachConsumer.java b/src/main/java/com/avaje/ebean/QueryEachConsumer.java
deleted file mode 100644
index 6aa3f54fa..000000000
--- a/src/main/java/com/avaje/ebean/QueryEachConsumer.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.avaje.ebean;
-
-/**
- * Used to process a query result one bean at a time via a callback to this
- * visitor.
- *
- * If you wish to stop further processing return false from the accept method.
- *
- *
- * Unlike findList() and findSet() using a QueryResultVisitor does not require
- * all the beans in the query result to be held in memory at once. This makes
- * QueryResultVisitor useful for processing large queries.
- *
- *
- *
{@code
- *
- * Query query = server.find(Customer.class)
- * .where().eq("status", Status.NEW)
- * .order().asc("id");
- *
- * query.findEach((Customer customer) -> {
- *
- * // do something with customer
- * System.out.println("-- visit " + customer);
- * });
- *
- * }
- *
- * @param the type of entity bean being queried.
- */
-public interface QueryEachConsumer {
-
- /**
- * Process the bean.
- *
- * @param bean the entity bean to process
- */
- void accept(T bean);
-}
diff --git a/src/main/java/com/avaje/ebean/SqlQuery.java b/src/main/java/com/avaje/ebean/SqlQuery.java
index 5a817bc16..e4144237a 100644
--- a/src/main/java/com/avaje/ebean/SqlQuery.java
+++ b/src/main/java/com/avaje/ebean/SqlQuery.java
@@ -2,6 +2,7 @@ package com.avaje.ebean;
import java.io.Serializable;
import java.util.List;
+import java.util.function.Consumer;
/**
* Query object for performing native SQL queries that return SqlRow's.
@@ -48,7 +49,7 @@ public interface SqlQuery extends Serializable {
* This streaming type query is useful for large query execution as only 1 row needs to be held in memory.
*
*/
- void findEach(QueryEachConsumer consumer);
+ void findEach(Consumer consumer);
/**
* Execute the SqlQuery iterating a row at a time with the ability to stop consuming part way through.
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java
index 59c3b3e99..d0291cb4b 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java
@@ -13,7 +13,6 @@ import com.avaje.ebean.FutureRowCount;
import com.avaje.ebean.PagedList;
import com.avaje.ebean.PersistenceContextScope;
import com.avaje.ebean.Query;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.QueryIterator;
import com.avaje.ebean.RawSql;
@@ -108,6 +107,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.Consumer;
/**
* The default server side implementation of EbeanServer.
@@ -1351,7 +1351,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
}
}
- public void findEach(Query query, QueryEachConsumer consumer, Transaction t) {
+ public void findEach(Query query, Consumer consumer, Transaction t) {
SpiOrmQueryRequest request = createQueryRequest(Type.ITERATE, query, t);
@@ -1421,7 +1421,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
}
@Override
- public void findEach(SqlQuery query, QueryEachConsumer consumer, Transaction transaction) {
+ public void findEach(SqlQuery query, Consumer consumer, Transaction transaction) {
RelationalQueryRequest request = new RelationalQueryRequest(this, relationalQueryEngine, query, transaction);
try {
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java
index 66f9117b4..b60173718 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/OrmQueryRequest.java
@@ -1,7 +1,6 @@
package com.avaje.ebeaninternal.server.core;
import com.avaje.ebean.PersistenceContextScope;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.QueryIterator;
import com.avaje.ebean.RawSql;
@@ -37,6 +36,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Wraps the objects involved in executing a Query.
@@ -310,7 +310,7 @@ public final class OrmQueryRequest extends BeanRequest implements BeanQueryRe
return queryEngine.findIds(this);
}
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
QueryIterator it = queryEngine.findIterate(this);
try {
while (it.hasNext()) {
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryEngine.java b/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryEngine.java
index 0f411c70b..36e881f01 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryEngine.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryEngine.java
@@ -1,11 +1,11 @@
package com.avaje.ebeaninternal.server.core;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.SqlRow;
import java.util.List;
+import java.util.function.Consumer;
public interface RelationalQueryEngine {
@@ -17,11 +17,11 @@ public interface RelationalQueryEngine {
/**
* Find each query using relational query.
*/
- void findEach(RelationalQueryRequest request, QueryEachConsumer consumer);
+ void findEach(RelationalQueryRequest request, Consumer consumer);
/**
* Find each while query using relational query.
*/
void findEach(RelationalQueryRequest request, QueryEachWhileConsumer consumer);
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java
index 37018c04b..755949846 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java
@@ -1,7 +1,6 @@
package com.avaje.ebeaninternal.server.core;
import com.avaje.ebean.EbeanServer;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.SqlQuery;
import com.avaje.ebean.SqlRow;
@@ -25,6 +24,7 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Consumer;
/**
* Wraps the objects involved in executing a SqlQuery.
@@ -90,7 +90,7 @@ public final class RelationalQueryRequest {
}
}
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
queryEngine.findEach(this, consumer);
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/SpiOrmQueryRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/SpiOrmQueryRequest.java
index 7c68e63c8..eb543af49 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/SpiOrmQueryRequest.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/SpiOrmQueryRequest.java
@@ -1,6 +1,5 @@
package com.avaje.ebeaninternal.server.core;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.QueryIterator;
import com.avaje.ebean.Version;
@@ -12,6 +11,7 @@ import com.avaje.ebeanservice.docstore.api.DocQueryRequest;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Defines the ORM query request api.
@@ -76,7 +76,7 @@ public interface SpiOrmQueryRequest extends DocQueryRequest {
/**
* Execute the find returning a QueryIterator and visitor pattern.
*/
- void findEach(QueryEachConsumer consumer);
+ void findEach(Consumer consumer);
/**
* Execute the find returning a QueryIterator and visitor pattern.
@@ -132,4 +132,4 @@ public interface SpiOrmQueryRequest extends DocQueryRequest {
* Return true if this query is expected to use the doc store.
*/
boolean isUseDocStore();
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java
index 381e93e86..86768d000 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java
@@ -11,7 +11,6 @@ import com.avaje.ebean.Junction;
import com.avaje.ebean.OrderBy;
import com.avaje.ebean.PagedList;
import com.avaje.ebean.Query;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.QueryIterator;
import com.avaje.ebean.Version;
@@ -37,6 +36,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Default implementation of ExpressionList.
@@ -367,7 +367,7 @@ public class DefaultExpressionList implements SpiExpressionList {
}
@Override
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
query.findEach(consumer);
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java
index e3a25ee46..006287a39 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java
@@ -10,7 +10,6 @@ import com.avaje.ebean.Junction;
import com.avaje.ebean.OrderBy;
import com.avaje.ebean.PagedList;
import com.avaje.ebean.Query;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.QueryIterator;
import com.avaje.ebean.Version;
@@ -34,6 +33,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Junction implementation.
@@ -373,7 +373,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression
}
@Override
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
exprList.findEach(consumer);
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/query/DefaultRelationalQueryEngine.java b/src/main/java/com/avaje/ebeaninternal/server/query/DefaultRelationalQueryEngine.java
index 4193e1ac1..6e3a3d2a1 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/query/DefaultRelationalQueryEngine.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/query/DefaultRelationalQueryEngine.java
@@ -1,6 +1,5 @@
package com.avaje.ebeaninternal.server.query;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.SqlRow;
import com.avaje.ebeaninternal.server.core.Message;
@@ -12,6 +11,7 @@ import javax.persistence.PersistenceException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Consumer;
/**
* Perform native sql fetches.
@@ -49,7 +49,7 @@ public class DefaultRelationalQueryEngine implements RelationalQueryEngine {
}
@Override
- public void findEach(RelationalQueryRequest request, QueryEachConsumer consumer) {
+ public void findEach(RelationalQueryRequest request, Consumer consumer) {
long startTime = System.currentTimeMillis();
diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java
index 9a32050f1..9b6e9194d 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java
@@ -14,7 +14,6 @@ import com.avaje.ebean.OrderBy.Property;
import com.avaje.ebean.PagedList;
import com.avaje.ebean.PersistenceContextScope;
import com.avaje.ebean.Query;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.QueryIterator;
import com.avaje.ebean.RawSql;
@@ -52,6 +51,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
* Default implementation of an Object Relational query.
@@ -1125,7 +1125,7 @@ public class DefaultOrmQuery implements SpiQuery {
}
@Override
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
server.findEach(this, consumer, null);
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultRelationalQuery.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultRelationalQuery.java
index 578adc703..175e1aebd 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultRelationalQuery.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultRelationalQuery.java
@@ -1,13 +1,13 @@
package com.avaje.ebeaninternal.server.querydefn;
import com.avaje.ebean.EbeanServer;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.SqlRow;
import com.avaje.ebeaninternal.api.BindParams;
import com.avaje.ebeaninternal.api.SpiSqlQuery;
import java.util.List;
+import java.util.function.Consumer;
/**
* Default implementation of SQuery - SQL Query.
@@ -47,7 +47,7 @@ public class DefaultRelationalQuery implements SpiSqlQuery {
}
@Override
- public void findEach(QueryEachConsumer consumer) {
+ public void findEach(Consumer consumer) {
server.findEach(this, consumer, null);
}
diff --git a/src/main/java/com/avaje/ebeanservice/docstore/none/NoneDocStore.java b/src/main/java/com/avaje/ebeanservice/docstore/none/NoneDocStore.java
index ce49b9dc9..8a9194e7d 100644
--- a/src/main/java/com/avaje/ebeanservice/docstore/none/NoneDocStore.java
+++ b/src/main/java/com/avaje/ebeanservice/docstore/none/NoneDocStore.java
@@ -4,13 +4,13 @@ import com.avaje.ebean.DocStoreQueueEntry;
import com.avaje.ebean.DocumentStore;
import com.avaje.ebean.PagedList;
import com.avaje.ebean.Query;
-import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebeanservice.docstore.api.DocQueryRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.function.Consumer;
/**
* DocumentStore that barfs it is used.
@@ -82,7 +82,7 @@ public class NoneDocStore implements DocumentStore {
}
@Override
- public void findEach(DocQueryRequest query, QueryEachConsumer consumer) {
+ public void findEach(DocQueryRequest query, Consumer consumer) {
throw implementationNotInClassPath();
}
diff --git a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java
index bcdd913d4..0534b126e 100644
--- a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java
+++ b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java
@@ -1,34 +1,6 @@
package com.avaje.ebeaninternal.api;
-import com.avaje.ebean.AutoTune;
-import com.avaje.ebean.BackgroundExecutor;
-import com.avaje.ebean.BeanState;
-import com.avaje.ebean.CallableSql;
-import com.avaje.ebean.DocumentStore;
-import com.avaje.ebean.ExpressionFactory;
-import com.avaje.ebean.Filter;
-import com.avaje.ebean.FutureIds;
-import com.avaje.ebean.FutureList;
-import com.avaje.ebean.FutureRowCount;
-import com.avaje.ebean.PagedList;
-import com.avaje.ebean.PersistenceContextScope;
-import com.avaje.ebean.Query;
-import com.avaje.ebean.QueryEachConsumer;
-import com.avaje.ebean.QueryEachWhileConsumer;
-import com.avaje.ebean.QueryIterator;
-import com.avaje.ebean.SqlQuery;
-import com.avaje.ebean.SqlRow;
-import com.avaje.ebean.SqlUpdate;
-import com.avaje.ebean.Transaction;
-import com.avaje.ebean.TransactionCallback;
-import com.avaje.ebean.TxCallable;
-import com.avaje.ebean.TxIsolation;
-import com.avaje.ebean.TxRunnable;
-import com.avaje.ebean.TxScope;
-import com.avaje.ebean.Update;
-import com.avaje.ebean.UpdateQuery;
-import com.avaje.ebean.ValuePair;
-import com.avaje.ebean.Version;
+import com.avaje.ebean.*;
import com.avaje.ebean.bean.BeanCollection;
import com.avaje.ebean.bean.CallStack;
import com.avaje.ebean.bean.EntityBeanIntercept;
@@ -54,6 +26,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
/**
@@ -501,7 +474,7 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
}
@Override
- public void findEach(Query query, QueryEachConsumer consumer, Transaction transaction) {
+ public void findEach(Query query, Consumer consumer, Transaction transaction) {
}
@@ -561,7 +534,7 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
}
@Override
- public void findEach(SqlQuery query, QueryEachConsumer consumer, Transaction transaction) {
+ public void findEach(SqlQuery query, Consumer consumer, Transaction transaction) {
}
@Override