From 5cf2d3c39a4ff4cec49ee81957da3dde03e43a78 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Fri, 29 Apr 2016 08:49:07 +1200 Subject: [PATCH] #680 - Remove deprecated SqlQuery.findFutureList() --- .../java/com/avaje/ebean/EbeanServer.java | 16 ------- .../java/com/avaje/ebean/SqlFutureList.java | 47 ------------------- src/main/java/com/avaje/ebean/SqlQuery.java | 13 ----- .../server/core/DefaultServer.java | 21 +-------- .../server/query/CallableSqlQueryList.java | 40 ---------------- .../server/query/SqlQueryFutureList.java | 34 -------------- .../querydefn/DefaultRelationalQuery.java | 5 -- .../ebeaninternal/api/TDSpiEbeanServer.java | 5 -- 8 files changed, 1 insertion(+), 180 deletions(-) delete mode 100644 src/main/java/com/avaje/ebean/SqlFutureList.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/query/CallableSqlQueryList.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/query/SqlQueryFutureList.java diff --git a/src/main/java/com/avaje/ebean/EbeanServer.java b/src/main/java/com/avaje/ebean/EbeanServer.java index e207407e9..188670427 100644 --- a/src/main/java/com/avaje/ebean/EbeanServer.java +++ b/src/main/java/com/avaje/ebean/EbeanServer.java @@ -1013,22 +1013,6 @@ public interface EbeanServer { */ FutureList findFutureList(Query query, Transaction transaction); - /** - * Execute find list SQL query in a background thread. - *

- * This returns a Future object which can be used to cancel, check the - * execution status (isDone etc) and get the value (with or without a - * timeout). - *

- * - * @param query - * the query to execute in the background - * @param transaction - * the transaction (can be null). - * @return a Future object for the list result of the query - */ - SqlFutureList findFutureList(SqlQuery query, Transaction transaction); - /** * Return a PagedList for this query using pageIndex and pageSize. *

diff --git a/src/main/java/com/avaje/ebean/SqlFutureList.java b/src/main/java/com/avaje/ebean/SqlFutureList.java deleted file mode 100644 index 6490def78..000000000 --- a/src/main/java/com/avaje/ebean/SqlFutureList.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.avaje.ebean; - -import java.util.List; -import java.util.concurrent.Future; - -/** - * The SqlFutureList represents the result of a background SQL query execution. - * - *

- * It extends the java.util.concurrent.Future. - *

- * - *
- *  // create a query
- * String sql = ... ;
- * SqlQuery sqlQuery = Ebean.createSqlQuery(sql);
- * 
- *  // execute the query in a background thread
- * SqlFutureList sqlFuture = sqlQuery.findFutureList();
- * 
- *  // do something else ... we will sleep
- * Thread.sleep(3000);
- * System.out.println("end of sleep");
- * 
- * if (!futureList.isDone()){
- * 	// we can cancel the query execution
- * 	futureList.cancel(true);
- * }
- * 
- * System.out.println("and... done:"+futureList.isDone());
- * 
- * if (!futureList.isCancelled()){
- * 	// wait for the query to finish and return the list
- * 	List<SqlRow> list = futureList.get();
- * 	System.out.println("list:"+list);
- * }
- * 
- * 
- * - * @author rob - * - */ -public interface SqlFutureList extends Future> { - - SqlQuery getQuery(); - -} diff --git a/src/main/java/com/avaje/ebean/SqlQuery.java b/src/main/java/com/avaje/ebean/SqlQuery.java index 3dd97b8ef..fff30310e 100644 --- a/src/main/java/com/avaje/ebean/SqlQuery.java +++ b/src/main/java/com/avaje/ebean/SqlQuery.java @@ -79,19 +79,6 @@ public interface SqlQuery extends Serializable { */ SqlRow findUnique(); - /** - * Execute find list SQL query in a background thread. - *

- * This returns a Future object which can be used to cancel, check the - * execution status (isDone etc) and get the value (with or without a - * timeout). - *

- * - * @return a Future object for the list result of the query - * @deprecated - */ - SqlFutureList findFutureList(); - /** * The same as bind for named parameters. */ 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 0913d84fb..f067a8350 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java @@ -32,10 +32,10 @@ import com.avaje.ebeaninternal.api.SpiBackgroundExecutor; import com.avaje.ebeaninternal.api.SpiEbeanServer; import com.avaje.ebeaninternal.api.SpiQuery; import com.avaje.ebeaninternal.api.SpiQuery.Type; -import com.avaje.ebeaninternal.api.SpiSqlQuery; import com.avaje.ebeaninternal.api.SpiTransaction; import com.avaje.ebeaninternal.api.TransactionEventTable; import com.avaje.ebeaninternal.server.autotune.AutoTuneService; +import com.avaje.ebeaninternal.server.core.timezone.DataTimeZone; import com.avaje.ebeaninternal.server.deploy.BeanDescriptor; import com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager; import com.avaje.ebeaninternal.server.deploy.BeanProperty; @@ -50,12 +50,10 @@ import com.avaje.ebeaninternal.server.query.CQueryEngine; import com.avaje.ebeaninternal.server.query.CallableQueryIds; import com.avaje.ebeaninternal.server.query.CallableQueryList; import com.avaje.ebeaninternal.server.query.CallableQueryRowCount; -import com.avaje.ebeaninternal.server.query.CallableSqlQueryList; import com.avaje.ebeaninternal.server.query.LimitOffsetPagedList; import com.avaje.ebeaninternal.server.query.QueryFutureIds; import com.avaje.ebeaninternal.server.query.QueryFutureList; import com.avaje.ebeaninternal.server.query.QueryFutureRowCount; -import com.avaje.ebeaninternal.server.query.SqlQueryFutureList; import com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery; import com.avaje.ebeaninternal.server.querydefn.DefaultOrmUpdate; import com.avaje.ebeaninternal.server.querydefn.DefaultRelationalQuery; @@ -64,7 +62,6 @@ import com.avaje.ebeaninternal.server.transaction.DefaultPersistenceContext; import com.avaje.ebeaninternal.server.transaction.RemoteTransactionEvent; import com.avaje.ebeaninternal.server.transaction.TransactionManager; import com.avaje.ebeaninternal.server.transaction.TransactionScopeManager; -import com.avaje.ebeaninternal.server.core.timezone.DataTimeZone; import com.avaje.ebeaninternal.util.ParamTypeHelper; import com.avaje.ebeaninternal.util.ParamTypeHelper.TypeInfo; import com.avaje.ebeanservice.docstore.api.DocStoreIntegration; @@ -84,7 +81,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.FutureTask; /** * The default server side implementation of EbeanServer. @@ -1389,21 +1385,6 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { return extractUnique(list); } - public SqlFutureList findFutureList(SqlQuery query, Transaction t) { - - SpiSqlQuery spiQuery = (SpiSqlQuery) query; - spiQuery.setFutureFetch(true); - - Transaction newTxn = createTransaction(); - CallableSqlQueryList call = new CallableSqlQueryList(this, query, newTxn); - - FutureTask> futureTask = new FutureTask>(call); - - backgroundExecutor.execute(futureTask); - - return new SqlQueryFutureList(query, futureTask); - } - @Override public void findEach(SqlQuery query, QueryEachConsumer consumer, Transaction transaction) { diff --git a/src/main/java/com/avaje/ebeaninternal/server/query/CallableSqlQueryList.java b/src/main/java/com/avaje/ebeaninternal/server/query/CallableSqlQueryList.java deleted file mode 100644 index 4e087a6a9..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/query/CallableSqlQueryList.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.avaje.ebeaninternal.server.query; - -import java.util.List; -import java.util.concurrent.Callable; - -import com.avaje.ebean.EbeanServer; -import com.avaje.ebean.SqlQuery; -import com.avaje.ebean.SqlRow; -import com.avaje.ebean.Transaction; - -/** - * Represent the SQL query findList as a Callable. - */ -public class CallableSqlQueryList implements Callable> { - - private final SqlQuery query; - - private final EbeanServer server; - - private final Transaction transaction; - - public CallableSqlQueryList(EbeanServer server, SqlQuery query, Transaction t) { - this.server = server; - this.query = query; - this.transaction = t; - } - - /** - * Execute the query returning the resulting list. - */ - public List call() throws Exception { - try { - return server.findList(query, transaction); - } finally { - transaction.end(); - } - } - - -} diff --git a/src/main/java/com/avaje/ebeaninternal/server/query/SqlQueryFutureList.java b/src/main/java/com/avaje/ebeaninternal/server/query/SqlQueryFutureList.java deleted file mode 100644 index 51d9d3bf4..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/query/SqlQueryFutureList.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.avaje.ebeaninternal.server.query; - -import java.util.List; -import java.util.concurrent.FutureTask; - -import com.avaje.ebean.SqlFutureList; -import com.avaje.ebean.SqlQuery; -import com.avaje.ebean.SqlRow; - -/** - * Default implementation of SqlFutureList. - * - * @author rbygrave - */ -public class SqlQueryFutureList extends BaseFuture> implements SqlFutureList { - - private final SqlQuery query; - - public SqlQueryFutureList(SqlQuery query, FutureTask> futureTask) { - super(futureTask); - this.query = query; - } - - public SqlQuery getQuery() { - return query; - } - - public boolean cancel(boolean mayInterruptIfRunning) { - query.cancel(); - return super.cancel(mayInterruptIfRunning); - } - - -} 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 e5c95a14d..0866240aa 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultRelationalQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultRelationalQuery.java @@ -3,7 +3,6 @@ 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.SqlFutureList; import com.avaje.ebean.SqlRow; import com.avaje.ebeaninternal.api.BindParams; import com.avaje.ebeaninternal.api.SpiSqlQuery; @@ -77,10 +76,6 @@ public class DefaultRelationalQuery implements SpiSqlQuery { return server.findUnique(this, null); } - public SqlFutureList findFutureList() { - return server.findFutureList(this, null); - } - public DefaultRelationalQuery setParameter(int position, Object value) { bindParams.setParameter(position, value); return this; diff --git a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java index b63300e98..3815a253a 100644 --- a/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java +++ b/src/test/java/com/avaje/ebeaninternal/api/TDSpiEbeanServer.java @@ -505,11 +505,6 @@ public class TDSpiEbeanServer implements SpiEbeanServer { return null; } - @Override - public SqlFutureList findFutureList(SqlQuery query, Transaction transaction) { - return null; - } - @Override public PagedList findPagedList(Query query, Transaction transaction, int pageIndex, int pageSize) { return null;