Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormegumi.telles2015-11-12 16:01:04 +0000
committerMegumi Telles2015-11-30 14:18:15 +0000
commit54d537d65410110570d632242c935fccf706e341 (patch)
tree374437f406cb7e7dbb73f2372401a6957a14fbc8
parent959c8352c63816370af47177f7c67ab1722e7b82 (diff)
downloadorg.eclipse.osee-54d537d65410110570d632242c935fccf706e341.tar.gz
org.eclipse.osee-54d537d65410110570d632242c935fccf706e341.tar.xz
org.eclipse.osee-54d537d65410110570d632242c935fccf706e341.zip
bug[ats_ATS252044]: Make ats ids sequential
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java3
-rw-r--r--plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/AtsUtilClient.java22
-rw-r--r--plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java3
-rw-r--r--plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactEventTest.java2
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java2
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/BaseTransactionData.java2
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java4
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/TransactionManager.java3
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/ConnectionHandler.java12
-rw-r--r--plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/JdbcClient.java4
-rw-r--r--plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcClientImpl.java4
-rw-r--r--plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcSequenceProvider.java18
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java15
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/IdTranslator.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/IdentityManagerImpl.java11
16 files changed, 57 insertions, 52 deletions
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java
index 31e77279161..aa9fb7dd86c 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/internal/AtsClientImpl.java
@@ -249,7 +249,8 @@ public class AtsClientImpl extends AtsCoreServiceImpl implements IAtsClient {
@Override
public long getNext(String sequenceName) {
- return jdbcService.getClient().getNextSequence(sequenceName);
+ // Sequence is set to sequential
+ return jdbcService.getClient().getNextSequence(sequenceName, false);
}
};
utilService = AtsCoreFactory.getUtilService(attributeResolverService);
diff --git a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/AtsUtilClient.java b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/AtsUtilClient.java
index 9fc2191f346..e5fdc2138a8 100644
--- a/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/AtsUtilClient.java
+++ b/plugins/org.eclipse.osee.ats.core.client/src/org/eclipse/osee/ats/core/client/util/AtsUtilClient.java
@@ -41,14 +41,14 @@ import org.eclipse.osee.framework.skynet.core.utility.DbUtil;
* @author Donald G. Dunne
*/
public class AtsUtilClient {
- private static ArtifactTypeEventFilter atsObjectArtifactTypesFilter = new ArtifactTypeEventFilter(
- AtsArtifactTypes.TeamWorkflow, AtsArtifactTypes.Action, AtsArtifactTypes.Task, AtsArtifactTypes.Goal,
- AtsArtifactTypes.AgileSprint, AtsArtifactTypes.PeerToPeerReview, AtsArtifactTypes.DecisionReview,
- AtsArtifactTypes.Version);
- private static ArtifactTypeEventFilter reviewArtifactTypesFilter = new ArtifactTypeEventFilter(
- AtsArtifactTypes.PeerToPeerReview, AtsArtifactTypes.DecisionReview);
- private static ArtifactTypeEventFilter teamWorkflowArtifactTypesFilter = new ArtifactTypeEventFilter(
- AtsArtifactTypes.TeamWorkflow);
+ private static ArtifactTypeEventFilter atsObjectArtifactTypesFilter =
+ new ArtifactTypeEventFilter(AtsArtifactTypes.TeamWorkflow, AtsArtifactTypes.Action, AtsArtifactTypes.Task,
+ AtsArtifactTypes.Goal, AtsArtifactTypes.AgileSprint, AtsArtifactTypes.PeerToPeerReview,
+ AtsArtifactTypes.DecisionReview, AtsArtifactTypes.Version);
+ private static ArtifactTypeEventFilter reviewArtifactTypesFilter =
+ new ArtifactTypeEventFilter(AtsArtifactTypes.PeerToPeerReview, AtsArtifactTypes.DecisionReview);
+ private static ArtifactTypeEventFilter teamWorkflowArtifactTypesFilter =
+ new ArtifactTypeEventFilter(AtsArtifactTypes.TeamWorkflow);
private static List<IEventFilter> atsObjectEventFilter = new ArrayList<>(2);
private static boolean emailEnabled = true;
private static BranchUuidEventFilter commonBranchGuidEventFilter;
@@ -60,11 +60,11 @@ public class AtsUtilClient {
/**
* This is necessary for ATS Config object's uuid so they can be persisted. Can be removed once artifact ids go to
* random longs
- *
+ *
* @return uuid for ATS Config Object creation
*/
public static long createConfigObjectUuid() {
- return ConnectionHandler.getNextSequence(ArtifactFactory.ART_ID_SEQ);
+ return ConnectionHandler.getNextSequence(ArtifactFactory.ART_ID_SEQ, true);
}
public static void setEmailEnabled(boolean enabled) {
@@ -83,7 +83,7 @@ public class AtsUtilClient {
/**
* TODO Remove duplicate Active flags, need to convert all ats.Active to Active in DB
- *
+ *
* @param artifacts to iterate through
* @param active state to validate against; Both will return all artifacts matching type
* @param clazz type of artifacts to consider; null for all
diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java
index 5af2a2860c1..dae7825b8ba 100644
--- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java
+++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/AtsServerImpl.java
@@ -222,7 +222,8 @@ public class AtsServerImpl extends AtsCoreServiceImpl implements IAtsServer {
@Override
public long getNext(String sequenceName) {
- return jdbcClient.getNextSequence(sequenceName);
+ // Sequence is set to sequential
+ return jdbcClient.getNextSequence(sequenceName, false);
}
};
diff --git a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactEventTest.java b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactEventTest.java
index 812f82baba7..2f34030922e 100644
--- a/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactEventTest.java
+++ b/plugins/org.eclipse.osee.client.integration.tests/src/org/eclipse/osee/client/integration/tests/integration/skynet/core/ArtifactEventTest.java
@@ -877,7 +877,7 @@ public class ArtifactEventTest {
* @throws OseeDataStoreException
*/
private int getIncrementingRelationId() throws OseeCoreException {
- return (int) ConnectionHandler.getNextSequence(REL_LINK_ID_SEQ);
+ return (int) ConnectionHandler.getNextSequence(REL_LINK_ID_SEQ, true);
}
private static final class ArtifactEventListener implements IArtifactEventListener {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
index 12a47a5475c..ea3e591256d 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/artifact/ArtifactFactory.java
@@ -78,7 +78,7 @@ public abstract class ArtifactFactory {
}
public static int getNextArtifactId(Long uuid) {
- return uuid == null ? (int) ConnectionHandler.getNextSequence(ART_ID_SEQ) : uuid.intValue();
+ return uuid == null ? (int) ConnectionHandler.getNextSequence(ART_ID_SEQ, true) : uuid.intValue();
}
public synchronized Artifact reflectExisitingArtifact(int artId, String guid, IArtifactType artifactType, int gammaId, IOseeBranch branch, ModificationType modificationType) throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/BaseTransactionData.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/BaseTransactionData.java
index 7482bd68eb1..c1fb642373f 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/BaseTransactionData.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/BaseTransactionData.java
@@ -135,6 +135,6 @@ public abstract class BaseTransactionData {
protected abstract void internalAddToEvents(ArtifactEvent artifactEvent) throws OseeCoreException;
protected int getNextGammaIdFromSequence() {
- return (int) ConnectionHandler.getNextSequence(GAMMA_ID_SEQ);
+ return (int) ConnectionHandler.getNextSequence(GAMMA_ID_SEQ, true);
}
}
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java
index 671bf5ac2be..dab74d36c00 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/SkynetTransaction.java
@@ -90,11 +90,11 @@ public final class SkynetTransaction extends TransactionOperation<Branch> {
}
private int getNewAttributeId(Artifact artifact, Attribute<?> attribute) throws OseeCoreException {
- return (int) ConnectionHandler.getNextSequence(ATTR_ID_SEQ);
+ return (int) ConnectionHandler.getNextSequence(ATTR_ID_SEQ, true);
}
private int getNewRelationId() throws OseeCoreException {
- return (int) ConnectionHandler.getNextSequence(REL_LINK_ID_SEQ);
+ return (int) ConnectionHandler.getNextSequence(REL_LINK_ID_SEQ, true);
}
private User getAuthor() throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/TransactionManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/TransactionManager.java
index 3ec397c6cd7..ec4ca3a0b06 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/TransactionManager.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/transaction/TransactionManager.java
@@ -187,7 +187,8 @@ public final class TransactionManager {
}
private static int getNextTransactionId() {
- return (int) ConnectionHandler.getNextSequence(TRANSACTION_ID_SEQ);
+ //keep transaction id's sequential in the face of concurrent transaction by multiple users
+ return (int) ConnectionHandler.getNextSequence(TRANSACTION_ID_SEQ, false);
}
public static synchronized TransactionRecord internalCreateTransactionRecord(IOseeBranch branch, User userToBlame, String comment) throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/ConnectionHandler.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/ConnectionHandler.java
index 9cccb37c5ec..9ad5300a09a 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/ConnectionHandler.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/utility/ConnectionHandler.java
@@ -27,7 +27,7 @@ import com.google.common.collect.Iterables;
/**
* Handles connection recovery in the event of database connection being lost
- *
+ *
* @author Jeff C. Phillips
*/
public final class ConnectionHandler {
@@ -72,7 +72,7 @@ public final class ConnectionHandler {
/**
* This method should only be used when not contained in a DB transaction
- *
+ *
* @return number of records updated
*/
public static int runPreparedUpdate(String query, Object... data) throws OseeCoreException {
@@ -81,7 +81,7 @@ public final class ConnectionHandler {
/**
* This method should only be used when not contained in a DB transaction
- *
+ *
* @return number of records updated
*/
public static int runBatchUpdate(String query, List<Object[]> dataList) throws OseeCoreException {
@@ -90,7 +90,7 @@ public final class ConnectionHandler {
/**
* This method should only be used when contained in a DB transaction
- *
+ *
* @return number of records updated
*/
public static int runPreparedUpdate(JdbcConnection connection, String query, Object... data) throws OseeCoreException {
@@ -105,8 +105,8 @@ public final class ConnectionHandler {
return getJdbcClient().runPreparedQueryFetchObject(defaultValue, query, data);
}
- public static long getNextSequence(String sequenceName) {
- return getJdbcClient().getNextSequence(sequenceName);
+ public static long getNextSequence(String sequenceName, boolean aggressiveFetch) {
+ return getJdbcClient().getNextSequence(sequenceName, aggressiveFetch);
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/JdbcClient.java b/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/JdbcClient.java
index 8ef06a9c884..e613ffac8a3 100644
--- a/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/JdbcClient.java
+++ b/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/JdbcClient.java
@@ -44,7 +44,7 @@ public interface JdbcClient {
/**
* <pre>
- * Invoke an SQL stored function which returns a value.
+ * Invoke an SQL stored function which returns a value.
* Function uses the format function_name (?,?,?) if the function has parameters
* or function_name if no parameters. Default value cannot be null and must match
* the desired return type.
@@ -79,7 +79,7 @@ public interface JdbcClient {
void migrate(JdbcMigrationOptions options, Iterable<JdbcMigrationResource> schemaResources);
- long getNextSequence(String sequenceName);
+ long getNextSequence(String sequenceName, boolean aggressiveFetch);
void invalidateSequences();
diff --git a/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcClientImpl.java b/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcClientImpl.java
index 59c1015428b..a0cd407743b 100644
--- a/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcClientImpl.java
+++ b/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcClientImpl.java
@@ -454,8 +454,8 @@ public final class JdbcClientImpl implements JdbcClient {
}
@Override
- public long getNextSequence(String sequenceName) {
- return sequenceProvider.getNextSequence(this, sequenceName);
+ public long getNextSequence(String sequenceName, boolean aggressiveFetch) {
+ return sequenceProvider.getNextSequence(this, sequenceName, aggressiveFetch);
}
@Override
diff --git a/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcSequenceProvider.java b/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcSequenceProvider.java
index 7d57e707c91..1682b70d01b 100644
--- a/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcSequenceProvider.java
+++ b/plugins/org.eclipse.osee.jdbc/src/org/eclipse/osee/jdbc/internal/JdbcSequenceProvider.java
@@ -29,15 +29,14 @@ public class JdbcSequenceProvider {
sequences.clear();
}
- public synchronized long getNextSequence(JdbcClient client, String sequenceName) throws OseeCoreException {
- JdbcSequenceTx sequenceTx = new JdbcSequenceTx(client, sequenceName);
+ public synchronized long getNextSequence(JdbcClient client, String sequenceName, boolean aggressiveFetch) throws OseeCoreException {
+ JdbcSequenceTx sequenceTx = new JdbcSequenceTx(client, sequenceName, aggressiveFetch);
client.runTransaction(sequenceTx);
return sequenceTx.getNextSequence();
}
private final class JdbcSequenceTx extends JdbcTransaction {
- private static final String TRANSACTION_ID_SEQ = "SKYNET_TRANSACTION_ID_SEQ";
private static final String ART_ID_SEQ = "SKYNET_ART_ID_SEQ";
private static final String QUERY_SEQUENCE = "SELECT last_sequence FROM osee_sequence WHERE sequence_name = ?";
public static final String INSERT_SEQUENCE =
@@ -48,24 +47,27 @@ public class JdbcSequenceProvider {
private final JdbcClient client;
private final String sequenceName;
private long nextSequence;
+ private final boolean aggressiveFetch;
- public JdbcSequenceTx(JdbcClient client, String sequenceName) {
+ public JdbcSequenceTx(JdbcClient client, String sequenceName, boolean aggressiveFetch) {
super();
this.client = client;
this.sequenceName = sequenceName;
+ this.aggressiveFetch = aggressiveFetch;
}
public long getNextSequence() {
return nextSequence;
}
+ public boolean isAggressiveFetch() {
+ return aggressiveFetch;
+ }
+
private SequenceRange getRange(String sequenceName) {
SequenceRange range = sequences.get(sequenceName);
if (range == null) {
- // do this to keep transaction id's sequential in the face of concurrent transaction by multiple users
- boolean aggressiveFetch = !sequenceName.equals(TRANSACTION_ID_SEQ);
-
- range = new SequenceRange(aggressiveFetch);
+ range = new SequenceRange(isAggressiveFetch());
sequences.put(sequenceName, range);
}
return range;
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java
index 9a1b705e020..52b22948ee8 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java
@@ -109,9 +109,8 @@ public class ImportBranchDatabaseCallable extends AbstractDatastoreCallable<URI>
URI modelUri = exportDataProvider.getFile(manifestHandler.getTypeModel()).toURI();
loadTypeModel(modelUri);
- ImportBranchesTx importBranchesTx =
- new ImportBranchesTx(getLogger(), getSession(), getJdbcClient(), savePointManager,
- manifestHandler.getBranchFile());
+ ImportBranchesTx importBranchesTx = new ImportBranchesTx(getLogger(), getSession(), getJdbcClient(),
+ savePointManager, manifestHandler.getBranchFile());
callAndCheckForCancel(importBranchesTx);
savePointManager.setCurrentSetPointId("init_relational_objects");
@@ -195,9 +194,8 @@ public class ImportBranchDatabaseCallable extends AbstractDatastoreCallable<URI>
}
private void processImportFiles(long[] branchesToImport, Collection<IExportItem> importItems) throws Exception {
- final DbTableSaxHandler handler =
- DbTableSaxHandler.createWithLimitedCache(getLogger(), getJdbcClient(), resourceManager, identityService,
- exportDataProvider, 50000);
+ final DbTableSaxHandler handler = DbTableSaxHandler.createWithLimitedCache(getLogger(), getJdbcClient(),
+ resourceManager, identityService, exportDataProvider, 50000);
handler.setSelectedBranchIds(branchesToImport);
for (final IExportItem item : importItems) {
@@ -250,7 +248,8 @@ public class ImportBranchDatabaseCallable extends AbstractDatastoreCallable<URI>
CommitImportSavePointsTx callable = new CommitImportSavePointsTx(getLogger(), getSession(), getJdbcClient());
callAndCheckForCancel(callable);
} catch (Exception ex) {
- getLogger().warn(ex, "Error during save point save - you will not be able to reimport from last source again.");
+ getLogger().warn(ex,
+ "Error during save point save - you will not be able to reimport from last source again.");
throw ex;
} finally {
exchangeDataProcessor.cleanUp();
@@ -315,7 +314,7 @@ public class ImportBranchDatabaseCallable extends AbstractDatastoreCallable<URI>
@Override
protected Boolean handleTxWork(JdbcConnection connection) throws OseeCoreException {
if (manifestHandler != null && translator != null) {
- int importIdIndex = (int) getJdbcClient().getNextSequence(IMPORT_ID_SEQ);
+ int importIdIndex = (int) getJdbcClient().getNextSequence(IMPORT_ID_SEQ, true);
String sourceDatabaseId = manifestHandler.getSourceDatabaseId();
Timestamp importDate = new Timestamp(new Date().getTime());
Timestamp exportDate = new Timestamp(manifestHandler.getSourceExportDate().getTime());
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/IdTranslator.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/IdTranslator.java
index 703e0656f85..9cb38f75685 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/IdTranslator.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/IdTranslator.java
@@ -101,7 +101,7 @@ public class IdTranslator {
} else {
newVersion = this.originalToMapped.get(original);
if (newVersion == null) {
- newVersion = jdbcClient.getNextSequence(getSequenceName());
+ newVersion = jdbcClient.getNextSequence(getSequenceName(), true);
addToCache(original, newVersion);
}
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java
index 67920df4a7a..1b3eafc4102 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java
@@ -68,7 +68,7 @@ public class TranslationManager {
List<Object[]> data = new ArrayList<>();
for (IdTranslator translatedIdMap : translators) {
if (translatedIdMap.hasItemsToStore()) {
- int importSeqId = (int) jdbcClient.getNextSequence(IMPORT_MAPPED_INDEX_SEQ);
+ int importSeqId = (int) jdbcClient.getNextSequence(IMPORT_MAPPED_INDEX_SEQ, true);
data.add(new Object[] {importIdIndex, importSeqId, translatedIdMap.getSequenceName()});
translatedIdMap.store(connection, importSeqId);
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/IdentityManagerImpl.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/IdentityManagerImpl.java
index ad922285538..2e8ba218307 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/IdentityManagerImpl.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/IdentityManagerImpl.java
@@ -31,27 +31,28 @@ public class IdentityManagerImpl implements IdentityManager {
@Override
public int getNextTransactionId() {
- return (int) client.getNextSequence(TRANSACTION_ID_SEQ);
+ //keep transaction id's sequential in the face of concurrent transaction by multiple users
+ return (int) client.getNextSequence(TRANSACTION_ID_SEQ, false);
}
@Override
public int getNextArtifactId() {
- return (int) client.getNextSequence(ART_ID_SEQ);
+ return (int) client.getNextSequence(ART_ID_SEQ, true);
}
@Override
public int getNextAttributeId() {
- return (int) client.getNextSequence(ATTR_ID_SEQ);
+ return (int) client.getNextSequence(ATTR_ID_SEQ, true);
}
@Override
public int getNextRelationId() {
- return (int) client.getNextSequence(REL_LINK_ID_SEQ);
+ return (int) client.getNextSequence(REL_LINK_ID_SEQ, true);
}
@Override
public long getNextGammaId() {
- return (int) client.getNextSequence(GAMMA_ID_SEQ);
+ return (int) client.getNextSequence(GAMMA_ID_SEQ, true);
}
@Override

Back to the top