clean up db platforms
Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabasePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabasePlatform.java
index 1a3ddb7..3232def 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabasePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabasePlatform.java
@@ -123,7 +123,7 @@
public class DatabasePlatform extends DatasourcePlatform {
/** Holds a map of values used to map JAVA types to database types for table creation */
- protected transient Map<Class, FieldTypeDefinition> fieldTypes;
+ protected transient Map<Class<?>, FieldTypeDefinition> fieldTypes;
/** Indicates that native SQL should be used for literal values instead of ODBC escape format
Only used with Oracle, Sybase & DB2 */
@@ -199,7 +199,7 @@
protected boolean shouldOptimizeDataConversion;
/** Stores mapping of class types to database types for schema creation. */
- protected transient Map<String, Class> classTypes;
+ protected transient Map<String, Class<?>> classTypes;
/** Allow for case in field names to be ignored as some databases are not case sensitive and when using custom this can be an issue. */
public static boolean shouldIgnoreCaseOnFieldComparisons = false;
@@ -678,8 +678,8 @@
/**
* Return the mapping of class types to database types for the schema framework.
*/
- protected Map<String, Class> buildClassTypes() {
- Map<String, Class> classTypeMapping = new HashMap<>();
+ protected Map<String, Class<?>> buildClassTypes() {
+ Map<String, Class<?>> classTypeMapping = new HashMap<>();
// Key the Map the other way for table creation.
classTypeMapping.put("NUMBER", java.math.BigInteger.class);
classTypeMapping.put("DECIMAL", java.math.BigDecimal.class);
@@ -730,10 +730,8 @@
/**
* Return the mapping of class types to database types for the schema framework.
*/
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("NUMBER", 1));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("NUMBER", 10));
@@ -1154,7 +1152,7 @@
/**
* Return the class type to database type mapping for the schema framework.
*/
- public Map<String, Class> getClassTypes() {
+ public Map<String, Class<?>> getClassTypes() {
if (classTypes == null) {
classTypes = buildClassTypes();
}
@@ -1229,14 +1227,14 @@
* Return the field type object describing this databases platform specific representation
* of the Java primitive class name.
*/
- public FieldTypeDefinition getFieldTypeDefinition(Class javaClass) {
+ public FieldTypeDefinition getFieldTypeDefinition(Class<?> javaClass) {
return getFieldTypes().get(javaClass);
}
/**
* Return the class type to database type mappings for the schema framework.
*/
- public Map<Class, FieldTypeDefinition> getFieldTypes() {
+ public Map<Class<?>, FieldTypeDefinition> getFieldTypes() {
if (this.fieldTypes == null) {
this.fieldTypes = buildFieldTypes();
}
@@ -1677,8 +1675,8 @@
* might also be useful to end users attempting to sanitize values.
* <p><b>NOTE</b>: BigInteger & BigDecimal maximums are dependent upon their precision & Scale
*/
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, Long.MAX_VALUE);
@@ -1696,8 +1694,8 @@
* might also be useful to end users attempting to sanitize values.
* <p><b>NOTE</b>: BigInteger & BigDecimal minimums are dependent upon their precision & Scale
*/
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, Long.MIN_VALUE);
@@ -1904,7 +1902,7 @@
castSizeForVarcharParameter = maxLength;
}
- protected void setClassTypes(Hashtable classTypes) {
+ protected void setClassTypes(Map<String, Class<?>> classTypes) {
this.classTypes = classTypes;
}
@@ -1924,7 +1922,7 @@
this.driverName = driverName;
}
- protected void setFieldTypes(Hashtable theFieldTypes) {
+ protected void setFieldTypes(Map<Class<?>, FieldTypeDefinition> theFieldTypes) {
fieldTypes = theFieldTypes;
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourcePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourcePlatform.java
index 6e40c5e..f39e44f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourcePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourcePlatform.java
@@ -29,7 +29,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.Vector;
import org.eclipse.persistence.descriptors.DescriptorQueryManager;
import org.eclipse.persistence.exceptions.ConversionException;
@@ -72,13 +71,13 @@
protected ValueReadQuery timestampQuery;
/** Operators specific to this platform */
- protected transient Map platformOperators;
+ protected transient Map<Integer, ExpressionOperator> platformOperators;
/** Store the list of Classes that can be converted to from the key. */
- protected Hashtable dataTypesConvertedFromAClass;
+ protected Hashtable<Class<?>, List<Class<?>>> dataTypesConvertedFromAClass;
/** Store the list of Classes that can be converted from to the key. */
- protected Hashtable dataTypesConvertedToAClass;
+ protected Hashtable<Class<?>, List<Class<?>>> dataTypesConvertedToAClass;
/** Store default sequence */
protected Sequence defaultSequence;
@@ -195,11 +194,11 @@
setDefaultSequence(defaultSequenceClone);
}
if (getSequences() != null) {
- HashMap sequencesCopy = new HashMap(getSequences());
- HashMap sequencesDeepClone = new HashMap(getSequences().size());
- Iterator it = sequencesCopy.values().iterator();
+ Map<String, Sequence> sequencesCopy = new HashMap<>(getSequences());
+ Map<String, Sequence> sequencesDeepClone = new HashMap<>(getSequences().size());
+ Iterator<Sequence> it = sequencesCopy.values().iterator();
while (it.hasNext()) {
- Sequence sequence = (Sequence)it.next();
+ Sequence sequence = it.next();
if ((defaultSequenceClone != null) && (sequence == getDefaultSequence())) {
sequencesDeepClone.put(defaultSequenceClone.getName(), defaultSequenceClone);
} else {
@@ -402,7 +401,7 @@
* Initialize any platform-specific operators
*/
protected void initializePlatformOperators() {
- this.platformOperators = new HashMap();
+ this.platformOperators = new HashMap<>();
// Outer join
addOperator(ExpressionOperator.equalOuterJoin());
@@ -717,7 +716,7 @@
* @param javaClass - the class that is converted from
* @return - a vector of classes
*/
- public List getDataTypesConvertedFrom(Class javaClass) {
+ public List<Class<?>> getDataTypesConvertedFrom(Class<?> javaClass) {
return getConversionManager().getDataTypesConvertedFrom(javaClass);
}
@@ -727,7 +726,7 @@
* @param javaClass - the class that is converted to
* @return - a vector of classes
*/
- public List getDataTypesConvertedTo(Class javaClass) {
+ public List<Class<?>> getDataTypesConvertedTo(Class<?> javaClass) {
return getConversionManager().getDataTypesConvertedTo(javaClass);
}
@@ -789,18 +788,19 @@
synchronized(sequencesLock) {
if (isSessionConnected) {
if (this.sequences == null) {
- this.sequences = new HashMap();
+ this.sequences = new HashMap<>();
this.sequences.put(sequence.getName(), sequence);
} else {
if (!this.sequences.containsKey(sequence.getName())) {
- Map newSequences = (Map)((HashMap)this.sequences).clone();
+ @SuppressWarnings({"unchecked"})
+ Map<String, Sequence> newSequences = (Map<String, Sequence>)((HashMap<String, Sequence>)this.sequences).clone();
newSequences.put(sequence.getName(), sequence);
this.sequences = newSequences;
}
}
} else {
if (this.sequences == null) {
- this.sequences = new HashMap();
+ this.sequences = new HashMap<>();
}
this.sequences.put(sequence.getName(), sequence);
}
@@ -872,11 +872,11 @@
if ((getSequences() == null) || getSequences().isEmpty()) {
return null;
}
- Map sequencesCopy = new HashMap(getSequences());
- Map sequencesToWrite = new HashMap();
- Iterator it = sequencesCopy.values().iterator();
+ Map<String, Sequence> sequencesCopy = new HashMap<>(getSequences());
+ Map<String, Sequence> sequencesToWrite = new HashMap<>();
+ Iterator<Sequence> it = sequencesCopy.values().iterator();
while (it.hasNext()) {
- Sequence sequence = (Sequence)it.next();
+ Sequence sequence = it.next();
if (!(sequence instanceof DefaultSequence) || ((DefaultSequence)sequence).hasPreallocationSize()) {
sequencesToWrite.put(sequence.getName(), sequence);
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java
index 2c18686..a96f78d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java
@@ -850,9 +850,9 @@
} else if (field.getColumnDefinition() != null) {
// Search for the type for this field definition.
if (session.getDatasourcePlatform() instanceof DatabasePlatform) {
- Iterator<Map.Entry<Class, FieldTypeDefinition>> iterator = session.getPlatform().getFieldTypes().entrySet().iterator();
+ Iterator<Map.Entry<Class<?>, FieldTypeDefinition>> iterator = session.getPlatform().getFieldTypes().entrySet().iterator();
while (iterator.hasNext()) {
- Map.Entry<Class, FieldTypeDefinition> entry = iterator.next();
+ Map.Entry<Class<?>, FieldTypeDefinition> entry = iterator.next();
if (entry.getValue().getName().equals(field.getColumnDefinition())) {
field.setType(entry.getKey());
break;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AccessPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AccessPlatform.java
index 3c33402..938c8c1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AccessPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AccessPlatform.java
@@ -30,9 +30,17 @@
* @since TOPLink/Java 1.0
*/
public class AccessPlatform extends org.eclipse.persistence.platform.database.DatabasePlatform {
+
+ /**
+ * Default constructor.
+ */
+ public AccessPlatform() {
+ super();
+ }
+
@Override
- protected Map<String, Class> buildClassTypes() {
- Map<String, Class> classTypeMapping = super.buildClassTypes();
+ protected Map<String, Class<?>> buildClassTypes() {
+ Map<String, Class<?>> classTypeMapping = super.buildClassTypes();
// In access LONG means numeric not CLOB like in Oracle
classTypeMapping.put("LONG", Long.class);
@@ -42,10 +50,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("LONG", false));
@@ -121,8 +127,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, Long.MAX_VALUE);
@@ -141,8 +147,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, Long.MIN_VALUE);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AttunityPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AttunityPlatform.java
index 35e1de9..154e342 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AttunityPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/AttunityPlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -35,10 +35,8 @@
* @return java.util.Hashtable
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("TINYINT", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("NUMERIC", 10));
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/CloudscapePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/CloudscapePlatform.java
index 64b9811..f3b705e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/CloudscapePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/CloudscapePlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -26,13 +26,18 @@
public class CloudscapePlatform extends org.eclipse.persistence.platform.database.DatabasePlatform {
/**
+ * Default constructor.
+ */
+ public CloudscapePlatform() {
+ super();
+ }
+
+ /**
* seems compatible with informix
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT default 0", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2MainframePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2MainframePlatform.java
index de5bce1..1368448 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2MainframePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2MainframePlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -71,8 +71,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable<Class<?>, Object> res = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> res = super.buildFieldTypes();
if (getUseNationalCharacterVaryingTypeForString()) {
res.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_VARCHAR_SIZE));
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java
index 0c2ac95..1f256d2 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java
@@ -287,8 +287,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT DEFAULT 0", false));
@@ -496,8 +496,8 @@
* precision {@literal &} Scale
*/
@Override
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, (long) Integer.MAX_VALUE);
@@ -520,8 +520,8 @@
* precision {@literal &} Scale
*/
@Override
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, (long) Integer.MIN_VALUE);
@@ -566,7 +566,7 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Concat);
- Vector v = new Vector(5);
+ Vector<String> v = new Vector<>(5);
v.add("VARCHAR(");
v.add(" || ");
v.add(")");
@@ -584,7 +584,7 @@
ExpressionOperator operator = new ExpressionOperator();
operator.setType(ExpressionOperator.FunctionOperator);
operator.setSelector(ExpressionOperator.LeftTrim2);
- Vector v = new Vector(5);
+ Vector<String> v = new Vector<>(5);
v.add("TRIM(LEADING ");
v.add(" FROM ");
v.add(")");
@@ -606,7 +606,7 @@
ExpressionOperator operator = new ExpressionOperator();
operator.setType(ExpressionOperator.FunctionOperator);
operator.setSelector(ExpressionOperator.RightTrim2);
- Vector v = new Vector(5);
+ Vector<String> v = new Vector<>(5);
v.add("TRIM(TRAILING ");
v.add(" FROM ");
v.add(")");
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2ZPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2ZPlatform.java
index b6e2b5c..a09f8dd 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2ZPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2ZPlatform.java
@@ -68,8 +68,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable<Class<?>, Object> res = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> res = super.buildFieldTypes();
if (getUseNationalCharacterVaryingTypeForString()) {
res.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_VARCHAR_SIZE));
}
@@ -200,6 +200,7 @@
Class<?> clazz = null;
Method method = null;
String methodName = "registerJccOutParameterAtName";
+ @SuppressWarnings({"rawtypes"})
Class<?>[] methodArgs = (Class<?>[]) new Class[] {String.class, int.class, String.class};
Object[] parameters = new Object[] {name, jdbcType, typeName};
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) {
@@ -230,6 +231,7 @@
}
@Override
+ @SuppressWarnings({"rawtypes"})
public void setParameterValueInDatabaseCall(Object parameter,
CallableStatement statement, String name, AbstractSession session)
throws SQLException {
@@ -430,6 +432,7 @@
}
@Override
+ @SuppressWarnings({"rawtypes"})
protected void setNullFromDatabaseField(DatabaseField databaseField, CallableStatement statement, String name) throws SQLException {
String methodName = null;
Class<?>[] methodArgs = null;
@@ -477,6 +480,7 @@
}
@Override
+ @SuppressWarnings({"rawtypes"})
public Object getParameterValueFromDatabaseCall(CallableStatement statement, String name, AbstractSession session)
throws SQLException {
String methodName = null;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DBasePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DBasePlatform.java
index b8f8a82..b0bd1c0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DBasePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DBasePlatform.java
@@ -33,11 +33,17 @@
* @since TOPLink/Java 1.0
*/
public class DBasePlatform extends org.eclipse.persistence.platform.database.DatabasePlatform {
- @Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
- fieldTypeMapping = new Hashtable();
+ /**
+ * Default constructor.
+ */
+ public DBasePlatform() {
+ super();
+ }
+
+ @Override
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("NUMBER", 1));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("NUMBER", 11));
@@ -134,8 +140,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, Long.valueOf("922337203685478000"));
@@ -154,8 +160,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, Long.valueOf("-922337203685478000"));
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java
index d4c7c04..db2e86e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DerbyPlatform.java
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2005, 2020 IBM Corporation. All rights reserved.
+ * Copyright (c) 2005, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2021 IBM Corporation. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -28,11 +28,12 @@
import org.eclipse.persistence.internal.helper.ClassConstants;
import org.eclipse.persistence.internal.helper.DatabaseTable;
import org.eclipse.persistence.internal.helper.Helper;
-import org.eclipse.persistence.internal.helper.NonSynchronizedVector;
import org.eclipse.persistence.exceptions.ValidationException;
import org.eclipse.persistence.expressions.ExpressionOperator;
import org.eclipse.persistence.queries.ValueReadQuery;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Vector;
import java.io.Writer;
import java.io.IOException;
@@ -282,8 +283,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT DEFAULT 0", false));
@@ -350,7 +351,7 @@
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Extract);
exOperator.setName("EXTRACT");
- Vector v = NonSynchronizedVector.newInstance(5);
+ List<String> v = new ArrayList<>(5);
v.add("");
v.add("(");
v.add(")");
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/FirebirdPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/FirebirdPlatform.java
index 835800a..5ba2a9c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/FirebirdPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/FirebirdPlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -35,8 +35,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -170,10 +170,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.SubstringSingleArg);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("SUBSTRING(");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("SUBSTRING(");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1};
@@ -191,11 +191,11 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Substring);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("SUBSTRING(");
- v.addElement(" FROM ");
- v.addElement(" FOR ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("SUBSTRING(");
+ v.add(" FROM ");
+ v.add(" FOR ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1, 2};
@@ -213,12 +213,12 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Greatest);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("(CASE WHEN ");
- v.addElement(" >= ");
- v.addElement(" THEN ");
- v.addElement(" ELSE ");
- v.addElement(" END)");
+ List<String> v = new ArrayList<>(5);
+ v.add("(CASE WHEN ");
+ v.add(" >= ");
+ v.add(" THEN ");
+ v.add(" ELSE ");
+ v.add(" END)");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1, 0, 1};
@@ -236,9 +236,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.LeftTrim);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("TRIM(LEADING FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("TRIM(LEADING FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0};
@@ -256,9 +256,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.RightTrim);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("TRIM(TRAILING FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("TRIM(TRAILING FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0};
@@ -276,10 +276,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.RightTrim2);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("TRIM(TRAILING ");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("TRIM(TRAILING ");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {1, 0};
@@ -296,9 +296,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CAST(");
- v.addElement(" AS NUMERIC)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CAST(");
+ v.add(" AS NUMERIC)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -313,10 +313,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.MonthsBetween);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("(MONTH(");
- v.addElement(") - MONTH(");
- v.addElement("))");
+ List<String> v = new ArrayList<>(2);
+ v.add("(MONTH(");
+ v.add(") - MONTH(");
+ v.add("))");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/H2Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/H2Platform.java
index a18ee06..d8eb4c2 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/H2Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/H2Platform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -81,8 +81,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -235,9 +235,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(",DECIMAL)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(",DECIMAL)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -252,10 +252,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.MonthsBetween);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("(MONTH(");
- v.addElement(") - MONTH(");
- v.addElement("))");
+ List<String> v = new ArrayList<>(2);
+ v.add("(MONTH(");
+ v.add(") - MONTH(");
+ v.add("))");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HANAPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HANAPlatform.java
index 75cd931..f17ee83 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HANAPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HANAPlatform.java
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019 IBM Corporation. All rights reserved.
- * Copyright (c) 2012, 2019 SAP. All rights reserved.
+ * Copyright (c) 2012, 2021 SAP. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -32,9 +32,10 @@
import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Hashtable;
-import java.util.Vector;
+import java.util.List;
import org.eclipse.persistence.expressions.ExpressionOperator;
import org.eclipse.persistence.internal.databaseaccess.DatabaseCall;
@@ -45,7 +46,6 @@
import org.eclipse.persistence.internal.helper.ClassConstants;
import org.eclipse.persistence.internal.helper.DatabaseTable;
import org.eclipse.persistence.internal.helper.Helper;
-import org.eclipse.persistence.internal.helper.NonSynchronizedVector;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.queries.ReadQuery;
import org.eclipse.persistence.queries.ValueReadQuery;
@@ -134,8 +134,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- final Hashtable<Class, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ final Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT", false)); // TODO
// boolean
fieldTypeMapping.put(Number.class, new FieldTypeDefinition("DOUBLE", false));
@@ -262,9 +262,9 @@
private static ExpressionOperator createLogOperator() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Log);
- Vector v = NonSynchronizedVector.newInstance(2);
- v.addElement("LOG(10,");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("LOG(10,");
+ v.add(")");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(FunctionExpression.class);
@@ -305,11 +305,11 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.NullIf);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(4);
- v.addElement(" (CASE WHEN ");
- v.addElement(" = ");
- v.addElement(" THEN NULL ELSE ");
- v.addElement(" END) ");
+ List<String> v = new ArrayList<>(4);
+ v.add(" (CASE WHEN ");
+ v.add(" = ");
+ v.add(" THEN NULL ELSE ");
+ v.add(" END) ");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 0, 1, 0 };
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HSQLPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HSQLPlatform.java
index 087fa00..18fd1e8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HSQLPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/HSQLPlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -57,10 +57,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -111,9 +109,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(",DECIMAL)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(",DECIMAL)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -128,9 +126,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Trim);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("TRIM(FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("TRIM(FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -146,10 +144,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.RightTrim2);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("TRIM(TRAILING ");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("TRIM(TRAILING ");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {1, 0};
@@ -167,12 +165,12 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Greatest);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("CASEWHEN(");
- v.addElement(" >= ");
- v.addElement(", ");
- v.addElement(", ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("CASEWHEN(");
+ v.add(" >= ");
+ v.add(", ");
+ v.add(", ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1, 0, 1};
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/InformixPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/InformixPlatform.java
index 9952e59..85731f6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/InformixPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/InformixPlatform.java
@@ -45,6 +45,13 @@
public class InformixPlatform extends org.eclipse.persistence.platform.database.DatabasePlatform {
+ /**
+ * Default constructor.
+ */
+ public InformixPlatform() {
+ super();
+ }
+
@Override
public void initializeConnectionData(Connection connection) throws SQLException {
@@ -141,10 +148,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT default 0", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -239,9 +244,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
-
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, Long.MAX_VALUE);
values.put(Double.class, (double) Float.MAX_VALUE);
@@ -259,9 +263,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
-
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, Long.MIN_VALUE);
values.put(Double.class, 1.4012984643247149E-44);// The double values are weird. They lose precision at E-45
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/JavaDBPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/JavaDBPlatform.java
index 6282369..72908bf 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/JavaDBPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/JavaDBPlatform.java
@@ -25,4 +25,11 @@
// The only purpose of this class is to allow use of JavaDBPlatform as a
// synonym for DerbyPlatform
// All the Derby specific code should be added to DerbyPlatform
+
+ /**
+ * Default constructor.
+ */
+ public JavaDBPlatform() {
+ super();
+ }
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MaxDBPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MaxDBPlatform.java
index 3b6e9e4..787fcd9 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MaxDBPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MaxDBPlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2009, 2018 Markus Karg, SAP. All rights reserved.
*
* This program and the accompanying materials are made available under the
@@ -25,8 +25,9 @@
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
+import java.util.ArrayList;
import java.util.Hashtable;
-import java.util.Vector;
+import java.util.List;
import org.eclipse.persistence.expressions.ExpressionOperator;
import org.eclipse.persistence.expressions.ListExpressionOperator;
@@ -113,8 +114,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- final Hashtable<Class, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ final Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT", false)); // TODO boolean
fieldTypeMapping.put(Number.class, new FieldTypeDefinition("DOUBLE PRECISION", false));
fieldTypeMapping.put(Short.class, new FieldTypeDefinition("SMALLINT", false));
@@ -239,11 +240,11 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.NullIf);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(4);
- v.addElement(" (CASE WHEN ");
- v.addElement(" = ");
- v.addElement(" THEN NULL ELSE ");
- v.addElement(" END) ");
+ List<String> v = new ArrayList<>(4);
+ v.add(" (CASE WHEN ");
+ v.add(" = ");
+ v.add(" THEN NULL ELSE ");
+ v.add(" END) ");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1, 0};
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MySQLPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MySQLPlatform.java
index 4b64e49..eac34dc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MySQLPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/MySQLPlatform.java
@@ -33,9 +33,11 @@
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.Types;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Hashtable;
+import java.util.List;
import java.util.Vector;
import org.eclipse.persistence.exceptions.ValidationException;
@@ -166,10 +168,8 @@
* Return the mapping of class types to database types for the schema framework.
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("TINYINT(1) default 0", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -403,9 +403,9 @@
protected ExpressionOperator logOperator() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Log);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("LOG(10, ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("LOG(10, ");
+ v.add(")");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(FunctionExpression.class);
@@ -421,9 +421,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", SIGNED)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", SIGNED)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -438,9 +438,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToDate);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", DATETIME)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", DATETIME)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -455,9 +455,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToChar);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", CHAR)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", CHAR)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -472,9 +472,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.DateToString);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", CHAR)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", CHAR)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -490,10 +490,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.LeftTrim2);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("TRIM(LEADING ");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("TRIM(LEADING ");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {1, 0};
@@ -511,10 +511,10 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.RightTrim2);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
- v.addElement("TRIM(TRAILING ");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(5);
+ v.add("TRIM(TRAILING ");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {1, 0};
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/Oracle8Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/Oracle8Platform.java
index a5b3809..5b66b59 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/Oracle8Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/Oracle8Platform.java
@@ -50,11 +50,18 @@
protected int lobValueLimits = 0;
/**
+ * Default constructor.
+ */
+ public Oracle8Platform() {
+ super();
+ }
+
+ /**
* INTERNAL:
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Byte[].class, new FieldTypeDefinition("BLOB", false));
fieldTypeMapping.put(Character[].class, new FieldTypeDefinition("CLOB", false));
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/OraclePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/OraclePlatform.java
index 7b9dcbc..e0e81d8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/OraclePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/OraclePlatform.java
@@ -41,6 +41,7 @@
import java.util.Calendar;
import java.util.Hashtable;
import java.util.Iterator;
+import java.util.List;
import java.util.Vector;
import java.util.regex.Pattern;
@@ -59,7 +60,6 @@
import org.eclipse.persistence.internal.helper.DatabaseField;
import org.eclipse.persistence.internal.helper.DatabaseTable;
import org.eclipse.persistence.internal.helper.Helper;
-import org.eclipse.persistence.internal.helper.NonSynchronizedVector;
import org.eclipse.persistence.internal.localization.ExceptionLocalization;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.internal.sessions.DatabaseSessionImpl;
@@ -214,10 +214,8 @@
* INTERNAL:
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("NUMBER(1) default 0", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("NUMBER", 10));
@@ -621,14 +619,14 @@
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Regexp);
result.setType(ExpressionOperator.FunctionOperator);
- Vector v = NonSynchronizedVector.newInstance(3);
+ List<String> v = new ArrayList<>(3);
v.add("REGEXP_LIKE(");
v.add(", ");
v.add(")");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(ClassConstants.FunctionExpression_Class);
- v = NonSynchronizedVector.newInstance(2);
+ v = new ArrayList<>(2);
v.add(".regexp(");
v.add(")");
result.printsJavaAs(v);
@@ -656,9 +654,9 @@
protected ExpressionOperator logOperator() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Log);
- Vector v = NonSynchronizedVector.newInstance(2);
- v.addElement("LOG(10,");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("LOG(10,");
+ v.add(")");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(FunctionExpression.class);
@@ -672,9 +670,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
-
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, Long.MAX_VALUE);
values.put(Double.class, 9.9999E125);
@@ -692,9 +689,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
-
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, Long.MIN_VALUE);
values.put(Double.class, -1E-129);
@@ -734,8 +730,8 @@
protected ExpressionOperator operatorOuterJoin() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.EqualOuterJoin);
- Vector v = NonSynchronizedVector.newInstance(2);
- v.addElement(" (+) = ");
+ List<String> v = new ArrayList<>(2);
+ v.add(" (+) = ");
result.printsAs(v);
result.bePostfix();
result.setNodeClass(RelationExpression.class);
@@ -750,10 +746,10 @@
protected ExpressionOperator operatorLocate() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Locate);
- Vector v = NonSynchronizedVector.newInstance(2);
- v.addElement("INSTR(");
- v.addElement(", ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("INSTR(");
+ v.add(", ");
+ v.add(")");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(RelationExpression.class);
@@ -767,11 +763,11 @@
protected ExpressionOperator operatorLocate2() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Locate2);
- Vector v = NonSynchronizedVector.newInstance(2);
- v.addElement("INSTR(");
- v.addElement(", ");
- v.addElement(", ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("INSTR(");
+ v.add(", ");
+ v.add(", ");
+ v.add(")");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(RelationExpression.class);
@@ -1062,10 +1058,10 @@
@SuppressWarnings("unchecked")
// Bug #453208 - Duplicate call parameters since the query is performed twice
private void duplicateCallParameters(DatabaseCall call) {
- ArrayList newParameterList = new ArrayList(call.getParameters());
+ List newParameterList = new ArrayList(call.getParameters());
newParameterList.addAll(call.getParameters());
call.setParameters(newParameterList);
- ArrayList<Integer> newParameterTypesList = new ArrayList(call.getParameterTypes());
+ List<Integer> newParameterTypesList = new ArrayList<>(call.getParameterTypes());
newParameterTypesList.addAll(call.getParameterTypes());
call.setParameterTypes(newParameterTypesList);
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PervasivePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PervasivePlatform.java
index 1f5b7eb..2c0d86c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PervasivePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PervasivePlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All Rights Reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All Rights Reserved.
* Copyright (c) 2012, 2018 Pervasive Software Inc. All Rights Reserved.
*
* This program and the accompanying materials are made available under the
@@ -27,9 +27,10 @@
import java.io.IOException;
import java.io.Writer;
+import java.util.ArrayList;
import java.util.Hashtable;
+import java.util.List;
import java.util.Map;
-import java.util.Vector;
import org.eclipse.persistence.exceptions.ValidationException;
import org.eclipse.persistence.expressions.ExpressionOperator;
@@ -73,12 +74,19 @@
public static final int DEFAULT_CHAR_SIZE = 80;
+ /**
+ * Default constructor.
+ */
+ public PervasivePlatform() {
+ super();
+ }
+
//
// Cloned from AccessPlatform.java
//
@Override
- protected Map<String, Class> buildClassTypes() {
- Map<String, Class> classTypeMapping = super.buildClassTypes();
+ protected Map<String, Class<?>> buildClassTypes() {
+ Map<String, Class<?>> classTypeMapping = super.buildClassTypes();
// Causes BLOB to translate to LONGVARBINARY(via java.sql.Blob) instead of BINARY (via Byte[])
classTypeMapping.put("BLOB", java.sql.Blob.class);
@@ -86,12 +94,9 @@
return classTypeMapping;
}
-
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_CHAR_SIZE));
// fieldTypeMapping.put(java.math.BigDecimal.class, new FieldTypeDefinition("BIGINT", false));
fieldTypeMapping.put(java.math.BigInteger.class, new FieldTypeDefinition("BIGINT", false));
@@ -236,9 +241,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", SQL_NUMERIC)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", SQL_NUMERIC)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -252,9 +257,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToDate);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", DATETIME)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", DATETIME)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -268,9 +273,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToChar);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", SQL_CHAR)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", SQL_CHAR)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -285,9 +290,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.DateToString);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("CONVERT(");
- v.addElement(", SQL_CHAR)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CONVERT(");
+ v.add(", SQL_CHAR)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -336,11 +341,11 @@
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.SubstringSingleArg);
result.setType(ExpressionOperator.FunctionOperator);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement("SUBSTRING(");
- v.addElement(",");
- v.addElement(", CHAR_LENGTH(");
- v.addElement("))");
+ List<String> v = new ArrayList<>();
+ v.add("SUBSTRING(");
+ v.add(",");
+ v.add(", CHAR_LENGTH(");
+ v.add("))");
result.printsAs(v);
int[] indices = new int[3];
indices[0] = 0;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PointBasePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PointBasePlatform.java
index beee41e..ae5ed96 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PointBasePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PointBasePlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -26,6 +26,13 @@
public class PointBasePlatform extends org.eclipse.persistence.platform.database.DatabasePlatform {
/**
+ * Default constructor.
+ */
+ public PointBasePlatform() {
+ super();
+ }
+
+ /**
* Appends a Boolean value as true/false instead of 0/1
*/
@Override
@@ -58,8 +65,8 @@
}
@Override
- protected Map<String, Class> buildClassTypes() {
- Map<String, Class> classTypeMapping = super.buildClassTypes();
+ protected Map<String, Class<?>> buildClassTypes() {
+ Map<String, Class<?>> classTypeMapping = super.buildClassTypes();
classTypeMapping.put("FLOAT", Double.class);
classTypeMapping.put("DOUBLE PRECISION", Double.class);
@@ -72,10 +79,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN"));
fieldTypeMapping.put(Long.class, new FieldTypeDefinition("NUMERIC", 19));
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PostgreSQLPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PostgreSQLPlatform.java
index 8e6885a..29ffa90 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PostgreSQLPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/PostgreSQLPlatform.java
@@ -141,14 +141,14 @@
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Regexp);
result.setType(ExpressionOperator.FunctionOperator);
- Vector v = NonSynchronizedVector.newInstance(3);
+ List<String> v = new ArrayList<>(3);
v.add("");
v.add(" ~ ");
v.add("");
result.printsAs(v);
result.bePrefix();
result.setNodeClass(ClassConstants.FunctionExpression_Class);
- v = NonSynchronizedVector.newInstance(2);
+ v = new ArrayList<>(2);
v.add(".regexp(");
v.add(")");
result.printsJavaAs(v);
@@ -162,9 +162,9 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement("TO_NUMBER(");
- v.addElement(", '999999999.9999')");
+ List<String> v = new ArrayList<>(2);
+ v.add("TO_NUMBER(");
+ v.add(", '999999999.9999')");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -305,8 +305,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN", false));
@@ -349,7 +349,7 @@
protected ExpressionOperator operatorLocate() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Locate);
- Vector v = new Vector(3);
+ Vector<String> v = new Vector<>(3);
v.addElement("STRPOS(");
v.addElement(", ");
v.addElement(")");
@@ -365,7 +365,7 @@
protected ExpressionOperator operatorLocate2() {
ExpressionOperator operator = new ExpressionOperator();
operator.setSelector(ExpressionOperator.Locate2);
- Vector v = NonSynchronizedVector.newInstance(2);
+ List<String> v = new ArrayList<>(2);
v.add("COALESCE(NULLIF(STRPOS(SUBSTRING(");
v.add(" FROM ");
v.add("), ");
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLAnywherePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLAnywherePlatform.java
index 8917a2d..e1c7384 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLAnywherePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLAnywherePlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008 Markus KARG(markus-karg@users.sourceforge.net).
*
* This program and the accompanying materials are made available under the
@@ -72,8 +72,8 @@
return fieldTypeMapping;
}*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false));
return fieldTypeMapping;
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java
index f363638..4608b89 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SQLServerPlatform.java
@@ -196,10 +196,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT default 0", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -489,7 +487,7 @@
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Extract);
exOperator.setName("EXTRACT");
- Vector v = NonSynchronizedVector.newInstance(5);
+ List<String> v = new ArrayList<>(5);
v.add("DATEPART(");
v.add(",");
v.add(")");
@@ -511,7 +509,7 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Trim);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
+ List<String> v = new ArrayList<>(2);
v.add("RTRIM(LTRIM(");
v.add("))");
exOperator.printsAs(v);
@@ -528,7 +526,7 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Trim2);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
+ List<String> v = new ArrayList<>(5);
v.add("RTRIM(");
v.add(" FROM LTRIM(");
v.add(" FROM ");
@@ -563,9 +561,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable maximumNumericValues() {
- Hashtable values = new Hashtable();
-
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
values.put(Long.class, Long.MAX_VALUE);
values.put(Double.class, (double) 0);
@@ -583,9 +580,8 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable minimumNumericValues() {
- Hashtable values = new Hashtable();
-
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
+ Hashtable<Class<? extends Number>, ? super Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
values.put(Long.class, Long.MIN_VALUE);
values.put(Double.class, (double) -9);
@@ -603,8 +599,8 @@
public ExpressionOperator modOperator() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Mod);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement(" % ");
+ List<String> v = new ArrayList<>();
+ v.add(" % ");
result.printsAs(v);
result.bePostfix();
result.setNodeClass(org.eclipse.persistence.internal.expressions.FunctionExpression.class);
@@ -618,11 +614,11 @@
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.SubstringSingleArg);
result.setType(ExpressionOperator.FunctionOperator);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement("SUBSTRING(");
- v.addElement(",");
- v.addElement(", LEN(");
- v.addElement("))");
+ List<String> v = new ArrayList<>();
+ v.add("SUBSTRING(");
+ v.add(",");
+ v.add(", LEN(");
+ v.add("))");
result.printsAs(v);
int[] indices = new int[3];
indices[0] = 0;
@@ -641,8 +637,8 @@
protected ExpressionOperator operatorOuterJoin() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.EqualOuterJoin);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement(" =* ");
+ List<String> v = new ArrayList<>();
+ v.add(" =* ");
result.printsAs(v);
result.bePostfix();
result.setNodeClass(RelationExpression.class);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SybasePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SybasePlatform.java
index 91b7ab1..be72280 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SybasePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SybasePlatform.java
@@ -33,10 +33,12 @@
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.Types;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.Hashtable;
+import java.util.List;
import java.util.Map;
import java.util.Vector;
import java.util.regex.Pattern;
@@ -48,7 +50,6 @@
import org.eclipse.persistence.internal.helper.ClassConstants;
import org.eclipse.persistence.internal.helper.DatabaseTable;
import org.eclipse.persistence.internal.helper.Helper;
-import org.eclipse.persistence.internal.helper.NonSynchronizedVector;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.queries.ValueReadQuery;
@@ -66,7 +67,7 @@
// assigned negative values, making them unusable as indexes without guessing at modifying them.
// this attribute is used for registering output params in stored procedure calls. JConnect 5.5 requires
// that the API that accepts a string is called so we have a collection of strings to use.
- protected Map typeStrings;
+ protected Map<Integer, String> typeStrings;
public SybasePlatform(){
super();
@@ -245,10 +246,8 @@
}
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT default 0", false, false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -505,7 +504,7 @@
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Extract);
exOperator.setName("EXTRACT");
- Vector v = NonSynchronizedVector.newInstance(5);
+ List<String> v = new ArrayList<>(5);
v.add("DATEPART(");
v.add(",");
v.add(")");
@@ -527,7 +526,7 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Trim);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
+ List<String> v = new ArrayList<>(2);
v.add("RTRIM(LTRIM(");
v.add("))");
exOperator.printsAs(v);
@@ -544,7 +543,7 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Trim2);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5);
+ List<String> v = new ArrayList<>(5);
v.add("STR_REPLACE(");
v.add(", ");
v.add(", NULL)");
@@ -573,7 +572,7 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable<Class<? extends Number>, Number> maximumNumericValues() {
+ public Hashtable<Class<? extends Number>, ? super Number> maximumNumericValues() {
Hashtable<Class<? extends Number>, Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MAX_VALUE);
@@ -593,7 +592,7 @@
* <p><b>NOTE</b>: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale
*/
@Override
- public Hashtable<Class<? extends Number>, Number> minimumNumericValues() {
+ public Hashtable<Class<? extends Number>, ? super Number> minimumNumericValues() {
Hashtable<Class<? extends Number>, Number> values = new Hashtable<>();
values.put(Integer.class, Integer.MIN_VALUE);
@@ -613,8 +612,8 @@
public ExpressionOperator modOperator() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.Mod);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement(" % ");
+ List<String> v = new ArrayList<>();
+ v.add(" % ");
result.printsAs(v);
result.bePostfix();
result.setNodeClass(org.eclipse.persistence.internal.expressions.FunctionExpression.class);
@@ -627,8 +626,8 @@
protected ExpressionOperator operatorOuterJoin() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.EqualOuterJoin);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement(" =* ");
+ List<String> v = new ArrayList<>();
+ v.add(" =* ");
result.printsAs(v);
result.bePostfix();
result.setNodeClass(RelationExpression.class);
@@ -727,11 +726,11 @@
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.SubstringSingleArg);
result.setType(ExpressionOperator.FunctionOperator);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
- v.addElement("SUBSTRING(");
- v.addElement(",");
- v.addElement(", CHAR_LENGTH(");
- v.addElement("))");
+ List<String> v = new ArrayList<>();
+ v.add("SUBSTRING(");
+ v.add(",");
+ v.add(", CHAR_LENGTH(");
+ v.add("))");
result.printsAs(v);
int[] indices = new int[3];
indices[0] = 0;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SymfowarePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SymfowarePlatform.java
index c620bc4..ae5e81c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SymfowarePlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/SymfowarePlatform.java
@@ -23,10 +23,11 @@
import java.io.Writer;
import java.sql.Connection;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Hashtable;
+import java.util.List;
import java.util.Map;
-import java.util.Vector;
import org.eclipse.persistence.expressions.ExpressionOperator;
import org.eclipse.persistence.internal.databaseaccess.DatabaseCall;
@@ -36,7 +37,6 @@
import org.eclipse.persistence.internal.expressions.SQLSelectStatement;
import org.eclipse.persistence.internal.helper.ClassConstants;
import org.eclipse.persistence.internal.helper.Helper;
-import org.eclipse.persistence.internal.helper.NonSynchronizedVector;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.queries.ReportQuery;
import org.eclipse.persistence.queries.ValueReadQuery;
@@ -238,9 +238,9 @@
* @return the mappings.
*/
@Override
- protected Map<String, Class> buildClassTypes() {
+ protected Map<String, Class<?>> buildClassTypes() {
// use what is defined in DatabasePlatform and override those entries
- Map<String, Class> classTypeMapping = super.buildClassTypes();
+ Map<String, Class<?>> classTypeMapping = super.buildClassTypes();
classTypeMapping.put("SMALLINT", java.lang.Short.class);
classTypeMapping.put("INTEGER", java.lang.Integer.class);
classTypeMapping.put("NUMERIC", java.lang.Long.class);
@@ -371,9 +371,9 @@
protected static ExpressionOperator length() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Length);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("CHAR_LENGTH(");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("CHAR_LENGTH(");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -391,9 +391,9 @@
protected static ExpressionOperator charLength() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.CharLength);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("CHAR_LENGTH(");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("CHAR_LENGTH(");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -411,10 +411,10 @@
protected static ExpressionOperator locate() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Locate);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("POSITION(");
- v.addElement(" IN ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("POSITION(");
+ v.add(" IN ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 1, 0 };
@@ -435,11 +435,11 @@
protected static ExpressionOperator locate2() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Locate2);
- Vector<String> v = NonSynchronizedVector.newInstance(4);
- v.addElement("POSITION(");
- v.addElement(" IN ");
- v.addElement(",");
- v.addElement(")");
+ List<String> v = new ArrayList<>(4);
+ v.add("POSITION(");
+ v.add(" IN ");
+ v.add(",");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 1, 0, 2};
@@ -459,9 +459,9 @@
protected static ExpressionOperator logOperator() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Log);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("(LN(");
- v.addElement(")/LN(10))");
+ List<String> v = new ArrayList<>(2);
+ v.add("(LN(");
+ v.add(")/LN(10))");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(FunctionExpression.class);
@@ -479,9 +479,9 @@
protected static ExpressionOperator leftTrim() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.LeftTrim);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("TRIM(LEADING FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("TRIM(LEADING FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -499,10 +499,10 @@
protected static ExpressionOperator leftTrim2() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.LeftTrim2);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("TRIM(LEADING ");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("TRIM(LEADING ");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 1, 0 };
@@ -524,14 +524,14 @@
protected static ExpressionOperator mod() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Mod);
- Vector<String> v = NonSynchronizedVector.newInstance(7);
- v.addElement("(CASE WHEN ");
- v.addElement(" = 0 THEN ");
- v.addElement(" ELSE (");
- v.addElement(" - ");
- v.addElement(" * TRUNC( ");
- v.addElement(" / ");
- v.addElement(")) END)");
+ List<String> v = new ArrayList<>(7);
+ v.add("(CASE WHEN ");
+ v.add(" = 0 THEN ");
+ v.add(" ELSE (");
+ v.add(" - ");
+ v.add(" * TRUNC( ");
+ v.add(" / ");
+ v.add(")) END)");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 1, 0, 0, 1, 0, 1};
@@ -551,9 +551,9 @@
protected static ExpressionOperator rightTrim() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.RightTrim);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("TRIM(TRAILING FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(2);
+ v.add("TRIM(TRAILING FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -571,10 +571,10 @@
protected static ExpressionOperator rightTrim2() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.RightTrim2);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("TRIM(TRAILING ");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("TRIM(TRAILING ");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 1, 0 };
@@ -594,11 +594,11 @@
protected static ExpressionOperator substring() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Substring);
- Vector<String> v = NonSynchronizedVector.newInstance(4);
- v.addElement("SUBSTRING(");
- v.addElement(" FROM ");
- v.addElement(" FOR ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(4);
+ v.add("SUBSTRING(");
+ v.add(" FROM ");
+ v.add(" FOR ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -617,10 +617,10 @@
protected static ExpressionOperator singleArgumentSubstring() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.SubstringSingleArg);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("SUBSTRING(");
- v.addElement(" FROM ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("SUBSTRING(");
+ v.add(" FROM ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -638,9 +638,9 @@
protected static ExpressionOperator toNumber() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.ToNumber);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("CAST(");
- v.addElement(" AS SMALLINT)");
+ List<String> v = new ArrayList<>(2);
+ v.add("CAST(");
+ v.add(" AS SMALLINT)");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -658,10 +658,10 @@
protected static ExpressionOperator instring() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.Instring);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("POSITION(");
- v.addElement(" IN ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("POSITION(");
+ v.add(" IN ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = { 1, 0 };
@@ -681,10 +681,10 @@
protected static ExpressionOperator monthsBetween() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.MonthsBetween);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("SPAN_DATE(");
- v.addElement(" , ");
- v.addElement(",'MONTH')");
+ List<String> v = new ArrayList<>(3);
+ v.add("SPAN_DATE(");
+ v.add(" , ");
+ v.add(",'MONTH')");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -702,10 +702,10 @@
protected static ExpressionOperator roundDate() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.RoundDate);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("ROUND_DATE(");
- v.addElement(" , ");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("ROUND_DATE(");
+ v.add(" , ");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -724,9 +724,9 @@
protected static ExpressionOperator toDate() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.ToDate);
- Vector<String> v = NonSynchronizedVector.newInstance(2);
- v.addElement("CNV_DATE(");
- v.addElement(", 'YYYY-MM-DD')");
+ List<String> v = new ArrayList<>(2);
+ v.add("CNV_DATE(");
+ v.add(", 'YYYY-MM-DD')");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -745,11 +745,11 @@
protected static ExpressionOperator addDate() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.AddDate);
- Vector<String> v = NonSynchronizedVector.newInstance(4);
- v.addElement("ADD_DATE(");
- v.addElement(", ");
- v.addElement(", '");
- v.addElement("')");
+ List<String> v = new ArrayList<>(4);
+ v.add("ADD_DATE(");
+ v.add(", ");
+ v.add(", '");
+ v.add("')");
exOperator.printsAs(v);
exOperator.bePrefix();
@@ -772,10 +772,10 @@
protected static ExpressionOperator truncateDate() {
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setSelector(ExpressionOperator.TruncateDate);
- Vector<String> v = NonSynchronizedVector.newInstance(3);
- v.addElement("TRUNC_DATE(");
- v.addElement(",");
- v.addElement(")");
+ List<String> v = new ArrayList<>(3);
+ v.add("TRUNC_DATE(");
+ v.add(",");
+ v.add(")");
exOperator.printsAs(v);
exOperator.bePrefix();
exOperator.setNodeClass(ClassConstants.FunctionExpression_Class);
@@ -807,12 +807,12 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Greatest);
- Vector<String> v = NonSynchronizedVector.newInstance(5);
- v.addElement("(CASE WHEN ");
- v.addElement(" >= ");
- v.addElement(" THEN ");
- v.addElement(" ELSE ");
- v.addElement(" END)");
+ List<String> v = new ArrayList<>(5);
+ v.add("(CASE WHEN ");
+ v.add(" >= ");
+ v.add(" THEN ");
+ v.add(" ELSE ");
+ v.add(" END)");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1, 0, 1};
@@ -833,12 +833,12 @@
ExpressionOperator exOperator = new ExpressionOperator();
exOperator.setType(ExpressionOperator.FunctionOperator);
exOperator.setSelector(ExpressionOperator.Least);
- Vector<String> v = NonSynchronizedVector.newInstance(5);
- v.addElement("(CASE WHEN ");
- v.addElement(" <= ");
- v.addElement(" THEN ");
- v.addElement(" ELSE ");
- v.addElement(" END)");
+ List<String> v = new ArrayList<>(5);
+ v.add("(CASE WHEN ");
+ v.add(" <= ");
+ v.add(" THEN ");
+ v.add(" ELSE ");
+ v.add(" END)");
exOperator.printsAs(v);
exOperator.bePrefix();
int[] indices = {0, 1, 0, 1};
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTen7Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTen7Platform.java
index b7bf651..e786102 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTen7Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTen7Platform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -29,12 +29,18 @@
public class TimesTen7Platform extends TimesTenPlatform {
/**
+ * Default constructor.
+ */
+ public TimesTen7Platform() {
+ super();
+ }
+
+ /**
* Return the mapping of class types to database types for the schema framework.
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("TT_TINYINT", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("TT_INTEGER", false));
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTenPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTenPlatform.java
index 58af625..37b8490 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTenPlatform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/TimesTenPlatform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,9 +17,11 @@
package org.eclipse.persistence.platform.database;
import java.io.*;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Hashtable;
-import java.util.Vector;
+import java.util.List;
+
import org.eclipse.persistence.expressions.ExpressionOperator;
import org.eclipse.persistence.internal.databaseaccess.DatabaseCall;
import org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition;
@@ -119,10 +121,8 @@
* Return the mapping of class types to database types for the schema framework.
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping;
-
- fieldTypeMapping = new Hashtable();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>();
fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("TINYINT", false));
fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false));
@@ -217,8 +217,8 @@
protected ExpressionOperator operatorOuterJoin() {
ExpressionOperator result = new ExpressionOperator();
result.setSelector(ExpressionOperator.EqualOuterJoin);
- Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2);
- v.addElement(" (+) = ");
+ List<String> v = new ArrayList<>(2);
+ v.add(" (+) = ");
result.printsAs(v);
result.bePostfix();
result.setNodeClass(RelationExpression.class);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java
index ef53085..eb9869f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java
@@ -302,7 +302,7 @@
ExternalTransactionController controller = null;
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){
try {
- controller = (ExternalTransactionController)AccessController.doPrivileged(new PrivilegedNewInstanceFromClass(this.getExternalTransactionControllerClass()));
+ controller = AccessController.<ExternalTransactionController>doPrivileged(new PrivilegedNewInstanceFromClass<>(this.getExternalTransactionControllerClass()));
} catch (PrivilegedActionException exception) {
Exception throwableException = exception.getException();
if (throwableException instanceof InstantiationException) {
@@ -312,7 +312,7 @@
}
}
} else {
- controller = (ExternalTransactionController)PrivilegedAccessHelper.newInstanceFromClass(this.getExternalTransactionControllerClass());
+ controller = PrivilegedAccessHelper.<ExternalTransactionController>newInstanceFromClass(this.getExternalTransactionControllerClass());
}
getDatabaseSession().setExternalTransactionController(controller);
} catch (InstantiationException instantiationException) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_10_Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_10_Platform.java
index 1a50444..634bbfb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_10_Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_10_Platform.java
@@ -317,7 +317,7 @@
// weblogic.work.ExecuteThreadRuntime.<getMethodName>
Method getMethod = PrivilegedAccessHelper.getPublicMethod(executeThread.getClass(), getMethodName, new Class[] {}, false);
if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) {
- classLoaderOrString = AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, executeThread, null));
+ classLoaderOrString = AccessController.doPrivileged(new PrivilegedMethodInvoker<>(getMethod, executeThread, null));
} else {
classLoaderOrString = PrivilegedAccessHelper.invokeMethod(getMethod, executeThread);
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java
index e2b4037..2b5deb4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java
@@ -86,8 +86,8 @@
throw ValidationException.javaTypeIsNotAValidDatabaseType(type);
}
} else if (name != null) { //translate generic type name
- final Map<String, Class> fieldTypes = platform.getClassTypes();
- final Class typeFromName = fieldTypes.get(name);
+ final Map<String, Class<?>> fieldTypes = platform.getClassTypes();
+ final Class<?> typeFromName = fieldTypes.get(name);
if (typeFromName == null) { // if unknown type name, use as it is
fieldType = new FieldTypeDefinition(name);
} else {
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java
index 1396bb0..02809ed 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java
@@ -66,8 +66,8 @@
* INTERNAL:
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypeMapping = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes();
fieldTypeMapping.put(Byte[].class, new FieldTypeDefinition("BLOB", false));
fieldTypeMapping.put(Character[].class, new FieldTypeDefinition("CLOB", false));
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle9Platform.java b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle9Platform.java
index 2d50185..b120cb5 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle9Platform.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle9Platform.java
@@ -318,8 +318,8 @@
* Add TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE
*/
@Override
- protected Hashtable buildFieldTypes() {
- Hashtable fieldTypes = super.buildFieldTypes();
+ protected Hashtable<Class<?>, FieldTypeDefinition> buildFieldTypes() {
+ Hashtable<Class<?>, FieldTypeDefinition> fieldTypes = super.buildFieldTypes();
fieldTypes.put(org.w3c.dom.Document.class, new FieldTypeDefinition("sys.XMLType"));
//Bug#3381652 10g database does not accept Time for DATE field
fieldTypes.put(java.sql.Time.class, new FieldTypeDefinition("TIMESTAMP", false));
@@ -351,8 +351,8 @@
* Add TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE
*/
@Override
- protected Map<String, Class> buildClassTypes() {
- Map<String, Class> classTypeMapping = super.buildClassTypes();
+ protected Map<String, Class<?>> buildClassTypes() {
+ Map<String, Class<?>> classTypeMapping = super.buildClassTypes();
classTypeMapping.put("TIMESTAMP", ORACLE_SQL_TIMESTAMP);
classTypeMapping.put("TIMESTAMP WITH TIME ZONE", ORACLE_SQL_TIMESTAMPTZ);
classTypeMapping.put("TIMESTAMP WITH LOCAL TIME ZONE", ORACLE_SQL_TIMESTAMPLTZ);
@@ -622,30 +622,30 @@
return "SYSTIMESTAMP";
}
- protected Vector buildToTIMESTAMPVec() {
- Vector vec = new Vector();
- vec.addElement(java.util.Date.class);
- vec.addElement(Timestamp.class);
- vec.addElement(Calendar.class);
- vec.addElement(String.class);
- vec.addElement(Long.class);
- vec.addElement(Date.class);
- vec.addElement(Time.class);
+ protected List<Class<?>> buildToTIMESTAMPVec() {
+ List<Class<?>> vec = new Vector<>();
+ vec.add(java.util.Date.class);
+ vec.add(Timestamp.class);
+ vec.add(Calendar.class);
+ vec.add(String.class);
+ vec.add(Long.class);
+ vec.add(Date.class);
+ vec.add(Time.class);
return vec;
}
- protected Vector buildToNStringCharVec() {
- Vector vec = new Vector();
- vec.addElement(String.class);
- vec.addElement(Character.class);
+ protected List<Class<?>> buildToNStringCharVec() {
+ List<Class<?>> vec = new Vector<>();
+ vec.add(String.class);
+ vec.add(Character.class);
return vec;
}
- protected Vector buildToNClobVec() {
- Vector vec = new Vector();
- vec.addElement(String.class);
- vec.addElement(Character[].class);
- vec.addElement(char[].class);
+ protected List<Class<?>> buildToNClobVec() {
+ List<Class<?>> vec = new Vector<>();
+ vec.add(String.class);
+ vec.add(Character[].class);
+ vec.add(char[].class);
return vec;
}
@@ -739,11 +739,11 @@
* @return - a vector of classes
*/
@Override
- public List getDataTypesConvertedFrom(Class javaClass) {
+ public List<Class<?>> getDataTypesConvertedFrom(Class<?> javaClass) {
if (dataTypesConvertedFromAClass == null) {
- dataTypesConvertedFromAClass = new Hashtable(5);
+ dataTypesConvertedFromAClass = new Hashtable<>(5);
}
- List dataTypes = (List) dataTypesConvertedFromAClass.get(javaClass);
+ List<Class<?>> dataTypes = dataTypesConvertedFromAClass.get(javaClass);
if (dataTypes != null) {
return dataTypes;
}
@@ -770,11 +770,11 @@
* @return - a vector of classes
*/
@Override
- public List getDataTypesConvertedTo(Class javaClass) {
+ public List<Class<?>> getDataTypesConvertedTo(Class<?> javaClass) {
if (dataTypesConvertedToAClass == null) {
- dataTypesConvertedToAClass = new Hashtable(5);
+ dataTypesConvertedToAClass = new Hashtable<>(5);
}
- List dataTypes = (Vector) dataTypesConvertedToAClass.get(javaClass);
+ List<Class<?>> dataTypes = dataTypesConvertedToAClass.get(javaClass);
if (dataTypes != null) {
return dataTypes;
}