cleanup in sequencing
Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourcePlatform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourcePlatform.java
index f39e44f..e252a34 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
@@ -902,7 +902,7 @@
* Sets sequences - for XML support only
*/
@Override
- public void setSequences(Map sequences) {
+ public void setSequences(Map<String, Sequence> sequences) {
this.sequences = sequences;
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/Platform.java
index 08c7f70..2b31561 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/Platform.java
@@ -246,13 +246,13 @@
* INTERNAL:
* Returns a map of sequence names to Sequences (may be null).
*/
- Map getSequences();
+ Map<String, Sequence> getSequences();
/**
* INTERNAL:
* Used only for writing into XML or Java.
*/
- Map getSequencesToWrite();
+ Map<String, Sequence> getSequencesToWrite();
/**
* INTERNAL:
@@ -264,7 +264,7 @@
* INTERNAL:
* Used only for reading from XML.
*/
- void setSequences(Map sequences);
+ void setSequences(Map<String, Sequence> sequences);
/**
* INTERNAL:
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/ClientSessionSequencing.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/ClientSessionSequencing.java
index e922f63..0c24675 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/ClientSessionSequencing.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/ClientSessionSequencing.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
@@ -14,7 +14,6 @@
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.internal.sequencing;
-import org.eclipse.persistence.internal.sequencing.Sequencing;
import org.eclipse.persistence.sessions.server.ClientSession;
/**
@@ -68,9 +67,10 @@
* SequencingServer.getNextValue takes two arguments
* the first argument being a session which owns write connection
* (either DatabaseSession or ClientSession).
- */
+ * @param cls
+ */
@Override
- public Object getNextValue(Class cls) {
+ public Object getNextValue(Class<?> cls) {
return sequencingServer.getNextValue(clientSession, cls);
}
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/PreallocationHandler.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/PreallocationHandler.java
index 39c1e59..e158e8e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/PreallocationHandler.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/PreallocationHandler.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
@@ -23,7 +23,7 @@
* @see SequencingManager
*/
class PreallocationHandler implements SequencingLogInOut {
- protected Map<String, Queue> preallocatedSequences;
+ protected Map<String, Queue<Object>> preallocatedSequences;
public PreallocationHandler() {
super();
@@ -34,13 +34,13 @@
* If there is not one, a new empty Queue is registered.
* This queue is thread-safe, and threads can concurrent poll the queue to remove the first element.
*/
- public Queue getPreallocated(String sequenceName) {
- Queue sequences = preallocatedSequences.get(sequenceName);
+ public Queue<Object> getPreallocated(String sequenceName) {
+ Queue<Object> sequences = preallocatedSequences.get(sequenceName);
if (sequences == null) {
synchronized (preallocatedSequences) {
sequences = preallocatedSequences.get(sequenceName);
if (sequences == null) {
- sequences = new ConcurrentLinkedQueue();
+ sequences = new ConcurrentLinkedQueue<>();
preallocatedSequences.put(sequenceName, sequences);
}
}
@@ -70,7 +70,7 @@
* but so handy for testing.
*/
public void initializePreallocated() {
- preallocatedSequences = new ConcurrentHashMap(20);
+ preallocatedSequences = new ConcurrentHashMap<>(20);
}
/**
@@ -87,7 +87,7 @@
* Although this method is thread-safe, a lock should typically be obtained from the sequence manager before calling this method,
* to ensure sequential numbers.
*/
- public void setPreallocated(String seqName, Vector sequences) {
+ public void setPreallocated(String seqName, Vector<?> sequences) {
getPreallocated(seqName).addAll(sequences);
}
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/RemoteConnectionSequencing.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/RemoteConnectionSequencing.java
index 2e44ce2..1c561d5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/RemoteConnectionSequencing.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/RemoteConnectionSequencing.java
@@ -15,7 +15,7 @@
package org.eclipse.persistence.internal.sequencing;
import java.util.Hashtable;
-import org.eclipse.persistence.internal.sequencing.Sequencing;
+
import org.eclipse.persistence.internal.sessions.remote.RemoteConnection;
import org.eclipse.persistence.internal.sessions.remote.RemoteFunctionCall;
import org.eclipse.persistence.internal.sessions.remote.SequencingFunctionCall;
@@ -29,6 +29,7 @@
* are implemented as static inner classes in SequenceFunctionCall class:
* like SequencingFunctionCall.DoesExist.
*/
+@SuppressWarnings({"rawtypes"})
class RemoteConnectionSequencing implements Sequencing {
protected RemoteConnection remoteConnection;
protected Hashtable classToShouldAcquireValueAfterInsert;
@@ -52,7 +53,7 @@
}
@Override
- public Object getNextValue(Class cls) {
+ public Object getNextValue(Class<?> cls) {
return processFunctionCall(new SequencingFunctionCall.GetNextValue(cls));
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/Sequencing.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/Sequencing.java
index 8cb2e11..272261c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/Sequencing.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/Sequencing.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2019 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
@@ -54,6 +54,6 @@
* Return the newly-generated sequencing value.
* @param cls Class for which the sequencing value is generated.
*/
- Object getNextValue(Class cls);
+ Object getNextValue(Class<?> cls);
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingFactory.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingFactory.java
index b9c4cc3..8d54ab2 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingFactory.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingFactory.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,6 +35,10 @@
*/
public class SequencingFactory {
+ private SequencingFactory() {
+ // no instance please
+ }
+
/**
* INTERNAL:
* Takes a potential owner - a Session, returns Sequencing object.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingHome.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingHome.java
index 6739941..9ddf55f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingHome.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingHome.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2019 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 java.util.Collection;
+import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.sequencing.SequencingControl;
/**
@@ -44,5 +45,5 @@
boolean isSequencingCallbackRequired();
- void onAddDescriptors(Collection descriptors);
+ void onAddDescriptors(Collection<ClassDescriptor> descriptors);
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingManager.java
index fd65441..7935581 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingManager.java
@@ -106,7 +106,7 @@
private SequencingConnectionHandler connectionHandler;
private Map<String, PreallocationHandler> preallocationHandler;
private int whenShouldAcquireValueForAll;
- private Vector connectedSequences;
+ private Vector<Sequence> connectedSequences;
boolean atLeastOneSequenceShouldUseTransaction;
boolean atLeastOneSequenceShouldUsePreallocation;
@@ -292,7 +292,7 @@
}
@Override
- public Object getNextValue(Class cls) {
+ public Object getNextValue(Class<?> cls) {
return getNextValue(getOwnerSession(), cls);
}
@@ -314,7 +314,7 @@
}
}
- protected void setLocks(Map locks) {
+ protected void setLocks(Map<String, ConcurrencyManager> locks) {
this.locks = locks;
}
@@ -341,13 +341,13 @@
return manager;
}
- protected Sequence getSequence(Class cls) {
+ protected Sequence getSequence(Class<?> cls) {
//** should check here that sequencing is used?
String seqName = getOwnerSession().getDescriptor(cls).getSequenceNumberName();
return getSequence(seqName);
}
- protected void logDebugPreallocation(String seqName, Object firstSequenceValue, Vector sequences) {
+ protected void logDebugPreallocation(String seqName, Object firstSequenceValue, Vector<?> sequences) {
if (getOwnerSession().shouldLog(SessionLog.FINEST, SessionLog.SEQUENCING)) {
// the first value has been already removed from sequences vector
Object[] args = { seqName, sequences.size() + 1, firstSequenceValue, sequences.lastElement() };
@@ -355,7 +355,7 @@
}
}
- protected void logDebugLocalPreallocation(AbstractSession writeSession, String seqName, Vector sequences, Accessor accessor) {
+ protected void logDebugLocalPreallocation(AbstractSession writeSession, String seqName, Vector<?> sequences, Accessor accessor) {
if (writeSession.shouldLog(SessionLog.FINEST, SessionLog.SEQUENCING)) {
Object[] args = { seqName, sequences.size(), sequences.firstElement(), sequences.lastElement() };
writeSession.log(SessionLog.FINEST, SessionLog.SEQUENCING, "sequencing_localPreallocation", args, accessor);
@@ -388,7 +388,7 @@
class Preallocation_Transaction_NoAccessor_State extends State implements SequencingCallbackFactory {
final class SequencingCallbackImpl implements SequencingCallback {
- Map localSequences = new HashMap();
+ Map<String, Vector<?>> localSequences = new HashMap<>();
String context;
/**
@@ -401,7 +401,7 @@
afterCommitInternal(context, localSequences, accessor);
}
- public Map getPreallocatedSequenceValues() {
+ public Map<String, Vector<?>> getPreallocatedSequenceValues() {
return localSequences;
}
}
@@ -423,12 +423,12 @@
/**
* Release any locally allocated sequence back to the global sequence pool.
*/
- void afterCommitInternal(String context, Map localSequences, Accessor accessor) {
- Iterator it = localSequences.entrySet().iterator();
+ void afterCommitInternal(String context, Map<String, Vector<?>> localSequences, Accessor accessor) {
+ Iterator<Map.Entry<String, Vector<?>>> it = localSequences.entrySet().iterator();
while(it.hasNext()) {
- Map.Entry entry = (Map.Entry)it.next();
- String seqName = (String)entry.getKey();
- Vector localSequenceForName = (Vector)entry.getValue();
+ Map.Entry<String, Vector<?>> entry = it.next();
+ String seqName = entry.getKey();
+ Vector<?> localSequenceForName = entry.getValue();
if (!localSequenceForName.isEmpty()) {
getPreallocationHandler(context).setPreallocated(seqName, localSequenceForName);
// clear all localSequencesForName
@@ -465,7 +465,7 @@
public Object getNextValue(Sequence sequence, AbstractSession writeSession) {
String seqName = sequence.getName();
if(sequence.getPreallocationSize() > 1) {
- Queue sequencesForName = getPreallocationHandler(getContext(writeSession)).getPreallocated(seqName);
+ Queue<Object> sequencesForName = getPreallocationHandler(getContext(writeSession)).getPreallocated(seqName);
// First grab the first sequence value without locking, a lock is only required if empty.
Object sequenceValue = sequencesForName.poll();
if (sequenceValue != null) {
@@ -498,15 +498,15 @@
}
Accessor accessor;
- Vector localSequencesForName;
+ Vector<?> localSequencesForName;
if (!keepLocked) {
writeSession.beginTransaction();//write accessor is set in begin
}
try {
accessor = writeSession.getAccessor();
SequencingCallbackImpl seqCallbackImpl = getCallbackImpl(writeSession, accessor);
- Map localSequences = seqCallbackImpl.getPreallocatedSequenceValues();
- localSequencesForName = (Vector)localSequences.get(seqName);
+ Map<String, Vector<?>> localSequences = seqCallbackImpl.getPreallocatedSequenceValues();
+ localSequencesForName = localSequences.get(seqName);
if ((localSequencesForName == null) || localSequencesForName.isEmpty()) {
localSequencesForName = sequence.getGeneratedVector(null, writeSession);
localSequences.put(seqName, localSequencesForName);
@@ -601,7 +601,7 @@
String seqName = sequence.getName();
if(sequence.getPreallocationSize() > 1) {
PreallocationHandler handler = getPreallocationHandler(getContext(writeSession));
- Queue sequencesForName = handler.getPreallocated(seqName);
+ Queue<Object> sequencesForName = handler.getPreallocated(seqName);
// First try to get the next sequence value without locking.
Object sequenceValue = sequencesForName.poll();
if (sequenceValue != null) {
@@ -620,7 +620,7 @@
try {
accessor.beginTransaction(writeSession);
try {
- Vector sequences = sequence.getGeneratedVector(accessor, writeSession);
+ Vector<?> sequences = sequence.getGeneratedVector(accessor, writeSession);
accessor.commitTransaction(writeSession);
// Remove the first value before adding to the global cache to ensure this thread gets one.
sequenceValue = sequences.remove(0);
@@ -683,7 +683,7 @@
String seqName = sequence.getName();
if(sequence.getPreallocationSize() > 1) {
PreallocationHandler handler = getPreallocationHandler(getContext(writeSession));
- Queue sequencesForName = handler.getPreallocated(seqName);
+ Queue<Object> sequencesForName = handler.getPreallocated(seqName);
// First try to get the next sequence value without locking.
Object sequenceValue = sequencesForName.poll();
if (sequenceValue != null) {
@@ -696,7 +696,7 @@
if (sequenceValue != null) {
return sequenceValue;
}
- Vector sequences = sequence.getGeneratedVector(null, writeSession);
+ Vector<?> sequences = sequence.getGeneratedVector(null, writeSession);
// Remove the first value before adding to the global cache to ensure this thread gets one.
sequenceValue = sequences.remove(0);
// copy remaining values to global cache.
@@ -752,9 +752,10 @@
/**
* If sequencing is connected initialize the sequences used by descriptors, otherwise connect.
+ * @param descriptors
*/
@Override
- public void onAddDescriptors(Collection descriptors) {
+ public void onAddDescriptors(Collection<ClassDescriptor> descriptors) {
if (!isConnected()) {
onConnect();
return;
@@ -769,8 +770,9 @@
/**
* Initialize the sequences on login.
+ * @param descriptors class descriptors for which to initialize sequencing
*/
- protected void onConnectInternal(Collection descriptors) {
+ protected void onConnectInternal(Collection<ClassDescriptor> descriptors) {
// This method is called in two distinct cases.
//
// Connect case.
@@ -864,7 +866,7 @@
}
// In AddDescriptors case locks may have been already created
if (atLeastOneSequenceShouldUsePreallocation && getLocks() == null) {
- setLocks(new ConcurrentHashMap(20));
+ setLocks(new ConcurrentHashMap<>(20));
}
// In AddDescriptors case the factory may have been already created and listeners initialized.
boolean hasSequencingCallbackFactory = isSequencingCallbackRequired();
@@ -947,11 +949,11 @@
* If passed collection is null then connect all sequences used by owner session's descriptors.
* Otherwise connect sequences used by passed descriptors.
*/
- protected void onConnectSequences(Collection descriptors) {
+ protected void onConnectSequences(Collection<ClassDescriptor> descriptors) {
boolean isConnected = isConnected();
int nAlreadyConnectedSequences = 0;
if (connectedSequences == null) {
- connectedSequences = new Vector();
+ connectedSequences = new Vector<>();
} else {
nAlreadyConnectedSequences = connectedSequences.size();
}
@@ -961,9 +963,9 @@
if (descriptors == null) {
descriptors = getOwnerSession().getDescriptors().values();
}
- Iterator itDescriptors = descriptors.iterator();
+ Iterator<ClassDescriptor> itDescriptors = descriptors.iterator();
while (itDescriptors.hasNext()) {
- ClassDescriptor descriptor = (ClassDescriptor)itDescriptors.next();
+ ClassDescriptor descriptor = itDescriptors.next();
// Find root sequence, because inheritance needs to be resolved here.
// TODO: The way we initialize sequencing needs to be in line with descriptor init.
ClassDescriptor parentDescriptor = descriptor;
@@ -1006,7 +1008,7 @@
// defaultSequence has to disconnect the last
for (int i = connectedSequences.size() - 1; i >= nAlreadyConnectedSequences; i--) {
try {
- Sequence sequenceToDisconnect = (Sequence)connectedSequences.elementAt(i);
+ Sequence sequenceToDisconnect = connectedSequences.elementAt(i);
sequenceToDisconnect.onDisconnect(getOwnerSession().getDatasourcePlatform());
} catch (RuntimeException ex2) {
//ignore
@@ -1050,7 +1052,7 @@
// defaultSequence has to disconnect the last
for (int i = connectedSequences.size() - 1; i >= nAlreadyConnectedSequences; i--) {
try {
- Sequence sequenceToDisconnect = (Sequence)connectedSequences.elementAt(i);
+ Sequence sequenceToDisconnect = connectedSequences.elementAt(i);
sequenceToDisconnect.onDisconnect(getOwnerSession().getDatasourcePlatform());
} catch (RuntimeException ex) {
if (exception == null) {
@@ -1076,7 +1078,7 @@
int nSize = connectedSequences.size();
for (int i = nAlreadyConnectedSequences; i < nSize; i++) {
- Sequence sequence = (Sequence)connectedSequences.get(i);
+ Sequence sequence = connectedSequences.get(i);
State state = getState(sequence.shouldUsePreallocation(), sequence.shouldUseTransaction());
if (state == null) {
createState(sequence.shouldUsePreallocation(), sequence.shouldUseTransaction());
@@ -1135,31 +1137,32 @@
}
@Override
- public Object getNextValue(AbstractSession writeSession, Class cls) {
+ public Object getNextValue(AbstractSession writeSession, Class<?> cls) {
Sequence sequence = getSequence(cls);
State state = getState(sequence.shouldUsePreallocation(), sequence.shouldUseTransaction());
return state.getNextValue(sequence, writeSession);
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
protected void logDebugSequencingConnected(int nAlreadyConnectedSequences) {
- Vector[] sequenceVectors = new Vector[NUMBER_OF_STATES];
+ Vector<Sequence>[] sequenceVectors = (Vector<Sequence>[]) new Vector[NUMBER_OF_STATES];
int size = connectedSequences.size();
for (int i = nAlreadyConnectedSequences; i < size; i++) {
- Sequence sequence = (Sequence)connectedSequences.get(i);
+ Sequence sequence = connectedSequences.get(i);
int stateId = getStateId(sequence.shouldUsePreallocation(), sequence.shouldUseTransaction());
- Vector v = sequenceVectors[stateId];
+ Vector<Sequence> v = sequenceVectors[stateId];
if (v == null) {
- v = new Vector();
+ v = new Vector<>();
sequenceVectors[stateId] = v;
}
v.addElement(sequence);
}
for (int i = 0; i < NUMBER_OF_STATES; i++) {
- Vector v = sequenceVectors[i];
+ Vector<Sequence> v = sequenceVectors[i];
if (v != null) {
getOwnerSession().log(SessionLog.FINEST, SessionLog.SEQUENCING, "sequencing_connected", states[i]);
for (int j = 0; j < v.size(); j++) {
- Sequence sequence = (Sequence)v.elementAt(j);
+ Sequence sequence = v.elementAt(j);
Object[] args = { sequence.getName(), Integer.toString(sequence.getPreallocationSize()),
Integer.toString(sequence.getInitialValue())};
getOwnerSession().log(SessionLog.FINEST, SessionLog.SEQUENCING, "sequence_without_state", args);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingServer.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingServer.java
index 590227f..dc9ea53 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingServer.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingServer.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
@@ -14,7 +14,6 @@
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.internal.sequencing;
-import org.eclipse.persistence.internal.sequencing.Sequencing;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.sessions.server.ConnectionPool;
@@ -39,6 +38,6 @@
* @see ClientSessionSequencing
*/
public interface SequencingServer extends Sequencing {
- Object getNextValue(AbstractSession writeSession, Class cls);
+ Object getNextValue(AbstractSession writeSession, Class<?> cls);
ConnectionPool getConnectionPool();
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SessionBrokerSequencing.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SessionBrokerSequencing.java
index f08bca8..0cb512d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SessionBrokerSequencing.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SessionBrokerSequencing.java
@@ -59,7 +59,7 @@
}
// internal
- protected Sequencing get(Class cls) {
+ protected Sequencing get(Class<?> cls) {
return broker.getSessionForClass(cls).getSequencing();
}
@@ -69,7 +69,7 @@
}
@Override
- public Object getNextValue(Class cls) {
+ public Object getNextValue(Class<?> cls) {
return get(cls).getNextValue(cls);
}
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java
index adde1b3..ebf8e57 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java
@@ -327,8 +327,9 @@
* INTERNAL:
* If sequencing is connected then initializes sequences referenced by the passed descriptors,
* otherwise connects sequencing.
+ * @param descriptors class descriptors
*/
- public void addDescriptorsToSequencing(Collection descriptors) {
+ public void addDescriptorsToSequencing(Collection<ClassDescriptor> descriptors) {
getSequencingHome().onAddDescriptors(descriptors);
}
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 c9480c8..fe1fc0c 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
@@ -628,10 +628,10 @@
}
if ((loginConfig.getSequencingConfig().getSequenceConfigs() != null) && !loginConfig.getSequencingConfig().getSequenceConfigs().isEmpty()) {
- Enumeration eSequenceConfigs = loginConfig.getSequencingConfig().getSequenceConfigs().elements();
+ Enumeration<SequenceConfig> eSequenceConfigs = loginConfig.getSequencingConfig().getSequenceConfigs().elements();
while (eSequenceConfigs.hasMoreElements()) {
- Sequence sequence = buildSequence((SequenceConfig)eSequenceConfigs.nextElement());
+ Sequence sequence = buildSequence(eSequenceConfigs.nextElement());
login.addSequence(sequence);
}
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/sequencing/SequencingConfig.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/sequencing/SequencingConfig.java
index 857f175..90916ae 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/sequencing/SequencingConfig.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/sequencing/SequencingConfig.java
@@ -21,7 +21,7 @@
*/
public class SequencingConfig {
private SequenceConfig m_defaultSequenceConfig;
- private Vector m_sequenceConfigs;
+ private Vector<SequenceConfig> m_sequenceConfigs;
public SequencingConfig() {
super();
@@ -35,11 +35,11 @@
return m_defaultSequenceConfig;
}
- public void setSequenceConfigs(Vector sequenceConfigs) {
+ public void setSequenceConfigs(Vector<SequenceConfig> sequenceConfigs) {
m_sequenceConfigs = sequenceConfigs;
}
- public Vector getSequenceConfigs() {
+ public Vector<SequenceConfig> getSequenceConfigs() {
return m_sequenceConfigs;
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/remote/SequencingFunctionCall.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/remote/SequencingFunctionCall.java
index b3b78aa..be4b019 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/remote/SequencingFunctionCall.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/remote/SequencingFunctionCall.java
@@ -39,11 +39,11 @@
}
public static class GetNextValue extends SimpleFunctionCall {
- public GetNextValue(Class cls) {
+ public GetNextValue(Class<?> cls) {
this.cls = cls;
}
- protected Class cls;
+ protected Class<?> cls;
@Override
protected Object execute(AbstractSession session) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/DefaultSequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/DefaultSequence.java
index 282800b..7670679 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/DefaultSequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/DefaultSequence.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
@@ -171,9 +171,10 @@
* @param writeSession Session is a Session used for writing (either ClientSession or DatabaseSession);
* @param seqName String is sequencing number field name
* @param size int number of values to preallocate (output Vector size).
+ * @return
*/
@Override
- public Vector getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
+ public Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
return getDefaultSequence().getGeneratedVector(accessor, writeSession, seqName, size);
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java
index 2f107dd..53c1678 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/QuerySequence.java
@@ -93,7 +93,12 @@
public boolean equals(Object obj) {
if (obj instanceof QuerySequence && super.equals(obj)) {
QuerySequence other = (QuerySequence)obj;
- return (getSelectQuery() == other.getSelectQuery()) && (getUpdateQuery() == other.getUpdateQuery()) && (shouldAcquireValueAfterInsert() == other.shouldAcquireValueAfterInsert()) && (shouldUseTransaction() == other.shouldUseTransaction()) && (shouldSkipUpdate() == other.shouldSkipUpdate()) && (shouldSelectBeforeUpdate() == other.shouldSelectBeforeUpdate());
+ return (getSelectQuery() == other.getSelectQuery())
+ && (getUpdateQuery() == other.getUpdateQuery())
+ && (shouldAcquireValueAfterInsert() == other.shouldAcquireValueAfterInsert())
+ && (shouldUseTransaction() == other.shouldUseTransaction())
+ && (shouldSkipUpdate() == other.shouldSkipUpdate())
+ && (shouldSelectBeforeUpdate() == other.shouldSelectBeforeUpdate());
} else {
return false;
@@ -323,7 +328,7 @@
query.setAccessor(accessor);
}
}
- Vector args = createArguments(query, seqName, size);
+ Vector<Object> args = createArguments(query, seqName, size);
query.setIsUserDefinedSQLCall(false);
if (args != null) {
return writeSession.executeQuery(query, args);
@@ -356,7 +361,7 @@
query.setAccessor(accessor);
}
}
- Vector args = createArguments(query, seqName, sizeOrNewValue);
+ Vector<Object> args = createArguments(query, seqName, sizeOrNewValue);
query.setIsUserDefinedSQLCall(false);
if (args != null) {
writeSession.executeQuery(query, args);
@@ -368,10 +373,10 @@
/**
* INTERNAL:
*/
- protected Vector createArguments(DatabaseQuery query, String seqName, Number sizeOrNewValue) {
+ protected Vector<Object> createArguments(DatabaseQuery query, String seqName, Number sizeOrNewValue) {
int nArgs = query.getArguments().size();
if (nArgs > 0) {
- Vector args = new Vector(nArgs);
+ Vector<Object> args = new Vector<>(nArgs);
args.addElement(seqName);
if (nArgs > 1) {
args.addElement(sizeOrNewValue);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java
index 3e5cd81..e0f0594 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java
@@ -17,7 +17,6 @@
import java.util.Vector;
import java.io.Serializable;
import org.eclipse.persistence.internal.databaseaccess.Platform;
-import org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform;
import org.eclipse.persistence.internal.databaseaccess.Accessor;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.exceptions.ValidationException;
@@ -251,7 +250,7 @@
* @param seqName String is sequencing number field name
* @param size int number of values to preallocate (output Vector size).
*/
- public abstract Vector getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size);
+ public abstract Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size);
/**
* INTERNAL:
@@ -265,7 +264,7 @@
* @param accessor Accessor is a separate sequencing accessor (may be null);
* @param writeSession Session is a Session used for writing (either ClientSession or DatabaseSession);
*/
- public Vector getGeneratedVector(Accessor accessor, AbstractSession writeSession) {
+ public Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession) {
return getGeneratedVector(accessor, writeSession, getName(), getPreallocationSize());
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java
index 31d94da..300f278 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java
@@ -76,7 +76,7 @@
}
@Override
- public Vector getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
+ public Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
if (shouldUsePreallocation()) {
Number value = updateAndSelectSequence(accessor, writeSession, seqName, size);
if (value == null) {
@@ -97,10 +97,10 @@
* @param seqName String is sequencing number field name
* @param size int size of Vector to create.
*/
- protected Vector createVector(Number sequence, String seqName, int size) {
+ protected Vector<Number> createVector(Number sequence, String seqName, int size) {
long nextSequence = sequence.longValue();
- Vector sequencesForName = new Vector(size);
+ Vector<Number> sequencesForName = new Vector<>(size);
nextSequence = nextSequence - size;
// Check for incorrect values return to validate that the sequence is setup correctly.
@@ -122,10 +122,10 @@
* @param seqName String is sequencing number field name
* @param size int size of Vector to create.
*/
- protected Vector createVectorAtNextVal(Number sequence, String seqName, int size) {
+ protected Vector<Number> createVectorAtNextVal(Number sequence, String seqName, int size) {
long nextSequence = sequence.longValue();
- Vector sequencesForName = new Vector(size);
+ Vector<Number> sequencesForName = new Vector<>(size);
// Check for incorrect values return to validate that the sequence is setup correctly.
// PRS 36451 intvalue would wrap
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UUIDSequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UUIDSequence.java
index 8bb7418..586d4e1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UUIDSequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UUIDSequence.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -19,7 +19,6 @@
import org.eclipse.persistence.internal.databaseaccess.Accessor;
import org.eclipse.persistence.internal.sessions.AbstractSession;
-import org.eclipse.persistence.sequencing.Sequence;
public class UUIDSequence extends Sequence {
@@ -37,7 +36,7 @@
}
@Override
- public Vector getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
+ public Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
return null;
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UnaryTableSequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UnaryTableSequence.java
index a4821c7..cefc2d1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UnaryTableSequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/UnaryTableSequence.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
@@ -156,7 +156,7 @@
protected void buildUpdateString1() {
updateString1 = "UPDATE ";
- if (qualifier != "") {
+ if (!qualifier.isEmpty()) {
updateString1 = updateString1 + qualifier + '.';
}
}
@@ -173,7 +173,7 @@
protected void buildSelectString1() {
selectString1 = "SELECT * FROM ";
- if (qualifier != "") {
+ if (!qualifier.isEmpty()) {
selectString1 = selectString1 + qualifier + '.';
}
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java
index f48987f..c540305 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java
@@ -819,7 +819,7 @@
/**
* Returns a map of sequence names to Sequences (may be null).
*/
- public Map getSequences() {
+ public Map<String, Sequence> getSequences() {
return getDatasourcePlatform().getSequences();
}
@@ -851,7 +851,7 @@
* INTERNAL:
* Used only for writing the login into XML or Java.
*/
- public Map getSequencesToWrite() {
+ public Map<String, Sequence> getSequencesToWrite() {
return getDatasourcePlatform().getSequencesToWrite();
}
@@ -859,7 +859,7 @@
* INTERNAL:
* Used only for reading the login from XML.
*/
- public void setSequences(Map sequences) {
+ public void setSequences(Map<String, Sequence> sequences) {
getDatasourcePlatform().setSequences(sequences);
}
}
diff --git a/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/OIDSequence.java b/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/OIDSequence.java
index 4794bf0..4cbbd0f 100644
--- a/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/OIDSequence.java
+++ b/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/OIDSequence.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
@@ -37,7 +37,7 @@
}
@Override
- public Vector getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
+ public Vector<?> getGeneratedVector(Accessor accessor, AbstractSession writeSession, String seqName, int size) {
return null;
}