diff options
author | Roberto E. Escobar | 2011-11-23 21:30:26 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2011-11-23 21:30:26 +0000 |
commit | 1d1f639fa337d909a80db61da117134985c2a45d (patch) | |
tree | f07ba63ce8d2eb06d27498557d342410180aac14 | |
parent | 65ad008cecf0acd44d691de39af349614057d308 (diff) | |
download | org.eclipse.osee-1d1f639fa337d909a80db61da117134985c2a45d.tar.gz org.eclipse.osee-1d1f639fa337d909a80db61da117134985c2a45d.tar.xz org.eclipse.osee-1d1f639fa337d909a80db61da117134985c2a45d.zip |
feature[ats_5FF7X]: Create metrics report
2 files changed, 59 insertions, 1 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/ExportMetricsOperation.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/ExportMetricsOperation.java new file mode 100644 index 00000000000..9003898459c --- /dev/null +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/ExportMetricsOperation.java @@ -0,0 +1,43 @@ +/* + * Created on Nov 23, 2011 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.ats.task; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.osee.ats.core.task.TaskArtifact; +import org.eclipse.osee.ats.internal.Activator; +import org.eclipse.osee.framework.core.operation.AbstractOperation; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; + +public class ExportMetricsOperation extends AbstractOperation { + + private final List<? extends Artifact> artifacts; + + public ExportMetricsOperation(List<? extends Artifact> artifacts) { + super("Export Metrics", Activator.PLUGIN_ID); + this.artifacts = artifacts; + } + + @Override + protected void doWork(IProgressMonitor monitor) throws Exception { + List<TaskArtifact> taskList = asTask(artifacts); + for (TaskArtifact task : taskList) { + System.out.println(task.getName()); + } + } + + private List<TaskArtifact> asTask(List<? extends Artifact> artifacts) { + List<TaskArtifact> tasks = new ArrayList<TaskArtifact>(); + for (Artifact artifact : artifacts) { + if (artifact instanceof TaskArtifact) { + tasks.add((TaskArtifact) artifact); + } + } + return tasks; + } + +} diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskEditorXWidgetActionPage.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskEditorXWidgetActionPage.java index d04bffbeb1d..1da563ad333 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskEditorXWidgetActionPage.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/task/TaskEditorXWidgetActionPage.java @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.osee.ats.task; +import java.util.List; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.ActionContributionItem; import org.eclipse.jface.action.IAction; @@ -32,9 +33,11 @@ import org.eclipse.osee.ats.world.AtsXWidgetActionFormPage; import org.eclipse.osee.ats.world.WorldAssigneeFilter; import org.eclipse.osee.ats.world.WorldCompletedFilter; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.operation.Operations; import org.eclipse.osee.framework.core.util.Result; import org.eclipse.osee.framework.logging.OseeLevel; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.ui.plugin.OseeUiActivator; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; import org.eclipse.osee.framework.ui.plugin.util.HelpUtil; @@ -64,7 +67,7 @@ public class TaskEditorXWidgetActionPage extends AtsXWidgetActionFormPage { private TaskComposite taskComposite; private final WorldCompletedFilter worldCompletedFilter = new WorldCompletedFilter(); private WorldAssigneeFilter worldAssigneeFilter = null; - private Action filterCompletedAction, filterMyAssigneeAction, selectionMetricsAction; + private Action filterCompletedAction, filterMyAssigneeAction, selectionMetricsAction, exportMetricsReportAction; public TaskEditorXWidgetActionPage(TaskEditor taskEditor) { super(taskEditor, "org.eclipse.osee.ats.actionPage", "Actions"); @@ -176,6 +179,7 @@ public class TaskEditorXWidgetActionPage extends AtsXWidgetActionFormPage { addActionToMenu(fMenu, filterCompletedAction); addActionToMenu(fMenu, filterMyAssigneeAction); new MenuItem(fMenu, SWT.SEPARATOR); + addActionToMenu(fMenu, exportMetricsReportAction); addActionToMenu(fMenu, new AtsExportManager(taskComposite.getTaskXViewer())); try { if (taskComposite.getIXTaskViewer().isTasksEditable()) { @@ -360,6 +364,17 @@ public class TaskEditorXWidgetActionPage extends AtsXWidgetActionFormPage { }; filterMyAssigneeAction.setToolTipText("Filter My Assignee - Ctrl-G"); filterMyAssigneeAction.setImageDescriptor(ImageManager.getImageDescriptor(FrameworkImage.USER)); + + exportMetricsReportAction = new Action("Export Metrics Report", IAction.AS_PUSH_BUTTON) { + + @Override + public void run() { + List<? extends Artifact> selected = taskComposite.getSelectedArtifacts(); + Operations.executeAsJob(new ExportMetricsOperation(selected), true); + } + }; + exportMetricsReportAction.setImageDescriptor(ImageManager.getImageDescriptor(FrameworkImage.EXPORT_DATA)); + } @Override |