Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan D. Brooks2011-05-03 21:11:11 +0000
committerRyan D. Brooks2011-05-03 21:11:11 +0000
commitd0ba9178aa64a2216b7a00934a29940b8f8970d4 (patch)
treece990ef5091a5cefe0ede8ff9b211f37d4aef3f7 /plugins/org.eclipse.osee.framework.branch.management/src
parentc68a5c5ad6083409ce94aba7e9705a22fff4acb0 (diff)
downloadorg.eclipse.osee-d0ba9178aa64a2216b7a00934a29940b8f8970d4.tar.gz
org.eclipse.osee-d0ba9178aa64a2216b7a00934a29940b8f8970d4.tar.xz
org.eclipse.osee-d0ba9178aa64a2216b7a00934a29940b8f8970d4.zip
refinement: Expose recursive purge operation to client through http
Diffstat (limited to 'plugins/org.eclipse.osee.framework.branch.management/src')
-rw-r--r--plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/internal/OseeBranchService.java13
-rw-r--r--plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/purge/PurgeBranchOperation.java4
2 files changed, 16 insertions, 1 deletions
diff --git a/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/internal/OseeBranchService.java b/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/internal/OseeBranchService.java
index 36f2eb0a4a2..7cd28cdd44d 100644
--- a/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/internal/OseeBranchService.java
+++ b/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/internal/OseeBranchService.java
@@ -21,7 +21,10 @@ import org.eclipse.osee.framework.branch.management.commit.CommitDbOperation;
import org.eclipse.osee.framework.branch.management.creation.CreateBranchOperation;
import org.eclipse.osee.framework.branch.management.purge.BranchOperation;
import org.eclipse.osee.framework.branch.management.purge.IBranchOperationFactory;
+import org.eclipse.osee.framework.branch.management.purge.IBranchesProvider;
import org.eclipse.osee.framework.branch.management.purge.PurgeBranchOperationFactory;
+import org.eclipse.osee.framework.branch.management.purge.RecursiveBranchProvider;
+import org.eclipse.osee.framework.branch.management.purge.SingleBranchProvider;
import org.eclipse.osee.framework.core.enums.BranchArchivedState;
import org.eclipse.osee.framework.core.enums.BranchState;
import org.eclipse.osee.framework.core.enums.BranchType;
@@ -43,6 +46,7 @@ import org.eclipse.osee.framework.core.model.Branch;
import org.eclipse.osee.framework.core.model.TransactionDelta;
import org.eclipse.osee.framework.core.model.TransactionRecord;
import org.eclipse.osee.framework.core.model.cache.BranchCache;
+import org.eclipse.osee.framework.core.model.cache.BranchFilter;
import org.eclipse.osee.framework.core.model.cache.TransactionCache;
import org.eclipse.osee.framework.core.operation.AbstractOperation;
import org.eclipse.osee.framework.core.operation.CompositeOperation;
@@ -152,7 +156,14 @@ public class OseeBranchService implements IOseeBranchService {
IBranchOperationFactory factory =
new PurgeBranchOperationFactory(logger, branchCache, oseeDatabaseProvider.getOseeDatabaseService());
- return new BranchOperation(logger, factory, branch);
+ IBranchesProvider provider;
+ if (request.isRecursive()) {
+ provider = new RecursiveBranchProvider(branch, new BranchFilter());
+ } else {
+ provider = new SingleBranchProvider(branch);
+ }
+
+ return new BranchOperation(logger, factory, provider);
}
@Override
diff --git a/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/purge/PurgeBranchOperation.java b/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/purge/PurgeBranchOperation.java
index 3c0c79ddc19..e4bec2cce14 100644
--- a/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/purge/PurgeBranchOperation.java
+++ b/plugins/org.eclipse.osee.framework.branch.management/src/org/eclipse/osee/framework/branch/management/purge/PurgeBranchOperation.java
@@ -73,6 +73,10 @@ public class PurgeBranchOperation extends AbstractDbTxOperation {
this.connection = connection;
this.monitor = monitor;
+ if (branch.getStorageState() == StorageState.PURGED) {
+ return;
+ }
+
if (!branch.getAllChildBranches(false).isEmpty()) {
throw new OseeArgumentException("Unable to purge a branch containing children: branchGuid[%s] branchType[%s]",
branch.getGuid(), branch.getBranchType());

Back to the top