Fix warnings (#1129)

* FIX: warnings (add generics, overrides, fix imports) - should be no effecive code change

* replaced deprecated methods by default methods

* FIX: more compiler warnings

* FIX more warnings - no code changes
This commit is contained in:
Roland Praml
2017-09-14 00:29:01 +12:00
committed by Rob Bygrave
parent a5f46c095d
commit ac6708e0d0
60 changed files with 127 additions and 128 deletions
+7 -3
View File
@@ -1668,10 +1668,12 @@ public interface EbeanServer {
* Deprecated - please migrate to executeCall().
*/
@Deprecated
<T> T execute(TxScope scope, TxCallable<T> callable);
default <T> T execute(TxScope scope, TxCallable<T> callable) {
return executeCall(scope, callable);
}
/**
* Execute a Callable in a Transaction with the default scope.
* Execute a TxCallable in a Transaction with the default scope.
* <p>
* The default scope runs with REQUIRED and by default will rollback on any
* exception (checked or runtime).
@@ -1702,7 +1704,9 @@ public interface EbeanServer {
* Deprecated - please migrate to executeCall().
*/
@Deprecated
<T> T execute(TxCallable<T> callable);
default <T> T execute(TxCallable<T> callable) {
return executeCall(null, callable);
}
/**
* Return the manager of the server cache ("L2" cache).
+1
View File
@@ -46,5 +46,6 @@ public interface TxCallable<T> extends Callable<T> {
* instead.
* </p>
*/
@Override
T call();
}
+1
View File
@@ -37,5 +37,6 @@ public interface TxRunnable extends Runnable {
/**
* Run the method in a transaction sope.
*/
@Override
void run();
}
@@ -4,7 +4,6 @@ import io.ebean.config.DbConstraintNaming;
import io.ebean.config.NamingConvention;
import io.ebean.config.ServerConfig;
import io.ebean.config.dbplatform.DbHistorySupport;
import io.ebean.config.dbplatform.DbIdentity;
import io.ebean.config.dbplatform.IdType;
import io.ebean.dbmigration.ddlgeneration.DdlBuffer;
import io.ebean.dbmigration.ddlgeneration.DdlWrite;
@@ -17,6 +17,7 @@ public class DB2Ddl extends PlatformDdl {
this.inlineUniqueWhenNullable = false;
}
@Override
public String alterTableAddUniqueConstraint(String tableName, String uqName, String[] columns, boolean notNull) {
if (notNull) {
return super.alterTableAddUniqueConstraint(tableName, uqName, columns, true);
@@ -82,6 +82,7 @@ public class SqlServerDdl extends PlatformDdl {
return sb.toString();
}
@Override
public String alterTableDropConstraint(String tableName, String constraintName) {
StringBuilder sb = new StringBuilder();
sb.append("IF (OBJECT_ID('").append(constraintName).append("', 'C') IS NOT NULL) ");
@@ -1,6 +1,5 @@
package io.ebean.dbmigration.ddlgeneration.platform;
import io.ebean.config.DbConstraintNaming;
import io.ebean.config.ServerConfig;
import io.ebean.dbmigration.ddlgeneration.DdlBuffer;
import io.ebean.dbmigration.ddlgeneration.DdlWrite;
+9 -9
View File
@@ -96,7 +96,7 @@ public class EJson {
/**
* Parse the json and return as a modify aware List.
*/
public static List<Object> parseList(String json, boolean modifyAware) throws IOException {
public static <T> List<T> parseList(String json, boolean modifyAware) throws IOException {
return EJsonReader.parseList(json, modifyAware);
}
@@ -125,8 +125,8 @@ public class EJson {
* Parse the json returning as a List taking into account the current token.
*/
@SuppressWarnings("unchecked")
public static List<Object> parseList(JsonParser parser, JsonToken currentToken) throws IOException {
return (List<Object>) EJsonReader.parse(parser, currentToken, false);
public static <T> List<T> parseList(JsonParser parser, JsonToken currentToken) throws IOException {
return (List<T>) EJsonReader.parse(parser, currentToken, false);
}
/**
@@ -153,23 +153,23 @@ public class EJson {
/**
* Parse the json returning a Set that might be modify aware.
*/
public static Set parseSet(String json, boolean modifyAware) throws IOException {
List<Object> list = parseList(json, modifyAware);
public static <T> Set<T> parseSet(String json, boolean modifyAware) throws IOException {
List<T> list = parseList(json, modifyAware);
if (list == null) {
return null;
}
if (modifyAware) {
return ((ModifyAwareList) list).asSet();
return ((ModifyAwareList<T>) list).asSet();
} else {
return new LinkedHashSet<>(list);
return new LinkedHashSet<T>(list);
}
}
/**
* Parse the json returning as a Set taking into account the current token.
*/
public static Set<Object> parseSet(JsonParser parser, JsonToken currentToken) throws IOException {
return new LinkedHashSet<>(parseList(parser, currentToken));
public static <T> Set<T> parseSet(JsonParser parser, JsonToken currentToken) throws IOException {
return new LinkedHashSet<T>(parseList(parser, currentToken));
}
}
@@ -52,8 +52,8 @@ class EJsonReader {
}
@SuppressWarnings("unchecked")
static List<Object> parseList(String json, boolean modifyAware) throws IOException {
return (List<Object>) parse(json, modifyAware);
static <T> List<T> parseList(String json, boolean modifyAware) throws IOException {
return (List<T>) parse(json, modifyAware);
}
@SuppressWarnings("unchecked")
@@ -1,6 +1,5 @@
package io.ebeaninternal.extraddl.model;
import java.util.regex.Pattern;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -20,8 +20,6 @@ import io.ebean.SqlRow;
import io.ebean.SqlUpdate;
import io.ebean.Transaction;
import io.ebean.TransactionCallback;
import io.ebean.TxCallable;
import io.ebean.TxRunnable;
import io.ebean.TxScope;
import io.ebean.Update;
import io.ebean.UpdateQuery;
@@ -661,16 +659,6 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
return transactionManager.createTransaction(true, isolation.getLevel());
}
@Override
public <T> T execute(TxCallable<T> c) {
return execute(null, c);
}
@Override
public <T> T execute(TxScope scope, TxCallable<T> c) {
return executeCall(scope, c);
}
@Override
public <T> T executeCall(Callable<T> c) {
return executeCall(null, c);
@@ -504,11 +504,11 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
if (cached instanceof BeanCollection) {
cached = ((BeanCollection<?>)cached).getShallowCopy();
} else if (cached instanceof List) {
cached = new CopyOnFirstWriteList<>((List)cached);
cached = new CopyOnFirstWriteList<>((List<?>)cached);
} else if (cached instanceof Set) {
cached = new LinkedHashSet<>((Set)cached);
cached = new LinkedHashSet<>((Set<?>)cached);
} else if (cached instanceof Map) {
cached = new LinkedHashMap<>((Map)cached);
cached = new LinkedHashMap<>((Map<?,?>)cached);
}
}
return cached;
@@ -1,6 +1,5 @@
package io.ebeaninternal.server.core.bootup;
import java.util.regex.Pattern;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -9,8 +9,10 @@ import io.ebeaninternal.server.core.OrmQueryRequest;
*/
public class BeanCollectionHelpFactory {
@SuppressWarnings("rawtypes")
static final BeanListHelp LIST_HELP = new BeanListHelp();
@SuppressWarnings("rawtypes")
static final BeanSetHelp SET_HELP = new BeanSetHelp();
/**
@@ -1747,7 +1747,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
* account inheritance.
*/
public BeanProperty getBeanPropertyFromPath(String path) {
BeanDescriptor other = this;
BeanDescriptor<?> other = this;
while (true) {
String[] split = SplitName.splitBegin(path);
@@ -1771,7 +1771,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
* Return the BeanDescriptor for a given path of Associated One or Many beans.
*/
public BeanDescriptor<?> getBeanDescriptor(String path) {
BeanDescriptor result = this;
BeanDescriptor<?> result = this;
while (true) {
if (path == null) {
return result;
@@ -1806,7 +1806,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
* </p>
*/
public BeanPropertyAssocOne<?> getUnidirectional() {
BeanDescriptor other = this;
BeanDescriptor<?> other = this;
while (true) {
if (other.unidirectional != null) {
return other.unidirectional;
@@ -263,7 +263,7 @@ public class BeanPropertyAssocMany<T> extends BeanPropertyAssoc<T> {
Object value = getValue(bean);
if (value instanceof BeanCollection) {
// reset the collection back to empty
((BeanCollection) value).reset(bean, name);
((BeanCollection<?>) value).reset(bean, name);
} else {
createReference(bean);
}
@@ -1,10 +1,8 @@
package io.ebeaninternal.server.deploy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import io.ebean.Platform;
/**
@@ -59,6 +59,7 @@ class JunctionExpression<T> implements SpiJunction<T>, SpiExpression, Expression
List<SpiExpression> list = exprList.list;
if (list.size() == 1 && list.get(0) instanceof JunctionExpression) {
@SuppressWarnings("rawtypes")
JunctionExpression nested = (JunctionExpression) list.get(0);
if (type == Type.AND && !nested.type.isText()) {
// and (and (a, b, c)) -> and (a, b, c)
@@ -204,7 +205,7 @@ class JunctionExpression<T> implements SpiJunction<T>, SpiExpression, Expression
@Override
public boolean isSameByBind(SpiExpression other) {
JunctionExpression that = (JunctionExpression) other;
JunctionExpression<?> that = (JunctionExpression<?>) other;
return type == that.type && exprList.isSameByBind(that.exprList);
}
@@ -147,7 +147,7 @@ class SqlTreeNodeBean implements SqlTreeNode {
return children[0].getSingleAttributeScalarType();
}
if (properties[0] instanceof BeanPropertyAssocOne<?>) {
BeanPropertyAssocOne assocOne = (BeanPropertyAssocOne<?>)properties[0];
BeanPropertyAssocOne<?> assocOne = (BeanPropertyAssocOne<?>)properties[0];
if (assocOne.isAssocId()) {
return assocOne.getTargetDescriptor().getIdProperty().getScalarType();
}
@@ -1,6 +1,5 @@
package io.ebeaninternal.server.querydefn;
import io.ebeaninternal.api.HashQueryPlanBuilder;
import io.ebeaninternal.server.deploy.DeployParser;
import io.ebeaninternal.server.persist.Binder;
import io.ebeaninternal.server.type.DataBind;
@@ -387,7 +387,7 @@ public class WriteJson implements JsonWriter {
public WriteBean createWriteBean(BeanDescriptor<?> desc, EntityBean bean) {
String path = pathStack.peekWithNull();
JsonWriteBeanVisitor visitor = (visitors == null) ? null : visitors.get(path);
JsonWriteBeanVisitor<?> visitor = (visitors == null) ? null : visitors.get(path);
if (fetchPath == null) {
return new WriteBean(desc, bean, visitor);
}
@@ -407,10 +407,10 @@ public class WriteJson implements JsonWriter {
if (!isIncludeEmpty()) {
// check for suppression of empty collection or map
if (value instanceof Collection && ((Collection) value).isEmpty()) {
if (value instanceof Collection && ((Collection<?>) value).isEmpty()) {
// suppress empty collection
return;
} else if (value instanceof Map && ((Map) value).isEmpty()) {
} else if (value instanceof Map && ((Map<?,?>) value).isEmpty()) {
// suppress empty map
return;
}
@@ -436,13 +436,15 @@ public class WriteJson implements JsonWriter {
final Set<String> currentIncludeProps;
final BeanDescriptor<?> desc;
final EntityBean currentBean;
@SuppressWarnings("rawtypes")
final JsonWriteBeanVisitor visitor;
WriteBean(BeanDescriptor<?> desc, EntityBean currentBean, JsonWriteBeanVisitor visitor) {
WriteBean(BeanDescriptor<?> desc, EntityBean currentBean, JsonWriteBeanVisitor<?> visitor) {
this(desc, false, null, currentBean, visitor);
}
WriteBean(BeanDescriptor<?> desc, boolean explicitAllProps, Set<String> currentIncludeProps, EntityBean currentBean, JsonWriteBeanVisitor visitor) {
WriteBean(BeanDescriptor<?> desc, boolean explicitAllProps, Set<String> currentIncludeProps, EntityBean currentBean, JsonWriteBeanVisitor<?> visitor) {
super();
this.desc = desc;
this.currentBean = currentBean;
@@ -239,8 +239,8 @@ public final class DefaultTypeManager implements TypeManager {
if (iterator.hasNext()) {
// use the cacheFactory (via classpath service loader)
ExtraTypeFactory plugin = iterator.next();
List<? extends ScalarType> types = plugin.createTypes(config, objectMapper);
for (ScalarType type : types) {
List<? extends ScalarType<?>> types = plugin.createTypes(config, objectMapper);
for (ScalarType<?> type : types) {
logger.debug("adding ScalarType {}", type.getClass());
addCustomType(type);
}
@@ -19,13 +19,13 @@ import java.util.UUID;
/**
* Type mapped for DB ARRAY type (Postgres only effectively).
*/
public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements ScalarTypeArray {
public class ScalarTypeArraySet<T> extends ScalarTypeJsonCollection<Set<T>> implements ScalarTypeArray {
private static ScalarTypeArraySet UUID = new ScalarTypeArraySet("uuid", DocPropertyType.UUID, ArrayElementConverter.UUID);
private static ScalarTypeArraySet LONG = new ScalarTypeArraySet("bigint", DocPropertyType.LONG, ArrayElementConverter.LONG);
private static ScalarTypeArraySet INTEGER = new ScalarTypeArraySet("integer", DocPropertyType.INTEGER, ArrayElementConverter.INTEGER);
private static ScalarTypeArraySet DOUBLE = new ScalarTypeArraySet("float", DocPropertyType.DOUBLE, ArrayElementConverter.DOUBLE);
private static ScalarTypeArraySet STRING = new ScalarTypeArraySet("varchar", DocPropertyType.TEXT, ArrayElementConverter.STRING);
private static final ScalarTypeArraySet<UUID> UUID = new ScalarTypeArraySet<>("uuid", DocPropertyType.UUID, ArrayElementConverter.UUID);
private static final ScalarTypeArraySet<Long> LONG = new ScalarTypeArraySet<>("bigint", DocPropertyType.LONG, ArrayElementConverter.LONG);
private static final ScalarTypeArraySet<Integer> INTEGER = new ScalarTypeArraySet<>("integer", DocPropertyType.INTEGER, ArrayElementConverter.INTEGER);
private static final ScalarTypeArraySet<Double> DOUBLE = new ScalarTypeArraySet<>("float", DocPropertyType.DOUBLE, ArrayElementConverter.DOUBLE);
private static final ScalarTypeArraySet<String> STRING = new ScalarTypeArraySet<>("varchar", DocPropertyType.TEXT, ArrayElementConverter.STRING);
static PlatformArrayTypeFactory factory() {
return new Factory();
@@ -37,7 +37,7 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
* Return the ScalarType to use based on the List's generic parameter type.
*/
@Override
public ScalarTypeArraySet typeFor(Type valueType) {
public ScalarTypeArraySet<?> typeFor(Type valueType) {
if (valueType.equals(UUID.class)) {
return UUID;
}
@@ -59,10 +59,11 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
private final String arrayType;
private final ArrayElementConverter converter;
private final ArrayElementConverter<T> converter;
public ScalarTypeArraySet(String arrayType, DocPropertyType docPropertyType, ArrayElementConverter converter) {
super(Set.class, Types.ARRAY, docPropertyType);
@SuppressWarnings({ "unchecked", "rawtypes" })
public ScalarTypeArraySet(String arrayType, DocPropertyType docPropertyType, ArrayElementConverter<T> converter) {
super((Class)Set.class, Types.ARRAY, docPropertyType);
this.arrayType = arrayType;
this.converter = converter;
}
@@ -80,21 +81,20 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
return arrayType + "[]";
}
@SuppressWarnings("unchecked")
private Set fromArray(Object[] array1) {
Set set = new LinkedHashSet();
private Set<T> fromArray(Object[] array1) {
Set<T> set = new LinkedHashSet<>();
for (Object element : array1) {
set.add(converter.toElement(element));
}
return new ModifyAwareSet(set);
return new ModifyAwareSet<>(set);
}
protected Object[] toArray(Set value) {
protected Object[] toArray(Set<T> value) {
return value.toArray();
}
@Override
public Set read(DataReader reader) throws SQLException {
public Set<T> read(DataReader reader) throws SQLException {
Array array = reader.getArray();
if (array == null) {
return null;
@@ -104,7 +104,7 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
}
@Override
public void bind(DataBind bind, Set value) throws SQLException {
public void bind(DataBind bind, Set<T> value) throws SQLException {
if (value == null) {
bind.setNull(Types.ARRAY);
} else {
@@ -113,7 +113,7 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
}
@Override
public String formatValue(Set value) {
public String formatValue(Set<T> value) {
try {
return EJson.write(value);
} catch (IOException e) {
@@ -122,7 +122,7 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
}
@Override
public Set parse(String value) {
public Set<T> parse(String value) {
try {
return EJson.parseSet(value, false);
} catch (IOException e) {
@@ -131,12 +131,12 @@ public class ScalarTypeArraySet extends ScalarTypeJsonCollection<Set> implements
}
@Override
public Set jsonRead(JsonParser parser) throws IOException {
public Set<T> jsonRead(JsonParser parser) throws IOException {
return EJson.parseSet(parser, parser.getCurrentToken());
}
@Override
public void jsonWrite(JsonGenerator writer, Set value) throws IOException {
public void jsonWrite(JsonGenerator writer, Set<T> value) throws IOException {
EJson.write(value, writer);
}
@@ -6,17 +6,17 @@ import java.lang.reflect.Type;
import java.sql.SQLException;
import java.sql.Types;
import java.util.Set;
import java.util.UUID;
/**
* H2 database support for DB ARRAY.
*/
class ScalarTypeArraySetH2 extends ScalarTypeArraySet {
class ScalarTypeArraySetH2<T> extends ScalarTypeArraySet<T> {
private static ScalarTypeArraySetH2 UUID = new ScalarTypeArraySetH2("uuid", DocPropertyType.UUID, ArrayElementConverter.UUID);
private static ScalarTypeArraySetH2 LONG = new ScalarTypeArraySetH2("bigint", DocPropertyType.LONG, ArrayElementConverter.LONG);
private static ScalarTypeArraySetH2 INTEGER = new ScalarTypeArraySetH2("integer", DocPropertyType.INTEGER, ArrayElementConverter.INTEGER);
private static ScalarTypeArraySetH2 DOUBLE = new ScalarTypeArraySetH2("double", DocPropertyType.DOUBLE, ArrayElementConverter.DOUBLE);
private static ScalarTypeArraySetH2 STRING = new ScalarTypeArraySetH2("varchar", DocPropertyType.TEXT, ArrayElementConverter.STRING);
private static final ScalarTypeArraySetH2<UUID> UUID = new ScalarTypeArraySetH2<>("uuid", DocPropertyType.UUID, ArrayElementConverter.UUID);
private static final ScalarTypeArraySetH2<Long> LONG = new ScalarTypeArraySetH2<>("bigint", DocPropertyType.LONG, ArrayElementConverter.LONG);
private static final ScalarTypeArraySetH2<Integer> INTEGER = new ScalarTypeArraySetH2<>("integer", DocPropertyType.INTEGER, ArrayElementConverter.INTEGER);
private static final ScalarTypeArraySetH2<Double> DOUBLE = new ScalarTypeArraySetH2<>("double", DocPropertyType.DOUBLE, ArrayElementConverter.DOUBLE);
private static final ScalarTypeArraySetH2<String> STRING = new ScalarTypeArraySetH2<>("varchar", DocPropertyType.TEXT, ArrayElementConverter.STRING);
static PlatformArrayTypeFactory factory() {
return new ScalarTypeArraySetH2.Factory();
@@ -28,7 +28,7 @@ class ScalarTypeArraySetH2 extends ScalarTypeArraySet {
* Return the ScalarType to use based on the List's generic parameter type.
*/
@Override
public ScalarTypeArraySetH2 typeFor(Type valueType) {
public ScalarTypeArraySetH2<?> typeFor(Type valueType) {
if (valueType.equals(java.util.UUID.class)) {
return UUID;
}
@@ -48,12 +48,12 @@ class ScalarTypeArraySetH2 extends ScalarTypeArraySet {
}
}
private ScalarTypeArraySetH2(String arrayType, DocPropertyType docPropertyType, ArrayElementConverter converter) {
private ScalarTypeArraySetH2(String arrayType, DocPropertyType docPropertyType, ArrayElementConverter<T> converter) {
super(arrayType, docPropertyType, converter);
}
@Override
public void bind(DataBind bind, Set value) throws SQLException {
public void bind(DataBind bind, Set<T> value) throws SQLException {
if (value == null) {
bind.setNull(Types.ARRAY);
} else {
@@ -17,6 +17,7 @@ public interface TypeManager {
/**
* Register a ScalarType for an Enum with can have multiple classes.
*/
@SuppressWarnings("rawtypes")
void addEnumType(ScalarType<?> type, Class<? extends Enum> myEnumClass);
/**