Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-09-15 16:44:27 +0000
committerRyan D. Brooks2010-09-15 16:44:27 +0000
commit9007dc0e7e40acfbffd217731459e4b116dfe9bb (patch)
treee5a1bd01534fbdc0890fca37234f3f0719adeccb /plugins/org.eclipse.osee.coverage/src
parentbe49dd29714e7efda6d1b07ec7c5f86379b9da8f (diff)
downloadorg.eclipse.osee-9007dc0e7e40acfbffd217731459e4b116dfe9bb.tar.gz
org.eclipse.osee-9007dc0e7e40acfbffd217731459e4b116dfe9bb.tar.xz
org.eclipse.osee-9007dc0e7e40acfbffd217731459e4b116dfe9bb.zip
feature[ats_UYPM6]: Partial - coverage tool needs ability to link ATS to coverage methods
Diffstat (limited to 'plugins/org.eclipse.osee.coverage/src')
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/CreateWorkProductTaskAction.java46
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenMultipleWorkProductsAction.java64
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/RemoveRelatedWorkProductAction.java71
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java4
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorWorkProductTab.java255
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageLabelProvider.java3
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewer.java18
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewerFactory.java6
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItem.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItemGroup.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageItem.java22
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageTestUnit.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageUnit.java17
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ICoverage.java2
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/MessageCoverageItem.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageArtifactTypes.java1
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageRelationTypes.java37
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/TeamWorkflowLabelProvider.java55
20 files changed, 628 insertions, 3 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/CreateWorkProductTaskAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/CreateWorkProductTaskAction.java
new file mode 100644
index 00000000000..aef92dde67f
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/CreateWorkProductTaskAction.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.coverage.action;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+import org.eclipse.osee.framework.ui.skynet.cm.IOseeCmService;
+import org.eclipse.osee.framework.ui.swt.ImageManager;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CreateWorkProductTaskAction extends Action {
+
+ private final ISelectedCoverageEditorItem selectedCoverageEditorItem;
+
+ public CreateWorkProductTaskAction(ISelectedCoverageEditorItem selectedCoverageEditorItem) {
+ super("Create Work Product Task");
+ this.selectedCoverageEditorItem = selectedCoverageEditorItem;
+ }
+
+ @Override
+ public ImageDescriptor getImageDescriptor() {
+ return ImageManager.getImageDescriptor(FrameworkImage.REPORT);
+ }
+
+ @Override
+ public void run() {
+ if (selectedCoverageEditorItem.getSelectedCoverageEditorItems().isEmpty()) {
+ AWorkbench.popup("Select Coverage Item");
+ return;
+ }
+ IOseeCmService service = SkynetGuiPlugin.getInstance().getOseeCmService();
+ }
+}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenMultipleWorkProductsAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenMultipleWorkProductsAction.java
new file mode 100644
index 00000000000..7d3e2cf5402
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenMultipleWorkProductsAction.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.coverage.action;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.osee.coverage.editor.CoverageEditor;
+import org.eclipse.osee.coverage.editor.CoverageEditorWorkProductTab;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+import org.eclipse.osee.framework.ui.skynet.cm.IOseeCmService;
+import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor;
+import org.eclipse.osee.framework.ui.swt.ImageManager;
+import org.eclipse.osee.framework.ui.swt.KeyedImage;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class OpenMultipleWorkProductsAction extends Action {
+
+ private KeyedImage image = null;
+ private final CoverageEditor coverageEditor;
+ private final CoverageEditorWorkProductTab coverageEditorWorkProductTab;
+
+ public OpenMultipleWorkProductsAction(CoverageEditor coverageEditor, CoverageEditorWorkProductTab coverageEditorWorkProductTab) {
+ super("Create Work Product Task");
+ this.coverageEditor = coverageEditor;
+ this.coverageEditorWorkProductTab = coverageEditorWorkProductTab;
+ }
+
+ @Override
+ public ImageDescriptor getImageDescriptor() {
+ if (image == null) {
+ IOseeCmService service = SkynetGuiPlugin.getInstance().getOseeCmService();
+ if (service != null) {
+ image = service.getOpenImage(OseeCmEditor.CmMultiPcrEditor);
+ }
+ }
+ if (image == null) {
+ return ImageManager.getImageDescriptor(FrameworkImage.REPORT);
+ }
+ return ImageManager.getImageDescriptor(image);
+ }
+
+ @Override
+ public void run() {
+ if (coverageEditorWorkProductTab.getWorkProductArtifacts().isEmpty()) {
+ AWorkbench.popup("No Work Products to open");
+ return;
+ }
+ IOseeCmService service = SkynetGuiPlugin.getInstance().getOseeCmService();
+ service.openArtifacts(coverageEditor.getTitle() + " - Work Products",
+ coverageEditorWorkProductTab.getWorkProductArtifacts(), OseeCmEditor.CmMultiPcrEditor);
+ }
+}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/RemoveRelatedWorkProductAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/RemoveRelatedWorkProductAction.java
new file mode 100644
index 00000000000..98e2549c3df
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/RemoveRelatedWorkProductAction.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.coverage.action;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.osee.coverage.editor.CoverageEditor;
+import org.eclipse.osee.coverage.internal.Activator;
+import org.eclipse.osee.coverage.model.CoveragePackage;
+import org.eclipse.osee.coverage.store.OseeCoveragePackageStore;
+import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+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.skynet.core.artifact.ISelectedArtifacts;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
+import org.eclipse.osee.framework.ui.swt.ImageManager;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class RemoveRelatedWorkProductAction extends Action {
+
+ private final ISelectedArtifacts selectedArtifacts;
+ private final CoverageEditor coverageEditor;
+
+ public RemoveRelatedWorkProductAction(CoverageEditor coverageEditor, ISelectedArtifacts selectedArtifacts, IRefreshable refreshable) {
+ super("Remove Related Work Product Action");
+ this.coverageEditor = coverageEditor;
+ this.selectedArtifacts = selectedArtifacts;
+ }
+
+ @Override
+ public ImageDescriptor getImageDescriptor() {
+ return ImageManager.getImageDescriptor(FrameworkImage.DELETE);
+ }
+
+ @Override
+ public void run() {
+ if (selectedArtifacts.getSelectedArtifacts().isEmpty()) {
+ AWorkbench.popup("Please select work product to remove");
+ return;
+ }
+ if (MessageDialog.openConfirm(Display.getCurrent().getActiveShell(), getText(),
+ "Remove selected work product actions?")) {
+ try {
+ CoveragePackage coveragePackage = (CoveragePackage) coverageEditor.getCoveragePackageBase();
+ OseeCoveragePackageStore store = OseeCoveragePackageStore.get(coveragePackage, coverageEditor.getBranch());
+ for (Artifact artifact : selectedArtifacts.getSelectedArtifacts()) {
+ store.getArtifact(false).deleteRelation(CoreRelationTypes.SupportingInfo_SupportingInfo, artifact);
+ }
+ store.getArtifact(false).persist("Un-Relate Coverage work product Actions");
+
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java
index f12ea57c530..9e5f73301a3 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java
@@ -62,6 +62,7 @@ public class CoverageEditor extends FormEditor implements IActionable {
private CoverageEditorCoverageTab coverageEditorCoverageTab = null;
private CoverageEditorOverviewTab coverageEditorOverviewTab = null;
private CoverageEditorLoadingTab coverageEditorLoadingTab = null;
+ private CoverageEditorWorkProductTab coverageEditorWorkProductTab = null;
@Override
protected void addPages() {
@@ -138,6 +139,9 @@ public class CoverageEditor extends FormEditor implements IActionable {
addFormPage(coverageEditorOverviewTab);
coverageEditorCoverageTab = new CoverageEditorCoverageTab("Coverage Items", this, getCoveragePackageBase());
addFormPage(coverageEditorCoverageTab);
+ coverageEditorWorkProductTab =
+ new CoverageEditorWorkProductTab("Work Product Tracking", this, getCoveragePackageBase());
+ addFormPage(coverageEditorWorkProductTab);
if (getCoveragePackageBase().isImportAllowed()) {
coverageEditorImportTab = new CoverageEditorImportTab(this);
addFormPage(coverageEditorImportTab);
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorWorkProductTab.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorWorkProductTab.java
new file mode 100644
index 00000000000..83331872e2f
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorWorkProductTab.java
@@ -0,0 +1,255 @@
+/*******************************************************************************
+ * 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
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.coverage.editor;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.logging.Level;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.osee.coverage.action.IRefreshable;
+import org.eclipse.osee.coverage.action.OpenMultipleWorkProductsAction;
+import org.eclipse.osee.coverage.action.RemoveRelatedWorkProductAction;
+import org.eclipse.osee.coverage.internal.Activator;
+import org.eclipse.osee.coverage.model.CoverageImport;
+import org.eclipse.osee.coverage.model.CoveragePackage;
+import org.eclipse.osee.coverage.model.CoveragePackageBase;
+import org.eclipse.osee.coverage.model.ICoverage;
+import org.eclipse.osee.coverage.store.CoverageArtifactTypes;
+import org.eclipse.osee.coverage.store.OseeCoveragePackageStore;
+import org.eclipse.osee.coverage.util.CoverageUtil;
+import org.eclipse.osee.coverage.util.ISaveable;
+import org.eclipse.osee.coverage.util.TeamWorkflowLabelProvider;
+import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.jdk.core.util.DateUtil;
+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.skynet.core.artifact.ISelectedArtifacts;
+import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
+import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.plugin.util.Result;
+import org.eclipse.osee.framework.ui.skynet.ArtifactContentProvider;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+import org.eclipse.osee.framework.ui.skynet.artifact.editor.ArtifactEditor;
+import org.eclipse.osee.framework.ui.skynet.cm.IOseeCmService;
+import org.eclipse.osee.framework.ui.skynet.cm.OseeCmEditor;
+import org.eclipse.osee.framework.ui.skynet.util.SkynetDragAndDrop;
+import org.eclipse.osee.framework.ui.skynet.widgets.XListViewer;
+import org.eclipse.osee.framework.ui.swt.ImageManager;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.editor.FormPage;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoverageEditorWorkProductTab extends FormPage implements ISaveable, ISelectedArtifacts, IRefreshable {
+
+ private ScrolledForm scrolledForm;
+ private final CoveragePackageBase coveragePackageBase;
+ private final CoverageEditor coverageEditor;
+ private XListViewer actionListViewer;
+
+ public CoverageEditorWorkProductTab(String name, CoverageEditor coverageEditor, CoveragePackageBase provider) {
+ super(coverageEditor, name, name);
+ this.coverageEditor = coverageEditor;
+ this.coveragePackageBase = provider;
+ }
+
+ @Override
+ protected void createFormContent(IManagedForm managedForm) {
+ super.createFormContent(managedForm);
+
+ scrolledForm = managedForm.getForm();
+ scrolledForm.setText(coveragePackageBase.getName() + " - " + DateUtil.getMMDDYYHHMM(coveragePackageBase.getDate()) + " - " + coveragePackageBase.getCoverageItems().size() + " Coverage Items");
+ scrolledForm.setImage(ImageManager.getImage(CoverageUtil.getCoveragePackageBaseImage(coveragePackageBase)));
+ scrolledForm.getBody().setLayout(new GridLayout(2, false));
+ Composite mainComp = scrolledForm.getBody();
+ coverageEditor.getToolkit().adapt(mainComp);
+ mainComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+ createActionListViewer(mainComp);
+ addDoubleClickSupport();
+ addDropSupportToListViewer();
+
+ createToolbar();
+ refresh();
+ }
+
+ private void addDoubleClickSupport() {
+ actionListViewer.getTable().addListener(SWT.MouseDoubleClick, new Listener() {
+
+ @Override
+ public void handleEvent(Event event) {
+ IOseeCmService cmService = SkynetGuiPlugin.getInstance().getOseeCmService();
+ cmService.openArtifact(getSelectedArtifactItems().iterator().next(), OseeCmEditor.CmPcrEditor);
+ }
+ });
+ }
+
+ public ArrayList<Artifact> getSelectedArtifactItems() {
+ ArrayList<Artifact> arts = new ArrayList<Artifact>();
+ TableItem items[] = actionListViewer.getTable().getSelection();
+ if (items.length > 0) {
+ for (TableItem item : items) {
+ arts.add((Artifact) item.getData());
+ }
+ }
+ return arts;
+ }
+
+ private void addDropSupportToListViewer() {
+ new SkynetDragAndDrop(null, actionListViewer.getTable(), ArtifactEditor.EDITOR_ID) {
+ @Override
+ public void performArtifactDrop(Artifact[] dropArtifacts) {
+ super.performArtifactDrop(dropArtifacts);
+ System.out.println("Dropped " + dropArtifacts);
+ for (Artifact artifact : dropArtifacts) {
+ if (!artifact.isOfType(CoverageArtifactTypes.TeamWorkflow)) {
+ AWorkbench.popup("Related artifact must be a Team Workflow");
+ return;
+ }
+ }
+ try {
+ if (!(coveragePackageBase instanceof CoveragePackage)) {
+ AWorkbench.popup("Must be coverage package");
+ return;
+ }
+ if (coverageEditor.getBranch() == null) {
+ AWorkbench.popup("Coverage Package must have imports before work package applied");
+ return;
+ }
+ CoveragePackage coveragePackage = (CoveragePackage) coveragePackageBase;
+ OseeCoveragePackageStore store =
+ OseeCoveragePackageStore.get(coveragePackage, coverageEditor.getBranch());
+ for (Artifact artifact : dropArtifacts) {
+ store.getArtifact(false).addRelation(CoreRelationTypes.SupportingInfo_SupportingInfo, artifact);
+ }
+ store.getArtifact(false).persist("Relate Coverage work product Actions");
+
+ refresh();
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+
+ @Override
+ public Artifact[] getArtifacts() throws Exception {
+ return new Artifact[] {};
+ }
+ };
+ }
+
+ public Collection<Artifact> getWorkProductArtifacts() {
+ try {
+ CoveragePackage coveragePackage = (CoveragePackage) coveragePackageBase;
+ OseeCoveragePackageStore store = OseeCoveragePackageStore.get(coveragePackage, coverageEditor.getBranch());
+ Artifact art = store.getArtifact(false);
+ if (art != null) {
+ return art.getRelatedArtifacts(CoreRelationTypes.SupportingInfo_SupportingInfo);
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ return Collections.emptyList();
+ }
+
+ private void refresh() {
+ actionListViewer.setInput(getWorkProductArtifacts());
+ }
+
+ private XListViewer createActionListViewer(Composite parent) {
+ actionListViewer = new XListViewer("Drag in Actions related to changing work products");
+ actionListViewer.setContentProvider(new ArtifactContentProvider());
+ actionListViewer.setLabelProvider(new TeamWorkflowLabelProvider());
+ actionListViewer.createWidgets(parent, 2);
+ coverageEditor.getToolkit().adapt(actionListViewer.getTable());
+ coverageEditor.getToolkit().adapt(actionListViewer.getLabelWidget(), true, true);
+ GridData tableData = new GridData(SWT.FILL, SWT.FILL, true, true);
+ tableData.horizontalSpan = 2;
+ actionListViewer.getTable().setLayoutData(tableData);
+ return actionListViewer;
+ }
+
+ public void createToolbar() {
+ IToolBarManager toolBarManager = scrolledForm.getToolBarManager();
+ toolBarManager.add(new OpenMultipleWorkProductsAction(coverageEditor, this));
+ toolBarManager.add(new RemoveRelatedWorkProductAction(coverageEditor, this, this));
+ CoverageEditor.addToToolBar(scrolledForm.getToolBarManager(), coverageEditor);
+ scrolledForm.updateToolBar();
+ }
+
+ @Override
+ public FormEditor getEditor() {
+ return super.getEditor();
+ }
+
+ @Override
+ public Result isEditable() {
+ return coveragePackageBase.isEditable();
+ }
+
+ @Override
+ public Result save() throws OseeCoreException {
+ return OseeCoveragePackageStore.get((CoveragePackage) coveragePackageBase, coverageEditor.getBranch()).save();
+ }
+
+ @Override
+ public Result save(Collection<ICoverage> coverages) throws OseeCoreException {
+ return OseeCoveragePackageStore.get((CoveragePackage) coveragePackageBase, coverageEditor.getBranch()).save(
+ coverages);
+ }
+
+ @Override
+ public Result saveImportRecord(SkynetTransaction transaction, CoverageImport coverageImport) {
+ return new Result(false, "Not valid for this tab.");
+ }
+
+ @Override
+ public Branch getBranch() throws OseeCoreException {
+ return coverageEditor.getBranch();
+ }
+
+ @Override
+ public Collection<Artifact> getSelectedArtifacts() {
+ return getSelectedArtifactItems();
+ }
+
+ @Override
+ public void refresh(Object element) {
+ refresh();
+ }
+
+ @Override
+ public void update(Object element) {
+ // do nothing
+ }
+
+ @Override
+ public void remove(Object element) {
+ // do nothing
+ }
+
+ public XListViewer getActionListViewer() {
+ return actionListViewer;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageLabelProvider.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageLabelProvider.java
index a91f07a7fc1..9f1f45e08fd 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageLabelProvider.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageLabelProvider.java
@@ -102,6 +102,9 @@ public class CoverageLabelProvider extends XViewerLabelProvider {
if (xCol.equals(CoverageXViewerFactory.Namespace)) {
return coverage.getNamespace();
}
+ if (xCol.equals(CoverageXViewerFactory.Work_Product_Task)) {
+ return coverage.getWorkProductTask();
+ }
if (xCol.equals(CoverageXViewerFactory.Guid)) {
return coverage.getGuid();
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewer.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewer.java
index d5c50121e3a..ac24caf5033 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewer.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewer.java
@@ -20,6 +20,7 @@ import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.nebula.widgets.xviewer.IXViewerFactory;
import org.eclipse.nebula.widgets.xviewer.XViewer;
import org.eclipse.nebula.widgets.xviewer.XViewerColumn;
+import org.eclipse.osee.coverage.action.CreateWorkProductTaskAction;
import org.eclipse.osee.coverage.action.DeleteCoverUnitAction;
import org.eclipse.osee.coverage.action.EditAssigneesAction;
import org.eclipse.osee.coverage.action.EditCoverageMethodAction;
@@ -55,7 +56,7 @@ public class CoverageXViewer extends XViewer implements ISelectedCoverageEditorI
protected final XCoverageViewer xCoverageViewer;
Action editRationaleAction, editMethodAction, viewSourceAction, editAssigneesAction, editCoverageStatusAction,
- deleteCoverUnitAction;
+ deleteCoverUnitAction, createWorkProductTaskAction;
public CoverageXViewer(Composite parent, int style, XCoverageViewer xCoverageViewer) {
this(parent, style, new CoverageXViewerFactory(), xCoverageViewer);
@@ -80,6 +81,7 @@ public class CoverageXViewer extends XViewer implements ISelectedCoverageEditorI
editCoverageStatusAction = new EditCoverageNotesAction(this, this, this);
editRationaleAction = new EditRationaleAction(this, this, this);
deleteCoverUnitAction = new DeleteCoverUnitAction(this, this, this);
+ createWorkProductTaskAction = new CreateWorkProductTaskAction(this);
}
}
@@ -123,6 +125,13 @@ public class CoverageXViewer extends XViewer implements ISelectedCoverageEditorI
return true;
}
+ private boolean isCreateWorkProductTaskActionEnabled() {
+ if (xCoverageViewer.getSelectedCoverageItems().isEmpty()) {
+ return false;
+ }
+ return true;
+ }
+
private boolean isEditMetricsEnabled() {
if (xCoverageViewer.getSelectedCoverageItems().isEmpty()) {
return false;
@@ -154,6 +163,13 @@ public class CoverageXViewer extends XViewer implements ISelectedCoverageEditorI
mm.insertBefore(MENU_GROUP_PRE, deleteCoverUnitAction);
editCoverageStatusAction.setEnabled(isDeleteCoverageUnitEnabled());
+ mm.insertBefore(MENU_GROUP_PRE, new Separator());
+
+ mm.insertBefore(MENU_GROUP_PRE, createWorkProductTaskAction);
+ createWorkProductTaskAction.setEnabled(isCreateWorkProductTaskActionEnabled());
+
+ mm.insertBefore(MENU_GROUP_PRE, new Separator());
+
}
mm.insertBefore(MENU_GROUP_PRE, viewSourceAction);
editMethodAction.setEnabled(isEditMethodEnabled());
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewerFactory.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewerFactory.java
index 1cb388dae90..94f7e8bf1fe 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewerFactory.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageXViewerFactory.java
@@ -36,6 +36,8 @@ public class CoverageXViewerFactory extends SkynetXViewerFactory {
SWT.LEFT, true, SortDataType.String, false, "");
public static XViewerColumn Coverage_Method = new XViewerColumn(NAMESPACE + ".coverateMethod", "Coverage Method",
100, SWT.LEFT, true, SortDataType.String, false, "");
+ public static XViewerColumn Work_Product_Task = new XViewerColumn(NAMESPACE + ".workProductTask",
+ "Work Product Task", 100, SWT.LEFT, false, SortDataType.String, false, "");
public static XViewerColumn Coverage_Rationale = new XViewerColumn(NAMESPACE + ".coverageRationale",
"Coverage Rationale", 100, SWT.LEFT, true, SortDataType.String, false, "");
public static XViewerColumn Coverage_Test_Units = new XViewerColumn(NAMESPACE + ".coverageTestUnits",
@@ -60,8 +62,8 @@ public class CoverageXViewerFactory extends SkynetXViewerFactory {
public void registerColumns() {
registerColumns(Name, Method_Number, Execution_Number, Namespace, Coverage_Percent, Coverage_Method,
- Coverage_Rationale, Coverage_Test_Units, Assignees_Col, Notes_Col, Parent_Coverage_Unit, Line_Number,
- Location, Full_Path, Guid);
+ Work_Product_Task, Coverage_Rationale, Coverage_Test_Units, Assignees_Col, Notes_Col, Parent_Coverage_Unit,
+ Line_Number, Location, Full_Path, Guid);
}
@Override
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItem.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItem.java
index 8f22bebb62f..512dee5f419 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItem.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItem.java
@@ -185,4 +185,9 @@ public class MergeItem extends MergeItemBase {
return "";
}
+ @Override
+ public String getWorkProductTask() {
+ return "";
+ }
+
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItemGroup.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItemGroup.java
index caf7426e52b..3b88eede600 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItemGroup.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeItemGroup.java
@@ -152,4 +152,9 @@ public class MergeItemGroup extends MergeItemBase {
public String getOrderNumber() {
return "";
}
+
+ @Override
+ public String getWorkProductTask() {
+ return "";
+ }
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java
index c5d4aea7319..1bcd956f197 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java
@@ -122,4 +122,9 @@ public class CoverageImport extends CoveragePackageBase {
public void setImportDirectory(String importDirectory) {
this.importDirectory = importDirectory;
}
+
+ @Override
+ public String getWorkProductTask() {
+ return "";
+ }
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageItem.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageItem.java
index f835a0be18f..a582a4e7cad 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageItem.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageItem.java
@@ -33,6 +33,8 @@ public class CoverageItem extends NamedIdentity implements ICoverage {
CoverageOption coverageMethod = CoverageOptionManager.Not_Covered;
String rationale;
String orderNumber;
+ String workProductGuid;
+
private final CoverageUnit coverageUnit;
private static String PROPERTY_STORE_ID = "coverage.item";
private ITestUnitProvider testUnitProvider;
@@ -280,6 +282,9 @@ public class CoverageItem extends NamedIdentity implements ICoverage {
if (Strings.isValid(getName())) {
store.put("name", getName());
}
+ if (Strings.isValid(getName())) {
+ store.put("name", getName());
+ }
String toReturn = null;
try {
toReturn = store.save();
@@ -292,4 +297,21 @@ public class CoverageItem extends NamedIdentity implements ICoverage {
public ITestUnitProvider getTestUnitProvider() {
return testUnitProvider;
}
+
+ @Override
+ public String getWorkProductTask() {
+ if (Strings.isValid(workProductGuid)) {
+ return workProductGuid;
+ }
+ return "";
+ }
+
+ public String getWorkProductGuid() {
+ return workProductGuid;
+ }
+
+ public void setWorkProductGuid(String workProductGuid) {
+ this.workProductGuid = workProductGuid;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java
index 162cece24df..f6d01ddacc3 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java
@@ -70,4 +70,9 @@ public class CoveragePackage extends CoveragePackageBase {
return getRunDate();
}
+ @Override
+ public String getWorkProductTask() {
+ return "";
+ }
+
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageTestUnit.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageTestUnit.java
index 742dee91e61..720a01adf1c 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageTestUnit.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageTestUnit.java
@@ -113,4 +113,9 @@ public class CoverageTestUnit extends NamedIdentity implements ICoverage {
public String getOrderNumber() {
return "";
}
+
+ @Override
+ public String getWorkProductTask() {
+ return "";
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageUnit.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageUnit.java
index 706fb9d8274..46723868bec 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageUnit.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageUnit.java
@@ -39,6 +39,7 @@ public class CoverageUnit extends NamedIdentity implements ICoverage, ICoverageU
final List<CoverageItem> coverageItems = new ArrayList<CoverageItem>();
String location;
String orderNumber = "";
+ String workProductGuid;
final List<CoverageUnit> coverageUnits = new ArrayList<CoverageUnit>();
ICoverage parent;
ICoverageUnitFileContentsProvider fileContentsProvider;
@@ -354,4 +355,20 @@ public class CoverageUnit extends NamedIdentity implements ICoverage, ICoverageU
return fileContentsProvider;
}
+ @Override
+ public String getWorkProductTask() {
+ if (Strings.isValid(workProductGuid)) {
+ return workProductGuid;
+ }
+ return "";
+ }
+
+ public String getWorkProductGuid() {
+ return workProductGuid;
+ }
+
+ public void setWorkProductGuid(String workProductGuid) {
+ this.workProductGuid = workProductGuid;
+ }
+
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ICoverage.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ICoverage.java
index b511774e2d1..36f381faac4 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ICoverage.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ICoverage.java
@@ -54,4 +54,6 @@ public interface ICoverage extends Named, Identity {
public String getOrderNumber();
+ public String getWorkProductTask();
+
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/MessageCoverageItem.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/MessageCoverageItem.java
index 00c97bffcfa..16e45d58627 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/MessageCoverageItem.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/MessageCoverageItem.java
@@ -105,4 +105,9 @@ public class MessageCoverageItem extends NamedIdentity implements ICoverage {
public String getOrderNumber() {
return "";
}
+
+ @Override
+ public String getWorkProductTask() {
+ return "";
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageArtifactTypes.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageArtifactTypes.java
index df3de999e94..8be2165234a 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageArtifactTypes.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageArtifactTypes.java
@@ -22,6 +22,7 @@ public final class CoverageArtifactTypes extends NamedIdentity implements IArtif
public static final IArtifactType CoveragePackage = new CoverageArtifactTypes("AARFcyA9zyD3uEK8akgA", "Coverage Package");
public static final IArtifactType CoverageUnit = new CoverageArtifactTypes("ALZS3MQdCCIUvEYlZeAA", "Coverage Unit");
public static final IArtifactType CoverageFolder = new CoverageArtifactTypes("ALZR_AbpJTTf6QQn2iAA", "Coverage Folder");
+ public static final IArtifactType TeamWorkflow = new CoverageArtifactTypes("AAMFDhSiF2OD+wiUqugA", "Team Workflow");
// @formatter:on
private CoverageArtifactTypes(String guid, String name) {
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageRelationTypes.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageRelationTypes.java
new file mode 100644
index 00000000000..2f143f7c533
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/CoverageRelationTypes.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * 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.coverage.store;
+
+import org.eclipse.osee.framework.core.data.NamedIdentity;
+import org.eclipse.osee.framework.core.enums.IRelationEnumeration;
+import org.eclipse.osee.framework.core.enums.RelationSide;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoverageRelationTypes extends NamedIdentity implements IRelationEnumeration {
+ private final RelationSide relationSide;
+
+ public static final CoverageRelationTypes TeamWorkflowTargetedForVersion_Version = new CoverageRelationTypes(
+ RelationSide.SIDE_B, "AAMFE99pzm4zSibDT9gA", "TeamWorkflowTargetedForVersion");
+ public static final CoverageRelationTypes TeamWorkflowTargetedForVersion_Workflow = new CoverageRelationTypes(
+ RelationSide.SIDE_A, "AAMFE99pzm4zSibDT9gA", "TeamWorkflowTargetedForVersion");
+
+ private CoverageRelationTypes(RelationSide relationSide, String guid, String name) {
+ super(guid, name);
+ this.relationSide = relationSide;
+ }
+
+ @Override
+ public RelationSide getSide() {
+ return relationSide;
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/TeamWorkflowLabelProvider.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/TeamWorkflowLabelProvider.java
new file mode 100644
index 00000000000..0b849eef586
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/TeamWorkflowLabelProvider.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * 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.coverage.util;
+
+import org.eclipse.osee.coverage.internal.Activator;
+import org.eclipse.osee.coverage.store.CoverageRelationTypes;
+import org.eclipse.osee.framework.core.exception.ArtifactDoesNotExist;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+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.skynet.ArtifactLabelProvider;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class TeamWorkflowLabelProvider extends ArtifactLabelProvider {
+
+ public TeamWorkflowLabelProvider() {
+ super();
+ }
+
+ @Override
+ public String getText(Object element) {
+ Artifact teamWf = (Artifact) element;
+ try {
+ Artifact version = getTargetedForVersion(teamWf);
+ if (version != null) {
+ return "[" + teamWf.getArtifactTypeName() + "][" + version.getName() + "] - " + teamWf.getName();
+ } else {
+ return "[" + teamWf.getArtifactTypeName() + "] - " + teamWf.getName();
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
+ return "Exception: " + ex.getLocalizedMessage();
+ }
+ }
+
+ private Artifact getTargetedForVersion(Artifact teamWf) throws OseeCoreException {
+ try {
+ return teamWf.getRelatedArtifact(CoverageRelationTypes.TeamWorkflowTargetedForVersion_Version);
+ } catch (ArtifactDoesNotExist ex) {
+ // do nothing;
+ }
+ return null;
+ }
+}

Back to the top