Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjmisinco2011-04-08 16:26:26 +0000
committerRyan D. Brooks2011-04-08 16:26:26 +0000
commit57a38c0cb2afaaf6f0defb30599ccb2e9106234f (patch)
treeccf05a32626944f9cf02b116d22e87eb13760388 /plugins/org.eclipse.osee.framework.server.admin
parent22d8d7ca6eb8fa01acca19461d1c48bbc8250e60 (diff)
downloadorg.eclipse.osee-57a38c0cb2afaaf6f0defb30599ccb2e9106234f.tar.gz
org.eclipse.osee-57a38c0cb2afaaf6f0defb30599ccb2e9106234f.tar.xz
org.eclipse.osee-57a38c0cb2afaaf6f0defb30599ccb2e9106234f.zip
refactor[bgz_342607]: Remove PurgeDeletedBranches and create generic BranchOperation
Diffstat (limited to 'plugins/org.eclipse.osee.framework.server.admin')
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java18
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java41
2 files changed, 49 insertions, 10 deletions
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
index 97b4d33736d..5984ed3f891 100644
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
+++ b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.framework.server.admin;
import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.server.admin.branch.BranchCommands;
import org.eclipse.osgi.framework.console.CommandInterpreter;
import org.eclipse.osgi.framework.console.CommandProvider;
@@ -54,16 +55,21 @@ public class BranchManagementCommandProvider implements CommandProvider {
return branchCmds.purgeDeletedBranches(ci);
}
+ public Job _purge_branch_recursive(CommandInterpreter ci) throws OseeCoreException {
+ return branchCmds.purgeBranchRecursive(ci);
+ }
+
@Override
public String getHelp() {
StringBuilder sb = new StringBuilder();
sb.append("\n---OSEE Branch Commands---\n");
- sb.append(" export_branch <exchangeFileName> [-compress] [-minTx <value>] [-maxTx <value>] [-exclude_baseline_txs] [-includeArchivedBranches] -excludeBranchIds [<branchId>]+ - export a specific set of branches into an exchange zip file.\n");
- sb.append(" export_branch_stop - stop branch export\n");
- sb.append(" import_branch <exchangeFileName> [-exclude_baseline_txs] [-allAsRootBranches] [-minTx <value>] [-maxTx <value>] [-clean] [<branchId>]+ - import a specific set of branches from an exchange zip file.\n");
- sb.append(" check_exchange <exchangeFileName> - checks an exchange file to ensure data integrity\n");
- sb.append(" check_exchange_stop - stop exchange integrity check\n");
- sb.append(" purge_deleted_branches - permenatly remove all branches that are both archived and deleted \n");
+ sb.append("\texport_branch <exchangeFileName> [-compress] [-minTx <value>] [-maxTx <value>] [-exclude_baseline_txs] [-includeArchivedBranches] -excludeBranchIds [<branchId>]+ - export a specific set of branches into an exchange zip file.\n");
+ sb.append("\texport_branch_stop - stop branch export\n");
+ sb.append("\timport_branch <exchangeFileName> [-exclude_baseline_txs] [-allAsRootBranches] [-minTx <value>] [-maxTx <value>] [-clean] [<branchId>]+ - import a specific set of branches from an exchange zip file.\n");
+ sb.append("\tcheck_exchange <exchangeFileName> - checks an exchange file to ensure data integrity\n");
+ sb.append("\tcheck_exchange_stop - stop exchange integrity check\n");
+ sb.append("\tpurge_deleted_branches - permenatly remove all branches that are both archived and deleted \n");
+ sb.append("\tpurge_branch_recursive <guid> - removes the branch defined by guid and all its children excluding baseline branches\n");
return sb.toString();
}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java
index 4874f8c489d..6506530bcb8 100644
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java
+++ b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java
@@ -11,11 +11,22 @@
package org.eclipse.osee.framework.server.admin.branch;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osee.framework.branch.management.purge.PurgeDeletedBranches;
+import org.eclipse.osee.framework.branch.management.purge.BranchOperation;
+import org.eclipse.osee.framework.branch.management.purge.DeletedBranchProvider;
+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.core.enums.BranchType;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.core.model.cache.BranchCache;
+import org.eclipse.osee.framework.core.model.cache.BranchFilter;
import org.eclipse.osee.framework.core.operation.CommandInterpreterLogger;
import org.eclipse.osee.framework.core.operation.IOperation;
import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.core.operation.Operations;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.server.admin.internal.Activator;
import org.eclipse.osgi.framework.console.CommandInterpreter;
@@ -122,8 +133,30 @@ public class BranchCommands {
public Job purgeDeletedBranches(CommandInterpreter ci) {
OperationLogger logger = new CommandInterpreterLogger(ci);
- IOperation operation =
- new PurgeDeletedBranches(logger, Activator.getOseeCachingService(), Activator.getOseeDatabaseService());
+ BranchCache branchCache = Activator.getOseeCachingService().getBranchCache();
+ IBranchesProvider provider = new DeletedBranchProvider(branchCache);
+
+ return internalPurgeBranch(logger, branchCache, provider);
+ }
+
+ public Job purgeBranchRecursive(CommandInterpreter ci) throws OseeCoreException {
+ OperationLogger logger = new CommandInterpreterLogger(ci);
+ String branchGuid = ci.nextArgument();
+ BranchCache branchCache = Activator.getOseeCachingService().getBranchCache();
+ Branch seed = branchCache.getByGuid(branchGuid);
+
+ BranchFilter filter = new BranchFilter();
+ filter.setNegatedBranchTypes(BranchType.BASELINE);
+
+ IBranchesProvider provider = new RecursiveBranchProvider(seed, filter);
+ return internalPurgeBranch(logger, branchCache, provider);
+ }
+
+ private Job internalPurgeBranch(OperationLogger logger, BranchCache branchCache, IBranchesProvider provider) {
+ IOseeDatabaseService databaseService = Activator.getOseeDatabaseService();
+ IBranchOperationFactory factory = new PurgeBranchOperationFactory(logger, branchCache, databaseService);
+
+ IOperation operation = new BranchOperation(logger, factory, provider);
return Operations.executeAsJob(operation, false);
}
-}
+} \ No newline at end of file

Back to the top