diff options
author | rbrooks | 2009-12-18 00:33:37 +0000 |
---|---|---|
committer | rbrooks | 2009-12-18 00:33:37 +0000 |
commit | bf1e08e01210e6d1919aa485ab12796d83ec3ba0 (patch) | |
tree | 1c01faa6770d322b4f119525d5f8f3d74c856c81 /org.eclipse.osee.ats | |
parent | 442c740e4a700026105a13d223b91068d54f69b9 (diff) | |
download | org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.tar.gz org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.tar.xz org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.zip |
Diffstat (limited to 'org.eclipse.osee.ats')
3 files changed, 89 insertions, 3 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java new file mode 100644 index 00000000000..dc3baa8fcc2 --- /dev/null +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java @@ -0,0 +1,84 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 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.ats.actions; + +import java.util.Collection; +import java.util.Set; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osee.ats.AtsPlugin; +import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact; +import org.eclipse.osee.ats.util.AtsBranchManager; +import org.eclipse.osee.ats.world.WorldEditor; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.model.Branch; +import org.eclipse.osee.framework.core.model.TransactionRecord; +import org.eclipse.osee.framework.logging.OseeLevel; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.change.Change; +import org.eclipse.osee.framework.skynet.core.revision.ChangeManager; +import org.eclipse.osee.framework.ui.skynet.FrameworkImage; +import org.eclipse.osee.framework.ui.skynet.ImageManager; +import org.eclipse.osee.framework.ui.skynet.commandHandlers.ViewWordChangeReportHandler; + +/** + * @author Donald G. Dunne + */ +public class ExportChangeReportsAction extends Action { + private final WorldEditor worldEditor; + + public ExportChangeReportsAction(WorldEditor worldEditor) { + setText("Export Change Reports(s)"); + setImageDescriptor(getImageDescriptor()); + this.worldEditor = worldEditor; + } + + public Set<TeamWorkFlowArtifact> getWorkflows() { + return worldEditor.getWorldComposite().getXViewer().getSelectedTeamWorkflowArtifacts(); + } + + @Override + public void run() { + ViewWordChangeReportHandler handler = new ViewWordChangeReportHandler(); + try { + for (TeamWorkFlowArtifact teamArt : getWorkflows()) { + AtsBranchManager atsBranchMgr = teamArt.getSmaMgr().getBranchMgr(); + IProgressMonitor monitor = new NullProgressMonitor(); + Collection<Change> changes = null; + if (atsBranchMgr.isCommittedBranchExists()) { + TransactionRecord transaction = atsBranchMgr.getTransactionIdOrPopupChoose("Show Change Report", false); + changes = ChangeManager.getChangesPerTransaction(transaction, monitor); + } else { + Branch branch = atsBranchMgr.getWorkingBranch(); + if (branch != null) { + changes = ChangeManager.getChangesPerBranch(branch, monitor); + } + } + if (changes != null) { + handler.viewWordChangeReport(changes); + } + } + } catch (OseeCoreException ex) { + OseeLog.log(AtsPlugin.class, OseeLevel.SEVERE_POPUP, ex); + } + } + + @Override + public ImageDescriptor getImageDescriptor() { + return ImageManager.getImageDescriptor(FrameworkImage.EXPORT_DATA); + } + + public void updateEnablement() { + setEnabled(getWorkflows().size() > 0); + } +} diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchManager.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchManager.java index c005378f669..20f015a5537 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchManager.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchManager.java @@ -306,7 +306,7 @@ public class AtsBranchManager { * @return
* @throws OseeCoreException
*/
- private TransactionRecord getTransactionIdOrPopupChoose(String title, boolean showMergeManager) throws OseeCoreException {
+ public TransactionRecord getTransactionIdOrPopupChoose(String title, boolean showMergeManager) throws OseeCoreException {
Collection<TransactionRecord> transactionIds = new HashSet<TransactionRecord>();
for (TransactionRecord id : getTransactionIds(showMergeManager)) {
// ignore working branches that have been committed
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java index 9dbdd6331f1..25c037f617a 100644 --- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java +++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java @@ -14,6 +14,7 @@ import java.util.Arrays; import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.osee.ats.actions.DuplicateWorkflowViaWorldEditorAction;
+import org.eclipse.osee.ats.actions.ExportChangeReportsAction;
import org.eclipse.osee.ats.export.AtsExportManager;
import org.eclipse.osee.ats.operation.CancelMultipleWorkflows;
import org.eclipse.osee.ats.operation.CompleteMultipleWorkflows;
@@ -26,7 +27,8 @@ public class AtsWorldEditorItem extends AtsWorldEditorItemBase { @Override
public List<? extends Action> getWorldEditorMenuActions(IWorldEditorProvider worldEditorProvider, WorldEditor worldEditor) throws OseeCoreException {
- return Arrays.asList(new AtsExportManager(worldEditor), new DuplicateWorkflowViaWorldEditorAction(worldEditor),
- new CompleteMultipleWorkflows(worldEditor), new CancelMultipleWorkflows(worldEditor));
+ return Arrays.asList(new AtsExportManager(worldEditor), new ExportChangeReportsAction(worldEditor),
+ new DuplicateWorkflowViaWorldEditorAction(worldEditor), new CompleteMultipleWorkflows(worldEditor),
+ new CancelMultipleWorkflows(worldEditor));
}
}
|