diff options
author | megumi.telles | 2015-11-12 16:01:04 +0000 |
---|---|---|
committer | Megumi Telles | 2015-11-30 14:18:15 +0000 |
commit | 54d537d65410110570d632242c935fccf706e341 (patch) | |
tree | 374437f406cb7e7dbb73f2372401a6957a14fbc8 | |
parent | 959c8352c63816370af47177f7c67ab1722e7b82 (diff) | |
download | org.eclipse.osee-54d537d65410110570d632242c935fccf706e341.tar.gz org.eclipse.osee-54d537d65410110570d632242c935fccf706e341.tar.xz org.eclipse.osee-54d537d65410110570d632242c935fccf706e341.zip |
bug[ats_ATS252044]: Make ats ids sequential
Change-Id: I5013f53defa1e2d819a12ed50f3105a2531494a0
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 |