diff --git a/bundles/eclipselink/src/main/java/module-info.java b/bundles/eclipselink/src/main/java/module-info.java index c5fc3f5e090..f9fb47f65c0 100644 --- a/bundles/eclipselink/src/main/java/module-info.java +++ b/bundles/eclipselink/src/main/java/module-info.java @@ -118,6 +118,7 @@ exports org.eclipse.persistence.sessions.coordination.jms; exports org.eclipse.persistence.sessions.coordination.rmi; exports org.eclipse.persistence.sessions.factories; + exports org.eclipse.persistence.sessions.interceptors; exports org.eclipse.persistence.sessions.remote; exports org.eclipse.persistence.sessions.remote.rmi; exports org.eclipse.persistence.sessions.serializers; diff --git a/foundation/eclipselink.core.test/src/test/java/org/eclipse/persistence/testing/tests/junit/sessionsxml/SessionManagerTest.java b/foundation/eclipselink.core.test/src/test/java/org/eclipse/persistence/testing/tests/junit/sessionsxml/SessionManagerTest.java index abc9b0132e4..721cc1c6b89 100644 --- a/foundation/eclipselink.core.test/src/test/java/org/eclipse/persistence/testing/tests/junit/sessionsxml/SessionManagerTest.java +++ b/foundation/eclipselink.core.test/src/test/java/org/eclipse/persistence/testing/tests/junit/sessionsxml/SessionManagerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -34,6 +34,7 @@ import org.eclipse.persistence.platform.server.ServerPlatformDetector; import org.eclipse.persistence.platform.server.ServerPlatformUtils; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.sessions.factories.SessionManager; import org.junit.After; import org.junit.Assert; @@ -327,7 +328,7 @@ public Platform(DatabaseSession newDatabaseSession) { } @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { return null; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/module-info.java b/foundation/org.eclipse.persistence.core/src/main/java/module-info.java index 5f4e421e46d..03cf1d17580 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/module-info.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/module-info.java @@ -112,6 +112,7 @@ exports org.eclipse.persistence.sessions.coordination.jms; exports org.eclipse.persistence.sessions.coordination.rmi; exports org.eclipse.persistence.sessions.factories; + exports org.eclipse.persistence.sessions.interceptors; exports org.eclipse.persistence.sessions.remote; exports org.eclipse.persistence.sessions.remote.rmi; exports org.eclipse.persistence.sessions.serializers; 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 1a3ddb7c71c..3232def60a3 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 fieldTypes; + protected transient Map, 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 @@ public class DatabasePlatform extends DatasourcePlatform { protected boolean shouldOptimizeDataConversion; /** Stores mapping of class types to database types for schema creation. */ - protected transient Map classTypes; + protected transient Map> 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 @@ public DatabaseCall buildCallWithReturning(SQLCall sqlCall, Vector returnFields) /** * Return the mapping of class types to database types for the schema framework. */ - protected Map buildClassTypes() { - Map classTypeMapping = new HashMap<>(); + protected Map> buildClassTypes() { + Map> 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 @@ protected Map buildClassTypes() { /** * Return the mapping of class types to database types for the schema framework. */ - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("NUMBER", 1)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("NUMBER", 10)); @@ -1154,7 +1152,7 @@ public String getProcedureOptionList() { /** * Return the class type to database type mapping for the schema framework. */ - public Map getClassTypes() { + public Map> getClassTypes() { if (classTypes == null) { classTypes = buildClassTypes(); } @@ -1229,14 +1227,14 @@ public String getDropDatabaseSchemaString(String schema) { * 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 getFieldTypes() { + public Map, FieldTypeDefinition> getFieldTypes() { if (this.fieldTypes == null) { this.fieldTypes = buildFieldTypes(); } @@ -1677,8 +1675,8 @@ public boolean isLobCompatibleWithDistinct() { * might also be useful to end users attempting to sanitize values. *

NOTE: BigInteger & BigDecimal maximums are dependent upon their precision & Scale */ - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? super Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MAX_VALUE); values.put(Long.class, Long.MAX_VALUE); @@ -1696,8 +1694,8 @@ public Hashtable maximumNumericValues() { * might also be useful to end users attempting to sanitize values. *

NOTE: BigInteger & BigDecimal minimums are dependent upon their precision & Scale */ - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? super Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MIN_VALUE); values.put(Long.class, Long.MIN_VALUE); @@ -1904,7 +1902,7 @@ public void setCastSizeForVarcharParameter(int maxLength){ castSizeForVarcharParameter = maxLength; } - protected void setClassTypes(Hashtable classTypes) { + protected void setClassTypes(Map> classTypes) { this.classTypes = classTypes; } @@ -1924,7 +1922,7 @@ public void setDriverName(String driverName) { this.driverName = driverName; } - protected void setFieldTypes(Hashtable theFieldTypes) { + protected void setFieldTypes(Map, 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 6e40c5e4b35..f39e44f9fd3 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 @@ public class DatasourcePlatform implements Platform { protected ValueReadQuery timestampQuery; /** Operators specific to this platform */ - protected transient Map platformOperators; + protected transient Map platformOperators; /** Store the list of Classes that can be converted to from the key. */ - protected Hashtable dataTypesConvertedFromAClass; + protected Hashtable, List>> dataTypesConvertedFromAClass; /** Store the list of Classes that can be converted from to the key. */ - protected Hashtable dataTypesConvertedToAClass; + protected Hashtable, List>> dataTypesConvertedToAClass; /** Store default sequence */ protected Sequence defaultSequence; @@ -195,11 +194,11 @@ protected void sequencesAfterCloneCleanup() { setDefaultSequence(defaultSequenceClone); } if (getSequences() != null) { - HashMap sequencesCopy = new HashMap(getSequences()); - HashMap sequencesDeepClone = new HashMap(getSequences().size()); - Iterator it = sequencesCopy.values().iterator(); + Map sequencesCopy = new HashMap<>(getSequences()); + Map sequencesDeepClone = new HashMap<>(getSequences().size()); + Iterator 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 @@ public DataModifyQuery getUpdateSequenceQuery() { * 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 @@ public String toString() { * @param javaClass - the class that is converted from * @return - a vector of classes */ - public List getDataTypesConvertedFrom(Class javaClass) { + public List> getDataTypesConvertedFrom(Class javaClass) { return getConversionManager().getDataTypesConvertedFrom(javaClass); } @@ -727,7 +726,7 @@ public List getDataTypesConvertedFrom(Class javaClass) { * @param javaClass - the class that is converted to * @return - a vector of classes */ - public List getDataTypesConvertedTo(Class javaClass) { + public List> getDataTypesConvertedTo(Class javaClass) { return getConversionManager().getDataTypesConvertedTo(javaClass); } @@ -789,18 +788,19 @@ public void addSequence(Sequence sequence, boolean isSessionConnected) { 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 newSequences = (Map)((HashMap)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 @@ public Map getSequencesToWrite() { if ((getSequences() == null) || getSequences().isEmpty()) { return null; } - Map sequencesCopy = new HashMap(getSequences()); - Map sequencesToWrite = new HashMap(); - Iterator it = sequencesCopy.values().iterator(); + Map sequencesCopy = new HashMap<>(getSequences()); + Map sequencesToWrite = new HashMap<>(); + Iterator 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/internal/sessions/factories/SessionsFactory.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java index be58fa6a740..c9480c8d0a1 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java @@ -97,6 +97,7 @@ import org.eclipse.persistence.sequencing.UnaryTableSequence; import org.eclipse.persistence.sessions.DatabaseLogin; import org.eclipse.persistence.sessions.DatasourceLogin; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.sessions.JNDIConnector; import org.eclipse.persistence.sessions.Login; import org.eclipse.persistence.sessions.Project; @@ -735,13 +736,13 @@ protected ConnectionPool buildConnectionPoolConfig(ConnectionPoolConfig poolConf /** * INTERNAL: */ + @SuppressWarnings({"unchecked"}) protected ServerPlatform buildCustomServerPlatformConfig(CustomServerPlatformConfig platformConfig, DatabaseSessionImpl session) { ServerPlatform platform; // Server class - XML schema default is org.eclipse.persistence.platform.server.CustomServerPlatform String serverClassName = platformConfig.getServerClassName(); try { - @SuppressWarnings({"unchecked"}) Class serverClass = (Class) m_classLoader.loadClass(serverClassName); if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){ Constructor constructor = AccessController.doPrivileged(new PrivilegedGetConstructorFor<>(serverClass, new Class[] { org.eclipse.persistence.sessions.DatabaseSession.class }, false)); @@ -758,7 +759,7 @@ protected ServerPlatform buildCustomServerPlatformConfig(CustomServerPlatformCon String externalTransactionControllerClass = platformConfig.getExternalTransactionControllerClass(); if (externalTransactionControllerClass != null) { try { - platform.setExternalTransactionControllerClass(m_classLoader.loadClass(externalTransactionControllerClass)); + platform.setExternalTransactionControllerClass((Class) m_classLoader.loadClass(externalTransactionControllerClass)); } catch (Exception exception) { throw SessionLoaderException.failedToLoadTag("external-transaction-controller-class", externalTransactionControllerClass, exception); } 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 2c18686cc0f..a96f78d926b 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 @@ protected void initializeFieldToTransformers(AbstractSession session) throws Des } else if (field.getColumnDefinition() != null) { // Search for the type for this field definition. if (session.getDatasourcePlatform() instanceof DatabasePlatform) { - Iterator> iterator = session.getPlatform().getFieldTypes().entrySet().iterator(); + Iterator, FieldTypeDefinition>> iterator = session.getPlatform().getFieldTypes().entrySet().iterator(); while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); + Map.Entry, 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 3c3340230c3..938c8c17fa4 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 buildClassTypes() { - Map classTypeMapping = super.buildClassTypes(); + protected Map> buildClassTypes() { + Map> classTypeMapping = super.buildClassTypes(); // In access LONG means numeric not CLOB like in Oracle classTypeMapping.put("LONG", Long.class); @@ -42,10 +50,8 @@ protected Map buildClassTypes() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BIT", false)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("LONG", false)); @@ -121,8 +127,8 @@ public boolean isAccess() { *

NOTE: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? super Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MAX_VALUE); values.put(Long.class, Long.MAX_VALUE); @@ -141,8 +147,8 @@ public Hashtable maximumNumericValues() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? 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 35e1de9d5ae..154e342bf5c 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 @@ public AttunityPlatform() { * @return java.util.Hashtable */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 64b9811e02d..f3b705eaab6 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 @@ -25,14 +25,19 @@ */ 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, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 de5bce1bcb7..13684484f1b 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 @@ public boolean supportsOuterJoinsWithBrackets() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable, Object> res = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 0c2ac959927..1f256d21516 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 @@ protected void appendCalendar(Calendar calendar, Writer writer) throws IOExcepti } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT DEFAULT 0", false)); @@ -496,8 +496,8 @@ public boolean isDB2() { * precision {@literal &} Scale */ @Override - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? super Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MAX_VALUE); values.put(Long.class, (long) Integer.MAX_VALUE); @@ -520,8 +520,8 @@ public Hashtable maximumNumericValues() { * precision {@literal &} Scale */ @Override - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? super Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MIN_VALUE); values.put(Long.class, (long) Integer.MIN_VALUE); @@ -566,7 +566,7 @@ private ExpressionOperator concatOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Concat); - Vector v = new Vector(5); + Vector v = new Vector<>(5); v.add("VARCHAR("); v.add(" || "); v.add(")"); @@ -584,7 +584,7 @@ private ExpressionOperator ltrim2Operator() { ExpressionOperator operator = new ExpressionOperator(); operator.setType(ExpressionOperator.FunctionOperator); operator.setSelector(ExpressionOperator.LeftTrim2); - Vector v = new Vector(5); + Vector v = new Vector<>(5); v.add("TRIM(LEADING "); v.add(" FROM "); v.add(")"); @@ -606,7 +606,7 @@ private ExpressionOperator rtrim2Operator() { ExpressionOperator operator = new ExpressionOperator(); operator.setType(ExpressionOperator.FunctionOperator); operator.setSelector(ExpressionOperator.RightTrim2); - Vector v = new Vector(5); + Vector 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 b6e2b5c60f9..a09f8dda4af 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 @@ public DB2ZPlatform() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable, Object> res = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> res = super.buildFieldTypes(); if (getUseNationalCharacterVaryingTypeForString()) { res.put(String.class, new FieldTypeDefinition("VARCHAR", DEFAULT_VARCHAR_SIZE)); } @@ -200,6 +200,7 @@ public void registerOutputParameter(CallableStatement statement, String name, in 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 @@ public void registerOutputParameter(CallableStatement statement, String name, in } @Override + @SuppressWarnings({"rawtypes"}) public void setParameterValueInDatabaseCall(Object parameter, CallableStatement statement, String name, AbstractSession session) throws SQLException { @@ -430,6 +432,7 @@ else if (parameter instanceof Calendar) { } @Override + @SuppressWarnings({"rawtypes"}) protected void setNullFromDatabaseField(DatabaseField databaseField, CallableStatement statement, String name) throws SQLException { String methodName = null; Class[] methodArgs = null; @@ -477,6 +480,7 @@ protected void setNullFromDatabaseField(DatabaseField databaseField, CallableSta } @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 b8f8a82624a..b0bd1c0e7c3 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, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("NUMBER", 1)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("NUMBER", 11)); @@ -134,8 +140,8 @@ public boolean isDBase() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? super Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MAX_VALUE); values.put(Long.class, Long.valueOf("922337203685478000")); @@ -154,8 +160,8 @@ public Hashtable maximumNumericValues() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? 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 d4c7c04a28d..db2e86e85a3 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 @@ public void printFieldIdentityClause(Writer writer) throws ValidationException { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT DEFAULT 0", false)); @@ -350,7 +351,7 @@ public static ExpressionOperator extractOperator() { exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Extract); exOperator.setName("EXTRACT"); - Vector v = NonSynchronizedVector.newInstance(5); + List 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 835800a8ef8..5ba2a9cff5c 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 @@ public FirebirdPlatform() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("SMALLINT", false)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); @@ -170,10 +170,10 @@ protected ExpressionOperator substring() { 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 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 @@ protected ExpressionOperator substring2() { 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 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 @@ protected ExpressionOperator greatest() { 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 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 @@ protected ExpressionOperator leftTrim() { 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 v = new ArrayList<>(5); + v.add("TRIM(LEADING FROM "); + v.add(")"); exOperator.printsAs(v); exOperator.bePrefix(); int[] indices = {0}; @@ -256,9 +256,9 @@ protected ExpressionOperator rightTrim() { 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 v = new ArrayList<>(5); + v.add("TRIM(TRAILING FROM "); + v.add(")"); exOperator.printsAs(v); exOperator.bePrefix(); int[] indices = {0}; @@ -276,10 +276,10 @@ protected ExpressionOperator rightTrim2() { 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 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 @@ public static ExpressionOperator toNumberOperator() { 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 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 @@ public static ExpressionOperator monthsBetweenOperator() { 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 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 a18ee064453..d8eb4c2b3bc 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 @@ public int computeMaxRowsForSQL(int firstResultIndex, int maxResults){ } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN", false)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); @@ -235,9 +235,9 @@ public static ExpressionOperator toNumberOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(",DECIMAL)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -252,10 +252,10 @@ public static ExpressionOperator monthsBetweenOperator() { 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 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 75cd931530d..f17ee83c3d6 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 @@ public boolean supportsIndividualTableLocking() { } @Override - protected Hashtable buildFieldTypes() { - final Hashtable fieldTypeMapping = new Hashtable<>(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + final Hashtable, 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 createVarianceOperator() { private static ExpressionOperator createLogOperator() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Log); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("LOG(10,"); - v.addElement(")"); + List v = new ArrayList<>(2); + v.add("LOG(10,"); + v.add(")"); result.printsAs(v); result.bePrefix(); result.setNodeClass(FunctionExpression.class); @@ -305,11 +305,11 @@ private static ExpressionOperator createNullifOperator() { 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 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 087fa004842..18fd1e8f68e 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 @@ public HSQLPlatform() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = super.buildFieldTypes(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN", false)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); @@ -111,9 +109,9 @@ public static ExpressionOperator toNumberOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(",DECIMAL)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -128,9 +126,9 @@ public static ExpressionOperator trimOperator() { 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 v = new ArrayList<>(2); + v.add("TRIM(FROM "); + v.add(")"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -146,10 +144,10 @@ protected ExpressionOperator rightTrim2() { 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 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 @@ protected ExpressionOperator greatest() { 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 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 9952e593cdd..85731f643d5 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 @@ protected void appendTimestamp(java.sql.Timestamp timestamp, Writer writer) thro } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 @@ public boolean shouldSelectIncludeOrderBy() { *

NOTE: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); - + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? 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 @@ public Hashtable maximumNumericValues() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); - + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? 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 6282369a92d..72908bf3d35 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 @@ public class JavaDBPlatform extends DerbyPlatform { // 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 3b6e9e46bc7..787fcd9c397 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 @@ public MaxDBPlatform(){ } @Override - protected Hashtable buildFieldTypes() { - final Hashtable fieldTypeMapping = new Hashtable<>(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + final Hashtable, 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 @@ private static ExpressionOperator createNullifOperator() { 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 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 4b64e49f9f3..eac34dc2ccb 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 @@ protected void appendCalendar(Calendar calendar, Writer writer) throws IOExcepti * Return the mapping of class types to database types for the schema framework. */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 void initializePlatformOperators() { 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 v = new ArrayList<>(2); + v.add("LOG(10, "); + v.add(")"); result.printsAs(v); result.bePrefix(); result.setNodeClass(FunctionExpression.class); @@ -421,9 +421,9 @@ protected ExpressionOperator toNumberOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(", SIGNED)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -438,9 +438,9 @@ protected ExpressionOperator toDateOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(", DATETIME)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -455,9 +455,9 @@ protected ExpressionOperator toCharOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(", CHAR)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -472,9 +472,9 @@ protected ExpressionOperator dateToStringOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(", CHAR)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -490,10 +490,10 @@ protected ExpressionOperator leftTrim2() { 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 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 @@ protected ExpressionOperator rightTrim2() { 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 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 a5b38099164..5b66b59f640 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 @@ -49,12 +49,19 @@ public class Oracle8Platform extends OraclePlatform { /** The LOB value limits when the Locator is required for the writing */ protected int lobValueLimits = 0; + /** + * Default constructor. + */ + public Oracle8Platform() { + super(); + } + /** * INTERNAL: */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 7b9dcbc744a..e0e81d8717e 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 @@ public ExpressionOperator atan2Operator() { * INTERNAL: */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 @@ public static ExpressionOperator regexpOperator() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Regexp); result.setType(ExpressionOperator.FunctionOperator); - Vector v = NonSynchronizedVector.newInstance(3); + List 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 @@ public boolean isOracle() { protected ExpressionOperator logOperator() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Log); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("LOG(10,"); - v.addElement(")"); + List v = new ArrayList<>(2); + v.add("LOG(10,"); + v.add(")"); result.printsAs(v); result.bePrefix(); result.setNodeClass(FunctionExpression.class); @@ -672,9 +670,8 @@ protected ExpressionOperator logOperator() { *

NOTE: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); - + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? 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 @@ public Hashtable maximumNumericValues() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); - + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? 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 @@ public ValueReadQuery buildSelectQueryForIdentity(String qualifiedSeqName, Integ protected ExpressionOperator operatorOuterJoin() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.EqualOuterJoin); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement(" (+) = "); + List v = new ArrayList<>(2); + v.add(" (+) = "); result.printsAs(v); result.bePostfix(); result.setNodeClass(RelationExpression.class); @@ -750,10 +746,10 @@ protected ExpressionOperator operatorOuterJoin() { protected ExpressionOperator operatorLocate() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Locate); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("INSTR("); - v.addElement(", "); - v.addElement(")"); + List 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 operatorLocate() { 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 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 @@ public void printSQLSelectStatement(DatabaseCall call, ExpressionSQLPrinter prin @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 newParameterTypesList = new ArrayList(call.getParameterTypes()); + List 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 1f5b7ebca27..2c0d86ce2f4 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 class PervasivePlatform extends org.eclipse.persistence.platform.database public static final int DEFAULT_CHAR_SIZE = 80; + /** + * Default constructor. + */ + public PervasivePlatform() { + super(); + } + // // Cloned from AccessPlatform.java // @Override - protected Map buildClassTypes() { - Map classTypeMapping = super.buildClassTypes(); + protected Map> buildClassTypes() { + Map> 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 @@ protected Map buildClassTypes() { return classTypeMapping; } - @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 @@ protected ExpressionOperator toNumberOperator() { 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 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 @@ protected ExpressionOperator toDateOperator() { 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 v = new ArrayList<>(2); + v.add("CONVERT("); + v.add(", DATETIME)"); exOperator.printsAs(v); exOperator.bePrefix(); exOperator.setNodeClass(ClassConstants.FunctionExpression_Class); @@ -268,9 +273,9 @@ protected ExpressionOperator toCharOperator() { 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 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 @@ protected ExpressionOperator dateToStringOperator() { 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 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 @@ public ExpressionOperator singleArgumentSubstringOperator() { 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 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 beee41e1b68..ae5ed96c2d1 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 @@ -25,6 +25,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 */ @@ -58,8 +65,8 @@ protected void appendTimestamp(java.sql.Timestamp timestamp, Writer writer) thro } @Override - protected Map buildClassTypes() { - Map classTypeMapping = super.buildClassTypes(); + protected Map> buildClassTypes() { + Map> classTypeMapping = super.buildClassTypes(); classTypeMapping.put("FLOAT", Double.class); classTypeMapping.put("DOUBLE PRECISION", Double.class); @@ -72,10 +79,8 @@ protected Map buildClassTypes() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 8e6885afd86..29ffa901dc3 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 @@ public static ExpressionOperator regexpOperator() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Regexp); result.setType(ExpressionOperator.FunctionOperator); - Vector v = NonSynchronizedVector.newInstance(3); + List 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 @@ protected ExpressionOperator toNumberOperator() { 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 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 @@ public void printFieldIdentityClause(Writer writer) throws ValidationException { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("BOOLEAN", false)); @@ -349,7 +349,7 @@ protected Hashtable buildFieldTypes() { protected ExpressionOperator operatorLocate() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Locate); - Vector v = new Vector(3); + Vector v = new Vector<>(3); v.addElement("STRPOS("); v.addElement(", "); v.addElement(")"); @@ -365,7 +365,7 @@ protected ExpressionOperator operatorLocate() { protected ExpressionOperator operatorLocate2() { ExpressionOperator operator = new ExpressionOperator(); operator.setSelector(ExpressionOperator.Locate2); - Vector v = NonSynchronizedVector.newInstance(2); + List 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 8917a2d7a25..e1c7384ebb3 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 @@ public SQLAnywherePlatform() { return fieldTypeMapping; }*/ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 f363638aee6..4608b894790 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 @@ protected void appendCalendar(Calendar calendar, Writer writer) throws IOExcepti } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 @@ public static ExpressionOperator extractOperator() { exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Extract); exOperator.setName("EXTRACT"); - Vector v = NonSynchronizedVector.newInstance(5); + List v = new ArrayList<>(5); v.add("DATEPART("); v.add(","); v.add(")"); @@ -511,7 +509,7 @@ public static ExpressionOperator trimOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Trim); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2); + List v = new ArrayList<>(2); v.add("RTRIM(LTRIM("); v.add("))"); exOperator.printsAs(v); @@ -528,7 +526,7 @@ public static ExpressionOperator trim2Operator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Trim2); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5); + List v = new ArrayList<>(5); v.add("RTRIM("); v.add(" FROM LTRIM("); v.add(" FROM "); @@ -563,9 +561,8 @@ public boolean isSQLServer() { *

NOTE: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable maximumNumericValues() { - Hashtable values = new Hashtable(); - + public Hashtable, ? super Number> maximumNumericValues() { + Hashtable, ? 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 @@ public Hashtable maximumNumericValues() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable minimumNumericValues() { - Hashtable values = new Hashtable(); - + public Hashtable, ? super Number> minimumNumericValues() { + Hashtable, ? 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 Hashtable minimumNumericValues() { public ExpressionOperator modOperator() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Mod); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); - v.addElement(" % "); + List v = new ArrayList<>(); + v.add(" % "); result.printsAs(v); result.bePostfix(); result.setNodeClass(org.eclipse.persistence.internal.expressions.FunctionExpression.class); @@ -618,11 +614,11 @@ public ExpressionOperator singleArgumentSubstringOperator() { 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 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 @@ public ExpressionOperator singleArgumentSubstringOperator() { protected ExpressionOperator operatorOuterJoin() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.EqualOuterJoin); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); - v.addElement(" =* "); + List 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 91b7ab1b99f..be72280943c 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 @@ public class SybasePlatform extends org.eclipse.persistence.platform.database.Da // 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 typeStrings; public SybasePlatform(){ super(); @@ -245,10 +246,8 @@ public ExpressionOperator atan2Operator() { } @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 @@ public static ExpressionOperator extractOperator() { exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Extract); exOperator.setName("EXTRACT"); - Vector v = NonSynchronizedVector.newInstance(5); + List v = new ArrayList<>(5); v.add("DATEPART("); v.add(","); v.add(")"); @@ -527,7 +526,7 @@ public static ExpressionOperator trimOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Trim); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2); + List v = new ArrayList<>(2); v.add("RTRIM(LTRIM("); v.add("))"); exOperator.printsAs(v); @@ -544,7 +543,7 @@ public static ExpressionOperator trim2Operator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Trim2); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(5); + List v = new ArrayList<>(5); v.add("STR_REPLACE("); v.add(", "); v.add(", NULL)"); @@ -573,7 +572,7 @@ public boolean isSybase() { *

NOTE: BigInteger {@literal &} BigDecimal maximums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable, Number> maximumNumericValues() { + public Hashtable, ? super Number> maximumNumericValues() { Hashtable, Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MAX_VALUE); @@ -593,7 +592,7 @@ public Hashtable, Number> maximumNumericValues() { *

NOTE: BigInteger {@literal &} BigDecimal minimums are dependent upon their precision {@literal &} Scale */ @Override - public Hashtable, Number> minimumNumericValues() { + public Hashtable, ? super Number> minimumNumericValues() { Hashtable, Number> values = new Hashtable<>(); values.put(Integer.class, Integer.MIN_VALUE); @@ -613,8 +612,8 @@ public Hashtable, Number> minimumNumericValues() { public ExpressionOperator modOperator() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.Mod); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); - v.addElement(" % "); + List v = new ArrayList<>(); + v.add(" % "); result.printsAs(v); result.bePostfix(); result.setNodeClass(org.eclipse.persistence.internal.expressions.FunctionExpression.class); @@ -627,8 +626,8 @@ public ExpressionOperator modOperator() { protected ExpressionOperator operatorOuterJoin() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.EqualOuterJoin); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(); - v.addElement(" =* "); + List v = new ArrayList<>(); + v.add(" =* "); result.printsAs(v); result.bePostfix(); result.setNodeClass(RelationExpression.class); @@ -727,11 +726,11 @@ public ExpressionOperator singleArgumentSubstringOperator() { 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 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 c620bc4a13b..ae5e81cfc12 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 @@ protected Hashtable, FieldTypeDefinition> buildFieldTypes() { * @return the mappings. */ @Override - protected Map buildClassTypes() { + protected Map> buildClassTypes() { // use what is defined in DatabasePlatform and override those entries - Map classTypeMapping = super.buildClassTypes(); + Map> 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 @@ public boolean isSymfoware() { protected static ExpressionOperator length() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Length); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("CHAR_LENGTH("); - v.addElement(")"); + List 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 length() { protected static ExpressionOperator charLength() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.CharLength); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("CHAR_LENGTH("); - v.addElement(")"); + List 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 charLength() { protected static ExpressionOperator locate() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Locate); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("POSITION("); - v.addElement(" IN "); - v.addElement(")"); + List 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 locate() { protected static ExpressionOperator locate2() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Locate2); - Vector v = NonSynchronizedVector.newInstance(4); - v.addElement("POSITION("); - v.addElement(" IN "); - v.addElement(","); - v.addElement(")"); + List 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 locate2() { protected static ExpressionOperator logOperator() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Log); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("(LN("); - v.addElement(")/LN(10))"); + List 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 logOperator() { protected static ExpressionOperator leftTrim() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.LeftTrim); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("TRIM(LEADING FROM "); - v.addElement(")"); + List 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 leftTrim() { protected static ExpressionOperator leftTrim2() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.LeftTrim2); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("TRIM(LEADING "); - v.addElement(" FROM "); - v.addElement(")"); + List 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 leftTrim2() { protected static ExpressionOperator mod() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Mod); - Vector 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 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 mod() { protected static ExpressionOperator rightTrim() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.RightTrim); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("TRIM(TRAILING FROM "); - v.addElement(")"); + List 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 rightTrim() { protected static ExpressionOperator rightTrim2() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.RightTrim2); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("TRIM(TRAILING "); - v.addElement(" FROM "); - v.addElement(")"); + List 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 rightTrim2() { protected static ExpressionOperator substring() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Substring); - Vector v = NonSynchronizedVector.newInstance(4); - v.addElement("SUBSTRING("); - v.addElement(" FROM "); - v.addElement(" FOR "); - v.addElement(")"); + List 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 substring() { protected static ExpressionOperator singleArgumentSubstring() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.SubstringSingleArg); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("SUBSTRING("); - v.addElement(" FROM "); - v.addElement(")"); + List 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 singleArgumentSubstring() { protected static ExpressionOperator toNumber() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.ToNumber); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("CAST("); - v.addElement(" AS SMALLINT)"); + List 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 toNumber() { protected static ExpressionOperator instring() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.Instring); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("POSITION("); - v.addElement(" IN "); - v.addElement(")"); + List 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 instring() { protected static ExpressionOperator monthsBetween() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.MonthsBetween); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("SPAN_DATE("); - v.addElement(" , "); - v.addElement(",'MONTH')"); + List 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 monthsBetween() { protected static ExpressionOperator roundDate() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.RoundDate); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("ROUND_DATE("); - v.addElement(" , "); - v.addElement(")"); + List 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 roundDate() { protected static ExpressionOperator toDate() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.ToDate); - Vector v = NonSynchronizedVector.newInstance(2); - v.addElement("CNV_DATE("); - v.addElement(", 'YYYY-MM-DD')"); + List 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 toDate() { protected static ExpressionOperator addDate() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.AddDate); - Vector v = NonSynchronizedVector.newInstance(4); - v.addElement("ADD_DATE("); - v.addElement(", "); - v.addElement(", '"); - v.addElement("')"); + List 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 addDate() { protected static ExpressionOperator truncateDate() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setSelector(ExpressionOperator.TruncateDate); - Vector v = NonSynchronizedVector.newInstance(3); - v.addElement("TRUNC_DATE("); - v.addElement(","); - v.addElement(")"); + List 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 @@ protected static ExpressionOperator greatest() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Greatest); - Vector v = NonSynchronizedVector.newInstance(5); - v.addElement("(CASE WHEN "); - v.addElement(" >= "); - v.addElement(" THEN "); - v.addElement(" ELSE "); - v.addElement(" END)"); + List 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 @@ protected static ExpressionOperator least() { ExpressionOperator exOperator = new ExpressionOperator(); exOperator.setType(ExpressionOperator.FunctionOperator); exOperator.setSelector(ExpressionOperator.Least); - Vector v = NonSynchronizedVector.newInstance(5); - v.addElement("(CASE WHEN "); - v.addElement(" <= "); - v.addElement(" THEN "); - v.addElement(" ELSE "); - v.addElement(" END)"); + List 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 b7bf6519fe2..e78610202e0 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 @@ -28,13 +28,19 @@ 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, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 58af625b2d4..37b84901d1c 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 @@ protected void appendCalendar(Calendar calendar, Writer writer) throws IOExcepti * Return the mapping of class types to database types for the schema framework. */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping; - - fieldTypeMapping = new Hashtable(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, FieldTypeDefinition> fieldTypeMapping = new Hashtable<>(); fieldTypeMapping.put(Boolean.class, new FieldTypeDefinition("TINYINT", false)); fieldTypeMapping.put(Integer.class, new FieldTypeDefinition("INTEGER", false)); @@ -217,8 +217,8 @@ public boolean isTimesTen() { protected ExpressionOperator operatorOuterJoin() { ExpressionOperator result = new ExpressionOperator(); result.setSelector(ExpressionOperator.EqualOuterJoin); - Vector v = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(2); - v.addElement(" (+) = "); + List 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/CustomServerPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/CustomServerPlatform.java index 06bc3f7302c..a4f3872f88b 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/CustomServerPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/CustomServerPlatform.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 @@ -15,7 +15,7 @@ package org.eclipse.persistence.platform.server; import org.eclipse.persistence.sessions.DatabaseSession; -import org.eclipse.persistence.platform.server.ServerPlatformBase; +import org.eclipse.persistence.sessions.ExternalTransactionController; /** * INTERNAL: @@ -58,7 +58,7 @@ public CustomServerPlatform(DatabaseSession newDatabaseSession) { * @see #initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { return externalTransactionControllerClass; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java index b1a0f8c1444..a495c2f51c3 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java @@ -207,8 +207,8 @@ public MBeanServer getMBeanServer() { try { if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { try { - mBeanServerList = (List) AccessController.doPrivileged( - new PrivilegedExceptionAction() { + mBeanServerList = AccessController.doPrivileged( + new PrivilegedExceptionAction>() { @Override public List run() { return MBeanServerFactory.findMBeanServer(null); @@ -322,10 +322,11 @@ public void serverSpecificRegisterMBean() { args[0] = developmentMBean; args[1] = name; try { + @SuppressWarnings({"rawtypes"}) Method getMethod = PrivilegedAccessHelper.getPublicMethod(MBeanServer.class, "registerMBean", new Class[] {Object.class, ObjectName.class}, false); if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { - info = (ObjectInstance) AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, mBeanServerRuntime, args)); + info = AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, mBeanServerRuntime, args)); } else { info = mBeanServerRuntime.registerMBean(developmentMBean, name); } @@ -354,10 +355,11 @@ public void serverSpecificRegisterMBean() { Object[] args = new Object[2]; args[0] = runtimeServicesMBean; args[1] = name; + @SuppressWarnings({"rawtypes"}) Method getMethod = PrivilegedAccessHelper.getPublicMethod(MBeanServer.class, "registerMBean", new Class[] {Object.class, ObjectName.class}, false); if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { - runtimeInstance = (ObjectInstance) AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, mBeanServerRuntime, args)); + runtimeInstance = AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, mBeanServerRuntime, args)); } else { runtimeInstance = mBeanServerRuntime.registerMBean(runtimeServicesMBean, name); } @@ -406,10 +408,11 @@ public void serverSpecificUnregisterMBean() { Object[] args = new Object[1]; args[0] = name; try { + @SuppressWarnings({"rawtypes"}) Method getMethod = PrivilegedAccessHelper.getPublicMethod(MBeanServer.class, "unregisterMBean", new Class[] {ObjectName.class}, false); if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { - AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, mBeanServerRuntime, args)); + AccessController.doPrivileged(new PrivilegedMethodInvoker<>(getMethod, mBeanServerRuntime, args)); } else { mBeanServerRuntime.unregisterMBean(name); } @@ -434,10 +437,11 @@ public void serverSpecificUnregisterMBean() { Object[] args = new Object[1]; args[0] = name; try { + @SuppressWarnings({"rawtypes"}) Method getMethod = PrivilegedAccessHelper.getPublicMethod(MBeanServer.class, "unregisterMBean", new Class[] {ObjectName.class}, false); if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { - AccessController.doPrivileged(new PrivilegedMethodInvoker(getMethod, mBeanServerRuntime, args)); + AccessController.doPrivileged(new PrivilegedMethodInvoker<>(getMethod, mBeanServerRuntime, args)); } else { mBeanServerRuntime.unregisterMBean(name); } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatform.java index 6d7e9542ef3..acce956300a 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatform.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 @@ -16,6 +16,7 @@ import org.eclipse.persistence.sessions.DatabaseSession; import org.eclipse.persistence.logging.DefaultSessionLog; +import org.eclipse.persistence.sessions.ExternalTransactionController; /** * @@ -60,9 +61,10 @@ public String getServerNameAndVersion() { * @see #isJTAEnabled() * @see #disableJTA() * @see #initializeExternalTransactionController() + * @return */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { return null; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatformDetector.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatformDetector.java index a234b11aa29..ff229f30fba 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatformDetector.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/NoServerPlatformDetector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, 2018 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -26,6 +26,12 @@ public class NoServerPlatformDetector implements ServerPlatformDetector { private static final String SE_CLASSLOADER_STRING = "sun.misc.Launcher$AppClassLoader"; + /** + * Default constructor. + */ + public NoServerPlatformDetector() { + } + @Override public String checkPlatform() { String loaderStr; diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatform.java index 3963e1788b3..04209046a82 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatform.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,6 +29,7 @@ import org.eclipse.persistence.internal.helper.JPAClassLoaderHolder; import org.eclipse.persistence.internal.sessions.AbstractSession; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; /** * PUBLIC: @@ -92,7 +93,7 @@ public interface ServerPlatform { * @see #disableJTA() * @see #initializeExternalTransactionController() */ - Class getExternalTransactionControllerClass(); + Class getExternalTransactionControllerClass(); /** * INTERNAL: setExternalTransactionControllerClass(Class newClass): Set the class of external @@ -103,8 +104,9 @@ public interface ServerPlatform { * @see #isJTAEnabled() * @see #disableJTA() * @see #initializeExternalTransactionController() + * @param newClass */ - void setExternalTransactionControllerClass(Class newClass); + void setExternalTransactionControllerClass(Class newClass); /** * INTERNAL: initializeExternalTransactionController(): Populate the DatabaseSession's 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 ef53085b591..df0f68c22f3 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 @@ -106,7 +106,7 @@ public abstract class ServerPlatformBase implements ServerPlatform { * externalTransactionControllerClass: This is a user-specifiable class defining the class * of external transaction controller to be set into the DatabaseSession */ - protected Class externalTransactionControllerClass; + protected Class externalTransactionControllerClass; /** @@ -253,7 +253,7 @@ public String getModuleName() { * @see #disableJTA() */ @Override - public abstract Class getExternalTransactionControllerClass(); + public abstract Class getExternalTransactionControllerClass(); /** * INTERNAL: setExternalTransactionControllerClass(Class newClass): Set the class of external @@ -264,9 +264,10 @@ public String getModuleName() { * @see #isJTAEnabled() * @see #disableJTA() * @see #initializeExternalTransactionController() + * @param newClass */ @Override - public void setExternalTransactionControllerClass(Class newClass) { + public void setExternalTransactionControllerClass(Class newClass) { this.externalTransactionControllerClass = newClass; } @@ -302,7 +303,7 @@ public void initializeExternalTransactionController() { ExternalTransactionController controller = null; if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()){ try { - controller = (ExternalTransactionController)AccessController.doPrivileged(new PrivilegedNewInstanceFromClass(this.getExternalTransactionControllerClass())); + controller = AccessController.doPrivileged(new PrivilegedNewInstanceFromClass<>(this.getExternalTransactionControllerClass())); } catch (PrivilegedActionException exception) { Exception throwableException = exception.getException(); if (throwableException instanceof InstantiationException) { @@ -312,7 +313,7 @@ public void initializeExternalTransactionController() { } } } else { - controller = (ExternalTransactionController)PrivilegedAccessHelper.newInstanceFromClass(this.getExternalTransactionControllerClass()); + controller = PrivilegedAccessHelper.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/ServerPlatformUtils.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java index 29ba202ce13..44d9f896a02 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java @@ -105,6 +105,7 @@ public static String detectServerPlatform(AbstractSession session) { * * @see ServerPlatformBase#ServerPlatformBase(DatabaseSession) */ + @SuppressWarnings({"rawtypes"}) public static ServerPlatform createServerPlatform(DatabaseSession session, String platformClass, ClassLoader loader) { if (platformClass == null) { throw ServerPlatformException.invalidServerPlatformClass(null, null); @@ -127,7 +128,7 @@ public static ServerPlatform createServerPlatform(DatabaseSession session, Strin throw ServerPlatformException.serverPlatformClassNotFound(platformClass, ex); } } - final Class[] paramTypes = new Class[] { DatabaseSession.class }; + final Class[] paramTypes = (Class[]) new Class[] { DatabaseSession.class }; final Object[] params = new Object[] { session }; ServerPlatform platform = null; if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatform.java index 744096bf2b2..227fbc24323 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatform.java @@ -33,6 +33,7 @@ import org.eclipse.persistence.platform.server.ServerPlatformBase; import org.eclipse.persistence.services.glassfish.MBeanGlassfishRuntimeServices; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.glassfish.GlassfishTransactionController; import org.eclipse.persistence.transaction.glassfish.GlassfishTransactionController11; @@ -92,7 +93,7 @@ public GlassfishPlatform(DatabaseSession newDatabaseSession) { * @see ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null) { // JTA 1.1 exixts since Glassfish 3. Check JTA 1.1 availability to set proper JTa transaction controller. externalTransactionControllerClass = isJTA11() diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatformDetector.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatformDetector.java index 964e4a90db9..fad8d851858 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatformDetector.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/glassfish/GlassfishPlatformDetector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 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,12 @@ public final class GlassfishPlatformDetector implements ServerPlatformDetector { private static final String GF_ROOT_PROP = "com.sun.aas.installRoot"; + /** + * Default constructor. + */ + public GlassfishPlatformDetector() { + } + @Override public String checkPlatform() { if (isGlassfish()) { diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/jboss/JBossPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/jboss/JBossPlatform.java index 71fe480a64b..8b4d1c7118f 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/jboss/JBossPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/jboss/JBossPlatform.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 @@ -28,6 +28,7 @@ import org.eclipse.persistence.platform.server.JMXServerPlatformBase; import org.eclipse.persistence.services.jboss.MBeanJBossRuntimeServices; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.jboss.JBossTransactionController; import org.eclipse.persistence.transaction.jboss.JBossTransactionController11; @@ -89,7 +90,7 @@ public boolean isRuntimeServicesEnabledDefault() { * @see org.eclipse.persistence.platform.server.ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null){ externalTransactionControllerClass = isJTA11() ? JBossTransactionController11.class : JBossTransactionController.class; diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/oc4j/Oc4jPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/oc4j/Oc4jPlatform.java index c1c9b827897..1398041c186 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/oc4j/Oc4jPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/oc4j/Oc4jPlatform.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 @@ -15,6 +15,7 @@ package org.eclipse.persistence.platform.server.oc4j; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.oc4j.Oc4jTransactionController; import org.eclipse.persistence.platform.database.OraclePlatform; import org.eclipse.persistence.platform.server.ServerPlatformBase; @@ -54,7 +55,7 @@ public Oc4jPlatform(DatabaseSession newDatabaseSession) { * @see ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null){ externalTransactionControllerClass = Oc4jTransactionController.class; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.java index b79f5e0f3ed..e2004e8bd95 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/sap/SAPNetWeaver_7_1_Platform.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, 2016 SAP, IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -24,6 +24,7 @@ import org.eclipse.persistence.logging.AbstractSessionLog; import org.eclipse.persistence.platform.server.ServerPlatformBase; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.sap.SAPNetWeaverTransactionController; /** @@ -49,7 +50,7 @@ public SAPNetWeaver_7_1_Platform(DatabaseSession newDatabaseSession) { } @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null){ externalTransactionControllerClass = SAPNetWeaverTransactionController.class; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatform.java index b7e88e70907..0cc126c5608 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatform.java @@ -28,6 +28,7 @@ import org.eclipse.persistence.logging.SessionLog; import org.eclipse.persistence.platform.server.JMXServerPlatformBase; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.sessions.JNDIConnector; import org.eclipse.persistence.transaction.was.WebSphereTransactionController; @@ -47,12 +48,12 @@ public class WebSpherePlatform extends JMXServerPlatformBase { /** * Cached WAS connection class used to reflectively check connections and unwrap them. */ - protected Class websphereConnectionClass; + protected Class websphereConnectionClass; /** * Cached WAS util class used to reflectively check connections and unwrap them. */ - protected Class websphereUtilClass; + protected Class websphereUtilClass; /** * Cached WAS util method used for unwrapping connections. @@ -81,7 +82,7 @@ public WebSpherePlatform(DatabaseSession newDatabaseSession) { * @see org.eclipse.persistence.platform.server.ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null){ externalTransactionControllerClass = WebSphereTransactionController.class; } @@ -92,7 +93,7 @@ public Class getExternalTransactionControllerClass() { /** * Return the class (interface) for the WebSphere JDBC connection wrapper. */ - protected Class getWebsphereUtilClass() { + protected Class getWebsphereUtilClass() { if (this.websphereUtilClass == null) { try { this.websphereUtilClass = getDatabaseSession().getPlatform().convertObject("com.ibm.ws.rsadapter.jdbc.WSJdbcUtil", Class.class); @@ -107,7 +108,7 @@ protected Class getWebsphereUtilClass() { /** * Return the class (interface) for the WebSphere JDBC connection wrapper. */ - protected Class getWebsphereConnectionClass() { + protected Class getWebsphereConnectionClass() { if (this.websphereConnectionClass == null) { try { this.websphereConnectionClass = getDatabaseSession().getPlatform().convertObject("com.ibm.ws.rsadapter.jdbc.WSJdbcConnection", Class.class); @@ -125,7 +126,8 @@ protected Class getWebsphereConnectionClass() { protected Method getVendorConnectionMethod() { if ((this.vendorConnectionMethod == null) && (!getWebsphereUtilClass().equals(void.class))) { try { - Class args[] = new Class[1]; + @SuppressWarnings({"rawtypes"}) + Class[] args = (Class[]) new Class[1]; args[0] = getWebsphereConnectionClass(); this.vendorConnectionMethod = PrivilegedAccessHelper.getDeclaredMethod(getWebsphereUtilClass(), "getNativeConnection", args); } catch (NoSuchMethodException exception) { diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatformDetector.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatformDetector.java index 4b5b571e1a8..2cb4f9d2887 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatformDetector.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSpherePlatformDetector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -30,6 +30,12 @@ public class WebSpherePlatformDetector implements ServerPlatformDetector { private static final String LIBERTY_PROFILE_INFO_INT = "com.ibm.websphere.config.mbeans.FeatureListMBean"; private static final String FULL_PROFILE_WAS_DIR_CLS = "com.ibm.websphere.product.WASDirectory"; + /** + * Default constructor. + */ + public WebSpherePlatformDetector() { + } + @Override public String checkPlatform() { if (isLiberty()) { diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_EJBEmbeddable_Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_EJBEmbeddable_Platform.java index 665f00352e5..b63ca904d61 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_EJBEmbeddable_Platform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_EJBEmbeddable_Platform.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2018 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -18,6 +18,7 @@ package org.eclipse.persistence.platform.server.was; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.was.WebSphereEJBEmbeddableTransactionController; public class WebSphere_EJBEmbeddable_Platform extends WebSphere_7_Platform { @@ -40,7 +41,7 @@ public WebSphere_EJBEmbeddable_Platform(DatabaseSession newDatabaseSession) { * @see org.eclipse.persistence.platform.server.ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null) { externalTransactionControllerClass = WebSphereEJBEmbeddableTransactionController.class; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_Liberty_Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_Liberty_Platform.java index cfee8ce4eee..0872e58662d 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_Liberty_Platform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/was/WebSphere_Liberty_Platform.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2018 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -19,6 +19,7 @@ import org.eclipse.persistence.logging.SessionLog; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.was.WebSphereLibertyTransactionController; /** @@ -51,7 +52,7 @@ public WebSphere_Liberty_Platform(DatabaseSession newDatabaseSession) { * @see org.eclipse.persistence.platform.server.ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null) { externalTransactionControllerClass = WebSphereLibertyTransactionController.class; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatform.java index 8cbe7333959..5f96c076317 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatform.java @@ -27,6 +27,7 @@ import org.eclipse.persistence.logging.SessionLog; import org.eclipse.persistence.platform.server.JMXServerPlatformBase; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.wls.WebLogicTransactionController; /** @@ -49,7 +50,7 @@ public class WebLogicPlatform extends JMXServerPlatformBase { * Cached WLS connection class used to reflectively check connections and * unwrap them. */ - protected Class weblogicConnectionClass; + protected Class weblogicConnectionClass; /** * Cached WLConnection.getVendorConnection() Method used for @@ -106,7 +107,7 @@ public void initializeServerNameAndVersion() { * @see org.eclipse.persistence.platform.server.ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null) { externalTransactionControllerClass = WebLogicTransactionController.class; } @@ -116,7 +117,7 @@ public Class getExternalTransactionControllerClass() { /** * Return the class (interface) for the WebLogic JDBC connection wrapper. */ - protected Class getWebLogicConnectionClass() { + protected Class getWebLogicConnectionClass() { if (this.weblogicConnectionClass == null) { try { this.weblogicConnectionClass = getDatabaseSession().getPlatform().convertObject("weblogic.jdbc.extensions.WLConnection", Class.class); @@ -131,6 +132,7 @@ protected Class getWebLogicConnectionClass() { /** * Return the method for the WebLogic JDBC connection wrapper vendorConnection. */ + @SuppressWarnings({"rawtypes"}) protected Method getVendorConnectionMethod() { if ((this.vendorConnectionMethod == null) && (!getWebLogicConnectionClass().equals(void.class))) { try { @@ -164,6 +166,7 @@ public Connection unwrapConnection(Connection connection) { /** * Return the method for the WebLogic connection clearStatementCache method. */ + @SuppressWarnings({"rawtypes"}) protected Method getClearStatementCacheMethod() { if ((this.clearStatementCacheMethod == null) && (!getWebLogicConnectionClass().equals(void.class))) { try { diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatformDetector.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatformDetector.java index 7146fa44ccc..a9e1b4bc9b8 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatformDetector.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogicPlatformDetector.java @@ -26,6 +26,12 @@ public class WebLogicPlatformDetector implements ServerPlatformDetector { + /** + * Default constructor. + */ + public WebLogicPlatformDetector() { + } + @Override public String checkPlatform() { String platform = null; 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 1a50444487e..72b40daae23 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 @@ -48,6 +48,7 @@ import org.eclipse.persistence.platform.server.JMXEnabledPlatform; import org.eclipse.persistence.services.weblogic.MBeanWebLogicRuntimeServices; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.transaction.wls.WebLogicTransactionController11; /** @@ -315,9 +316,10 @@ private String getModuleOrApplicationName(String getMethodName) { try { // perform a reflective public java.lang.String // weblogic.work.ExecuteThreadRuntime. + @SuppressWarnings({"rawtypes"}) 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); } @@ -398,6 +400,7 @@ private Object getExecuteThreadFromMBean() { * so use this if available. */ @Override + @SuppressWarnings({"rawtypes"}) protected Method getVendorConnectionMethod() { if ((this.vendorConnectionMethod == null) && (!getWebLogicConnectionClass().equals(void.class))) { try { @@ -437,7 +440,7 @@ public boolean isJTA11() { * @see org.eclipse.persistence.platform.server.ServerPlatformBase#initializeExternalTransactionController() */ @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { if (externalTransactionControllerClass == null) { externalTransactionControllerClass = WebLogicTransactionController11.class; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_12_Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_12_Platform.java index 134d1684c79..e0bffcc37ad 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_12_Platform.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/wls/WebLogic_12_Platform.java @@ -60,16 +60,16 @@ private static final class ContextHelper { private Method getPartitionIdMethod; private Method getPartitionNameMethod; private Method isGlobalRuntimeMethod; - private static final Class cicManagerClass; + private static final Class cicManagerClass; private static volatile ContextHelper instance; private static final String CIC_MANAGER_RESOURCE_NAME = "META-INF/services/weblogic.invocation.ComponentInvocationContextManager"; private static final String CIC_MANAGER_CLASS_NAME = "weblogic.invocation.ComponentInvocationContextManager"; static { if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { - cicManagerClass = AccessController.doPrivileged(new PrivilegedAction() { + cicManagerClass = AccessController.doPrivileged(new PrivilegedAction>() { @Override - public Class run() { + public Class run() { return getCicManagerClass(CIC_MANAGER_RESOURCE_NAME, CIC_MANAGER_CLASS_NAME); } }); @@ -78,7 +78,7 @@ public Class run() { } } - private static Class getCicManagerClass(String cicManagerResourceName, String cicManagerClassName) { + private static Class getCicManagerClass(String cicManagerResourceName, String cicManagerClassName) { try { if (WebLogic_12_Platform.class.getClassLoader().getResource(cicManagerResourceName) != null) { return PrivilegedAccessHelper.getClassForName(cicManagerClassName); @@ -90,7 +90,7 @@ private static Class getCicManagerClass(String cicManagerResourceName, String ci } } - private ContextHelper(final Class managerClass, final String contextClassName) { + private ContextHelper(final Class managerClass, final String contextClassName) { if (PrivilegedAccessHelper.shouldUsePrivilegedAccess()) { AccessController.doPrivileged(new PrivilegedAction() { @Override @@ -104,14 +104,15 @@ public Void run() { } } - private void initialize(final Class managerClass, final String contextClassName) { + @SuppressWarnings({"rawtypes"}) + private void initialize(final Class managerClass, final String contextClassName) { try { // Get component invocation manager final Method getInstance = PrivilegedAccessHelper.getDeclaredMethod(managerClass, "getInstance", new Class[]{}); cicManagerInstance = PrivilegedAccessHelper.invokeMethod(getInstance, managerClass); // Get component invocation context getCurrentCicMethod = PrivilegedAccessHelper.getMethod(managerClass, "getCurrentComponentInvocationContext", new Class[]{}, true); - final Class cicClass = PrivilegedAccessHelper.getClassForName(contextClassName); + final Class cicClass = PrivilegedAccessHelper.getClassForName(contextClassName); getPartitionIdMethod = PrivilegedAccessHelper.getDeclaredMethod(cicClass, "getPartitionId", new Class[]{}); getPartitionNameMethod = PrivilegedAccessHelper.getDeclaredMethod(cicClass, "getPartitionName", new Class[]{}); isGlobalRuntimeMethod = PrivilegedAccessHelper.getDeclaredMethod(cicClass, "isGlobalRuntime", new Class[]{}); 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 e2b40378c7a..2b5deb40771 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 @@ protected static final FieldTypeDefinition getFieldTypeDefinition( throw ValidationException.javaTypeIsNotAValidDatabaseType(type); } } else if (name != null) { //translate generic type name - final Map fieldTypes = platform.getClassTypes(); - final Class typeFromName = fieldTypes.get(name); + final Map> 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.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java index 0466e96f18f..6f10a56dab2 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java @@ -346,7 +346,7 @@ public SequencingCallback getSequencingCallback(DatabaseSession dbSession, Seque } else if(getTransactionController().numSessionsRequiringSequencingCallback() > 1) { SequencingCallback callback = null; if(sequencingCallbackMap == null) { - sequencingCallbackMap = new HashMap(getTransactionController().numSessionsRequiringSequencingCallback()); + sequencingCallbackMap = new HashMap<>(getTransactionController().numSessionsRequiringSequencingCallback()); } else { callback = sequencingCallbackMap.get(dbSession); } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java index 12bb9bbe030..4e09dc0711b 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java @@ -52,7 +52,7 @@ public abstract class AbstractTransactionController implements ExternalTransactionController { /** Table of external transaction object keys and unit of work values */ - protected ConcurrentMap unitsOfWork; + protected ConcurrentMap unitsOfWork; /** The session this controller is responsible for controlling */ protected AbstractSession session; @@ -61,7 +61,7 @@ public abstract class AbstractTransactionController implements ExternalTransacti protected SynchronizationListenerFactory listenerFactory; /** PERF: Cache the active uow in a thread local. */ - protected ThreadLocal activeUnitOfWorkThreadLocal; + protected ThreadLocal activeUnitOfWorkThreadLocal; /** Table of external transaction object keys and sequencing listeners values. */ /** Non-null only in case sequencing callbacks are used: numSessionsRequiringSequencingCallback {@literal >} 0 */ @@ -89,8 +89,8 @@ public abstract class AbstractTransactionController implements ExternalTransacti * Return a new controller. */ protected AbstractTransactionController() { - this.unitsOfWork = new ConcurrentHashMap(); - this.activeUnitOfWorkThreadLocal = new ThreadLocal(); + this.unitsOfWork = new ConcurrentHashMap<>(); + this.activeUnitOfWorkThreadLocal = new ThreadLocal<>(); } /** @@ -348,13 +348,13 @@ public UnitOfWorkImpl lookupActiveUnitOfWork(Object transaction) { // PERF: Cache the active unit of work in a thread local. // This is just a heuristic, so uses == and no tx-key and direct access as extremely high throughput. - UnitOfWorkImpl activeUnitOfWork = (UnitOfWorkImpl)this.activeUnitOfWorkThreadLocal.get(); + UnitOfWorkImpl activeUnitOfWork = this.activeUnitOfWorkThreadLocal.get(); if (activeUnitOfWork != null) { if (transaction == activeUnitOfWork.getTransaction()) { return activeUnitOfWork; } } - activeUnitOfWork = (UnitOfWorkImpl)getUnitsOfWork().get(transactionKey); + activeUnitOfWork = getUnitsOfWork().get(transactionKey); if (activeUnitOfWork != null) { activeUnitOfWork.setTransaction(transaction); } @@ -406,7 +406,7 @@ public void setSession(AbstractSession session) { * Return the hashtable keyed on the external transaction objects with values * that are the associated units of work. */ - public Map getUnitsOfWork() { + public Map getUnitsOfWork() { return unitsOfWork; } @@ -414,7 +414,7 @@ public Map getUnitsOfWork() { * INTERNAL: * Set the table of transactions to units of work. */ - protected void setUnitsOfWork(ConcurrentMap unitsOfWork) { + protected void setUnitsOfWork(ConcurrentMap unitsOfWork) { this.unitsOfWork = unitsOfWork; } @@ -518,11 +518,11 @@ public void initializeSequencingListeners() { if (newNumSessionsRequiringSequencingCallback > numSessionsRequiringSequencingCallback) { // keep the old map if already exists, never remove existing map if (this.sequencingListeners == null) { - this.sequencingListeners = new ConcurrentHashMap(); + this.sequencingListeners = new ConcurrentHashMap<>(); } // keep the old map if already exists, never remove existing map if (this.currentlyProcessedListeners == null) { - this.currentlyProcessedListeners = new ConcurrentHashMap(); + this.currentlyProcessedListeners = new ConcurrentHashMap<>(); } this.numSessionsRequiringSequencingCallback = newNumSessionsRequiringSequencingCallback; } diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController.java index d4279e383d7..e45e3335b2d 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController.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 @@ -33,6 +33,13 @@ public class JBossTransactionController extends JTATransactionController { public static final String JNDI_TRANSACTION_MANAGER_NAME_AS4 = "java:/TransactionManager"; public static final String JNDI_TRANSACTION_MANAGER_NAME_AS7 = "java:jboss/TransactionManager"; + /** + * Default constructor + */ + public JBossTransactionController() { + super(); + } + /** * INTERNAL: * Obtain and return the JTA TransactionManager on this platform diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController11.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController11.java index 61a30da35be..064884a7366 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController11.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/jboss/JBossTransactionController11.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 @@ -36,6 +36,13 @@ public class JBossTransactionController11 extends JTA11TransactionController { /** JBoss specific JNDI name of {@code TransactionSynchronizationRegistry} instance. */ public static final String JNDI_TRANSACTION_SYNCHRONIZATION_REGISTRY = "java:jboss/TransactionSynchronizationRegistry"; + /** + * Default constructor + */ + public JBossTransactionController11() { + super(); + } + /** * INTERNAL: * Obtain and return the JTA TransactionManager on this platform diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereEJBEmbeddableTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereEJBEmbeddableTransactionController.java index 198affc9d9b..000fca6c4b6 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereEJBEmbeddableTransactionController.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereEJBEmbeddableTransactionController.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2018 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -23,6 +23,13 @@ public class WebSphereEJBEmbeddableTransactionController extends WebSphereTransa private final static String TX_MANAGER_FACTORY_CLASS = "com.ibm.tx.jta.embeddable.EmbeddableTransactionManagerFactory"; private final static String TX_MANAGER_FACTORY_METHOD = "getTransactionManager"; + /** + * Default constructor + */ + public WebSphereEJBEmbeddableTransactionController() { + super(); + } + @Override protected String getTxManagerFactoryClass() { return TX_MANAGER_FACTORY_CLASS; diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereLibertyTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereLibertyTransactionController.java index a8140b5256a..94a09723ea4 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereLibertyTransactionController.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/was/WebSphereLibertyTransactionController.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2021 Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, 2018 IBM Corporation. All rights reserved. * * This program and the accompanying materials are made available under the @@ -22,6 +22,13 @@ public class WebSphereLibertyTransactionController extends WebSphereTransactionC private final static String TX_MANAGER_FACTORY_CLASS = "com.ibm.tx.jta.TransactionManagerFactory"; private final static String TX_MANAGER_FACTORY_METHOD = "getTransactionManager"; + /** + * Default constructor + */ + public WebSphereLibertyTransactionController() { + super(); + } + @Override protected String getTxManagerFactoryClass() { return TX_MANAGER_FACTORY_CLASS; diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController.java index a320554f021..60f598cb5fc 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController.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 @@ -30,6 +30,13 @@ public class WebLogicTransactionController extends JTATransactionController { static final String JNDI_TRANSACTION_MANAGER_NAME = "weblogic.transaction.TransactionManager"; + /** + * Default constructor + */ + public WebLogicTransactionController() { + super(); + } + /** * INTERNAL: * Obtain and return the JTA TransactionManager on this platform diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController11.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController11.java index 3ec7329bc10..ba99b755234 100644 --- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController11.java +++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/wls/WebLogicTransactionController11.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 @@ -36,6 +36,13 @@ public class WebLogicTransactionController11 extends JTA11TransactionController /** WLS specific JNDI name of {@code TransactionSynchronizationRegistry} instance. */ public static final String JNDI_TRANSACTION_SYNCHRONIZATION_REGISTRY = "weblogic/transaction/TransactionSynchronizationRegistry"; + /** + * Default constructor. + */ + public WebLogicTransactionController11() { + super(); + } + /** * INTERNAL: * Obtain and return the JTA TransactionManager on this platform diff --git a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/unwrappedconnection/TestServerPlatform.java b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/unwrappedconnection/TestServerPlatform.java index af470a19f04..c83d486f6e5 100644 --- a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/unwrappedconnection/TestServerPlatform.java +++ b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/unwrappedconnection/TestServerPlatform.java @@ -23,6 +23,7 @@ import org.eclipse.persistence.logging.DefaultSessionLog; import org.eclipse.persistence.platform.server.ServerPlatformBase; import org.eclipse.persistence.sessions.DatabaseSession; +import org.eclipse.persistence.sessions.ExternalTransactionController; public class TestServerPlatform extends ServerPlatformBase { public TestServerPlatform(DatabaseSession newDatabaseSession) { @@ -37,7 +38,7 @@ public String getServerNameAndVersion() { } @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { return null; } 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 1396bb01fa5..02809ede28e 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 @@ public Oracle8Platform() { * INTERNAL: */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypeMapping = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 2d50185897a..b120cb5792d 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 @@ protected void initializePlatformOperators() { * Add TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE */ @Override - protected Hashtable buildFieldTypes() { - Hashtable fieldTypes = super.buildFieldTypes(); + protected Hashtable, FieldTypeDefinition> buildFieldTypes() { + Hashtable, 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 @@ protected String buildFirstRowsHint(int max){ * Add TIMESTAMP, TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE */ @Override - protected Map buildClassTypes() { - Map classTypeMapping = super.buildClassTypes(); + protected Map> buildClassTypes() { + Map> 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 @@ public String serverTimestampString() { 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> buildToTIMESTAMPVec() { + List> 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> buildToNStringCharVec() { + List> 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> buildToNClobVec() { + List> vec = new Vector<>(); + vec.add(String.class); + vec.add(Character[].class); + vec.add(char[].class); return vec; } @@ -739,11 +739,11 @@ protected List buildFromStringCharVec(Class javaClass) { * @return - a vector of classes */ @Override - public List getDataTypesConvertedFrom(Class javaClass) { + public List> getDataTypesConvertedFrom(Class javaClass) { if (dataTypesConvertedFromAClass == null) { - dataTypesConvertedFromAClass = new Hashtable(5); + dataTypesConvertedFromAClass = new Hashtable<>(5); } - List dataTypes = (List) dataTypesConvertedFromAClass.get(javaClass); + List> dataTypes = dataTypesConvertedFromAClass.get(javaClass); if (dataTypes != null) { return dataTypes; } @@ -770,11 +770,11 @@ public List getDataTypesConvertedFrom(Class javaClass) { * @return - a vector of classes */ @Override - public List getDataTypesConvertedTo(Class javaClass) { + public List> getDataTypesConvertedTo(Class javaClass) { if (dataTypesConvertedToAClass == null) { - dataTypesConvertedToAClass = new Hashtable(5); + dataTypesConvertedToAClass = new Hashtable<>(5); } - List dataTypes = (Vector) dataTypesConvertedToAClass.get(javaClass); + List> dataTypes = dataTypesConvertedToAClass.get(javaClass); if (dataTypes != null) { return dataTypes; } diff --git a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java index 102d9ada4b0..7a3334dccb0 100644 --- a/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java +++ b/jpa/eclipselink.jpa.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/advanced/EntityManagerJUnitTestSuite.java @@ -152,6 +152,7 @@ import org.eclipse.persistence.sessions.DatabaseSession; import org.eclipse.persistence.sessions.DatasourceLogin; import org.eclipse.persistence.sessions.DefaultConnector; +import org.eclipse.persistence.sessions.ExternalTransactionController; import org.eclipse.persistence.sessions.JNDIConnector; import org.eclipse.persistence.sessions.Session; import org.eclipse.persistence.sessions.SessionEvent; @@ -13245,7 +13246,7 @@ public Platform(DatabaseSession newDatabaseSession) { } @Override - public Class getExternalTransactionControllerClass() { + public Class getExternalTransactionControllerClass() { return null; } }