diff options
author | jmisinco | 2014-08-25 16:49:01 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2014-10-01 21:03:01 +0000 |
commit | 9dbaa673cf82e2c5191e4bfd800d60c771895dd9 (patch) | |
tree | 83229d0d69a972301ac7fe5c9fb5fb8ff365adf5 | |
parent | 5a25535d9f3511da5ce15bb8dbe683c8915fa2ec (diff) | |
download | org.eclipse.osee-9dbaa673cf82e2c5191e4bfd800d60c771895dd9.tar.gz org.eclipse.osee-9dbaa673cf82e2c5191e4bfd800d60c771895dd9.tar.xz org.eclipse.osee-9dbaa673cf82e2c5191e4bfd800d60c771895dd9.zip |
refactor[ats_ATS46139]: Remove BranchCache from ChangeBranchTypeCallable
Change-Id: Ib8d8cacff1b02bd63f071f5fe5464ec2d6a1eba7
7 files changed, 57 insertions, 63 deletions
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/branch/ChangeBranchTypeCallable.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/branch/ChangeBranchTypeCallable.java index 226c5c9f31f..39f87f24d29 100644 --- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/branch/ChangeBranchTypeCallable.java +++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/branch/ChangeBranchTypeCallable.java @@ -17,7 +17,6 @@ import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.enums.BranchType; import org.eclipse.osee.framework.core.enums.CoreTranslatorId; import org.eclipse.osee.framework.core.message.ChangeBranchTypeRequest; -import org.eclipse.osee.framework.core.model.BranchReadable; import org.eclipse.osee.framework.core.translation.IDataTranslationService; import org.eclipse.osee.orcs.ApplicationContext; import org.eclipse.osee.orcs.OrcsApi; @@ -36,7 +35,7 @@ public class ChangeBranchTypeCallable extends AbstractBranchCallable<ChangeBranc IOseeBranch toModify = getBranchFromUuid(request.getBranchId()); BranchType newBranchType = request.getType(); - Callable<BranchReadable> callable = getBranchOps().changeBranchType(toModify, newBranchType); + Callable<Void> callable = getBranchOps().changeBranchType(toModify, newBranchType); callAndCheckForCancel(callable); return Boolean.TRUE; } diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/BranchDataStore.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/BranchDataStore.java index 81a9c47a3ef..e880972251c 100644 --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/BranchDataStore.java +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/ds/BranchDataStore.java @@ -15,6 +15,7 @@ import java.util.List; import java.util.concurrent.Callable; import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.enums.BranchState; +import org.eclipse.osee.framework.core.enums.BranchType; import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.core.model.TransactionRecord; import org.eclipse.osee.framework.core.model.change.ChangeItem; @@ -47,4 +48,6 @@ public interface BranchDataStore { Callable<Void> changeBranchState(OrcsSession session, IOseeBranch branch, BranchState newState); + Callable<Void> changeBranchType(OrcsSession session, IOseeBranch branch, BranchType newType); + } diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsBranchImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsBranchImpl.java index ecc17420f70..334a1047ce9 100644 --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsBranchImpl.java +++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/OrcsBranchImpl.java @@ -32,7 +32,6 @@ import org.eclipse.osee.orcs.OrcsTypes; import org.eclipse.osee.orcs.core.ds.BranchDataStore; import org.eclipse.osee.orcs.core.internal.branch.ArchiveUnarchiveBranchCallable; import org.eclipse.osee.orcs.core.internal.branch.BranchDataFactory; -import org.eclipse.osee.orcs.core.internal.branch.ChangeBranchTypeCallable; import org.eclipse.osee.orcs.core.internal.branch.CommitBranchCallable; import org.eclipse.osee.orcs.core.internal.branch.CompareBranchCallable; import org.eclipse.osee.orcs.core.internal.branch.CreateBranchCallable; @@ -112,8 +111,8 @@ public class OrcsBranchImpl implements OrcsBranch { } @Override - public Callable<BranchReadable> changeBranchType(IOseeBranch branch, BranchType branchType) { - return new ChangeBranchTypeCallable(logger, session, branchStore, branchCache, branch, branchType); + public Callable<Void> changeBranchType(IOseeBranch branch, BranchType branchType) { + return branchStore.changeBranchType(session, branch, branchType); } @Override diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/branch/ChangeBranchTypeCallable.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/branch/ChangeBranchTypeCallable.java deleted file mode 100644 index 5cb27ec1f0d..00000000000 --- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/branch/ChangeBranchTypeCallable.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 Boeing. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Boeing - initial API and implementation - *******************************************************************************/ -package org.eclipse.osee.orcs.core.internal.branch; - -import org.eclipse.osee.framework.core.data.IOseeBranch; -import org.eclipse.osee.framework.core.enums.BranchType; -import org.eclipse.osee.framework.core.model.Branch; -import org.eclipse.osee.framework.core.model.BranchReadable; -import org.eclipse.osee.framework.core.model.cache.BranchCache; -import org.eclipse.osee.framework.jdk.core.util.Conditions; -import org.eclipse.osee.logger.Log; -import org.eclipse.osee.orcs.OrcsSession; -import org.eclipse.osee.orcs.core.ds.BranchDataStore; - -public class ChangeBranchTypeCallable extends AbstractBranchCallable<BranchReadable> { - - private final BranchCache cache; - private final IOseeBranch branchToken; - private final BranchType branchType; - - public ChangeBranchTypeCallable(Log logger, OrcsSession session, BranchDataStore branchStore, BranchCache cache, IOseeBranch branch, BranchType branchType) { - super(logger, session, branchStore); - this.cache = cache; - this.branchToken = branch; - this.branchType = branchType; - } - - @Override - protected BranchReadable innerCall() throws Exception { - Conditions.checkNotNull(branchToken, "branch"); - Conditions.checkNotNull(branchType, "branchType"); - - Branch branch = cache.get(branchToken); - Conditions.checkNotNull(branch, "branch"); - - BranchType original = branch.getBranchType(); - - try { - branch.setBranchType(branchType); - cache.storeItems(branch); - } catch (Exception ex) { - branch.setBranchType(original); - throw ex; - } finally { - // TODO Event ? - } - return branch; - } -} diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/branch/BranchModule.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/branch/BranchModule.java index 925144ce42c..34cd709f2af 100644 --- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/branch/BranchModule.java +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/branch/BranchModule.java @@ -16,6 +16,7 @@ import java.util.concurrent.Callable; import org.eclipse.osee.executor.admin.ExecutorAdmin; import org.eclipse.osee.framework.core.data.IOseeBranch; import org.eclipse.osee.framework.core.enums.BranchState; +import org.eclipse.osee.framework.core.enums.BranchType; import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.core.model.TransactionRecord; import org.eclipse.osee.framework.core.model.change.ChangeItem; @@ -35,6 +36,7 @@ import org.eclipse.osee.orcs.data.CreateBranchData; import org.eclipse.osee.orcs.db.internal.IdentityLocator; import org.eclipse.osee.orcs.db.internal.callable.BranchCopyTxCallable; import org.eclipse.osee.orcs.db.internal.callable.ChangeBranchStateCallable; +import org.eclipse.osee.orcs.db.internal.callable.ChangeBranchTypeCallable; import org.eclipse.osee.orcs.db.internal.callable.CheckBranchExchangeIntegrityCallable; import org.eclipse.osee.orcs.db.internal.callable.CommitBranchDatabaseCallable; import org.eclipse.osee.orcs.db.internal.callable.CompareDatabaseCallable; @@ -133,6 +135,11 @@ public class BranchModule { return new ChangeBranchStateCallable(logger, session, dbService, branch, newState); } + @Override + public Callable<Void> changeBranchType(OrcsSession session, IOseeBranch branch, BranchType newType) { + return new ChangeBranchTypeCallable(logger, session, dbService, branch, newType); + } + }; } } diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ChangeBranchTypeCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ChangeBranchTypeCallable.java new file mode 100644 index 00000000000..0fb8425c6f1 --- /dev/null +++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ChangeBranchTypeCallable.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2014 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.orcs.db.internal.callable; + +import org.eclipse.osee.framework.core.data.IOseeBranch; +import org.eclipse.osee.framework.core.enums.BranchType; +import org.eclipse.osee.framework.database.IOseeDatabaseService; +import org.eclipse.osee.framework.database.core.OseeConnection; +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; +import org.eclipse.osee.logger.Log; +import org.eclipse.osee.orcs.OrcsSession; + +/** + * @author John Misinco + */ +public class ChangeBranchTypeCallable extends AbstractDatastoreTxCallable<Void> { + + private static final String UPDATE_BRANCH_TYPE = "UPDATE osee_branch SET branch_type = ? WHERE branch_id = ?"; + + private final IOseeBranch branch; + private final BranchType newType; + + public ChangeBranchTypeCallable(Log logger, OrcsSession session, IOseeDatabaseService dbService, IOseeBranch branch, BranchType newType) { + super(logger, session, dbService, String.format("Change BranchType of %s to %s", branch, newType)); + this.branch = branch; + this.newType = newType; + } + + @Override + protected Void handleTxWork(OseeConnection connection) throws OseeCoreException { + Object[] params = new Object[] {newType.getValue(), branch.getUuid()}; + getDatabaseService().runPreparedUpdate(connection, UPDATE_BRANCH_TYPE, params); + return null; + } +} diff --git a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsBranch.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsBranch.java index 7a28320a342..72f9b0f6421 100644 --- a/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsBranch.java +++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/OrcsBranch.java @@ -60,7 +60,7 @@ public interface OrcsBranch { Callable<Void> changeBranchState(IOseeBranch branch, BranchState newState); - Callable<BranchReadable> changeBranchType(IOseeBranch branch, BranchType branchType); + Callable<Void> changeBranchType(IOseeBranch branch, BranchType branchType); Callable<BranchReadable> deleteBranch(IOseeBranch branch); |