From f8c37772d4bc518c89a3ff26d3cc00ea7905466c Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Tue, 30 Mar 2021 10:23:28 +1300 Subject: [PATCH] Tidy internals of DefaultServer with @Nonnull, <>, Collections.singleton(), remove unused queryBatchSize --- .../server/core/DefaultServer.java | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java index 34a094301..5e8db9c1c 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/DefaultServer.java @@ -125,6 +125,7 @@ import io.ebeanservice.docstore.api.DocStoreIntegration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; import javax.persistence.NonUniqueResultException; import javax.persistence.OptimisticLockException; import javax.persistence.PersistenceException; @@ -137,7 +138,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -196,7 +196,6 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { private final SpiLogManager logManager; private final PersistenceContextScope defaultPersistenceContextScope; private final int lazyLoadBatchSize; - private final int queryBatchSize; private final boolean updateAllPropertiesInBatch; private final long slowQueryMicros; private final SlowQueryListener slowQueryListener; @@ -217,7 +216,6 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { this.extraMetrics = config.getExtraMetrics(); this.serverName = this.config.getName(); this.lazyLoadBatchSize = this.config.getLazyLoadBatchSize(); - this.queryBatchSize = this.config.getQueryBatchSize(); this.cqueryEngine = config.getCQueryEngine(); this.expressionFactory = config.getExpressionFactory(); this.encryptKeyManager = this.config.getEncryptKeyManager(); @@ -305,10 +303,6 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { return lazyLoadBatchSize; } - public int getQueryBatchSize() { - return queryBatchSize; - } - @Override public Object currentTenantId() { return currentTenantProvider == null ? null : currentTenantProvider.currentId(); @@ -1150,6 +1144,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override public Optional findOneOrEmpty(Query query, Transaction transaction) { return Optional.ofNullable(findOne(query, transaction)); @@ -1180,6 +1175,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override @SuppressWarnings({"unchecked", "rawtypes"}) public Set findSet(Query query, Transaction t) { @@ -1196,6 +1192,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override @SuppressWarnings({"unchecked", "rawtypes"}) public Map findMap(Query query, Transaction t) { @@ -1217,6 +1214,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override @SuppressWarnings("unchecked") public List findSingleAttributeList(Query query, Transaction t) { @@ -1227,7 +1225,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } try { request.initTransIfRequired(); - return (List) request.findSingleAttributeList(); + return request.findSingleAttributeList(); } finally { request.endTransIfRequired(); } @@ -1277,6 +1275,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override public List findIds(Query query, Transaction t) { return findIdsWithCopy(((SpiQuery) query).copy(), t); @@ -1337,26 +1336,29 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override public FutureRowCount findFutureCount(Query q, Transaction t) { SpiQuery copy = ((SpiQuery) q).copy(); copy.setFutureFetch(true); Transaction newTxn = createTransaction(); - QueryFutureRowCount queryFuture = new QueryFutureRowCount<>(new CallableQueryCount(this, copy, newTxn)); + QueryFutureRowCount queryFuture = new QueryFutureRowCount<>(new CallableQueryCount<>(this, copy, newTxn)); backgroundExecutor.execute(queryFuture.getFutureTask()); return queryFuture; } + @Nonnull @Override public FutureIds findFutureIds(Query query, Transaction t) { SpiQuery copy = ((SpiQuery) query).copy(); copy.setFutureFetch(true); Transaction newTxn = createTransaction(); - QueryFutureIds queryFuture = new QueryFutureIds<>(new CallableQueryIds(this, copy, newTxn)); + QueryFutureIds queryFuture = new QueryFutureIds<>(new CallableQueryIds<>(this, copy, newTxn)); backgroundExecutor.execute(queryFuture.getFutureTask()); return queryFuture; } + @Nonnull @Override public FutureList findFutureList(Query query, Transaction t) { SpiQuery spiQuery = (SpiQuery) query; @@ -1369,11 +1371,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } // Create a new transaction solely to execute the findList() at some future time Transaction newTxn = createTransaction(); - QueryFutureList queryFuture = new QueryFutureList<>(new CallableQueryList(this, spiQuery, newTxn)); + QueryFutureList queryFuture = new QueryFutureList<>(new CallableQueryList<>(this, spiQuery, newTxn)); backgroundExecutor.execute(queryFuture.getFutureTask()); return queryFuture; } + @Nonnull @Override public PagedList findPagedList(Query query, Transaction transaction) { SpiQuery spiQuery = (SpiQuery) query; @@ -1387,6 +1390,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { return new LimitOffsetPagedList<>(this, spiQuery); } + @Nonnull @Override public QueryIterator findIterate(Query query, Transaction t) { SpiOrmQueryRequest request = createQueryRequest(Type.ITERATE, query, t); @@ -1399,11 +1403,13 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override public Stream findLargeStream(Query query, Transaction transaction) { return findStream(query, transaction); } + @Nonnull @Override public Stream findStream(Query query, Transaction transaction) { SpiOrmQueryRequest request = createQueryRequest(Type.ITERATE, query, transaction); @@ -1470,6 +1476,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { // no try finally - findEachWhile guarantee's cleanup of the transaction if required } + @Nonnull @Override public List> findVersions(Query query, Transaction transaction) { SpiOrmQueryRequest request = createQueryRequest(Type.LIST, query, transaction); @@ -1481,6 +1488,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override public List findList(Query query, Transaction t) { return findList(query, t, false); @@ -1540,6 +1548,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } } + @Nonnull @Override public List findList(SqlQuery query, Transaction t) { RelationalQueryRequest request = new RelationalQueryRequest(this, relationalQueryEngine, query, t); @@ -2241,6 +2250,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { return checkUniqueness(bean, null); } + @Nonnull @Override public Set checkUniqueness(Object bean, Transaction transaction) { EntityBean entityBean = checkEntityBean(bean); @@ -2252,14 +2262,11 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { } Object id = idProperty.getVal(entityBean); if (entityBean._ebean_getIntercept().isNew() && id != null) { - // Primary Key is changeable only on new models - so skip check if we are not - // new. + // Primary Key is changeable only on new models - so skip check if we are not new Query query = new DefaultOrmQuery<>(beanDesc, this, expressionFactory); query.setId(id); if (findCount(query, transaction) > 0) { - Set ret = new HashSet<>(); - ret.add(idProperty); - return ret; + return Collections.singleton(idProperty); } } for (BeanProperty[] props : beanDesc.getUniqueProps()) {