Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrbrooks2009-12-18 00:33:37 +0000
committerrbrooks2009-12-18 00:33:37 +0000
commitbf1e08e01210e6d1919aa485ab12796d83ec3ba0 (patch)
tree1c01faa6770d322b4f119525d5f8f3d74c856c81
parent442c740e4a700026105a13d223b91068d54f69b9 (diff)
downloadorg.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.tar.gz
org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.tar.xz
org.eclipse.osee-bf1e08e01210e6d1919aa485ab12796d83ec3ba0.zip
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/actions/ExportChangeReportsAction.java84
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/util/AtsBranchManager.java2
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/AtsWorldEditorItem.java6
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/commandHandlers/ViewWordChangeReportHandler.java29
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);
}

Back to the top