diff options
author | jmisinco | 2011-04-08 16:26:26 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2011-04-08 16:26:26 +0000 |
commit | 57a38c0cb2afaaf6f0defb30599ccb2e9106234f (patch) | |
tree | ccf05a32626944f9cf02b116d22e87eb13760388 /plugins/org.eclipse.osee.framework.server.admin | |
parent | 22d8d7ca6eb8fa01acca19461d1c48bbc8250e60 (diff) | |
download | org.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')
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 |