diff --git a/src/main/java/io/ebean/CacheMode.java b/src/main/java/io/ebean/CacheMode.java index 7d8d549f2..b74753e21 100644 --- a/src/main/java/io/ebean/CacheMode.java +++ b/src/main/java/io/ebean/CacheMode.java @@ -69,8 +69,8 @@ public enum CacheMode { */ GET(true, false); - private boolean get; - private boolean put; + private final boolean get; + private final boolean put; CacheMode(boolean get, boolean put) { this.get = get; diff --git a/src/main/java/io/ebean/bean/ObjectGraphNode.java b/src/main/java/io/ebean/bean/ObjectGraphNode.java index 21f242360..4fc573962 100644 --- a/src/main/java/io/ebean/bean/ObjectGraphNode.java +++ b/src/main/java/io/ebean/bean/ObjectGraphNode.java @@ -1,6 +1,7 @@ package io.ebean.bean; import java.io.Serializable; +import java.util.Objects; /** * Identifies a unique node of an object graph. @@ -85,8 +86,7 @@ public final class ObjectGraphNode implements Serializable { } ObjectGraphNode e = (ObjectGraphNode) obj; - //noinspection StringEquality - return ((e.path == path) || (e.path != null && e.path.equals(path))) + return (Objects.equals(e.path, path)) && e.originQueryPoint.equals(originQueryPoint); } } diff --git a/src/main/java/io/ebean/cache/ServerCacheType.java b/src/main/java/io/ebean/cache/ServerCacheType.java index 1e78885c8..f71a78ae1 100644 --- a/src/main/java/io/ebean/cache/ServerCacheType.java +++ b/src/main/java/io/ebean/cache/ServerCacheType.java @@ -25,7 +25,7 @@ public enum ServerCacheType { */ QUERY("_Q"); - private String code; + private final String code; ServerCacheType(String code) { this.code = code; diff --git a/src/main/java/io/ebean/config/TenantMode.java b/src/main/java/io/ebean/config/TenantMode.java index 2f659704a..c86115741 100644 --- a/src/main/java/io/ebean/config/TenantMode.java +++ b/src/main/java/io/ebean/config/TenantMode.java @@ -35,9 +35,9 @@ public enum TenantMode { * (that holds configuration e.g.) */ DB_WITH_MASTER(true, true); - - boolean dynamicDataSource; - boolean ddlEnabled; + + final boolean dynamicDataSource; + final boolean ddlEnabled; TenantMode(boolean dynamicDataSource, boolean ddlEnabled) { this.dynamicDataSource = dynamicDataSource; @@ -50,12 +50,12 @@ public enum TenantMode { public boolean isDynamicDataSource() { return dynamicDataSource; } - + /** * Returns true, if DDL is enabled. */ public boolean isDdlEnabled() { return ddlEnabled; } - + } diff --git a/src/main/java/io/ebean/config/dbplatform/DbDefaultValue.java b/src/main/java/io/ebean/config/dbplatform/DbDefaultValue.java index f478bb7a6..6b74f4498 100644 --- a/src/main/java/io/ebean/config/dbplatform/DbDefaultValue.java +++ b/src/main/java/io/ebean/config/dbplatform/DbDefaultValue.java @@ -27,15 +27,13 @@ public class DbDefaultValue { * The key for the NOW / current timestamp. */ public static final String NOW = "now"; - + /** * The 'null' literal. */ public static final String NULL = "null"; - - - protected Map map = new LinkedHashMap<>(); + protected final Map map = new LinkedHashMap<>(); /** * Set the DB now function. @@ -82,10 +80,9 @@ public class DbDefaultValue { return val != null ? val : dbDefaultLiteral; } - /** * This method checks & convert the {@link DbDefault#value()} to a valid SQL literal. - * + * * This is mainly to quote string literals and verify integer/dates for correctness. *

* Note: There are some special cases: @@ -98,24 +95,24 @@ public class DbDefaultValue { * If you need really the String "null", you have to specify @DbDefault("'null'") * which gives you the default 'null' statement. *

  • Any statement, that begins and ends with single quote will not be checked or get quoted again.
  • - *
  • A statement that begins with "$RAW:", e.g @DbDefault("$RAW:N'SANDNES'") will lead to + *
  • A statement that begins with "$RAW:", e.g @DbDefault("$RAW:N'SANDNES'") will lead to * a default N'SANDNES' in DDL. Note that this is platform specific!
  • * */ public static String toSqlLiteral(String defaultValue, Class propertyType, int sqlType) { if (propertyType == null - || defaultValue == null + || defaultValue == null || NULL.equals(defaultValue) || (defaultValue.startsWith("'") && defaultValue.endsWith("'")) - || (defaultValue.startsWith("$RAW:"))) { + || (defaultValue.startsWith("$RAW:"))) { return defaultValue; } if (Boolean.class.isAssignableFrom(propertyType) || Boolean.TYPE.isAssignableFrom(propertyType)) { return toBooleanLiteral(defaultValue); } - - if (Number.class.isAssignableFrom(propertyType) + + if (Number.class.isAssignableFrom(propertyType) || Byte.TYPE.equals(propertyType) || Short.TYPE.equals(propertyType) || Integer.TYPE.equals(propertyType) @@ -126,7 +123,7 @@ public class DbDefaultValue { Double.valueOf(defaultValue); // verify if it is a number return defaultValue; } - + // check if it is a date/time - in all other cases return quoted defaultValue switch (sqlType) { // date @@ -155,7 +152,7 @@ public class DbDefaultValue { } throw new IllegalArgumentException("'" + value + "' is not a valid value for boolean"); } - + /** * This adds single qoutes around the value and doubles single quotes. * "User's home" will return "'User''s home'" @@ -175,7 +172,7 @@ public class DbDefaultValue { return sb.toString(); } - + private static String toDateLiteral(String value) { if (NOW.equals(value)) { return value; // this will get translated later @@ -191,7 +188,7 @@ public class DbDefaultValue { DatatypeConverter.parseTime(value); // verify return toTextLiteral(value); } - + private static String toDateTimeLiteral(String value) { if (NOW.equals(value)) { return value; // this will get translated later diff --git a/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeLookup.java b/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeLookup.java index 762c40e7d..30d89e43f 100644 --- a/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeLookup.java +++ b/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeLookup.java @@ -11,12 +11,12 @@ class DbPlatformTypeLookup { /** * A map to lookup the type by name. */ - private Map nameLookup = new HashMap<>(); + private final Map nameLookup = new HashMap<>(); /** * A map to lookup the type by JDBC int value. */ - private Map idLookup = new HashMap<>(); + private final Map idLookup = new HashMap<>(); DbPlatformTypeLookup() { addAll(); diff --git a/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java b/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java index 84fa3ba46..cc17d0fb3 100644 --- a/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java +++ b/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java @@ -23,7 +23,7 @@ public class DbPlatformTypeMapping { } } - private static DbPlatformTypeLookup lookup = new DbPlatformTypeLookup(); + private static final DbPlatformTypeLookup lookup = new DbPlatformTypeLookup(); private static final DbPlatformType BOOLEAN_LOGICAL = new BooleanLogicalType(); diff --git a/src/main/java/io/ebean/config/dbplatform/SqlErrorCodes.java b/src/main/java/io/ebean/config/dbplatform/SqlErrorCodes.java index e52462ccf..a30020a08 100644 --- a/src/main/java/io/ebean/config/dbplatform/SqlErrorCodes.java +++ b/src/main/java/io/ebean/config/dbplatform/SqlErrorCodes.java @@ -8,7 +8,7 @@ import java.util.Map; */ public class SqlErrorCodes { - private Map map = new HashMap<>(); + private final Map map = new HashMap<>(); /** * Map the codes to AcquireLockException. diff --git a/src/main/java/io/ebean/meta/QueryPlanRequest.java b/src/main/java/io/ebean/meta/QueryPlanRequest.java index 20b12c145..6f678c892 100644 --- a/src/main/java/io/ebean/meta/QueryPlanRequest.java +++ b/src/main/java/io/ebean/meta/QueryPlanRequest.java @@ -10,7 +10,7 @@ import java.util.Set; */ public class QueryPlanRequest { - private List plans = new ArrayList<>(); + private final List plans = new ArrayList<>(); private Connection connection; diff --git a/src/main/java/io/ebean/metric/MetricServiceProvider.java b/src/main/java/io/ebean/metric/MetricServiceProvider.java index d6a5e3721..b7208cefd 100644 --- a/src/main/java/io/ebean/metric/MetricServiceProvider.java +++ b/src/main/java/io/ebean/metric/MetricServiceProvider.java @@ -10,7 +10,7 @@ import java.util.ServiceLoader; */ class MetricServiceProvider { - private static MetricFactory metricFactory = init(); + private static final MetricFactory metricFactory = init(); private static MetricFactory init() { diff --git a/src/main/java/io/ebeaninternal/api/BeanCacheResult.java b/src/main/java/io/ebeaninternal/api/BeanCacheResult.java index 2196cac3c..c3b70e2e1 100644 --- a/src/main/java/io/ebeaninternal/api/BeanCacheResult.java +++ b/src/main/java/io/ebeaninternal/api/BeanCacheResult.java @@ -8,7 +8,7 @@ import java.util.List; */ public class BeanCacheResult { - private List> list = new ArrayList<>(); + private final List> list = new ArrayList<>(); /** * Add an entry. diff --git a/src/main/java/io/ebeaninternal/api/NaturalKeyEntry.java b/src/main/java/io/ebeaninternal/api/NaturalKeyEntry.java index 756b24006..9a979a6b4 100644 --- a/src/main/java/io/ebeaninternal/api/NaturalKeyEntry.java +++ b/src/main/java/io/ebeaninternal/api/NaturalKeyEntry.java @@ -12,8 +12,8 @@ import java.util.Map; */ public class NaturalKeyEntry { - private Map map = new HashMap<>(); - private Object key; + private final Map map = new HashMap<>(); + private final Object key; private Object inValue; /** diff --git a/src/main/java/io/ebeaninternal/api/ScopedTransaction.java b/src/main/java/io/ebeaninternal/api/ScopedTransaction.java index 8db8c316d..f5a1db07b 100644 --- a/src/main/java/io/ebeaninternal/api/ScopedTransaction.java +++ b/src/main/java/io/ebeaninternal/api/ScopedTransaction.java @@ -17,7 +17,7 @@ public class ScopedTransaction extends SpiTransactionProxy { /** * Stack of 'nested' transactions. */ - private ArrayStack stack = new ArrayStack<>(); + private final ArrayStack stack = new ArrayStack<>(); private ScopeTrans current; diff --git a/src/main/java/io/ebeaninternal/api/SpiQuery.java b/src/main/java/io/ebeaninternal/api/SpiQuery.java index f162e950a..112c0c7b8 100644 --- a/src/main/java/io/ebeaninternal/api/SpiQuery.java +++ b/src/main/java/io/ebeaninternal/api/SpiQuery.java @@ -106,9 +106,9 @@ public interface SpiQuery extends Query, TxnProfileEventCodes { */ UPDATE(FIND_UPDATE, "update", true); - private boolean update; - private String profileEventId; - private String label; + private final boolean update; + private final String profileEventId; + private final String label; Type(String profileEventId, String label) { this(profileEventId, label, false); diff --git a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java index 54d0ec5be..0b958a291 100644 --- a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java +++ b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java @@ -62,14 +62,14 @@ public class BaseTableDdl implements TableDdl { * Used to check that indexes on foreign keys should be skipped as a unique index on the columns * already exists. */ - protected IndexSet indexSet = new IndexSet(); + protected final IndexSet indexSet = new IndexSet(); /** * Used when unique constraints specifically for OneToOne can't be created normally (MsSqlServer). */ - protected List externalUnique = new ArrayList<>(); + protected final List externalUnique = new ArrayList<>(); - protected List externalCompoundUnique = new ArrayList<>(); + protected final List externalCompoundUnique = new ArrayList<>(); // counters used when constraint names are truncated due to maximum length // and these counters are used to keep the constraint name unique @@ -82,9 +82,9 @@ public class BaseTableDdl implements TableDdl { * Base tables that have associated history tables that need their triggers/functions regenerated as * columns have been added, removed, included or excluded. */ - protected Map regenerateHistoryTriggers = new LinkedHashMap<>(); + protected final Map regenerateHistoryTriggers = new LinkedHashMap<>(); - private boolean strictMode; + private final boolean strictMode; private final HistorySupport historySupport; diff --git a/src/main/java/io/ebeaninternal/dbmigration/model/MColumn.java b/src/main/java/io/ebeaninternal/dbmigration/model/MColumn.java index 895613471..07ac9ad30 100644 --- a/src/main/java/io/ebeaninternal/dbmigration/model/MColumn.java +++ b/src/main/java/io/ebeaninternal/dbmigration/model/MColumn.java @@ -8,6 +8,7 @@ import io.ebeaninternal.dbmigration.migration.DdlScript; import io.ebeaninternal.server.deploy.DbMigrationInfo; import java.util.List; +import java.util.Objects; /** * A column in the logical model. @@ -309,7 +310,7 @@ public class MColumn { } protected static boolean different(String val1, String val2) { - return (val1 == null) ? val2 != null : !val1.equals(val2); + return !Objects.equals(val1, val2); } private boolean hasValue(String val) { diff --git a/src/main/java/io/ebeaninternal/json/DJsonService.java b/src/main/java/io/ebeaninternal/json/DJsonService.java index 0b4dc7412..d98aa6d7c 100644 --- a/src/main/java/io/ebeaninternal/json/DJsonService.java +++ b/src/main/java/io/ebeaninternal/json/DJsonService.java @@ -181,7 +181,7 @@ public class DJsonService implements SpiJsonService { if (modifyAware) { return ((ModifyAwareList) list).asSet(); } else { - return new LinkedHashSet(list); + return new LinkedHashSet<>(list); } } diff --git a/src/main/java/io/ebeaninternal/server/autotune/AutoTuneCollection.java b/src/main/java/io/ebeaninternal/server/autotune/AutoTuneCollection.java index bcff9b636..c86d3ce0a 100644 --- a/src/main/java/io/ebeaninternal/server/autotune/AutoTuneCollection.java +++ b/src/main/java/io/ebeaninternal/server/autotune/AutoTuneCollection.java @@ -11,7 +11,7 @@ import java.util.List; */ public class AutoTuneCollection { - List entries = new ArrayList<>(); + final List entries = new ArrayList<>(); public Entry add(ObjectGraphOrigin origin, OrmQueryDetail detail, String sourceQuery) { Entry entry = new Entry(origin, detail, sourceQuery); diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultBackgroundExecutor.java b/src/main/java/io/ebeaninternal/server/core/DefaultBackgroundExecutor.java index e458c5165..e48d7463d 100644 --- a/src/main/java/io/ebeaninternal/server/core/DefaultBackgroundExecutor.java +++ b/src/main/java/io/ebeaninternal/server/core/DefaultBackgroundExecutor.java @@ -91,17 +91,13 @@ public class DefaultBackgroundExecutor implements SpiBackgroundExecutor { if (map == null) { return schedulePool.schedule(c, delay, unit); } else { - return schedulePool.schedule(new Callable() { - @Override - public V call() throws Exception { - MDC.setContextMap(map); - try { - return c.call(); - } finally { - MDC.clear(); - } + return schedulePool.schedule(() -> { + MDC.setContextMap(map); + try { + return c.call(); + } finally { + MDC.clear(); } - }, delay, unit); } } diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java index b12ef4754..85c4391db 100644 --- a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java @@ -160,7 +160,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { /** * Clock to use for WhenModified and WhenCreated. */ - private ClockService clockService; + private final ClockService clockService; private final CallStackFactory callStackFactory; diff --git a/src/main/java/io/ebeaninternal/server/core/PersistRequest.java b/src/main/java/io/ebeaninternal/server/core/PersistRequest.java index 42b8efae0..95481e61e 100644 --- a/src/main/java/io/ebeaninternal/server/core/PersistRequest.java +++ b/src/main/java/io/ebeaninternal/server/core/PersistRequest.java @@ -24,7 +24,7 @@ public abstract class PersistRequest extends BeanRequest implements BatchPostExe DELETE_PERMANENT(EVT_DELETE_PERMANENT), UPDATESQL(EVT_UPDATESQL), CALLABLESQL(EVT_CALLABLESQL); - String profileEventId; + final String profileEventId; Type(String profileEventId) { this.profileEventId = profileEventId; diff --git a/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java b/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java index 53c593457..42b126a5b 100644 --- a/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java +++ b/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java @@ -85,7 +85,7 @@ public final class PersistRequestBean extends PersistRequest implements BeanP private DocStoreMode docStoreMode; - private ConcurrencyMode concurrencyMode; + private final ConcurrencyMode concurrencyMode; /** * The unique id used for logging summary. diff --git a/src/main/java/io/ebeaninternal/server/core/PersistRequestUpdateSql.java b/src/main/java/io/ebeaninternal/server/core/PersistRequestUpdateSql.java index a0ebdbef1..dc3a06be3 100644 --- a/src/main/java/io/ebeaninternal/server/core/PersistRequestUpdateSql.java +++ b/src/main/java/io/ebeaninternal/server/core/PersistRequestUpdateSql.java @@ -29,7 +29,7 @@ public final class PersistRequestUpdateSql extends PersistRequest { private boolean addBatch; - private boolean forceNoBatch; + private final boolean forceNoBatch; private boolean batchThisRequest; diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssocMany.java b/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssocMany.java index ad296978c..90a72710a 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssocMany.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssocMany.java @@ -79,7 +79,7 @@ public class BeanPropertyAssocMany extends BeanPropertyAssoc implements ST /** * Descriptor for the 'target' when the property maps to an element collection. */ - BeanDescriptor elementDescriptor; + final BeanDescriptor elementDescriptor; /** * Order by used when fetch joining the associated many. diff --git a/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java b/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java index 639a856ad..db79a24e7 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java @@ -185,7 +185,7 @@ public class ChainedBeanPersistController implements BeanPersistController { int i1 = o1.getExecutionOrder(); int i2 = o2.getExecutionOrder(); - return (i1 < i2 ? -1 : (i1 == i2 ? 0 : 1)); + return Integer.compare(i1, i2); } } diff --git a/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java b/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java index eff9a1c10..d96e69727 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java @@ -89,10 +89,7 @@ public class ChainedBeanQueryAdapter implements BeanQueryAdapter { @Override public int compare(BeanQueryAdapter o1, BeanQueryAdapter o2) { - - int i1 = o1.getExecutionOrder(); - int i2 = o2.getExecutionOrder(); - return (i1 < i2 ? -1 : (i1 == i2 ? 0 : 1)); + return Integer.compare(o1.getExecutionOrder(), o2.getExecutionOrder()); } } diff --git a/src/main/java/io/ebeaninternal/server/deploy/DCacheRegionNone.java b/src/main/java/io/ebeaninternal/server/deploy/DCacheRegionNone.java index 50c9ba33a..ff8dfeb17 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/DCacheRegionNone.java +++ b/src/main/java/io/ebeaninternal/server/deploy/DCacheRegionNone.java @@ -4,7 +4,7 @@ import io.ebeaninternal.api.SpiCacheRegion; class DCacheRegionNone implements SpiCacheRegion { - static SpiCacheRegion INSTANCE = new DCacheRegionNone(); + static final SpiCacheRegion INSTANCE = new DCacheRegionNone(); @Override public String getName() { diff --git a/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java b/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java index 4c5e22532..c2e576b0c 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java +++ b/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java @@ -16,7 +16,7 @@ class DetermineAggPath { // a top level aggregation (so here we need to exclude Id property) return null; } - return path.getManyPath(0, desc); + return path.getManyPath(desc); } static Path paths(String aggregation) { @@ -82,9 +82,9 @@ class DetermineAggPath { } } - String getManyPath(int pos, DeployBeanDescriptor desc) { + String getManyPath(DeployBeanDescriptor desc) { + int pos = 0; while (true) { - String path = paths[pos]; DeployBeanProperty details = desc.getBeanProperty(path); if (details instanceof DeployBeanPropertyAssocMany) { diff --git a/src/main/java/io/ebeaninternal/server/deploy/ElementEntityBean.java b/src/main/java/io/ebeaninternal/server/deploy/ElementEntityBean.java index 53b1e69b1..366ba5a97 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ElementEntityBean.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ElementEntityBean.java @@ -11,7 +11,7 @@ class ElementEntityBean implements EntityBean { private Object[] data; - private EntityBeanIntercept intercept; + private final EntityBeanIntercept intercept; ElementEntityBean(String[] properties) { this.properties = properties; diff --git a/src/main/java/io/ebeaninternal/server/deploy/ElementHelpList.java b/src/main/java/io/ebeaninternal/server/deploy/ElementHelpList.java index 8d23b23de..5c48b4f19 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ElementHelpList.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ElementHelpList.java @@ -15,7 +15,7 @@ class ElementHelpList implements ElementHelp { private static class Collector implements ElementCollector { - private List list = new ArrayList<>(); + private final List list = new ArrayList<>(); @Override public void addElement(Object element) { diff --git a/src/main/java/io/ebeaninternal/server/deploy/ElementHelpMap.java b/src/main/java/io/ebeaninternal/server/deploy/ElementHelpMap.java index 6436f6d53..985ab4248 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ElementHelpMap.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ElementHelpMap.java @@ -15,7 +15,7 @@ class ElementHelpMap implements ElementHelp { private static class Collector implements ElementCollector { - private Map map = new LinkedHashMap<>(); + private final Map map = new LinkedHashMap<>(); @Override public void addElement(Object element) { diff --git a/src/main/java/io/ebeaninternal/server/deploy/ElementHelpSet.java b/src/main/java/io/ebeaninternal/server/deploy/ElementHelpSet.java index 9f0e7602d..71c15aee3 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ElementHelpSet.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ElementHelpSet.java @@ -15,7 +15,7 @@ class ElementHelpSet implements ElementHelp { private static class Collector implements ElementCollector { - private Set set = new LinkedHashSet<>(); + private final Set set = new LinkedHashSet<>(); @Override public void addElement(Object element) { diff --git a/src/main/java/io/ebeaninternal/server/deploy/id/ImportedIdSimple.java b/src/main/java/io/ebeaninternal/server/deploy/id/ImportedIdSimple.java index 2ff4b60b1..8e7b10fc2 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/id/ImportedIdSimple.java +++ b/src/main/java/io/ebeaninternal/server/deploy/id/ImportedIdSimple.java @@ -100,7 +100,7 @@ public final class ImportedIdSimple implements ImportedId, Comparable implements SpiExpressionList { private final ExpressionList parentExprList; - protected ExpressionFactory expr; + protected final ExpressionFactory expr; String allDocNestedPath; diff --git a/src/main/java/io/ebeaninternal/server/expression/JsonPathExpression.java b/src/main/java/io/ebeaninternal/server/expression/JsonPathExpression.java index 6f4cec83e..f60b125cb 100644 --- a/src/main/java/io/ebeaninternal/server/expression/JsonPathExpression.java +++ b/src/main/java/io/ebeaninternal/server/expression/JsonPathExpression.java @@ -4,6 +4,7 @@ import io.ebeaninternal.api.SpiExpression; import io.ebeaninternal.api.SpiExpressionRequest; import java.io.IOException; +import java.util.Objects; /** * Generally speaking tests the value at a given path in the JSON document. @@ -91,8 +92,8 @@ class JsonPathExpression extends AbstractExpression { @Override public boolean isSameByBind(SpiExpression other) { JsonPathExpression that = (JsonPathExpression) other; - if (value != null ? !value.equals(that.value) : that.value != null) return false; - return upperValue != null ? upperValue.equals(that.upperValue) : that.upperValue == null; + if (!Objects.equals(value, that.value)) return false; + return Objects.equals(upperValue, that.upperValue); } @Override diff --git a/src/main/java/io/ebeaninternal/server/grammer/OperatorMapping.java b/src/main/java/io/ebeaninternal/server/grammer/OperatorMapping.java index 2bc0e202b..f00a52868 100644 --- a/src/main/java/io/ebeaninternal/server/grammer/OperatorMapping.java +++ b/src/main/java/io/ebeaninternal/server/grammer/OperatorMapping.java @@ -5,7 +5,7 @@ import java.util.Map; class OperatorMapping { - Map map = new HashMap<>(); + final Map map = new HashMap<>(); public OperatorMapping() { map.put("eq", EqlOperator.EQ); diff --git a/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java b/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java index cbc3a3cb6..84c86cc54 100644 --- a/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java +++ b/src/main/java/io/ebeaninternal/server/persist/BatchDepthComparator.java @@ -19,13 +19,7 @@ public class BatchDepthComparator implements Comparator, Seri @Override public int compare(BatchedBeanHolder b1, BatchedBeanHolder b2) { - if (b1.getOrder() < b2.getOrder()) { - return -1; - } - if (b1.getOrder() == b2.getOrder()) { - return 0; - } - return 1; + return Integer.compare(b1.getOrder(), b2.getOrder()); } } diff --git a/src/main/java/io/ebeaninternal/server/persist/DeleteMode.java b/src/main/java/io/ebeaninternal/server/persist/DeleteMode.java index 9961a8bfc..e55ee0e0e 100644 --- a/src/main/java/io/ebeaninternal/server/persist/DeleteMode.java +++ b/src/main/java/io/ebeaninternal/server/persist/DeleteMode.java @@ -18,9 +18,9 @@ public enum DeleteMode { */ HARD(PersistRequest.Type.DELETE_PERMANENT, true); - private boolean hard; + private final boolean hard; - private PersistRequest.Type persistType; + private final PersistRequest.Type persistType; DeleteMode(PersistRequest.Type persistType, boolean hard) { this.persistType = persistType; diff --git a/src/main/java/io/ebeaninternal/server/persist/MultiValueWrapper.java b/src/main/java/io/ebeaninternal/server/persist/MultiValueWrapper.java index 9e4d1528a..36104822a 100644 --- a/src/main/java/io/ebeaninternal/server/persist/MultiValueWrapper.java +++ b/src/main/java/io/ebeaninternal/server/persist/MultiValueWrapper.java @@ -8,7 +8,7 @@ import java.util.Collection; */ public class MultiValueWrapper { private final Collection values; - private Class type; + private final Class type; public MultiValueWrapper(Collection values, Class type) { this.values = values; diff --git a/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java b/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java index 8370104c1..5acd88ba7 100644 --- a/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java +++ b/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java @@ -36,7 +36,7 @@ public class SaveManyBeans extends SaveManyBase { private final DeleteMode deleteMode; private Collection collection; - private DefaultPersister persister; + private final DefaultPersister persister; private boolean deleteMissing; private int sortOrder; diff --git a/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java b/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java index 018130b2d..1a5f8ff07 100644 --- a/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java +++ b/src/main/java/io/ebeaninternal/server/profile/TimedProfileLocationRegistry.java @@ -9,7 +9,7 @@ import java.util.List; */ public class TimedProfileLocationRegistry { - private static final List list = Collections.synchronizedList(new ArrayList()); + private static final List list = Collections.synchronizedList(new ArrayList<>()); /** * Register the timed profile location instance. diff --git a/src/main/java/io/ebeaninternal/server/query/CQuery.java b/src/main/java/io/ebeaninternal/server/query/CQuery.java index 6d5a2637e..561b1638c 100644 --- a/src/main/java/io/ebeaninternal/server/query/CQuery.java +++ b/src/main/java/io/ebeaninternal/server/query/CQuery.java @@ -183,7 +183,7 @@ public class CQuery implements DbReadContext, CancelableQuery, SpiProfileTran /** * Flag set when read auditing. */ - private boolean audit; + private final boolean audit; /** * Flag set when findIterate is being read audited meaning we log in batches. diff --git a/src/main/java/io/ebeaninternal/server/query/PlatformQueryPlan.java b/src/main/java/io/ebeaninternal/server/query/PlatformQueryPlan.java index 6f65622d9..ad56eacb7 100644 --- a/src/main/java/io/ebeaninternal/server/query/PlatformQueryPlan.java +++ b/src/main/java/io/ebeaninternal/server/query/PlatformQueryPlan.java @@ -4,13 +4,13 @@ import io.ebean.annotation.Platform; public final class PlatformQueryPlan { - private static QueryPlanLogger explainLogger = new QueryPlanLoggerExplain(); + private static final QueryPlanLogger explainLogger = new QueryPlanLoggerExplain(); - private static QueryPlanLogger postgresLogger = new QueryPlanLoggerPostgres(); + private static final QueryPlanLogger postgresLogger = new QueryPlanLoggerPostgres(); - private static QueryPlanLogger sqlServerLogger = new QueryPlanLoggerSqlServer(); + private static final QueryPlanLogger sqlServerLogger = new QueryPlanLoggerSqlServer(); - private static QueryPlanLogger oracleLogger = new QueryPlanLoggerOracle(); + private static final QueryPlanLogger oracleLogger = new QueryPlanLoggerOracle(); /** * Returns the logger to log query plans for the given platform. diff --git a/src/main/java/io/ebeaninternal/server/query/RawSqlQueryPlanKey.java b/src/main/java/io/ebeaninternal/server/query/RawSqlQueryPlanKey.java index 04b2e282f..be4f4d3c6 100644 --- a/src/main/java/io/ebeaninternal/server/query/RawSqlQueryPlanKey.java +++ b/src/main/java/io/ebeaninternal/server/query/RawSqlQueryPlanKey.java @@ -2,6 +2,8 @@ package io.ebeaninternal.server.query; import io.ebeaninternal.api.CQueryPlanKey; +import java.util.Objects; + /** * QueryPlanKey for RawSql queries. */ @@ -49,7 +51,7 @@ class RawSqlQueryPlanKey implements CQueryPlanKey { if (rawSql != that.rawSql) return false; if (rowNumberIncluded != that.rowNumberIncluded) return false; if (!sql.equals(that.sql)) return false; - return logWhereSql != null ? logWhereSql.equals(that.logWhereSql) : that.logWhereSql == null; + return Objects.equals(logWhereSql, that.logWhereSql); } @Override diff --git a/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPlanKey.java b/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPlanKey.java index 45bf4c802..c083eb3d5 100644 --- a/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPlanKey.java +++ b/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPlanKey.java @@ -3,6 +3,8 @@ package io.ebeaninternal.server.querydefn; import io.ebeaninternal.api.CQueryPlanKey; import io.ebeaninternal.server.rawsql.SpiRawSql; +import java.util.Objects; + /** * Query plan key for ORM queries. */ @@ -55,6 +57,6 @@ class OrmQueryPlanKey implements CQueryPlanKey { if (maxRows != that.maxRows) return false; if (firstRow != that.firstRow) return false; if (!description.equals(that.description)) return false; - return rawSqlKey != null ? rawSqlKey.equals(that.rawSqlKey) : that.rawSqlKey == null; + return Objects.equals(rawSqlKey, that.rawSqlKey); } } diff --git a/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPropertiesParser.java b/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPropertiesParser.java index 1baa3409a..ce20f21b8 100644 --- a/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPropertiesParser.java +++ b/src/main/java/io/ebeaninternal/server/querydefn/OrmQueryPropertiesParser.java @@ -12,7 +12,7 @@ import java.util.List; */ class OrmQueryPropertiesParser { - private static Response EMPTY = new Response(); + private static final Response EMPTY = new Response(); /** * Immutable response of the parsed properties and options. diff --git a/src/main/java/io/ebeaninternal/server/querydefn/OrmUpdateProperties.java b/src/main/java/io/ebeaninternal/server/querydefn/OrmUpdateProperties.java index 81490f5a8..94adef13a 100644 --- a/src/main/java/io/ebeaninternal/server/querydefn/OrmUpdateProperties.java +++ b/src/main/java/io/ebeaninternal/server/querydefn/OrmUpdateProperties.java @@ -116,7 +116,7 @@ public class OrmUpdateProperties { /** * The set properties/expressions and their bind values. */ - private LinkedHashMap values = new LinkedHashMap<>(); + private final LinkedHashMap values = new LinkedHashMap<>(); /** * Normal set property. diff --git a/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java b/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java index 0d8552307..0e46cbe10 100644 --- a/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java +++ b/src/main/java/io/ebeaninternal/server/rawsql/DRawSqlParser.java @@ -55,7 +55,7 @@ class DRawSqlParser { private Sql parse() { - parseSqlFindKeywords(true); + parseSqlFindKeywords(); whereExprPos = findWhereExprPosition(); havingExprPos = findHavingExprPosition(); @@ -165,7 +165,7 @@ class DRawSqlParser { } } - private void parseSqlFindKeywords(boolean allKeywords) { + private void parseSqlFindKeywords() { selectPos = textParser.findWordLower("select"); if (selectPos == -1) { @@ -184,10 +184,6 @@ class DRawSqlParser { throw new RuntimeException(msg + sql); } - if (!allKeywords) { - return; - } - wherePos = textParser.findWordLower("where"); if (wherePos == -1) { groupByPos = textParser.findWordLower("group", fromPos + 5); diff --git a/src/main/java/io/ebeaninternal/server/rawsql/SpiRawSql.java b/src/main/java/io/ebeaninternal/server/rawsql/SpiRawSql.java index e84ab7d94..73bc6ff19 100644 --- a/src/main/java/io/ebeaninternal/server/rawsql/SpiRawSql.java +++ b/src/main/java/io/ebeaninternal/server/rawsql/SpiRawSql.java @@ -11,6 +11,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; /** * Internal service API for Raw Sql. @@ -432,8 +433,8 @@ public interface SpiRawSql extends RawSql { Column that = (Column) o; if (indexPos != that.indexPos) return false; if (!dbColumn.equals(that.dbColumn)) return false; - if (dbAlias != null ? !dbAlias.equals(that.dbAlias) : that.dbAlias != null) return false; - return propertyName != null ? propertyName.equals(that.propertyName) : that.propertyName == null; + if (!Objects.equals(dbAlias, that.dbAlias)) return false; + return Objects.equals(propertyName, that.propertyName); } @Override diff --git a/src/main/java/io/ebeaninternal/server/transaction/TableModState.java b/src/main/java/io/ebeaninternal/server/transaction/TableModState.java index 70d2ae6b2..e16fa6d81 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/TableModState.java +++ b/src/main/java/io/ebeaninternal/server/transaction/TableModState.java @@ -21,7 +21,7 @@ public class TableModState implements QueryCacheEntryValidate, ServerCacheNotify private static final Logger log = LoggerFactory.getLogger("io.ebean.cache.TABLEMOD"); - private Map tableModStamp = new ConcurrentHashMap<>(); + private final Map tableModStamp = new ConcurrentHashMap<>(); public TableModState() { } diff --git a/src/main/java/io/ebeanservice/docstore/api/mapping/DocMappingBuilder.java b/src/main/java/io/ebeanservice/docstore/api/mapping/DocMappingBuilder.java index 6a4d8bd64..dc433105d 100644 --- a/src/main/java/io/ebeanservice/docstore/api/mapping/DocMappingBuilder.java +++ b/src/main/java/io/ebeanservice/docstore/api/mapping/DocMappingBuilder.java @@ -76,21 +76,16 @@ public class DocMappingBuilder { * Apply any override mappings from the top level docStore annotation. */ public void applyMapping() { - - DocMapping[] mapping = docStore.mapping(); - for (DocMapping docMapping : mapping) { - applyFieldMapping(null, docMapping); + for (DocMapping docMapping : docStore.mapping()) { + applyFieldMapping(docMapping); } } - private void applyFieldMapping(String prefix, DocMapping docMapping) { + private void applyFieldMapping(DocMapping docMapping) { - String name = docMapping.name(); - String fullName = SplitName.add(prefix, name); - - DocPropertyMapping mapping = map.get(fullName); + DocPropertyMapping mapping = map.get(docMapping.name()); if (mapping == null) { - throw new IllegalStateException("DocMapping for [" + fullName + "] but property not included in document?"); + throw new IllegalStateException("DocMapping for [" + docMapping.name() + "] but property not included in document?"); } mapping.apply(docMapping); }