From 6120a465e12fb027f727a6e4b3a59a6d9e2beb6b Mon Sep 17 00:00:00 2001 From: Koen De Groote Date: Thu, 23 Feb 2017 11:46:51 +0100 Subject: [PATCH] Simple fixes (#976) * Should be only the really simple stuff. * Final cleanups. --- .../io/ebean/bean/EntityBeanIntercept.java | 2 +- .../dbplatform/DbPlatformTypeMapping.java | 4 ++-- .../dbplatform/RowNumberSqlLimiter.java | 2 +- .../config/dbplatform/RownumSqlLimiter.java | 2 +- .../dbplatform/h2/H2HistoryTrigger.java | 5 +--- .../sqlserver/SqlServer2005SqlLimiter.java | 2 +- .../io/ebean/dbmigration/DdlGenerator.java | 12 ++-------- .../migrationreader/MigrationXmlReader.java | 5 +--- .../io/ebean/dbmigration/model/MIndex.java | 2 +- .../dbmigration/model/MigrationModel.java | 2 +- .../dbmigration/model/PlatformDdlWriter.java | 5 +--- src/main/java/io/ebean/util/StringHelper.java | 9 ++++---- .../autotune/service/AutoTuneXmlReader.java | 5 +--- .../server/cache/DefaultServerCache.java | 2 +- .../server/core/DefaultContainer.java | 4 +--- .../server/core/OrmQueryRequest.java | 5 +--- .../server/core/PersistRequestBean.java | 2 +- .../server/core/RelationalQueryRequest.java | 2 +- .../server/deploy/BeanDescriptor.java | 5 ++-- .../deploy/BeanDescriptorCacheHelp.java | 3 ++- .../server/deploy/BeanDescriptorManager.java | 4 ++-- .../server/deploy/BeanPropertyAssoc.java | 2 +- .../ChainedBeanPostConstructListener.java | 6 ++--- .../deploy/DeployDocPropertyOptions.java | 2 +- .../GeneratedCounterLong.java | 2 +- .../deploy/meta/DeployBeanDescriptor.java | 4 +--- .../deploy/meta/DeployBeanProperty.java | 2 +- .../server/deploy/parse/AnnotationBase.java | 4 ++-- .../server/deploy/parse/AnnotationClass.java | 2 +- .../server/deploy/parse/AnnotationFields.java | 23 ++++++++++++++++--- .../server/deploy/parse/AnnotationParser.java | 2 +- .../server/deploy/parse/DeployBeanInfo.java | 2 +- .../expression/DefaultExpressionFactory.java | 2 +- .../server/expression/InExpression.java | 2 +- .../server/expression/SimpleExpression.java | 3 ++- .../server/loadcontext/DLoadBeanContext.java | 10 ++------ .../server/persist/BindValues.java | 2 +- .../ebeaninternal/server/persist/Binder.java | 6 ++--- .../server/persist/DefaultPersister.java | 2 +- .../server/persist/ExeUpdateSql.java | 3 +-- .../server/persist/dml/DmlBeanPersister.java | 2 +- .../io/ebeaninternal/server/query/CQuery.java | 4 ++-- .../server/query/CQueryBuilder.java | 4 ++-- .../server/query/CQueryPlanStats.java | 2 +- .../server/query/DefaultSqlRow.java | 2 +- .../server/query/SqlTreeBuilder.java | 2 +- .../server/query/SqlTreeNodeBean.java | 5 ++-- .../server/text/csv/TCsvReader.java | 3 +-- .../server/text/json/DJsonContext.java | 3 +-- .../transaction/ExplicitJdbcTransaction.java | 5 +--- .../server/transaction/JdbcTransaction.java | 2 +- .../server/type/ConvertInetAddresses.java | 5 ++-- .../server/type/DefaultTypeManager.java | 15 +++++++++++- .../server/type/ScalarTypeJsonMap.java | 5 +--- .../server/type/ScalarTypeJsonSet.java | 4 +--- .../server/util/BindParamsParser.java | 2 +- .../tests/cache/TestCacheCollectionIds.java | 2 +- .../tests/model/softdelete/ESoftDelDown.java | 2 +- .../tests/model/softdelete/ESoftDelTop.java | 2 +- 59 files changed, 111 insertions(+), 125 deletions(-) diff --git a/src/main/java/io/ebean/bean/EntityBeanIntercept.java b/src/main/java/io/ebean/bean/EntityBeanIntercept.java index 7d9b03425..451a14844 100644 --- a/src/main/java/io/ebean/bean/EntityBeanIntercept.java +++ b/src/main/java/io/ebean/bean/EntityBeanIntercept.java @@ -859,7 +859,7 @@ public final class EntityBeanIntercept implements Serializable { loadedProps[propertyIndex] = true; } - private final void preGetterCallback() { + private void preGetterCallback() { if (preGetterCallback != null) { preGetterCallback.preGetterTrigger(); } diff --git a/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java b/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java index ec2cb6bd6..c85fef105 100644 --- a/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java +++ b/src/main/java/io/ebean/config/dbplatform/DbPlatformTypeMapping.java @@ -2,7 +2,7 @@ package io.ebean.config.dbplatform; import io.ebean.config.ServerConfig; -import java.util.HashMap; +import java.util.EnumMap; import java.util.Map; /** @@ -25,7 +25,7 @@ public class DbPlatformTypeMapping { private static final DbPlatformType MULTILINESTRING = new DbPlatformType("multilinestring"); private static final DbPlatformType MULTIPOLYGON = new DbPlatformType("multipolygon"); - private final Map typeMap = new HashMap<>(); + private final Map typeMap = new EnumMap<>(DbType.class); /** * Return the DbTypeMap with standard (not platform specific) types. diff --git a/src/main/java/io/ebean/config/dbplatform/RowNumberSqlLimiter.java b/src/main/java/io/ebean/config/dbplatform/RowNumberSqlLimiter.java index c325a6c08..3504ab437 100644 --- a/src/main/java/io/ebean/config/dbplatform/RowNumberSqlLimiter.java +++ b/src/main/java/io/ebean/config/dbplatform/RowNumberSqlLimiter.java @@ -38,7 +38,7 @@ public class RowNumberSqlLimiter implements SqlLimiter { int lastRow = request.getMaxRows(); if (lastRow > 0) { - lastRow = lastRow + firstRow; + lastRow += firstRow; } sb.append("select * from ( "); diff --git a/src/main/java/io/ebean/config/dbplatform/RownumSqlLimiter.java b/src/main/java/io/ebean/config/dbplatform/RownumSqlLimiter.java index 086fac277..265e45f99 100644 --- a/src/main/java/io/ebean/config/dbplatform/RownumSqlLimiter.java +++ b/src/main/java/io/ebean/config/dbplatform/RownumSqlLimiter.java @@ -43,7 +43,7 @@ public class RownumSqlLimiter implements SqlLimiter { int lastRow = request.getMaxRows(); if (lastRow > 0) { - lastRow = lastRow + firstRow; + lastRow += firstRow; } sb.append("select * from ( "); diff --git a/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java b/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java index 3afa3a422..ed46efbbc 100644 --- a/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java +++ b/src/main/java/io/ebean/config/dbplatform/h2/H2HistoryTrigger.java @@ -100,14 +100,11 @@ public class H2HistoryTrigger implements Trigger { */ private void insertIntoHistory(Connection connection, Object[] oldRow) throws SQLException { - PreparedStatement stmt = connection.prepareStatement(insertHistorySql); - try { + try (PreparedStatement stmt = connection.prepareStatement(insertHistorySql)) { for (int i = 0; i < oldRow.length; i++) { stmt.setObject(i + 1, oldRow[i]); } stmt.executeUpdate(); - } finally { - stmt.close(); } } diff --git a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java index 6970e973f..f73e41f37 100644 --- a/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java +++ b/src/main/java/io/ebean/config/dbplatform/sqlserver/SqlServer2005SqlLimiter.java @@ -30,7 +30,7 @@ public class SqlServer2005SqlLimiter implements SqlLimiter { int lastRow = request.getMaxRows(); if (lastRow > 0) { - lastRow = lastRow + firstRow; + lastRow += firstRow; } if (firstRow < 1) { diff --git a/src/main/java/io/ebean/dbmigration/DdlGenerator.java b/src/main/java/io/ebean/dbmigration/DdlGenerator.java index 92a49c402..09563f62e 100644 --- a/src/main/java/io/ebean/dbmigration/DdlGenerator.java +++ b/src/main/java/io/ebean/dbmigration/DdlGenerator.java @@ -233,13 +233,9 @@ public class DdlGenerator { protected void writeFile(String fileName, String fileContent) throws IOException { File f = new File(fileName); - - FileWriter fw = new FileWriter(f); - try { + try (FileWriter fw = new FileWriter(f)) { fw.write(fileContent); fw.flush(); - } finally { - fw.close(); } } @@ -256,17 +252,13 @@ public class DdlGenerator { protected String readContent(Reader reader) throws IOException { StringBuilder buf = new StringBuilder(); - - LineNumberReader lineReader = new LineNumberReader(reader); - try { + try (LineNumberReader lineReader = new LineNumberReader(reader)) { String s; while ((s = lineReader.readLine()) != null) { buf.append(s).append("\n"); } return buf.toString(); - } finally { - lineReader.close(); } } diff --git a/src/main/java/io/ebean/dbmigration/migrationreader/MigrationXmlReader.java b/src/main/java/io/ebean/dbmigration/migrationreader/MigrationXmlReader.java index a8b568bd7..0860f6abf 100644 --- a/src/main/java/io/ebean/dbmigration/migrationreader/MigrationXmlReader.java +++ b/src/main/java/io/ebean/dbmigration/migrationreader/MigrationXmlReader.java @@ -38,11 +38,8 @@ public class MigrationXmlReader { public static Migration read(File migrationFile) { try { - FileInputStream is = new FileInputStream(migrationFile); - try { + try (FileInputStream is = new FileInputStream(migrationFile)) { return read(is); - } finally { - is.close(); } } catch (IOException e) { throw new RuntimeException(e); diff --git a/src/main/java/io/ebean/dbmigration/model/MIndex.java b/src/main/java/io/ebean/dbmigration/model/MIndex.java index 502790e18..4c49467e0 100644 --- a/src/main/java/io/ebean/dbmigration/model/MIndex.java +++ b/src/main/java/io/ebean/dbmigration/model/MIndex.java @@ -117,8 +117,8 @@ public class MIndex { private List split(String columns) { - List colList = new ArrayList<>(); String[] cols = columns.split(","); + List colList = new ArrayList<>(cols.length); Collections.addAll(colList, cols); return colList; } diff --git a/src/main/java/io/ebean/dbmigration/model/MigrationModel.java b/src/main/java/io/ebean/dbmigration/model/MigrationModel.java index fd817c3e0..07937fd95 100644 --- a/src/main/java/io/ebean/dbmigration/model/MigrationModel.java +++ b/src/main/java/io/ebean/dbmigration/model/MigrationModel.java @@ -43,7 +43,7 @@ public class MigrationModel { // find all the migration xml files File[] xmlFiles = modelDirectory.listFiles(pathname -> pathname.getName().toLowerCase().endsWith(modelSuffix)); - List resources = new ArrayList<>(); + List resources = new ArrayList<>(xmlFiles.length); for (File xmlFile : xmlFiles) { resources.add(new MigrationResource(xmlFile, createVersion(xmlFile))); diff --git a/src/main/java/io/ebean/dbmigration/model/PlatformDdlWriter.java b/src/main/java/io/ebean/dbmigration/model/PlatformDdlWriter.java index 03dd7da53..bcc4205d7 100644 --- a/src/main/java/io/ebean/dbmigration/model/PlatformDdlWriter.java +++ b/src/main/java/io/ebean/dbmigration/model/PlatformDdlWriter.java @@ -71,12 +71,9 @@ public class PlatformDdlWriter { protected void writePlatformDdl(DdlWrite write, File resourcePath, String fullVersion) throws IOException { if (!write.isApplyEmpty()) { - FileWriter applyWriter = createWriter(resourcePath, fullVersion, config.getApplySuffix()); - try { + try (FileWriter applyWriter = createWriter(resourcePath, fullVersion, config.getApplySuffix())) { writeApplyDdl(applyWriter, write); applyWriter.flush(); - } finally { - applyWriter.close(); } } } diff --git a/src/main/java/io/ebean/util/StringHelper.java b/src/main/java/io/ebean/util/StringHelper.java index 530c9350c..a4b482e08 100644 --- a/src/main/java/io/ebean/util/StringHelper.java +++ b/src/main/java/io/ebean/util/StringHelper.java @@ -49,7 +49,7 @@ public class StringHelper { private static HashMap parseNameQuotedValue(HashMap map, String tag, int pos) throws RuntimeException { - int equalsPos = tag.indexOf("=", pos); + int equalsPos = tag.indexOf('=', pos); if (equalsPos > -1) { // check for begin quote... char firstQuote = tag.charAt(equalsPos + 1); @@ -68,7 +68,6 @@ public class StringHelper { // dp("pos="+pos+" equalsPos="+equalsPos+" // endQuotePos="+endQuotePos); String name = tag.substring(pos, equalsPos); - String value = tag.substring(equalsPos + 2, endQuotePos); // dp("name="+name+"; value="+value+";"); // trim off any whitespace from the front of name... @@ -76,6 +75,8 @@ public class StringHelper { if ((name.indexOf(SINGLE_QUOTE) > -1) || (name.indexOf(DOUBLE_QUOTE) > -1)) { throw new RuntimeException("attribute name contains a quote [" + name + "]"); } + + String value = tag.substring(equalsPos + 2, endQuotePos); map.put(name, value); return parseNameQuotedValue(map, tag, endQuotePos + 1); @@ -97,7 +98,7 @@ public class StringHelper { private static int countOccurances(String content, String occurs, int pos, int countSoFar) { int equalsPos = content.indexOf(occurs, pos); if (equalsPos > -1) { - countSoFar = countSoFar + 1; + countSoFar += 1; pos = equalsPos + occurs.length(); // dp("countSoFar="+countSoFar+" pos="+pos); return countOccurances(content, occurs, pos, countSoFar); @@ -279,7 +280,7 @@ public class StringHelper { } int startPos = str.indexOf(leftBound); if (startPos > -1) { - startPos = startPos + leftBound.length(); + startPos += leftBound.length(); int endPos = str.indexOf(rightBound, startPos); // dp(str+" start:"+startPos+" end:"+endPos); if (endPos == -1) { diff --git a/src/main/java/io/ebeaninternal/server/autotune/service/AutoTuneXmlReader.java b/src/main/java/io/ebeaninternal/server/autotune/service/AutoTuneXmlReader.java index 39f87f560..3b0dd797f 100644 --- a/src/main/java/io/ebeaninternal/server/autotune/service/AutoTuneXmlReader.java +++ b/src/main/java/io/ebeaninternal/server/autotune/service/AutoTuneXmlReader.java @@ -31,11 +31,8 @@ public class AutoTuneXmlReader { if (!file.exists()) { return new Autotune(); } - FileInputStream is = new FileInputStream(file); - try { + try (FileInputStream is = new FileInputStream(file)) { return read(is); - } finally { - is.close(); } } diff --git a/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java b/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java index abc97956c..4ce91d4e3 100644 --- a/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java +++ b/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java @@ -276,7 +276,7 @@ public class DefaultServerCache implements ServerCache { long trimmedByTTL = 0; long trimmedByLRU = 0; - ArrayList activeList = new ArrayList<>(); + ArrayList activeList = new ArrayList<>(map.size()); long idleExpire = System.currentTimeMillis() - (maxIdleSecs * 1000); long ttlExpire = System.currentTimeMillis() - (maxSecsToLive * 1000); diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java b/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java index 9b9826181..717112ad1 100644 --- a/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java +++ b/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java @@ -270,10 +270,8 @@ public class DefaultContainer implements SpiContainer { return null; } - DataSource ds; - if (config.getDataSourceJndiName() != null) { - ds = jndiDataSourceFactory.lookup(config.getDataSourceJndiName()); + DataSource ds = jndiDataSourceFactory.lookup(config.getDataSourceJndiName()); if (ds == null) { throw new PersistenceException("JNDI lookup for DataSource " + config.getDataSourceJndiName() + " returned null."); } else { diff --git a/src/main/java/io/ebeaninternal/server/core/OrmQueryRequest.java b/src/main/java/io/ebeaninternal/server/core/OrmQueryRequest.java index e3fd3c678..037a24be1 100644 --- a/src/main/java/io/ebeaninternal/server/core/OrmQueryRequest.java +++ b/src/main/java/io/ebeaninternal/server/core/OrmQueryRequest.java @@ -309,13 +309,10 @@ public final class OrmQueryRequest extends BeanRequest implements BeanQueryRe } public void findEach(Consumer consumer) { - QueryIterator it = queryEngine.findIterate(this); - try { + try (QueryIterator it = queryEngine.findIterate(this)) { while (it.hasNext()) { consumer.accept(it.next()); } - } finally { - it.close(); } } diff --git a/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java b/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java index 5e98dbcac..c4057c157 100644 --- a/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java +++ b/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java @@ -736,7 +736,7 @@ public final class PersistRequestBean extends PersistRequest implements BeanP @Override public final void checkRowCount(int rowCount) { if (ConcurrencyMode.VERSION == concurrencyMode && rowCount != 1) { - String m = Message.msg("persist.conc2", "" + rowCount); + String m = Message.msg("persist.conc2", String.valueOf(rowCount)); throw new OptimisticLockException(m, null, bean); } switch (type) { diff --git a/src/main/java/io/ebeaninternal/server/core/RelationalQueryRequest.java b/src/main/java/io/ebeaninternal/server/core/RelationalQueryRequest.java index 9131514e5..e8e12aec0 100644 --- a/src/main/java/io/ebeaninternal/server/core/RelationalQueryRequest.java +++ b/src/main/java/io/ebeaninternal/server/core/RelationalQueryRequest.java @@ -138,10 +138,10 @@ public final class RelationalQueryRequest { */ private String[] getPropertyNames() throws SQLException { - ArrayList propNames = new ArrayList<>(); ResultSetMetaData metaData = resultSet.getMetaData(); int columnsPlusOne = metaData.getColumnCount() + 1; + ArrayList propNames = new ArrayList<>(columnsPlusOne - 1); for (int i = 1; i < columnsPlusOne; i++) { propNames.add(metaData.getColumnLabel(i)); } diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java index 3ce46aac2..6e1562d38 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java @@ -817,9 +817,8 @@ public class BeanDescriptor implements MetaBeanInfo, BeanType { /** * Return the bean change for a delete. */ - @SuppressWarnings("unchecked") private BeanChange deleteBeanChange(PersistRequestBean request) { - return newBeanChange(request.getBeanId(), ChangeType.DELETE, Collections.EMPTY_MAP); + return newBeanChange(request.getBeanId(), ChangeType.DELETE, Collections.emptyMap()); } /** @@ -2153,7 +2152,7 @@ public class BeanDescriptor implements MetaBeanInfo, BeanType { if (propertyDeploy && chain != null) { ElPropertyDeploy fk = elDeployCache.get(propName); - if (fk != null && fk instanceof BeanFkeyProperty) { + if (fk instanceof BeanFkeyProperty) { // propertyDeploy chain for foreign key column return ((BeanFkeyProperty) fk).create(chain.getExpression(), chain.isContainsMany()); } diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java index 8efe338ab..841b8d901 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java @@ -296,11 +296,12 @@ final class BeanDescriptorCacheHelp { BeanDescriptor targetDescriptor = many.getTargetDescriptor(); - List idList = new ArrayList<>(); Collection actualDetails = BeanCollectionUtil.getActualEntries(details); if (actualDetails == null) { return null; } + + List idList = new ArrayList<>(actualDetails.size()); for (Object bean : actualDetails) { idList.add(targetDescriptor.getId((EntityBean) bean)); } diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java index 82503612f..5a7ea7161 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java @@ -567,7 +567,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap { private void checkForValidEmbeddedId(BeanDescriptor d) { IdBinder idBinder = d.getIdBinder(); - if (idBinder != null && idBinder instanceof IdBinderEmbedded) { + if (idBinder instanceof IdBinderEmbedded) { IdBinderEmbedded embId = (IdBinderEmbedded) idBinder; BeanDescriptor idBeanDescriptor = embId.getIdBeanDescriptor(); Class idType = idBeanDescriptor.getBeanType(); @@ -886,7 +886,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap { // get the target type short name String targetType = prop.getTargetType().getName(); - String shortTypeName = targetType.substring(targetType.lastIndexOf(".") + 1); + String shortTypeName = targetType.substring(targetType.lastIndexOf('.') + 1); // name includes (probably ends with) the target type short name? int p = name.indexOf(shortTypeName); diff --git a/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssoc.java b/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssoc.java index a8fc81ec6..8ba10eabd 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssoc.java +++ b/src/main/java/io/ebeaninternal/server/deploy/BeanPropertyAssoc.java @@ -360,7 +360,7 @@ public abstract class BeanPropertyAssoc extends BeanProperty { private ImportedIdSimple[] createImportedList(BeanPropertyAssoc owner, TableJoinColumn[] cols, BeanProperty[] props, BeanProperty[] others) { - ArrayList list = new ArrayList<>(); + ArrayList list = new ArrayList<>(cols.length); for (TableJoinColumn col : cols) { list.add(createImportedScalar(owner, col, props, others)); diff --git a/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java b/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java index a19fdb05f..123bed237 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java +++ b/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java @@ -29,8 +29,7 @@ public class ChainedBeanPostConstructListener implements BeanPostConstructListen if (list.contains(c)) { return this; } else { - List newList = new ArrayList<>(); - newList.addAll(list); + List newList = new ArrayList<>(list); newList.add(c); return new ChainedBeanPostConstructListener(newList); @@ -44,8 +43,7 @@ public class ChainedBeanPostConstructListener implements BeanPostConstructListen if (!list.contains(c)) { return this; } else { - ArrayList newList = new ArrayList<>(); - newList.addAll(list); + ArrayList newList = new ArrayList<>(list); newList.remove(c); return new ChainedBeanPostConstructListener(newList); diff --git a/src/main/java/io/ebeaninternal/server/deploy/DeployDocPropertyOptions.java b/src/main/java/io/ebeaninternal/server/deploy/DeployDocPropertyOptions.java index 51eec152d..17cdda9ce 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/DeployDocPropertyOptions.java +++ b/src/main/java/io/ebeaninternal/server/deploy/DeployDocPropertyOptions.java @@ -53,7 +53,7 @@ public class DeployDocPropertyOptions { } private void setNullValue(String value) { - if (!value.equals("")) { + if (!value.isEmpty()) { mapping.setNullValue(value); } } diff --git a/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedCounterLong.java b/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedCounterLong.java index e1a0661e0..d10c6f9a8 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedCounterLong.java +++ b/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedCounterLong.java @@ -17,7 +17,7 @@ public class GeneratedCounterLong implements GeneratedProperty { */ @Override public Object getInsertValue(BeanProperty prop, EntityBean bean, long now) { - return (long) 1; + return 1L; } /** diff --git a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java index 3028a8ca7..2a2531a3b 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java +++ b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanDescriptor.java @@ -633,9 +633,7 @@ public class DeployBeanDescriptor { public void sortProperties() { - ArrayList list = new ArrayList<>(); - list.addAll(propMap.values()); - + ArrayList list = new ArrayList<>(propMap.values()); Collections.sort(list, PROP_ORDER); propMap = new LinkedHashMap<>(list.size()); diff --git a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java index 110c10a70..c6cf4c229 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java +++ b/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java @@ -585,7 +585,7 @@ public class DeployBeanProperty { */ public void setSqlFormula(String formulaSelect, String formulaJoin) { this.sqlFormulaSelect = formulaSelect; - this.sqlFormulaJoin = formulaJoin.equals("") ? null : formulaJoin; + this.sqlFormulaJoin = formulaJoin.isEmpty() ? null : formulaJoin; this.dbRead = true; this.dbInsertable = false; this.dbUpdateable = false; diff --git a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationBase.java b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationBase.java index 83e2047ac..67a5d491e 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationBase.java +++ b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationBase.java @@ -56,7 +56,7 @@ public abstract class AnnotationBase { *

* If a repeatable annotation class is specified and the annotation is platform * specific(see {@link #getPlatformMatchingAnnotation(Set, Platform)}), then the platform specific - * annotation is returned. Otherwise the first annotation is retured. Note that you must no longer + * annotation is returned. Otherwise the first annotation is returned. Note that you must no longer * handle "java 1.6 repeatable containers" like {@link JoinColumn} / {@link JoinColumns} yourself. *

*

@@ -256,7 +256,7 @@ public abstract class AnnotationBase { } // caches for getRepeatableValueMethod - private static final Method getNullMethod() { + private static Method getNullMethod() { try { return AnnotationBase.class.getDeclaredMethod("getNullMethod"); } catch (NoSuchMethodException e) { diff --git a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationClass.java b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationClass.java index 1f9be565f..91fdcf141 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationClass.java +++ b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationClass.java @@ -119,7 +119,7 @@ public class AnnotationClass extends AnnotationParser { Entity entity = AnnotationBase.findAnnotation(cls,Entity.class); if (entity != null) { descriptor.setEntityType(EntityType.ORM); - if (entity.name().equals("")) { + if (entity.name().isEmpty()) { descriptor.setName(cls.getSimpleName()); } else { descriptor.setName(entity.name()); diff --git a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java index 236ce08a6..66793a20b 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java +++ b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java @@ -46,7 +46,24 @@ import io.ebean.annotation.WhenModified; import io.ebean.annotation.WhoCreated; import io.ebean.annotation.WhoModified; -import javax.persistence.*; +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.EmbeddedId; +import javax.persistence.Enumerated; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Lob; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.OneToOne; +import javax.persistence.PersistenceException; +import javax.persistence.SequenceGenerator; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import javax.persistence.Transient; +import javax.persistence.Version; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.sql.Types; @@ -503,12 +520,12 @@ public class AnnotationFields extends AnnotationParser { } else if (strategy == GenerationType.SEQUENCE) { descriptor.setIdType(IdType.SEQUENCE); - if (!genName.equals("")) { + if (!genName.isEmpty()) { descriptor.setIdGeneratorName(genName); } } else if (strategy == GenerationType.AUTO) { - if (!genName.equals("")) { + if (!genName.isEmpty()) { // use a custom IdGenerator PlatformIdGenerator idGenerator = generatedPropFactory.getIdGenerator(genName); if (idGenerator == null) { diff --git a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationParser.java b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationParser.java index 0d8bad219..ec3f40551 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationParser.java +++ b/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationParser.java @@ -56,7 +56,7 @@ public abstract class AnnotationParser extends AnnotationBase { Set attrOverrides = getAll(prop, AttributeOverride.class); if (!attrOverrides.isEmpty()) { - HashMap propMap = new HashMap<>(); + HashMap propMap = new HashMap<>(attrOverrides.size()); for (AttributeOverride attrOverride : attrOverrides) { propMap.put(attrOverride.name(), attrOverride.column().name()); } diff --git a/src/main/java/io/ebeaninternal/server/deploy/parse/DeployBeanInfo.java b/src/main/java/io/ebeaninternal/server/deploy/parse/DeployBeanInfo.java index 0cb9bca67..925524f3a 100644 --- a/src/main/java/io/ebeaninternal/server/deploy/parse/DeployBeanInfo.java +++ b/src/main/java/io/ebeaninternal/server/deploy/parse/DeployBeanInfo.java @@ -31,7 +31,7 @@ public class DeployBeanInfo { } public String toString() { - return ""+descriptor; + return String.valueOf(descriptor); } /** diff --git a/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionFactory.java b/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionFactory.java index 153b278ce..516964b69 100644 --- a/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionFactory.java +++ b/src/main/java/io/ebeaninternal/server/expression/DefaultExpressionFactory.java @@ -230,7 +230,7 @@ public class DefaultExpressionFactory implements SpiExpressionFactory { } private EntityBean checkEntityBean(Object bean) { - if (bean == null || (!(bean instanceof EntityBean))) { + if (!(bean instanceof EntityBean)) { throw new IllegalStateException("Expecting an EntityBean"); } return (EntityBean) bean; diff --git a/src/main/java/io/ebeaninternal/server/expression/InExpression.java b/src/main/java/io/ebeaninternal/server/expression/InExpression.java index d41b772c6..1c1bac7c4 100644 --- a/src/main/java/io/ebeaninternal/server/expression/InExpression.java +++ b/src/main/java/io/ebeaninternal/server/expression/InExpression.java @@ -34,7 +34,7 @@ class InExpression extends AbstractExpression { } private Object[] values() { - List vals = new ArrayList<>(); + List vals = new ArrayList<>(sourceValues.size()); for (Object sourceValue : sourceValues) { NamedParamHelp.valueAdd(vals, sourceValue); } diff --git a/src/main/java/io/ebeaninternal/server/expression/SimpleExpression.java b/src/main/java/io/ebeaninternal/server/expression/SimpleExpression.java index 7182646d4..df90b02af 100644 --- a/src/main/java/io/ebeaninternal/server/expression/SimpleExpression.java +++ b/src/main/java/io/ebeaninternal/server/expression/SimpleExpression.java @@ -8,6 +8,7 @@ import io.ebeaninternal.api.SpiExpressionRequest; import io.ebeaninternal.server.el.ElPropertyValue; import java.io.IOException; +import java.util.Arrays; public class SimpleExpression extends AbstractValueExpression { @@ -36,7 +37,7 @@ public class SimpleExpression extends AbstractValueExpression { String idName = prop.getAssocIdExpression(propName, ""); Object[] ids = prop.getAssocIdValues((EntityBean) value()); if (ids == null || ids.length != 1) { - throw new IllegalArgumentException("Expecting 1 Id value for " + idName + " but got " + ids); + throw new IllegalArgumentException("Expecting 1 Id value for " + idName + " but got " + Arrays.toString(ids)); } context.writeSimple(type, idName, ids[0]); } else { diff --git a/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java b/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java index 75c62ff78..cb69a1843 100644 --- a/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java +++ b/src/main/java/io/ebeaninternal/server/loadcontext/DLoadBeanContext.java @@ -181,14 +181,8 @@ public class DLoadBeanContext extends DLoadBaseContext implements LoadBeanContex if (context.hitCache) { // check each of the beans in the batch to see if they are in the L2 cache. - Iterator iterator = list.iterator(); - while (iterator.hasNext()) { - EntityBeanIntercept batchEbi = iterator.next(); - if (batchEbi != ebi && context.desc.cacheBeanLoad(batchEbi, persistenceContext)) { - // bean successfully loaded from L2 cache so remove from batch load - iterator.remove(); - } - } + // bean successfully loaded from L2 cache so remove from batch load + list.removeIf(batchEbi -> batchEbi != ebi && context.desc.cacheBeanLoad(batchEbi, persistenceContext)); } LoadBeanRequest req = new LoadBeanRequest(this, ebi.getLazyLoadProperty(), context.hitCache); diff --git a/src/main/java/io/ebeaninternal/server/persist/BindValues.java b/src/main/java/io/ebeaninternal/server/persist/BindValues.java index ebb72db9d..d10a6ebec 100644 --- a/src/main/java/io/ebeaninternal/server/persist/BindValues.java +++ b/src/main/java/io/ebeaninternal/server/persist/BindValues.java @@ -81,7 +81,7 @@ public class BindValues { } public String toString() { - return "" + value; + return String.valueOf(value); } } } diff --git a/src/main/java/io/ebeaninternal/server/persist/Binder.java b/src/main/java/io/ebeaninternal/server/persist/Binder.java index 3397ea6c7..33e07e38f 100644 --- a/src/main/java/io/ebeaninternal/server/persist/Binder.java +++ b/src/main/java/io/ebeaninternal/server/persist/Binder.java @@ -80,7 +80,7 @@ public class Binder { if (bindBuf != null) { bindBuf.append(logPrefix); - if (logPrefix.equals("")) { + if (logPrefix.isEmpty()) { logPrefix = ", "; } bindBuf.append(bindValue.getName()); @@ -163,7 +163,7 @@ public class Binder { } } catch (SQLException ex) { - logger.warn(Message.msg("fetch.bind.error", "" + (dataBind.currentPos() - 1), value)); + logger.warn(Message.msg("fetch.bind.error", String.valueOf(dataBind.currentPos() - 1), value)); throw ex; } } @@ -333,7 +333,7 @@ public class Binder { break; default: - String msg = Message.msg("persist.bind.datatype", "" + dataType, "" + b.currentPos()); + String msg = Message.msg("persist.bind.datatype", String.valueOf(dataType), String.valueOf(b.currentPos())); throw new SQLException(msg); } diff --git a/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java b/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java index b5a606ad3..a5c63bfe0 100644 --- a/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java +++ b/src/main/java/io/ebeaninternal/server/persist/DefaultPersister.java @@ -165,7 +165,7 @@ public final class DefaultPersister implements Persister { * Helper method to return the list of Id values for the list of beans. */ private List getBeanIds(BeanDescriptor desc, List beans) { - List idList = new ArrayList<>(); + List idList = new ArrayList<>(beans.size()); for (T liveBean : beans) { idList.add(desc.getBeanId(liveBean)); } diff --git a/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java b/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java index 6fc3549ec..d54d9b7f8 100644 --- a/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java +++ b/src/main/java/io/ebeaninternal/server/persist/ExeUpdateSql.java @@ -160,8 +160,7 @@ public class ExeUpdateSql { private int leadingTrim(String s) { int len = s.length(); - int i; - for (i = 0; i < len; i++) { + for (int i = 0; i < len; i++) { if (!Character.isWhitespace(s.charAt(i))) { return i; } diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java b/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java index 86515483a..2975fce3e 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java @@ -85,7 +85,7 @@ public final class DmlBeanPersister implements BeanPersister { throw new PersistenceException(msg, e); } finally { - if (!batched && handler != null) { + if (!batched) { handler.close(); } } diff --git a/src/main/java/io/ebeaninternal/server/query/CQuery.java b/src/main/java/io/ebeaninternal/server/query/CQuery.java index a9ac7a6c8..bd9276297 100644 --- a/src/main/java/io/ebeaninternal/server/query/CQuery.java +++ b/src/main/java/io/ebeaninternal/server/query/CQuery.java @@ -535,7 +535,7 @@ public class CQuery implements DbReadContext, CancelableQuery { List> versionList = new ArrayList<>(); - Version version; + Version version; while ((version = readNextVersion()) != null) { versionList.add(version); } @@ -544,7 +544,7 @@ public class CQuery implements DbReadContext, CancelableQuery { return versionList; } - private Version readNextVersion() throws SQLException { + private Version readNextVersion() throws SQLException { if (moveToNextRow()) { return rootNode.loadVersion(this); diff --git a/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java b/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java index 9e1f3c1fa..d9423e356 100644 --- a/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java +++ b/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java @@ -377,11 +377,11 @@ class CQueryBuilder { PreparedStatement statement = connection.prepareStatement(sql); predicates.bind(statement, connection); - List propertyNames = new ArrayList<>(); - ResultSet resultSet = statement.executeQuery(); ResultSetMetaData metaData = resultSet.getMetaData(); + int cols = 1 + metaData.getColumnCount(); + List propertyNames = new ArrayList<>(cols - 1); for (int i = 1; i < cols; i++) { String tableName = metaData.getTableName(i).toLowerCase(); String columnName = metaData.getColumnName(i).toLowerCase(); diff --git a/src/main/java/io/ebeaninternal/server/query/CQueryPlanStats.java b/src/main/java/io/ebeaninternal/server/query/CQueryPlanStats.java index 6813e0a5c..fc731eadd 100644 --- a/src/main/java/io/ebeaninternal/server/query/CQueryPlanStats.java +++ b/src/main/java/io/ebeaninternal/server/query/CQueryPlanStats.java @@ -119,7 +119,7 @@ public final class CQueryPlanStats { return Collections.emptyList(); } - List list = new ArrayList<>(); + List list = new ArrayList<>(origins.size()); for (Entry entry : origins.entrySet()) { if (reset) { diff --git a/src/main/java/io/ebeaninternal/server/query/DefaultSqlRow.java b/src/main/java/io/ebeaninternal/server/query/DefaultSqlRow.java index eb5a03648..af3e226ee 100644 --- a/src/main/java/io/ebeaninternal/server/query/DefaultSqlRow.java +++ b/src/main/java/io/ebeaninternal/server/query/DefaultSqlRow.java @@ -31,7 +31,7 @@ import java.util.UUID; */ public class DefaultSqlRow implements SqlRow { - static final long serialVersionUID = -3120927797041336242L; + private static final long serialVersionUID = -3120927797041336242L; private final String dbTrueValue; diff --git a/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java b/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java index d202f9572..57dbb9b18 100644 --- a/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java +++ b/src/main/java/io/ebeaninternal/server/query/SqlTreeBuilder.java @@ -387,7 +387,7 @@ public class SqlTreeBuilder { } else if (p instanceof BeanPropertyAssoc && p.isEmbedded()) { // if the property is embedded we need to lookup the real column name - int pos = propName.indexOf("."); + int pos = propName.indexOf('.'); if (pos > -1) { String name = propName.substring(pos + 1); p = ((BeanPropertyAssoc) p).getTargetDescriptor().findBeanProperty(name); diff --git a/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java b/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java index 3a95ab3a7..1a9c56dbe 100644 --- a/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java +++ b/src/main/java/io/ebeaninternal/server/query/SqlTreeNodeBean.java @@ -203,9 +203,6 @@ class SqlTreeNodeBean implements SqlTreeNode { lazyLoadParentId = lazyLoadParentIdBinder.read(ctx); } - // bean already existing in the persistence context - EntityBean contextBean = null; - Class localType; BeanDescriptor localDesc; IdBinder localIdBinder; @@ -237,6 +234,8 @@ class SqlTreeNodeBean implements SqlTreeNode { PersistenceContext persistenceContext = (!readId || temporalVersions) ? null : ctx.getPersistenceContext(); + // bean already existing in the persistence context + EntityBean contextBean = null; if (readId) { Object id = localIdBinder.readSet(ctx, localBean); if (id == null) { diff --git a/src/main/java/io/ebeaninternal/server/text/csv/TCsvReader.java b/src/main/java/io/ebeaninternal/server/text/csv/TCsvReader.java index 25c28557c..d74f5f5bc 100644 --- a/src/main/java/io/ebeaninternal/server/text/csv/TCsvReader.java +++ b/src/main/java/io/ebeaninternal/server/text/csv/TCsvReader.java @@ -251,8 +251,7 @@ public class TCsvReader implements CsvReader { EntityBean entityBean = descriptor.createEntityBean(); T bean = (T) entityBean; - int columnPos = 0; - for (; columnPos < line.length; columnPos++) { + for (int columnPos = 0; columnPos < line.length; columnPos++) { convertAndSetColumn(columnPos, line[columnPos], entityBean); } diff --git a/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java b/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java index fcf863000..c4a2ca2e2 100644 --- a/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java +++ b/src/main/java/io/ebeaninternal/server/text/json/DJsonContext.java @@ -161,8 +161,6 @@ public class DJsonContext implements JsonContext { ReadJson readJson = new ReadJson(desc, src, options, determineObjectMapper(options)); try { - List list = new ArrayList<>(); - JsonToken currentToken = src.getCurrentToken(); if (currentToken != JsonToken.START_ARRAY) { JsonToken event = src.nextToken(); @@ -171,6 +169,7 @@ public class DJsonContext implements JsonContext { } } + List list = new ArrayList<>(); do { T bean = desc.jsonRead(readJson, null); if (bean == null) { diff --git a/src/main/java/io/ebeaninternal/server/transaction/ExplicitJdbcTransaction.java b/src/main/java/io/ebeaninternal/server/transaction/ExplicitJdbcTransaction.java index e46ebc986..00b6b8002 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/ExplicitJdbcTransaction.java +++ b/src/main/java/io/ebeaninternal/server/transaction/ExplicitJdbcTransaction.java @@ -34,11 +34,8 @@ public class ExplicitJdbcTransaction extends JdbcTransaction { } private void executeStatement(String statement) throws SQLException { - PreparedStatement stmt = connection.prepareStatement(statement); - try { + try (PreparedStatement stmt = connection.prepareStatement(statement)) { stmt.execute(); - } finally { - stmt.close(); } } diff --git a/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java b/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java index bfa7f6e8e..b478c249e 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java +++ b/src/main/java/io/ebeaninternal/server/transaction/JdbcTransaction.java @@ -15,7 +15,7 @@ import io.ebeaninternal.server.core.PersistRequest; import io.ebeaninternal.server.core.PersistRequestBean; import io.ebeaninternal.server.lib.util.Str; import io.ebeaninternal.server.persist.BatchControl; -import io.ebeanservice.docstore.api.*; +import io.ebeanservice.docstore.api.DocStoreTransaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/io/ebeaninternal/server/type/ConvertInetAddresses.java b/src/main/java/io/ebeaninternal/server/type/ConvertInetAddresses.java index 0def46612..02d03f91f 100644 --- a/src/main/java/io/ebeaninternal/server/type/ConvertInetAddresses.java +++ b/src/main/java/io/ebeaninternal/server/type/ConvertInetAddresses.java @@ -248,7 +248,7 @@ public final class ConvertInetAddresses { } byte[] bytes = new byte[2 * IPV6_PART_COUNT]; for (int i = 0; i < IPV6_PART_COUNT; i++) { - int piece = address[i].equals("") ? 0 : Integer.parseInt(address[i], 16); + int piece = address[i].isEmpty() ? 0 : Integer.parseInt(address[i], 16); bytes[2 * i] = (byte) ((piece & 0xFF00) >>> 8); bytes[2 * i + 1] = (byte) (piece & 0xFF); } @@ -283,7 +283,6 @@ public final class ConvertInetAddresses { private static String convertDottedQuadToHex(String ipString) { int lastColon = ipString.lastIndexOf(':'); - String initialPart = ipString.substring(0, lastColon + 1); String dottedQuad = ipString.substring(lastColon + 1); byte[] quad = textToNumericFormatV4(dottedQuad); if (quad == null) { @@ -291,6 +290,8 @@ public final class ConvertInetAddresses { } String penultimate = Integer.toHexString(((quad[0] & 0xff) << 8) | (quad[1] & 0xff)); String ultimate = Integer.toHexString(((quad[2] & 0xff) << 8) | (quad[3] & 0xff)); + + String initialPart = ipString.substring(0, lastColon + 1); return initialPart + penultimate + ":" + ultimate; } diff --git a/src/main/java/io/ebeaninternal/server/type/DefaultTypeManager.java b/src/main/java/io/ebeaninternal/server/type/DefaultTypeManager.java index b65a719b6..b108cad94 100644 --- a/src/main/java/io/ebeaninternal/server/type/DefaultTypeManager.java +++ b/src/main/java/io/ebeaninternal/server/type/DefaultTypeManager.java @@ -52,7 +52,20 @@ import java.time.YearMonth; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; -import java.util.*; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Currency; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.ServiceLoader; +import java.util.Set; +import java.util.TimeZone; +import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; /** diff --git a/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonMap.java b/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonMap.java index 6d7bf9c61..ff714f2ad 100644 --- a/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonMap.java +++ b/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonMap.java @@ -87,11 +87,8 @@ public abstract class ScalarTypeJsonMap extends ScalarTypeBase { return null; } try { - InputStreamReader reader = new InputStreamReader(is); - try { + try (InputStreamReader reader = new InputStreamReader(is)) { return parse(reader); - } finally { - reader.close(); } } catch (IOException e) { throw new SQLException("Error reading Blob stream from DB", e); diff --git a/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java b/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java index 17ce80ef9..9eaf2af19 100644 --- a/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java +++ b/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java @@ -126,9 +126,7 @@ public class ScalarTypeJsonSet { @SuppressWarnings("unchecked") private Set convertList(List list) { - LinkedHashSet set = new LinkedHashSet(); - set.addAll(list); - return set; + return new LinkedHashSet(list); } } diff --git a/src/main/java/io/ebeaninternal/server/util/BindParamsParser.java b/src/main/java/io/ebeaninternal/server/util/BindParamsParser.java index 125590c45..55b5b7d69 100644 --- a/src/main/java/io/ebeaninternal/server/util/BindParamsParser.java +++ b/src/main/java/io/ebeaninternal/server/util/BindParamsParser.java @@ -153,7 +153,7 @@ public class BindParamsParser { // check if inValue is a Collection type... Object inValue = param.getInValue(); - if (inValue != null && inValue instanceof Collection) { + if (inValue instanceof Collection) { // Chop up Collection parameter into a number // of individual parameters and add each one individually Collection collection = (Collection) inValue; diff --git a/src/test/java/org/tests/cache/TestCacheCollectionIds.java b/src/test/java/org/tests/cache/TestCacheCollectionIds.java index 6654ff896..b21369531 100644 --- a/src/test/java/org/tests/cache/TestCacheCollectionIds.java +++ b/src/test/java/org/tests/cache/TestCacheCollectionIds.java @@ -79,7 +79,7 @@ public class TestCacheCollectionIds extends BaseTestCase { Customer customer2 = Ebean.find(Customer.class, id); List contacts2 = customer2.getContacts(); - contacts2.size(); + for (Contact contact : contacts2) { contact.getFirstName(); contact.getEmail(); diff --git a/src/test/java/org/tests/model/softdelete/ESoftDelDown.java b/src/test/java/org/tests/model/softdelete/ESoftDelDown.java index 568d0bdd4..bdc49070a 100644 --- a/src/test/java/org/tests/model/softdelete/ESoftDelDown.java +++ b/src/test/java/org/tests/model/softdelete/ESoftDelDown.java @@ -7,7 +7,7 @@ public class ESoftDelDown extends BaseSoftDelete { String down; - public ESoftDelDown(String up) { + public ESoftDelDown(String down) { this.down = down; } diff --git a/src/test/java/org/tests/model/softdelete/ESoftDelTop.java b/src/test/java/org/tests/model/softdelete/ESoftDelTop.java index 00c05d172..31e36afe8 100644 --- a/src/test/java/org/tests/model/softdelete/ESoftDelTop.java +++ b/src/test/java/org/tests/model/softdelete/ESoftDelTop.java @@ -21,7 +21,7 @@ public class ESoftDelTop extends BaseSoftDelete { return name; } - public void setName(String top) { + public void setName(String name) { this.name = name; }