diff options
author | Roberto E. Escobar | 2014-12-01 21:28:41 +0000 |
---|---|---|
committer | Angel Avila | 2014-12-01 21:28:41 +0000 |
commit | 395a185697a24fb5056b46babd4643361becaa8c (patch) | |
tree | ffed18a24ce19e316c5403f1d78aa028dfb6f623 /plugins | |
parent | a98a7f4271e8df8889d086ef0d7df627a29c9eef (diff) | |
download | org.eclipse.osee-395a185697a24fb5056b46babd4643361becaa8c.tar.gz org.eclipse.osee-395a185697a24fb5056b46babd4643361becaa8c.tar.xz org.eclipse.osee-395a185697a24fb5056b46babd4643361becaa8c.zip |
feature[ats_ATS139503]: Use JdbcService in ATS Server
Change-Id: I2a30e913604675c9328112ba865a2bc4a82f1288
Diffstat (limited to 'plugins')
7 files changed, 51 insertions, 46 deletions
diff --git a/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF index b04d7e3b679..fa3422da1db 100644 --- a/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.ats.impl/META-INF/MANIFEST.MF @@ -35,11 +35,10 @@ Import-Package: javax.ws.rs;version="2.0.0", org.eclipse.osee.framework.core.enums, org.eclipse.osee.framework.core.model, org.eclipse.osee.framework.core.util, - org.eclipse.osee.framework.database, - org.eclipse.osee.framework.database.core, org.eclipse.osee.framework.jdk.core.type, org.eclipse.osee.framework.jdk.core.util, org.eclipse.osee.jaxrs.mvc, + org.eclipse.osee.jdbc, org.eclipse.osee.logger, org.eclipse.osee.mail.api, org.eclipse.osee.orcs, diff --git a/plugins/org.eclipse.osee.ats.impl/OSGI-INF/ats.server.service.xml b/plugins/org.eclipse.osee.ats.impl/OSGI-INF/ats.server.service.xml index 101de8c4abc..73cdeb5d28c 100644 --- a/plugins/org.eclipse.osee.ats.impl/OSGI-INF/ats.server.service.xml +++ b/plugins/org.eclipse.osee.ats.impl/OSGI-INF/ats.server.service.xml @@ -7,7 +7,7 @@ <reference bind="addNotifier" cardinality="1..n" interface="org.eclipse.osee.ats.impl.internal.notify.IAtsNotifierServer" name="IAtsNotifierServer" policy="dynamic" unbind="removeNotifier"/> <reference bind="addAtsDatabaseConversion" cardinality="1..n" interface="org.eclipse.osee.ats.api.util.IAtsDatabaseConversion" name="IAtsDatabaseConversion" policy="dynamic" unbind="removeAtsDatabaseConversion"/> <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/> - <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/> + <reference bind="setJdbcService" cardinality="1..1" interface="org.eclipse.osee.jdbc.JdbcService" name="JdbcService" policy="static" target="(osgi.binding=orcs.jdbc.service)"/> <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/> <reference bind="setWorkDefService" cardinality="1..1" interface="org.eclipse.osee.ats.api.workdef.IAtsWorkDefinitionService" name="IAtsWorkDefinitionService" policy="static"/> <reference bind="setAtsUserService" cardinality="1..1" interface="org.eclipse.osee.ats.api.user.IAtsUserService" name="IAtsUserService" policy="static"/> 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 85485705dd2..7206c559b72 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 @@ -75,11 +75,12 @@ import org.eclipse.osee.ats.impl.internal.workitem.WorkItemFactory; import org.eclipse.osee.framework.core.data.IArtifactType; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; import org.eclipse.osee.framework.core.enums.CoreBranches; -import org.eclipse.osee.framework.database.IOseeDatabaseService; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.type.OseeStateException; import org.eclipse.osee.framework.jdk.core.util.Conditions; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.eclipse.osee.jdbc.JdbcClient; +import org.eclipse.osee.jdbc.JdbcService; import org.eclipse.osee.logger.Log; import org.eclipse.osee.orcs.OrcsApi; import org.eclipse.osee.orcs.data.ArtifactReadable; @@ -106,7 +107,6 @@ public class AtsServerImpl implements IAtsServer { private AtsAttributeResolverServiceImpl attributeResolverService; private IAtsConfig config; private IAtsConfigItemFactory configItemFactory; - private static Boolean started = null; private IAtsLogFactory atsLogFactory; private IAtsStateFactory atsStateFactory; private IAtsStoreFactory atsStoreFactory; @@ -114,16 +114,19 @@ public class AtsServerImpl implements IAtsServer { private ISequenceProvider sequenceProvider; private IAtsActionFactory actionFactory; private ActionableItemManager actionableItemManager; - private IOseeDatabaseService dbService; - private final List<IAtsNotifierServer> notifiers = new CopyOnWriteArrayList<IAtsNotifierServer>(); + private JdbcService jdbcService; private WorkItemNotificationProcessor workItemNotificationProcessor; private AtsNotificationEventProcessor notificationEventProcessor; private IAtsVersionService versionService; private IRelationResolver relationResolver; private IAtsProgramService atsProgramService; private IAtsTeamDefinitionService atsTeamDefinitionService; - private boolean emailEnabled = true; + private JdbcClient jdbcClient; + + private volatile boolean emailEnabled = true; + private volatile boolean started = false; + private final List<IAtsNotifierServer> notifiers = new CopyOnWriteArrayList<IAtsNotifierServer>(); private final Map<String, IAtsDatabaseConversion> externalConversions = new ConcurrentHashMap<String, IAtsDatabaseConversion>(); @@ -136,8 +139,8 @@ public class AtsServerImpl implements IAtsServer { return configItemFactory; } - public void setDatabaseService(IOseeDatabaseService dbService) { - this.dbService = dbService; + public void setJdbcService(JdbcService jdbcService) { + this.jdbcService = jdbcService; } public void setOrcsApi(OrcsApi orcsApi) { @@ -169,12 +172,14 @@ public class AtsServerImpl implements IAtsServer { } public void start() throws OseeCoreException { + jdbcClient = jdbcService.getClient(); + notifyService = new AtsNotifierServiceImpl(); workItemFactory = new WorkItemFactory(logger, this); configItemFactory = new ConfigItemFactory(logger, this); workItemService = new AtsWorkItemServiceImpl(this, this); - branchService = new AtsBranchServiceImpl(getServices(), orcsApi, dbService); + branchService = new AtsBranchServiceImpl(getServices(), orcsApi, jdbcClient); reviewService = new AtsReviewServiceImpl(this, workItemService); workDefCacheProvider = new AtsWorkDefinitionCacheProvider(workDefService); @@ -196,7 +201,7 @@ public class AtsServerImpl implements IAtsServer { @Override public long getNext(String sequenceName) { - return dbService.getSequence().getNextSequence(sequenceName); + return jdbcClient.getNextSequence(sequenceName); } }; @@ -208,19 +213,20 @@ public class AtsServerImpl implements IAtsServer { atsProgramService = new AtsProgramService(this); atsTeamDefinitionService = new AtsTeamDefinitionService(this); - addAtsDatabaseConversion(new ConvertBaselineGuidToBaselineUuid(logger, dbService, orcsApi, this)); - addAtsDatabaseConversion(new ConvertFavoriteBranchGuidToUuid(logger, dbService, orcsApi, this)); + addAtsDatabaseConversion(new ConvertBaselineGuidToBaselineUuid(logger, jdbcClient, orcsApi, this)); + addAtsDatabaseConversion(new ConvertFavoriteBranchGuidToUuid(logger, jdbcClient, orcsApi, this)); System.out.println("ATS - AtsServerImpl started"); started = true; } public void stop() { - // + started = false; + jdbcClient = null; } - private static void checkStarted() throws OseeStateException { - if (started == null) { + private void checkStarted() { + if (!started) { throw new OseeStateException("AtsServer did not start"); } } @@ -404,7 +410,7 @@ public class AtsServerImpl implements IAtsServer { @Override public boolean isProduction() { - return dbService.isProduction(); + return jdbcClient.getConfig().isProduction(); } @Override diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/AbstractConvertGuidToUuid.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/AbstractConvertGuidToUuid.java index 71f94c72157..f9d2ed0b445 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/AbstractConvertGuidToUuid.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/AbstractConvertGuidToUuid.java @@ -14,9 +14,9 @@ import static org.eclipse.osee.framework.core.enums.CoreBranches.COMMON; import org.eclipse.osee.ats.api.util.IAtsDatabaseConversion; import org.eclipse.osee.ats.impl.IAtsServer; import org.eclipse.osee.framework.core.enums.SystemUser; -import org.eclipse.osee.framework.database.IOseeDatabaseService; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.Conditions; +import org.eclipse.osee.jdbc.JdbcClient; import org.eclipse.osee.logger.Log; import org.eclipse.osee.orcs.OrcsApi; import org.eclipse.osee.orcs.data.BranchReadable; @@ -31,14 +31,14 @@ public abstract class AbstractConvertGuidToUuid implements IAtsDatabaseConversio private static final String SELECT_BRANCH_ID_BY_GUID = "select branch_id from osee_branch where branch_guid = ?"; private final Log logger; - private final IOseeDatabaseService dbService; + private final JdbcClient jdbcClient; private final OrcsApi orcsApi; private final IAtsServer atsServer; - public AbstractConvertGuidToUuid(Log logger, IOseeDatabaseService dbService, OrcsApi orcsApi, IAtsServer atsServer) { + public AbstractConvertGuidToUuid(Log logger, JdbcClient jdbcClient, OrcsApi orcsApi, IAtsServer atsServer) { super(); this.logger = logger; - this.dbService = dbService; + this.jdbcClient = jdbcClient; this.orcsApi = orcsApi; this.atsServer = atsServer; } @@ -51,8 +51,8 @@ public abstract class AbstractConvertGuidToUuid implements IAtsDatabaseConversio return logger; } - protected IOseeDatabaseService getDatabaseService() { - return dbService; + protected JdbcClient getJdbcClient() { + return jdbcClient; } protected BranchReadable getBranch(String guid) throws OseeCoreException { @@ -70,7 +70,7 @@ public abstract class AbstractConvertGuidToUuid implements IAtsDatabaseConversio * Temporary method till all code uses branch uuid. Remove after 0.17.0 */ private long getBranchIdLegacy(String branchGuid) { - Long longId = getDatabaseService().runPreparedQueryFetchObject(0L, SELECT_BRANCH_ID_BY_GUID, branchGuid); + Long longId = getJdbcClient().runPreparedQueryFetchObject(0L, SELECT_BRANCH_ID_BY_GUID, branchGuid); Conditions.checkExpressionFailOnTrue(longId <= 0, "Error getting branch_id for branch: [%s]", branchGuid); return longId; } diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertBaselineGuidToBaselineUuid.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertBaselineGuidToBaselineUuid.java index 20f0480e580..eff99f53948 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertBaselineGuidToBaselineUuid.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertBaselineGuidToBaselineUuid.java @@ -18,8 +18,8 @@ import org.eclipse.osee.ats.impl.IAtsServer; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.data.TokenFactory; import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.database.IOseeDatabaseService; import org.eclipse.osee.framework.jdk.core.util.Strings; +import org.eclipse.osee.jdbc.JdbcClient; import org.eclipse.osee.logger.Log; import org.eclipse.osee.orcs.OrcsApi; import org.eclipse.osee.orcs.data.ArtifactReadable; @@ -37,8 +37,8 @@ public class ConvertBaselineGuidToBaselineUuid extends AbstractConvertGuidToUuid private static final IAttributeType BaselineBranchGuid = TokenFactory.createAttributeType(0x10000000000000A9L, "ats.Baseline Branch Guid"); - public ConvertBaselineGuidToBaselineUuid(Log logger, IOseeDatabaseService dbService, OrcsApi orcsApi, IAtsServer atsServer) { - super(logger, dbService, orcsApi, atsServer); + public ConvertBaselineGuidToBaselineUuid(Log logger, JdbcClient jdbcClient, OrcsApi orcsApi, IAtsServer atsServer) { + super(logger, jdbcClient, orcsApi, atsServer); } @Override diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertFavoriteBranchGuidToUuid.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertFavoriteBranchGuidToUuid.java index 435c14ace7b..1985908ea24 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertFavoriteBranchGuidToUuid.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/convert/ConvertFavoriteBranchGuidToUuid.java @@ -15,10 +15,10 @@ import org.eclipse.osee.ats.impl.IAtsServer; import org.eclipse.osee.framework.core.enums.CoreArtifactTypes; import org.eclipse.osee.framework.core.enums.CoreAttributeTypes; import org.eclipse.osee.framework.core.util.XResultData; -import org.eclipse.osee.framework.database.IOseeDatabaseService; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.type.ResultSet; import org.eclipse.osee.framework.jdk.core.util.GUID; +import org.eclipse.osee.jdbc.JdbcClient; import org.eclipse.osee.logger.Log; import org.eclipse.osee.orcs.OrcsApi; import org.eclipse.osee.orcs.data.ArtifactReadable; @@ -34,8 +34,8 @@ public class ConvertFavoriteBranchGuidToUuid extends AbstractConvertGuidToUuid { private int numChanges = 0; - public ConvertFavoriteBranchGuidToUuid(Log logger, IOseeDatabaseService dbService, OrcsApi orcsApi, IAtsServer atsServer) { - super(logger, dbService, orcsApi, atsServer); + public ConvertFavoriteBranchGuidToUuid(Log logger, JdbcClient jdbcClient, OrcsApi orcsApi, IAtsServer atsServer) { + super(logger, jdbcClient, orcsApi, atsServer); } @Override diff --git a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsBranchServiceImpl.java b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsBranchServiceImpl.java index 26fceaa891d..ed1b301a2e5 100644 --- a/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsBranchServiceImpl.java +++ b/plugins/org.eclipse.osee.ats.impl/src/org/eclipse/osee/ats/impl/internal/util/AtsBranchServiceImpl.java @@ -25,10 +25,10 @@ import org.eclipse.osee.framework.core.enums.BranchState; import org.eclipse.osee.framework.core.enums.BranchType; import org.eclipse.osee.framework.core.enums.TransactionDetailsType; import org.eclipse.osee.framework.core.model.TransactionRecord; -import org.eclipse.osee.framework.database.IOseeDatabaseService; -import org.eclipse.osee.framework.database.core.IOseeStatement; import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.Strings; +import org.eclipse.osee.jdbc.JdbcClient; +import org.eclipse.osee.jdbc.JdbcStatement; import org.eclipse.osee.orcs.OrcsApi; import org.eclipse.osee.orcs.data.ArtifactReadable; import org.eclipse.osee.orcs.search.BranchQuery; @@ -53,21 +53,21 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { private final String SELECT_COMMIT_TRANSACTIONS = "SELECT transaction_id FROM osee_tx_details WHERE commit_art_id = ?"; private final String SELECT_TRANSACTION = "SELECT * FROM osee_tx_details WHERE transaction_id = ?"; - private final IOseeDatabaseService dbService; + private final JdbcClient jdbcClient; private final OrcsApi orcsApi; private static final HashMap<Integer, List<ITransaction>> commitArtifactIdMap = new HashMap<Integer, List<ITransaction>>(); - public AtsBranchServiceImpl(IAtsServices atsServices, OrcsApi orcsApi, IOseeDatabaseService dbService) { + public AtsBranchServiceImpl(IAtsServices atsServices, OrcsApi orcsApi, JdbcClient jdbcClient) { super(atsServices); this.orcsApi = orcsApi; - this.dbService = dbService; + this.jdbcClient = jdbcClient; } @Override public IOseeBranch getCommittedWorkingBranch(IAtsTeamWorkflow teamWf) { Long longId = - dbService.runPreparedQueryFetchObject(0L, + jdbcClient.runPreparedQueryFetchObject(0L, String.format(SELECT_COMMITTED_WORKING_BRANCH, ((ArtifactReadable) teamWf.getStoreObject()).getLocalId())); if (longId == null) { return null; @@ -86,7 +86,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { negatedStr = negatedStr.replaceFirst(",$", ")"); } Long longId = - dbService.runPreparedQueryFetchObject(0L, + jdbcClient.runPreparedQueryFetchObject(0L, String.format(SELECT_WORKING_BRANCH, ((ArtifactReadable) teamWf.getStoreObject()).getLocalId(), negatedStr)); if (longId == null) { return null; @@ -96,7 +96,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { @Override public BranchType getBranchType(IOseeBranch branch) { - String branchType = dbService.runPreparedQueryFetchObject("", SELECT_BRANCH_TYPE, branch.getUuid()); + String branchType = jdbcClient.runPreparedQueryFetchObject("", SELECT_BRANCH_TYPE, branch.getUuid()); if (!Strings.isValid(branchType)) { return null; } @@ -105,7 +105,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { @Override public BranchState getBranchState(IOseeBranch branch) { - String branchState = dbService.runPreparedQueryFetchObject("", SELECT_BRANCH_STATE, branch.getUuid()); + String branchState = jdbcClient.runPreparedQueryFetchObject("", SELECT_BRANCH_STATE, branch.getUuid()); if (!Strings.isNumeric(branchState)) { return null; } @@ -130,7 +130,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { return false; } Long longId = - dbService.runPreparedQueryFetchObject(0L, SELECT_MERGE_BRANCH, workingBranch.getUuid(), + jdbcClient.runPreparedQueryFetchObject(0L, SELECT_MERGE_BRANCH, workingBranch.getUuid(), destinationBranch.getUuid()); return longId != null && longId > 0; } @@ -148,7 +148,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { @Override public BranchArchivedState getArchiveState(IOseeBranch branch) { - String archived = dbService.runPreparedQueryFetchObject("0", SELECT_BRANCH_ARCHIVE_STATE, branch.getUuid()); + String archived = jdbcClient.runPreparedQueryFetchObject("0", SELECT_BRANCH_ARCHIVE_STATE, branch.getUuid()); if (!Strings.isValid(archived)) { return null; } @@ -173,7 +173,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { // happen in this client or as remote commit events come through if (transactionIds == null) { transactionIds = new ArrayList<ITransaction>(5); - IOseeStatement chStmt = dbService.getStatement(); + JdbcStatement chStmt = jdbcClient.getStatement(); try { chStmt.runPreparedQuery(SELECT_COMMIT_TRANSACTIONS, artifactReadable.getLocalId()); while (chStmt.next()) { @@ -188,7 +188,7 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { } private TransactionRecord getTransactionId(int int1) { - IOseeStatement chStmt = dbService.getStatement(); + JdbcStatement chStmt = jdbcClient.getStatement(); try { chStmt.runPreparedQuery(SELECT_TRANSACTION, int1); while (chStmt.next()) { @@ -204,14 +204,14 @@ public class AtsBranchServiceImpl extends AbstractAtsBranchService { @Override public IOseeBranch getParentBranch(IOseeBranch branch) { - long parentId = dbService.runPreparedQueryFetchObject(0L, SELECT_BRANCH_PARENT_ID, branch.getUuid()); + long parentId = jdbcClient.runPreparedQueryFetchObject(0L, SELECT_BRANCH_PARENT_ID, branch.getUuid()); return getBranchByUuid(parentId); } @Override public ITransaction getBaseTransaction(IOseeBranch branch) { int baseTransactionId = - dbService.runPreparedQueryFetchObject(0, SELECT_BRANCH_BASE_TRANSACTION_ID, branch.getUuid()); + jdbcClient.runPreparedQueryFetchObject(0, SELECT_BRANCH_BASE_TRANSACTION_ID, branch.getUuid()); return getTransactionId(baseTransactionId); } |