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 | |
parent | 442c740e4a700026105a13d223b91068d54f69b9 (diff) | |
download | org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.tar.gz org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.tar.xz org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.zip |
4 files changed, 106 insertions, 15 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));
}
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ViewWordChangeReportHandler.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ViewWordChangeReportHandler.java index b7fed92e7b4..2e0db358e10 100644 --- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ViewWordChangeReportHandler.java +++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ViewWordChangeReportHandler.java @@ -11,6 +11,7 @@ package org.eclipse.osee.framework.ui.skynet.commandHandlers;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@@ -44,6 +45,11 @@ public class ViewWordChangeReportHandler extends AbstractHandler { @Override
public Object execute(ExecutionEvent event) {
+ viewWordChangeReport(changes);
+ return null;
+ }
+
+ public void viewWordChangeReport(Collection<Change> changes) {
ArrayList<Artifact> baseArtifacts = new ArrayList<Artifact>(changes.size());
ArrayList<Artifact> newerArtifacts = new ArrayList<Artifact>(changes.size());
VariableMap variableMap = new VariableMap();
@@ -52,12 +58,12 @@ public class ViewWordChangeReportHandler extends AbstractHandler { for (Change artifactChange : changes) {
try {
Artifact baseArtifact =
- (artifactChange.getModificationType() == ModificationType.NEW || artifactChange.getModificationType() == ModificationType.INTRODUCED) ? null : ArtifactQuery.getHistoricalArtifactFromId(
+ artifactChange.getModificationType() == ModificationType.NEW || artifactChange.getModificationType() == ModificationType.INTRODUCED ? null : ArtifactQuery.getHistoricalArtifactFromId(
artifactChange.getArtifact().getArtId(), artifactChange.getFromTransactionId(), true);
Artifact newerArtifact =
- (artifactChange.getModificationType().isDeleted() )? null : (artifactChange.isHistorical() ? ArtifactQuery.getHistoricalArtifactFromId(
- artifactChange.getArtifact().getArtId(), artifactChange.getToTransactionId(), true) : artifactChange.getArtifact());
+ artifactChange.getModificationType().isDeleted() ? null : artifactChange.isHistorical() ? ArtifactQuery.getHistoricalArtifactFromId(
+ artifactChange.getArtifact().getArtId(), artifactChange.getToTransactionId(), true) : artifactChange.getArtifact();
baseArtifacts.add(baseArtifact);
newerArtifacts.add(newerArtifact);
@@ -69,15 +75,15 @@ public class ViewWordChangeReportHandler extends AbstractHandler { fileName =
baseArtifact != null ? baseArtifact.getBranch().getShortName() : newerArtifact.getBranch().getShortName();
}
- variableMap.setValue("fileName", fileName + "_" + (new Date()).toString().replaceAll(":", ";") + ".xml");
+ variableMap.setValue("fileName", fileName + "_" + new Date().toString().replaceAll(":", ";") + ".xml");
}
- } catch (OseeCoreException ex1) {
- OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex1);
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
}
- if (newerArtifacts.size() == 0 || (baseArtifacts.size() != newerArtifacts.size())) {
+ if (newerArtifacts.size() == 0 || baseArtifacts.size() != newerArtifacts.size()) {
throw new IllegalArgumentException(
"base artifacts size: " + baseArtifacts.size() + " must match newer artifacts size: " + newerArtifacts.size() + ".");
}
@@ -93,10 +99,9 @@ public class ViewWordChangeReportHandler extends AbstractHandler { renderer.setOptions(variableMap);
renderer.compareArtifacts(baseArtifacts, newerArtifacts, new NullProgressMonitor(),
instanceOfArtifact.getBranch(), PresentationType.DIFF);
- } catch (OseeCoreException e) {
- OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, e);
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
- return null;
}
@Override
@@ -117,9 +122,9 @@ public class ViewWordChangeReportHandler extends AbstractHandler { List<Change> localChanges = Handlers.getArtifactChangesFromStructuredSelection(structuredSelection);
changes = new ArrayList<Change>(localChanges.size());
-
+
for (Change change : localChanges) {
- if(!artifacts.contains(change.getArtifact())){
+ if (!artifacts.contains(change.getArtifact())) {
artifacts.add(change.getArtifact());
changes.add(change);
}
|