diff options
author | Roberto E. Escobar | 2011-10-22 01:13:59 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2011-10-22 01:13:59 +0000 |
commit | f45d8c0ce30df5da8c1fccf21fbe43d4d5638245 (patch) | |
tree | a73467876d8d2420c941996120b748190233c5e9 /plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal | |
parent | 4faaa5303f2e761ce00150174c8251e39c113fc3 (diff) | |
download | org.eclipse.osee-f45d8c0ce30df5da8c1fccf21fbe43d4d5638245.tar.gz org.eclipse.osee-f45d8c0ce30df5da8c1fccf21fbe43d4d5638245.tar.xz org.eclipse.osee-f45d8c0ce30df5da8c1fccf21fbe43d4d5638245.zip |
feature[ats_Q9NLC]: Create executor admin
Diffstat (limited to 'plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal')
3 files changed, 22 insertions, 16 deletions
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/CacheFactoryService.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/CacheFactoryService.java index 0363819e173..f5463451010 100644 --- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/CacheFactoryService.java +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/CacheFactoryService.java @@ -10,9 +10,8 @@ *******************************************************************************/ package org.eclipse.osee.orcs.db.internal; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import org.eclipse.osee.event.EventService; +import org.eclipse.osee.executor.admin.ExecutorAdmin; import org.eclipse.osee.framework.core.model.OseeCachingService; import org.eclipse.osee.framework.core.model.cache.ArtifactTypeCache; import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache; @@ -50,16 +49,14 @@ public class CacheFactoryService implements IOseeCachingServiceFactory { private IdentityService identityService; private Log logger; private EventService eventService; - - private ExecutorService executor; + private ExecutorAdmin executorAdmin; public void start() { - // TODO: Pass in executor admin service - executor = Executors.newFixedThreadPool(5); + // } public void stop() { - executor.shutdownNow(); + // } public void setLogger(Log logger) { @@ -94,11 +91,15 @@ public class CacheFactoryService implements IOseeCachingServiceFactory { this.eventService = eventService; } + public void setExecutorAdmin(ExecutorAdmin executorAdmin) { + this.executorAdmin = executorAdmin; + } + @Override public IOseeCachingService createCachingService() { TransactionCache txCache = new TransactionCache(); BranchCache branchCache = - new BranchCache(new DatabaseBranchAccessor(logger, executor, eventService, dbService, txCache, + new BranchCache(new DatabaseBranchAccessor(logger, executorAdmin, eventService, dbService, txCache, factoryService.getBranchFactory())); txCache.setAccessor(new DatabaseTransactionRecordAccessor(dbService, branchCache, factoryService.getTransactionFactory())); diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/accessor/DatabaseBranchAccessor.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/accessor/DatabaseBranchAccessor.java index cc9644349e5..f84e6524bba 100644 --- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/accessor/DatabaseBranchAccessor.java +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/accessor/DatabaseBranchAccessor.java @@ -16,10 +16,10 @@ import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import org.eclipse.core.runtime.IStatus; import org.eclipse.osee.event.EventService; +import org.eclipse.osee.executor.admin.ExecutorAdmin; import org.eclipse.osee.framework.core.enums.BranchArchivedState; import org.eclipse.osee.framework.core.enums.BranchState; import org.eclipse.osee.framework.core.enums.BranchType; @@ -53,13 +53,13 @@ public class DatabaseBranchAccessor implements IOseeDataAccessor<String, Branch> private final Log logger; private final IOseeDatabaseService dbService; - private final ExecutorService executor; + private final ExecutorAdmin executor; private final EventService eventService; private final TransactionCache txCache; private final BranchFactory branchFactory; - public DatabaseBranchAccessor(Log logger, ExecutorService executor, EventService eventService, IOseeDatabaseService dbService, TransactionCache txCache, BranchFactory branchFactory) { + public DatabaseBranchAccessor(Log logger, ExecutorAdmin executor, EventService eventService, IOseeDatabaseService dbService, TransactionCache txCache, BranchFactory branchFactory) { this.logger = logger; this.executor = executor; this.eventService = eventService; @@ -193,8 +193,8 @@ public class DatabaseBranchAccessor implements IOseeDataAccessor<String, Branch> @Override public void store(Collection<Branch> branches) throws OseeCoreException { StoreBranchCallable task = new StoreBranchCallable(dbService, executor, eventService, branches); - Future<IStatus> future = executor.submit(task); try { + Future<IStatus> future = executor.getDefaultExecutor().submit(task); IStatus status = future.get(); if (!status.isOK()) { throw new OseeStateException("Error storing branches"); diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/StoreBranchCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/StoreBranchCallable.java index 0d1618fb765..9e92d2b99bc 100644 --- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/StoreBranchCallable.java +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/StoreBranchCallable.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.List; import java.util.concurrent.ExecutorService; import org.eclipse.osee.event.EventService; +import org.eclipse.osee.executor.admin.ExecutorAdmin; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.model.AbstractOseeType; import org.eclipse.osee.framework.core.model.Branch; @@ -41,10 +42,10 @@ public class StoreBranchCallable extends DatabaseTxCallable { private static final String DELETE_BRANCH = "DELETE from osee_branch where branch_id = ?"; private final Collection<Branch> branches; - private final ExecutorService executor; + private final ExecutorAdmin executor; private final EventService eventService; - public StoreBranchCallable(IOseeDatabaseService dbService, ExecutorService executor, EventService eventService, Collection<Branch> branches) { + public StoreBranchCallable(IOseeDatabaseService dbService, ExecutorAdmin executor, EventService eventService, Collection<Branch> branches) { super(dbService, "Branch Archive Operation"); this.executor = executor; this.eventService = eventService; @@ -55,8 +56,12 @@ public class StoreBranchCallable extends DatabaseTxCallable { return eventService; } - private ExecutorService getExecutorService() { - return executor; + private ExecutorService getExecutorService() throws OseeCoreException { + try { + return executor.getDefaultExecutor(); + } catch (Exception ex) { + throw new OseeCoreException(ex); + } } @Override |