Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2009-10-03 22:27:01 +0000
committerddunne2009-10-03 22:27:01 +0000
commit2cf2d985dc2ff9b9fae1499b59715174022ee2ed (patch)
treed07c64b92c53ff31a83a7e9c8c41aaca18c78130
parentfbcbadb7f79a6453e30d7b14191a05f97fe6da99 (diff)
downloadorg.eclipse.osee-2cf2d985dc2ff9b9fae1499b59715174022ee2ed.tar.gz
org.eclipse.osee-2cf2d985dc2ff9b9fae1499b59715174022ee2ed.tar.xz
org.eclipse.osee-2cf2d985dc2ff9b9fae1499b59715174022ee2ed.zip
code coverage
-rw-r--r--org.eclipse.osee.coverage.test/fragment.xml6
-rw-r--r--org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/CoverageManagerTest.java4
-rw-r--r--org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1Blam.java68
-rw-r--r--org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1NavigateItem.java (renamed from org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageTestImporter1.java)14
-rw-r--r--org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/navigate/CoverageTestNavigateViews.java6
-rw-r--r--org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/package1/CoveragePackage1.java38
-rw-r--r--org.eclipse.osee.coverage/images/coverageImport.gifbin0 -> 181 bytes
-rw-r--r--org.eclipse.osee.coverage/images/coveragePackage.gifbin0 -> 357 bytes
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/CoverageManager.java16
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/blam/AbstractCoverageBlam.java14
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java6
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorCoverageTab.java14
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java213
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageEditorProvider.java2
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageTabProvider.java47
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/XCoverageViewer.java5
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java10
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java155
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateView.java5
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateViewItems.java9
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageImage.java2
-rw-r--r--org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF1
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/XWidgetParser.java2
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java14
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditor.java13
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamOverviewPage.java11
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BaseBlamSection.java17
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamInputSection.java12
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamOutputSection.java24
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamUsageSection.java9
30 files changed, 655 insertions, 82 deletions
diff --git a/org.eclipse.osee.coverage.test/fragment.xml b/org.eclipse.osee.coverage.test/fragment.xml
index a3498eaa289..af55cf057a5 100644
--- a/org.eclipse.osee.coverage.test/fragment.xml
+++ b/org.eclipse.osee.coverage.test/fragment.xml
@@ -7,5 +7,11 @@
classname="org.eclipse.osee.coverage.test.navigate.CoverageTestNavigateViews">
</ICoverageNavigateItem>
</extension>
+ <extension
+ point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
+ <Operation
+ className="org.eclipse.osee.coverage.test.import1.CoverageImportTest1Blam">
+ </Operation>
+ </extension>
</fragment>
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/CoverageManagerTest.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/CoverageManagerTest.java
index 7cfd21521c0..7a3aedb3e75 100644
--- a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/CoverageManagerTest.java
+++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/CoverageManagerTest.java
@@ -14,7 +14,7 @@ import static org.junit.Assert.fail;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import org.eclipse.osee.coverage.CoverageManager;
-import org.eclipse.osee.coverage.test.import1.CoverageTestImporter1;
+import org.eclipse.osee.coverage.test.import1.CoverageImportTest1NavigateItem;
import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.eclipse.osee.framework.logging.IHealthStatus;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -45,6 +45,6 @@ public class CoverageManagerTest {
@org.junit.Test
public void testImportCoverage() throws Exception {
- CoverageManager.importCoverage(new CoverageTestImporter1());
+ CoverageManager.importCoverage(new CoverageImportTest1NavigateItem());
}
}
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1Blam.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1Blam.java
new file mode 100644
index 00000000000..edae77bb0d5
--- /dev/null
+++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1Blam.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * 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.test.import1;
+
+import java.util.Arrays;
+import java.util.Collection;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.coverage.blam.AbstractCoverageBlam;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.ui.plugin.util.Displays;
+import org.eclipse.osee.framework.ui.skynet.XWidgetParser;
+import org.eclipse.osee.framework.ui.skynet.blam.VariableMap;
+import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
+import org.eclipse.osee.framework.ui.skynet.widgets.XWidget;
+import org.eclipse.osee.framework.ui.skynet.widgets.workflow.DynamicXWidgetLayout;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoverageImportTest1Blam extends AbstractCoverageBlam {
+
+ public static String COVERAGE_IMPORT_DIR = "Coverage Import Directory";
+
+ @Override
+ public String getName() {
+ return "Test Import 1";
+ }
+
+ @Override
+ public void widgetCreated(XWidget xWidget, FormToolkit toolkit, Artifact art, DynamicXWidgetLayout dynamicXWidgetLayout, XModifiedListener modListener, boolean isEditable) throws OseeCoreException {
+ super.widgetCreated(xWidget, toolkit, art, dynamicXWidgetLayout, modListener, isEditable);
+ }
+
+ @Override
+ public String getXWidgetsXml() {
+ return XWidgetParser.EMPTY_WIDGETS;
+ }
+
+ @Override
+ public String getDescriptionUsage() {
+ return "Import from test area.";
+ }
+
+ @Override
+ public void runOperation(final VariableMap variableMap, IProgressMonitor monitor) throws Exception {
+ Displays.ensureInDisplayThread(new Runnable() {
+ public void run() {
+ setCoverageImport(new CoverageImportTest1NavigateItem().run());
+ };
+ });
+ }
+
+ @Override
+ public Collection<String> getCategories() {
+ return Arrays.asList("ATS");
+ }
+
+} \ No newline at end of file
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageTestImporter1.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1NavigateItem.java
index 0b1927e67ea..5868f44d94a 100644
--- a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageTestImporter1.java
+++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/import1/CoverageImportTest1NavigateItem.java
@@ -26,25 +26,25 @@ import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateComposite
/**
* @author Donald G. Dunne
*/
-public class CoverageTestImporter1 extends XNavigateItemAction implements ICoverageImporter {
+public class CoverageImportTest1NavigateItem extends XNavigateItemAction implements ICoverageImporter {
public static String PATH = "../../../../../../../src/org/eclipse/osee/coverage/test/import1/";
- public CoverageTestImporter1() {
+ public CoverageImportTest1NavigateItem() {
super(null, "");
}
- public CoverageTestImporter1(XNavigateItem parent) {
- super(parent, "Coverage Test Importer1");
+ public CoverageImportTest1NavigateItem(XNavigateItem parent) {
+ super(parent, "Open Coverage Import 1");
}
@Override
public CoverageImport run() {
CoverageImport coverageImport = new CoverageImport();
try {
- URL url = CoverageTestImporter1.class.getResource(PATH + "NavigationButton1.java");
+ URL url = CoverageImportTest1NavigateItem.class.getResource(PATH + "NavigationButton1.java");
coverageImport.addCoverageUnit(SampleJavaFileParser.createCodeUnit(url));
- url = CoverageTestImporter1.class.getResource(PATH + "NavigationButton2.java");
+ url = CoverageImportTest1NavigateItem.class.getResource(PATH + "NavigationButton2.java");
coverageImport.addCoverageUnit(SampleJavaFileParser.createCodeUnit(url));
coverageImport.setLocation(PATH);
} catch (OseeCoreException ex) {
@@ -55,7 +55,7 @@ public class CoverageTestImporter1 extends XNavigateItemAction implements ICover
@Override
public void run(TableLoadOption... tableLoadOptions) throws Exception {
- CoverageManager.importCoverage(new CoverageTestImporter1());
+ CoverageManager.importCoverage(new CoverageImportTest1NavigateItem());
}
}
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/navigate/CoverageTestNavigateViews.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/navigate/CoverageTestNavigateViews.java
index 83252c560b9..26abf6fd635 100644
--- a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/navigate/CoverageTestNavigateViews.java
+++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/navigate/CoverageTestNavigateViews.java
@@ -14,7 +14,8 @@ import java.util.ArrayList;
import java.util.List;
import org.eclipse.osee.ats.AtsPlugin;
import org.eclipse.osee.coverage.navigate.ICoverageNavigateItem;
-import org.eclipse.osee.coverage.test.import1.CoverageTestImporter1;
+import org.eclipse.osee.coverage.test.import1.CoverageImportTest1NavigateItem;
+import org.eclipse.osee.coverage.test.package1.CoveragePackage1;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
@@ -35,7 +36,8 @@ public class CoverageTestNavigateViews implements ICoverageNavigateItem {
return items;
}
- items.add(new CoverageTestImporter1(null));
+ items.add(new CoverageImportTest1NavigateItem(null));
+ items.add(new CoveragePackage1(null));
return items;
}
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/package1/CoveragePackage1.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/package1/CoveragePackage1.java
new file mode 100644
index 00000000000..e6326527269
--- /dev/null
+++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/package1/CoveragePackage1.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * 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.test.package1;
+
+import org.eclipse.osee.coverage.editor.CoverageEditor;
+import org.eclipse.osee.coverage.editor.CoverageEditorInput;
+import org.eclipse.osee.coverage.model.CoveragePackage;
+import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
+import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemAction;
+import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateComposite.TableLoadOption;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoveragePackage1 extends XNavigateItemAction {
+
+ public CoveragePackage1() {
+ super(null, "");
+ }
+
+ public CoveragePackage1(XNavigateItem parent) {
+ super(parent, "Open Coverage Package 1");
+ }
+
+ @Override
+ public void run(TableLoadOption... tableLoadOptions) throws Exception {
+ CoveragePackage coveragePackage = new CoveragePackage();
+ CoverageEditor.open(new CoverageEditorInput(coveragePackage));
+ }
+}
diff --git a/org.eclipse.osee.coverage/images/coverageImport.gif b/org.eclipse.osee.coverage/images/coverageImport.gif
new file mode 100644
index 00000000000..62f72ae448b
--- /dev/null
+++ b/org.eclipse.osee.coverage/images/coverageImport.gif
Binary files differ
diff --git a/org.eclipse.osee.coverage/images/coveragePackage.gif b/org.eclipse.osee.coverage/images/coveragePackage.gif
new file mode 100644
index 00000000000..a24277ca348
--- /dev/null
+++ b/org.eclipse.osee.coverage/images/coveragePackage.gif
Binary files differ
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/CoverageManager.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/CoverageManager.java
index 8f41f0113bf..7b95113c42f 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/CoverageManager.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/CoverageManager.java
@@ -10,10 +10,16 @@
*******************************************************************************/
package org.eclipse.osee.coverage;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.osee.coverage.blam.AbstractCoverageBlam;
import org.eclipse.osee.coverage.editor.CoverageEditor;
import org.eclipse.osee.coverage.editor.CoverageEditorInput;
import org.eclipse.osee.coverage.model.CoverageImport;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
+import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager;
/**
* @author Donald G. Dunne
@@ -24,4 +30,14 @@ public class CoverageManager {
CoverageImport coverageImport = coverageImporter.run();
CoverageEditor.open(new CoverageEditorInput(coverageImport));
}
+
+ public static Collection<AbstractCoverageBlam> getCoverageBlams() {
+ List<AbstractCoverageBlam> blams = new ArrayList<AbstractCoverageBlam>();
+ for (AbstractBlam blam : BlamContributionManager.getBlamOperations()) {
+ if (blam instanceof AbstractCoverageBlam) {
+ blams.add((AbstractCoverageBlam) blam);
+ }
+ }
+ return blams;
+ }
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/blam/AbstractCoverageBlam.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/blam/AbstractCoverageBlam.java
index 1f9920707f5..86edf1a8289 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/blam/AbstractCoverageBlam.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/blam/AbstractCoverageBlam.java
@@ -5,14 +5,22 @@
*/
package org.eclipse.osee.coverage.blam;
-import java.util.Collection;
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.coverage.model.CoverageImport;
import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
-import org.eclipse.osee.framework.ui.skynet.blam.VariableMap;
/**
* @author Donald G. Dunne
*/
public abstract class AbstractCoverageBlam extends AbstractBlam {
+ CoverageImport coverageImport;
+
+ public CoverageImport getCoverageImport() {
+ return coverageImport;
+ }
+
+ public void setCoverageImport(CoverageImport coverageImport) {
+ this.coverageImport = coverageImport;
+ }
+
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java
index 91df818eae7..5eef727910c 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditor.java
@@ -48,7 +48,11 @@ public class CoverageEditor extends AbstractArtifactEditor implements IActionabl
try {
OseeContributionItem.addTo(this, true);
addFormPage(new CoverageEditorOverviewTab(this));
- addFormPage(new CoverageEditorCoverageTab(this));
+ addFormPage(new CoverageEditorCoverageTab("Coverage Items", this,
+ (ICoverageTabProvider) getCoverageEditorProvider()));
+ if (getCoverageEditorProvider().isImportAllowed()) {
+ addFormPage(new CoverageEditorImportTab(this));
+ }
setPartName(getCoverageEditorProvider().getName());
setTitleImage(ImageManager.getImage(getCoverageEditorProvider().getTitleImage()));
setActivePage(startPage);
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorCoverageTab.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorCoverageTab.java
index 9dff54f8dca..f7b564c3c41 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorCoverageTab.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorCoverageTab.java
@@ -53,14 +53,14 @@ public class CoverageEditorCoverageTab extends FormPage {
private WorkPage page;
private XCoverageViewer xCoverageViewer;
- private final CoverageEditor coverageEditor;
- private final ICoverageEditorProvider provider;
private ScrolledForm scrolledForm;
+ private final ICoverageTabProvider provider;
+ private final CoverageEditor coverageEditor;
- public CoverageEditorCoverageTab(CoverageEditor coverageEditor) {
- super(coverageEditor, "Coverage Items", "Coverage Items");
+ public CoverageEditorCoverageTab(String name, CoverageEditor coverageEditor, ICoverageTabProvider provider) {
+ super(coverageEditor, name, name);
this.coverageEditor = coverageEditor;
- this.provider = coverageEditor.getCoverageEditorProvider();
+ this.provider = provider;
}
@Override
@@ -110,7 +110,7 @@ public class CoverageEditorCoverageTab extends FormPage {
tableComp.setLayoutData(tableData);
coverageEditor.getToolkit().adapt(tableComp);
- xCoverageViewer = new XCoverageViewer(coverageEditor);
+ xCoverageViewer = new XCoverageViewer();
xCoverageViewer.setDisplayLabel(false);
xCoverageViewer.createWidgets(managedForm, tableComp, 1);
xCoverageViewer.getXViewer().getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
@@ -150,7 +150,7 @@ public class CoverageEditorCoverageTab extends FormPage {
Collection<CoverageMethodEnum> coverageMethods = getSelectedCoverageMethods();
User assignee = getSelectedUser();
boolean includeCompleted = isIncludeCompletedCancelledCheckbox();
- for (ICoverageEditorItem item : coverageEditor.getCoverageEditorProvider().getCoverageEditorItems()) {
+ for (ICoverageEditorItem item : provider.getCoverageEditorItems()) {
if (assignee != null && item.getUser().equals(assignee)) {
items.add(item);
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java
new file mode 100644
index 00000000000..c4dbf0e6706
--- /dev/null
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java
@@ -0,0 +1,213 @@
+/*
+ * Created on Feb 5, 2009
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.coverage.editor;
+
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.osee.coverage.CoverageManager;
+import org.eclipse.osee.coverage.blam.AbstractCoverageBlam;
+import org.eclipse.osee.coverage.model.CoverageImport;
+import org.eclipse.osee.framework.jdk.core.util.Collections;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.ui.plugin.util.ArrayTreeContentProvider;
+import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
+import org.eclipse.osee.framework.ui.skynet.ImageManager;
+import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
+import org.eclipse.osee.framework.ui.skynet.blam.sections.BlamInputSection;
+import org.eclipse.osee.framework.ui.skynet.blam.sections.BlamOutputSection;
+import org.eclipse.osee.framework.ui.skynet.blam.sections.BlamUsageSection;
+import org.eclipse.osee.framework.ui.skynet.widgets.XComboViewer;
+import org.eclipse.osee.framework.ui.swt.ALayout;
+import org.eclipse.osee.framework.ui.swt.Widgets;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+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;
+import org.eclipse.ui.forms.widgets.Section;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoverageEditorImportTab extends FormPage {
+
+ private final CoverageEditor coverageEditor;
+ private final ICoverageEditorProvider provider;
+ private XComboViewer combo;
+ private BlamUsageSection blamUsageSection;
+ private BlamInputSection blamInputSection;
+ private BlamOutputSection blamOutputSection;
+ private CoverageImport coverageImport;
+
+ public CoverageEditorImportTab(CoverageEditor coverageEditor) {
+ super(coverageEditor, "Import", "Import");
+ this.coverageEditor = coverageEditor;
+ this.provider = coverageEditor.getCoverageEditorProvider();
+ }
+
+ @Override
+ protected void createFormContent(IManagedForm managedForm) {
+ super.createFormContent(managedForm);
+
+ final ScrolledForm scrolledForm = managedForm.getForm();
+ scrolledForm.setText(provider.getName());
+ scrolledForm.setImage(ImageManager.getImage(provider.getTitleImage()));
+
+ scrolledForm.getBody().setLayout(ALayout.getZeroMarginLayout());
+ CoverageEditor.addToToolBar(scrolledForm.getToolBarManager(), coverageEditor);
+ Composite composite = scrolledForm.getBody();
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ layout.marginHeight = 10;
+ layout.marginWidth = 6;
+ layout.horizontalSpacing = 20;
+ scrolledForm.getBody().setLayout(layout);
+ scrolledForm.getBody().setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
+
+ managedForm.getMessageManager().setAutoUpdate(false);
+
+ combo = new XComboViewer("Select Import Blam");
+ combo.setLabelProvider(labelProvider);
+ combo.setContentProvider(new ArrayTreeContentProvider());
+ combo.createWidgets(managedForm, scrolledForm.getBody(), 1);
+ combo.setInput(Collections.castAll(CoverageManager.getCoverageBlams()));
+ combo.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ createBlamSections();
+ }
+ });
+ }
+
+ private AbstractCoverageBlam getBlam() {
+ if (combo.getSelected() != null) {
+ return (AbstractCoverageBlam) combo.getSelected();
+ }
+ return null;
+ }
+
+ private void createBlamSections() {
+ if (blamUsageSection != null) {
+ blamUsageSection.dispose();
+ blamInputSection.dispose();
+ blamOutputSection.dispose();
+ }
+ int sectionStyle = Section.TITLE_BAR | Section.EXPANDED | Section.TWISTIE;
+ blamUsageSection =
+ new BlamUsageSection(getEditor(), getBlam(), getManagedForm().getForm().getBody(),
+ getManagedForm().getToolkit(), sectionStyle);
+ blamInputSection =
+ new BlamInputSection(getEditor(), getBlam(), getManagedForm().getForm().getBody(),
+ getManagedForm().getToolkit(), sectionStyle);
+ blamOutputSection =
+ new BlamOutputSection(getEditor(), getBlam(), getManagedForm().getForm().getBody(),
+ getManagedForm().getToolkit(), sectionStyle, new ExecuteBlamAction());
+
+ getManagedForm().addPart(blamUsageSection);
+ getManagedForm().addPart(blamInputSection);
+ getManagedForm().addPart(blamOutputSection);
+ getManagedForm().reflow(true);
+ }
+
+ private final class BlamEditorExecutionAdapter extends JobChangeAdapter {
+ private long startTime = 0;
+
+ @Override
+ public void scheduled(IJobChangeEvent event) {
+ super.scheduled(event);
+ showBusy(true);
+ }
+
+ @Override
+ public void aboutToRun(IJobChangeEvent event) {
+ super.aboutToRun(event);
+ startTime = System.currentTimeMillis();
+ blamOutputSection.setText(String.format("Starting BLAM at [%s]\n", Lib.getElapseString(startTime)));
+ }
+
+ @Override
+ public void done(IJobChangeEvent event) {
+ super.done(event);
+ blamOutputSection.appendText(String.format("BLAM completed in [%s]\n", Lib.getElapseString(startTime)));
+ showBusy(false);
+ }
+ }
+
+ public final class ExecuteBlamAction extends Action {
+
+ public ExecuteBlamAction() {
+ super("Run BLAM in Job", Action.AS_PUSH_BUTTON);
+ setImageDescriptor(ImageManager.getImageDescriptor(FrameworkImage.RUN_EXC));
+ setToolTipText("Executes the BLAM Operation");
+ }
+
+ @Override
+ public void run() {
+ try {
+ getBlam().execute(getBlam().getName(), blamOutputSection.getOutput(), blamInputSection.getData(),
+ new BlamEditorExecutionAdapter());
+ coverageImport = getBlam().getCoverageImport();
+ } catch (Exception ex) {
+ OseeLog.log(getClass(), OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+ }
+
+ @Override
+ public void showBusy(boolean busy) {
+ super.showBusy(busy);
+ if (Widgets.isAccessible(getManagedForm().getForm())) {
+ getManagedForm().getForm().getForm().setBusy(busy);
+ }
+ }
+
+ @Override
+ public FormEditor getEditor() {
+ return super.getEditor();
+ }
+
+ static ILabelProvider labelProvider = new ILabelProvider() {
+
+ public Image getImage(Object element) {
+ return null;
+ }
+
+ public String getText(Object element) {
+ if (element instanceof AbstractBlam) {
+ return ((AbstractBlam) element).getName();
+ }
+ return "Unknown";
+ }
+
+ public void addListener(ILabelProviderListener listener) {
+ }
+
+ public void dispose() {
+ }
+
+ public boolean isLabelProperty(Object element, String property) {
+ return false;
+ }
+
+ public void removeListener(ILabelProviderListener listener) {
+ }
+
+ };
+
+}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageEditorProvider.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageEditorProvider.java
index b597649e6f8..ea4a24d9192 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageEditorProvider.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageEditorProvider.java
@@ -44,4 +44,6 @@ public interface ICoverageEditorProvider {
public void getOverviewHtmlHeader(XResultData xResultData);
+ public boolean isImportAllowed();
+
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageTabProvider.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageTabProvider.java
new file mode 100644
index 00000000000..f48a540a3a0
--- /dev/null
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/ICoverageTabProvider.java
@@ -0,0 +1,47 @@
+/*
+ * Created on Sep 28, 2009
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.coverage.editor;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import org.eclipse.osee.coverage.model.CoverageItem;
+import org.eclipse.osee.coverage.model.CoverageMethodEnum;
+import org.eclipse.osee.coverage.model.CoverageUnit;
+import org.eclipse.osee.coverage.model.TestUnit;
+import org.eclipse.osee.framework.ui.skynet.OseeImage;
+import org.eclipse.osee.framework.ui.skynet.results.XResultData;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface ICoverageTabProvider {
+
+ public String getName();
+
+ public Collection<? extends ICoverageEditorItem> getCoverageEditorItems();
+
+ public OseeImage getTitleImage();
+
+ public List<TestUnit> getTestUnits();
+
+ public List<CoverageUnit> getCoverageUnits();
+
+ public List<CoverageItem> getCoverageItems();
+
+ public int getPercentCoverage();
+
+ public List<CoverageItem> getCoverageItemsCovered();
+
+ public List<CoverageItem> getCoverageItemsCovered(CoverageMethodEnum... coverageMethodEnum);
+
+ public Date getRunDate();
+
+ public XResultData getLog();
+
+ public void getOverviewHtmlHeader(XResultData xResultData);
+
+}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/XCoverageViewer.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/XCoverageViewer.java
index e29f845ca15..aedc56f32fd 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/XCoverageViewer.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/XCoverageViewer.java
@@ -17,7 +17,6 @@ import java.util.Iterator;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osee.coverage.editor.CoverageEditor;
import org.eclipse.osee.coverage.editor.ICoverageEditorItem;
import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.logging.OseeLevel;
@@ -45,11 +44,9 @@ public class XCoverageViewer extends XWidget {
public final static String normalColor = "#EEEEEE";
private Label extraInfoLabel;
private Tree tree;
- private final CoverageEditor coverageEditor;
- public XCoverageViewer(CoverageEditor coverageEditor) {
+ public XCoverageViewer() {
super("Coverage Items");
- this.coverageEditor = coverageEditor;
}
@Override
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java
index e4f22e9df81..dad5d278633 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java
@@ -16,6 +16,7 @@ import java.util.Date;
import java.util.List;
import org.eclipse.osee.coverage.editor.ICoverageEditorItem;
import org.eclipse.osee.coverage.editor.ICoverageEditorProvider;
+import org.eclipse.osee.coverage.editor.ICoverageTabProvider;
import org.eclipse.osee.coverage.util.CoverageImage;
import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.jdk.core.util.Collections;
@@ -29,7 +30,7 @@ import org.eclipse.osee.framework.ui.skynet.widgets.XDate;
*
* @author Donald G. Dunne
*/
-public class CoverageImport implements ICoverageEditorProvider {
+public class CoverageImport implements ICoverageEditorProvider, ICoverageTabProvider {
private final String guid = GUID.create();
private final Date runDate;
@@ -121,7 +122,7 @@ public class CoverageImport implements ICoverageEditorProvider {
@Override
public OseeImage getTitleImage() {
- return CoverageImage.COVERAGE;
+ return CoverageImage.COVERAGE_IMPORT;
}
@Override
@@ -138,4 +139,9 @@ public class CoverageImport implements ICoverageEditorProvider {
public void setLocation(String location) {
this.location = location;
}
+
+ @Override
+ public boolean isImportAllowed() {
+ return false;
+ }
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java
new file mode 100644
index 00000000000..ed45504f7fd
--- /dev/null
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java
@@ -0,0 +1,155 @@
+/*******************************************************************************
+ * 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.model;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import org.eclipse.osee.coverage.editor.ICoverageEditorItem;
+import org.eclipse.osee.coverage.editor.ICoverageEditorProvider;
+import org.eclipse.osee.coverage.editor.ICoverageTabProvider;
+import org.eclipse.osee.coverage.util.CoverageImage;
+import org.eclipse.osee.framework.jdk.core.util.AHTML;
+import org.eclipse.osee.framework.jdk.core.util.Collections;
+import org.eclipse.osee.framework.jdk.core.util.GUID;
+import org.eclipse.osee.framework.ui.skynet.OseeImage;
+import org.eclipse.osee.framework.ui.skynet.results.XResultData;
+import org.eclipse.osee.framework.ui.skynet.widgets.XDate;
+
+/**
+ * Effort of coverage that includes multiple imports, reports, exports and metrics
+ *
+ * @author Donald G. Dunne
+ */
+public class CoveragePackage implements ICoverageEditorProvider, ICoverageTabProvider {
+
+ private final String guid = GUID.create();
+ private String name;
+ private final Date creationDate;
+ private final List<CoverageImport> coverageImports = new ArrayList<CoverageImport>();
+ private List<CoverageUnit> coverageUnits = new ArrayList<CoverageUnit>();
+ private final List<TestUnit> testUnits = new ArrayList<TestUnit>();
+ private final XResultData logResultData = new XResultData();
+
+ public CoveragePackage() {
+ this("Coverage Package", new Date());
+ }
+
+ public CoveragePackage(String name, Date runDate) {
+ super();
+ this.creationDate = runDate;
+ this.name = name;
+ }
+
+ public void addTestUnit(TestUnit testUnit) {
+ testUnits.add(testUnit);
+ }
+
+ public List<TestUnit> getTestUnits() {
+ return testUnits;
+ }
+
+ public void addCoverageUnit(CoverageUnit coverageUnit) {
+ coverageUnits.add(coverageUnit);
+ }
+
+ public List<CoverageUnit> getCoverageUnits() {
+ return coverageUnits;
+ }
+
+ public List<CoverageItem> getCoverageItems() {
+ List<CoverageItem> items = new ArrayList<CoverageItem>();
+ for (CoverageUnit coverageUnit : coverageUnits) {
+ items.addAll(coverageUnit.getCoverageItems(true));
+ }
+ return items;
+ }
+
+ public void addCoverageImport(CoverageImport CoverageImport) {
+ coverageImports.add(CoverageImport);
+ }
+
+ public List<CoverageImport> getCoverageImports() {
+ return coverageImports;
+ }
+
+ public int getPercentCoverage() {
+ if (getCoverageItems().size() == 0 || getCoverageItemsCovered().size() == 0) return 0;
+ Double percent = new Double(getCoverageItemsCovered().size());
+ percent = percent / getCoverageItems().size();
+ percent = percent * 100;
+ return percent.intValue();
+ }
+
+ public List<CoverageItem> getCoverageItemsCovered() {
+ return getCoverageItemsCovered(CoverageMethodEnum.None, CoverageMethodEnum.Unknown);
+ }
+
+ public List<CoverageItem> getCoverageItemsCovered(CoverageMethodEnum... coverageMethodEnum) {
+ List<CoverageMethodEnum> coverageMethods = Collections.getAggregate(coverageMethodEnum);
+ List<CoverageItem> items = new ArrayList<CoverageItem>();
+ for (CoverageItem coverageItem : getCoverageItems()) {
+ if (coverageMethods.contains(coverageItem.getCoverageMethod())) {
+ items.add(coverageItem);
+ }
+ }
+ return items;
+ }
+
+ public String getGuid() {
+ return guid;
+ }
+
+ public Date getRunDate() {
+ return creationDate;
+ }
+
+ public void setCoverageUnits(List<CoverageUnit> coverageUnits) {
+ this.coverageUnits = coverageUnits;
+ }
+
+ public String getName() {
+ return name + " - " + XDate.getDateStr(creationDate, XDate.MMDDYYHHMM) + " - " + getCoverageItems().size() + " Coverage Items";
+ }
+
+ public XResultData getLog() {
+ return logResultData;
+ }
+
+ @Override
+ public Collection<? extends ICoverageEditorItem> getCoverageEditorItems() {
+ return getCoverageUnits();
+ }
+
+ @Override
+ public OseeImage getTitleImage() {
+ return CoverageImage.COVERAGE_PACKAGE;
+ }
+
+ @Override
+ public void getOverviewHtmlHeader(XResultData xResultData) {
+ xResultData.log(AHTML.bold("Coverage Package " + getName()) + AHTML.newline());
+ xResultData.log(AHTML.getLabelValueStr("Creation Date", XDate.getDateStr(getRunDate(), XDate.MMDDYYHHMM)));
+
+ xResultData.log(AHTML.getLabelValueStr("Number of Coverage Imports", String.valueOf(coverageImports.size())));
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public boolean isImportAllowed() {
+ return true;
+ }
+
+}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateView.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateView.java
index f21b0ccace7..4f21b972ee6 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateView.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateView.java
@@ -44,9 +44,6 @@ public class CoverageNavigateView extends ViewPart implements IActionable {
public void setFocus() {
}
- /*
- * @see IWorkbenchPart#createPartControl(Composite)
- */
@Override
public void createPartControl(Composite parent) {
xNavComp = new XNavigateComposite(new CoverageNavigateViewItems(), parent, SWT.NONE);
@@ -81,7 +78,7 @@ public class CoverageNavigateView extends ViewPart implements IActionable {
public void removed(IExtensionPoint[] extensionPoints) {
refresh();
}
- }, "org.eclipse.osee.ote.ui.OteNavigateItem");
+ }, "org.eclipse.osee.coverage.CoverageNavigateItem");
}
protected void createActions() {
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateViewItems.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateViewItems.java
index 7ee3b549175..d9e5294d171 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateViewItems.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/navigate/CoverageNavigateViewItems.java
@@ -16,12 +16,11 @@ import java.util.List;
import java.util.logging.Level;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.osee.coverage.CoverageManager;
import org.eclipse.osee.coverage.blam.AbstractCoverageBlam;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.plugin.core.util.ExtensionPoints;
-import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
-import org.eclipse.osee.framework.ui.skynet.blam.BlamContributionManager;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemBlam;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateViewItems;
@@ -57,10 +56,8 @@ public class CoverageNavigateViewItems extends XNavigateViewItems {
}
}
- for (AbstractBlam blam : BlamContributionManager.getBlamOperations()) {
- if (blam instanceof AbstractCoverageBlam) {
- items.add(new XNavigateItemBlam(null, blam));
- }
+ for (AbstractCoverageBlam blam : CoverageManager.getCoverageBlams()) {
+ items.add(new XNavigateItemBlam(null, blam));
}
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageImage.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageImage.java
index 063fdd9ddd9..34290bc1df7 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageImage.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageImage.java
@@ -20,6 +20,8 @@ import org.eclipse.osee.framework.ui.skynet.OseeImage;
*/
public enum CoverageImage implements OseeImage {
COVERAGE("coverage.gif"),
+ COVERAGE_IMPORT("coverageImport.gif"),
+ COVERAGE_PACKAGE("coveragePackage.gif"),
UNIT("unit.gif"),
UNIT_EDIT("unitEdit.gif"),
UNIT_GREEN("unitGreenPlus.gif"),
diff --git a/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF b/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
index 8336649badd..5f126a83451 100644
--- a/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
+++ b/org.eclipse.osee.framework.ui.skynet/META-INF/MANIFEST.MF
@@ -74,6 +74,7 @@ Export-Package: org.eclipse.osee.framework.ui.skynet,
org.eclipse.osee.framework.ui.skynet.ats,
org.eclipse.osee.framework.ui.skynet.blam,
org.eclipse.osee.framework.ui.skynet.blam.operation,
+ org.eclipse.osee.framework.ui.skynet.blam.sections,
org.eclipse.osee.framework.ui.skynet.branch,
org.eclipse.osee.framework.ui.skynet.commandHandlers,
org.eclipse.osee.framework.ui.skynet.commandHandlers.branch,
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/XWidgetParser.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/XWidgetParser.java
index 225ff38075b..f44fce04c97 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/XWidgetParser.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/XWidgetParser.java
@@ -36,6 +36,8 @@ import org.xml.sax.SAXException;
*/
public class XWidgetParser {
+ public static String EMPTY_WIDGETS = "<xWidgets></xWidgets>";
+
public static List<DynamicXWidgetLayoutData> extractWorkAttributes(DynamicXWidgetLayout dynamicXWidgetLayout, String xml) throws ParserConfigurationException, SAXException, IOException {
Document document = Jaxp.readXmlDocument(xml);
Element rootElement = document.getDocumentElement();
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java
index cf8c1f6379a..3afe7e964b4 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/AbstractBlam.java
@@ -18,8 +18,13 @@ import java.util.logging.Level;
import javax.xml.parsers.ParserConfigurationException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.Operations;
import org.eclipse.osee.framework.jdk.core.util.Strings;
+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.SkynetGuiPlugin;
@@ -85,6 +90,15 @@ public abstract class AbstractBlam implements IDynamicWidgetLayoutListener {
}
}
+ public void execute(String jobName, Appendable appendable, VariableMap variableMap, JobChangeAdapter jobChangeAdapter) {
+ try {
+ IOperation blamOperation = new ExecuteBlamOperation(jobName, appendable, variableMap, this);
+ Operations.executeAsJob(blamOperation, true, Job.LONG, jobChangeAdapter);
+ } catch (Exception ex) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex);
+ }
+ }
+
public List<DynamicXWidgetLayoutData> getLayoutDatas() throws IllegalArgumentException, OseeCoreException, ParserConfigurationException, SAXException, IOException, CoreException {
return XWidgetParser.extractWorkAttributes(new DynamicXWidgetLayout(), getXWidgetsXml());
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditor.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditor.java
index 845a6db2ef3..c13ad7e04f0 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditor.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamEditor.java
@@ -12,11 +12,8 @@ package org.eclipse.osee.framework.ui.skynet.blam;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.operation.Operations;
import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -94,14 +91,8 @@ public class BlamEditor extends FormEditor implements IDirtiableEditor {
}
public void executeBlam() {
- try {
- IOperation blamOperation =
- new ExecuteBlamOperation(getPartName(), overviewPage.getOutput(), getBlamVariableMap(),
- getEditorInput().getBlamOperation());
- Operations.executeAsJob(blamOperation, true, Job.LONG, new BlamEditorExecutionAdapter());
- } catch (Exception ex) {
- OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex);
- }
+ getEditorInput().getBlamOperation().execute(getPartName(), overviewPage.getOutput(), getBlamVariableMap(),
+ new BlamEditorExecutionAdapter());
}
public static void edit(final BlamEditorInput blamEditorInput) {
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamOverviewPage.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamOverviewPage.java
index c69cfdde500..02b3315e718 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamOverviewPage.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/BlamOverviewPage.java
@@ -72,9 +72,14 @@ public class BlamOverviewPage extends FormPage {
int sectionStyle = Section.TITLE_BAR | Section.EXPANDED | Section.TWISTIE;
- managedForm.addPart(new BlamUsageSection(getEditor(), form.getBody(), managedForm.getToolkit(), sectionStyle));
- inputSection = new BlamInputSection(getEditor(), form.getBody(), managedForm.getToolkit(), sectionStyle);
- outputSection = new BlamOutputSection(getEditor(), form.getBody(), managedForm.getToolkit(), sectionStyle);
+ managedForm.addPart(new BlamUsageSection(getEditor(), getEditorInput().getBlamOperation(), form.getBody(),
+ managedForm.getToolkit(), sectionStyle));
+ inputSection =
+ new BlamInputSection(getEditor(), getEditorInput().getBlamOperation(), form.getBody(),
+ managedForm.getToolkit(), sectionStyle);
+ outputSection =
+ new BlamOutputSection(getEditor(), getEditorInput().getBlamOperation(), form.getBody(),
+ managedForm.getToolkit(), sectionStyle, getEditor().getActionBarContributor().getExecuteBlamAction());
managedForm.addPart(inputSection);
managedForm.addPart(outputSection);
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BaseBlamSection.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BaseBlamSection.java
index 1c5ac189b4a..fdc368e3c19 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BaseBlamSection.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BaseBlamSection.java
@@ -10,10 +10,10 @@
*******************************************************************************/
package org.eclipse.osee.framework.ui.skynet.blam.sections;
-import org.eclipse.osee.framework.ui.skynet.blam.BlamEditor;
-import org.eclipse.osee.framework.ui.skynet.blam.BlamEditorInput;
+import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.SectionPart;
+import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
/**
@@ -21,23 +21,26 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
*/
public class BaseBlamSection extends SectionPart {
- private final BlamEditor editor;
+ private final FormEditor editor;
+ private final AbstractBlam abstractBlam;
/**
* @param parent
* @param toolkit
* @param style
*/
- public BaseBlamSection(BlamEditor editor, Composite parent, FormToolkit toolkit, int style) {
+ public BaseBlamSection(FormEditor editor, AbstractBlam abstractBlam, Composite parent, FormToolkit toolkit, int style) {
super(parent, toolkit, style);
this.editor = editor;
+ this.abstractBlam = abstractBlam;
}
- public BlamEditor getEditor() {
+ public FormEditor getEditor() {
return editor;
}
- public BlamEditorInput getEditorInput() {
- return editor.getEditorInput();
+ public AbstractBlam getAbstractBlam() {
+ return abstractBlam;
}
+
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamInputSection.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamInputSection.java
index 152589583b6..f3aea850ee6 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamInputSection.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamInputSection.java
@@ -16,7 +16,7 @@ import java.util.List;
import org.eclipse.osee.framework.logging.OseeLevel;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
-import org.eclipse.osee.framework.ui.skynet.blam.BlamEditor;
+import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
import org.eclipse.osee.framework.ui.skynet.blam.VariableMap;
import org.eclipse.osee.framework.ui.skynet.widgets.XModifiedListener;
import org.eclipse.osee.framework.ui.skynet.widgets.XWidget;
@@ -32,6 +32,7 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -48,8 +49,8 @@ public class BlamInputSection extends BaseBlamSection {
* @param toolkit
* @param style
*/
- public BlamInputSection(BlamEditor editor, Composite parent, FormToolkit toolkit, int style) {
- super(editor, parent, toolkit, style);
+ public BlamInputSection(FormEditor editor, AbstractBlam abstractBlam, Composite parent, FormToolkit toolkit, int style) {
+ super(editor, abstractBlam, parent, toolkit, style);
this.dynamicInputLayouts = new ArrayList<DynamicXWidgetLayoutData>();
}
@@ -98,8 +99,7 @@ public class BlamInputSection extends BaseBlamSection {
private void createWidgets(Composite parent) {
try {
List<DynamicXWidgetLayoutData> layoutDatas = getDynamicXWidgetLayouts();
- WorkPage workPage =
- new WorkPage(layoutDatas, new DefaultXWidgetOptionResolver(), getEditorInput().getBlamOperation());
+ WorkPage workPage = new WorkPage(layoutDatas, new DefaultXWidgetOptionResolver(), getAbstractBlam());
workPage.createBody(getManagedForm(), parent, null, new XModifiedListener() {
@Override
@@ -115,7 +115,7 @@ public class BlamInputSection extends BaseBlamSection {
private List<DynamicXWidgetLayoutData> getDynamicXWidgetLayouts() throws Exception {
List<DynamicXWidgetLayoutData> itemsToReturn = new ArrayList<DynamicXWidgetLayoutData>();
- itemsToReturn.addAll(getEditorInput().getBlamOperation().getLayoutDatas());
+ itemsToReturn.addAll(getAbstractBlam().getLayoutDatas());
itemsToReturn.addAll(dynamicInputLayouts);
return itemsToReturn;
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamOutputSection.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamOutputSection.java
index 6235b7208c3..96fe1ea2bd6 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamOutputSection.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamOutputSection.java
@@ -14,7 +14,7 @@ import java.io.IOException;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.osee.framework.ui.plugin.util.Displays;
-import org.eclipse.osee.framework.ui.skynet.blam.BlamEditor;
+import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
import org.eclipse.osee.framework.ui.swt.Widgets;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
@@ -22,6 +22,7 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -32,15 +33,11 @@ public class BlamOutputSection extends BaseBlamSection {
private Text formText;
private Appendable appendableOutput;
+ private final Action executBlamAction;
- /**
- * @param editor
- * @param parent
- * @param toolkit
- * @param style
- */
- public BlamOutputSection(BlamEditor editor, Composite parent, FormToolkit toolkit, int style) {
- super(editor, parent, toolkit, style);
+ public BlamOutputSection(FormEditor editor, AbstractBlam abstractBlam, Composite parent, FormToolkit toolkit, int style, Action executBlamAction) {
+ super(editor, abstractBlam, parent, toolkit, style);
+ this.executBlamAction = executBlamAction;
}
@Override
@@ -56,10 +53,11 @@ public class BlamOutputSection extends BaseBlamSection {
composite.setLayout(new GridLayout());
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- final Action action = getEditor().getActionBarContributor().getExecuteBlamAction();
- ActionContributionItem contributionItem = new ActionContributionItem(action);
- contributionItem.setMode(ActionContributionItem.MODE_FORCE_TEXT);
- contributionItem.fill(composite);
+ if (executBlamAction != null) {
+ ActionContributionItem contributionItem = new ActionContributionItem(executBlamAction);
+ contributionItem.setMode(ActionContributionItem.MODE_FORCE_TEXT);
+ contributionItem.fill(composite);
+ }
formText = toolkit.createText(composite, "BLAM has not yet run\n", SWT.WRAP);
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamUsageSection.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamUsageSection.java
index 209eaf45783..238a2fddbb7 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamUsageSection.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/blam/sections/BlamUsageSection.java
@@ -12,13 +12,14 @@ package org.eclipse.osee.framework.ui.skynet.blam.sections;
import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.eclipse.osee.framework.ui.skynet.XFormToolkit;
-import org.eclipse.osee.framework.ui.skynet.blam.BlamEditor;
+import org.eclipse.osee.framework.ui.skynet.blam.AbstractBlam;
import org.eclipse.osee.framework.ui.swt.Widgets;
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.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.widgets.FormText;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -30,8 +31,8 @@ public class BlamUsageSection extends BaseBlamSection {
private FormText formText;
- public BlamUsageSection(BlamEditor editor, Composite parent, FormToolkit toolkit, int style) {
- super(editor, parent, toolkit, style);
+ public BlamUsageSection(FormEditor editor, AbstractBlam abstractBlam, Composite parent, FormToolkit toolkit, int style) {
+ super(editor, abstractBlam, parent, toolkit, style);
}
@Override
@@ -64,7 +65,7 @@ public class BlamUsageSection extends BaseBlamSection {
if (Widgets.isAccessible(formText)) {
try {
- String data = getEditorInput().getBlamOperation().getDescriptionUsage();
+ String data = getAbstractBlam().getDescriptionUsage();
boolean parseTags = false;
if (data.startsWith("<form>")) {
parseTags = true;

Back to the top