diff options
author | ddunne | 2009-11-17 19:53:14 +0000 |
---|---|---|
committer | ddunne | 2009-11-17 19:53:14 +0000 |
commit | f2c5c9175806e7fa123528ec95df996fe832a453 (patch) | |
tree | 518f181fbcb54e8559e1f6532e505edb81d0335d | |
parent | e4887025a37c5d333ce68aa0212f9e2f93f21b87 (diff) | |
download | org.eclipse.osee-f2c5c9175806e7fa123528ec95df996fe832a453.tar.gz org.eclipse.osee-f2c5c9175806e7fa123528ec95df996fe832a453.tar.xz org.eclipse.osee-f2c5c9175806e7fa123528ec95df996fe832a453.zip |
code coverage
12 files changed, 196 insertions, 19 deletions
diff --git a/org.eclipse.osee.coverage.test/META-INF/MANIFEST.MF b/org.eclipse.osee.coverage.test/META-INF/MANIFEST.MF index 8afd3f4a4b9..8db3c26efe7 100644 --- a/org.eclipse.osee.coverage.test/META-INF/MANIFEST.MF +++ b/org.eclipse.osee.coverage.test/META-INF/MANIFEST.MF @@ -12,4 +12,5 @@ Export-Package: org.eclipse.osee.coverage.test, org.eclipse.osee.coverage.test.import1, org.eclipse.osee.coverage.test.import2, org.eclipse.osee.coverage.test.import3, + org.eclipse.osee.coverage.test.import4, org.eclipse.osee.coverage.test.navigate diff --git a/org.eclipse.osee.coverage.test/fragment.xml b/org.eclipse.osee.coverage.test/fragment.xml index 123847c2555..aa756a2ccdc 100644 --- a/org.eclipse.osee.coverage.test/fragment.xml +++ b/org.eclipse.osee.coverage.test/fragment.xml @@ -31,11 +31,5 @@ className="org.eclipse.osee.coverage.test.import4.CoverageImport4TestBlam">
</Operation>
</extension>
- <extension
- point="org.eclipse.osee.framework.ui.skynet.BlamOperation">
- <Operation
- className="org.eclipse.osee.coverage.test.import4.CoveragePackage1Import4">
- </Operation>
- </extension>
</fragment>
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 index bb072caac11..4d988b3ed8f 100644 --- 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 @@ -33,6 +33,6 @@ public class CoveragePackage1 extends XNavigateItemAction { @Override
public void run(TableLoadOption... tableLoadOptions) throws Exception {
CoveragePackage coveragePackage = new CoveragePackage("Coverage Package 1");
- CoverageEditor.open(new CoverageEditorInput(null, coveragePackage));
+ CoverageEditor.open(new CoverageEditorInput(coveragePackage.getName(), null, coveragePackage, true));
}
}
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpCreateAndImportItem.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpCreateAndImportItem.java index 30836b35066..774dfebe9f0 100644 --- a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpCreateAndImportItem.java +++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpCreateAndImportItem.java @@ -35,7 +35,7 @@ public class CpCreateAndImportItem extends XNavigateItemAction { @Override
public void run(TableLoadOption... tableLoadOptions) throws Exception {
coveragePackage = new CoveragePackage(getName() + " - #" + IncrementingNum.get());
- CoverageEditor.open(new CoverageEditorInput(null, coveragePackage));
+ CoverageEditor.open(new CoverageEditorInput(coveragePackage.getName(), null, coveragePackage, true));
// Process Import 1
CoverageEditor editor = null;
for (CoverageEditor coverageEditor : CoverageEditor.getEditors()) {
diff --git a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpSelectAndImportItem.java b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpSelectAndImportItem.java index 131073d7e4c..608a4daf7d2 100644 --- a/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpSelectAndImportItem.java +++ b/org.eclipse.osee.coverage.test/src/org/eclipse/osee/coverage/test/util/CpSelectAndImportItem.java @@ -41,7 +41,8 @@ public class CpSelectAndImportItem extends XNavigateItemAction { if (dialog.open() != 0) return;
Artifact coveragePackageArtifact = (Artifact) dialog.getResult()[0];
CoveragePackage coveragePackage = OseeCoveragePackageStore.get(coveragePackageArtifact);
- CoverageEditor.open(new CoverageEditorInput(coveragePackageArtifact, coveragePackage));
+ CoverageEditor.open(new CoverageEditorInput(coveragePackage.getName(), coveragePackageArtifact, coveragePackage,
+ true));
// Process Import 1
CoverageEditor editor = null;
for (CoverageEditor coverageEditor : CoverageEditor.getEditors()) {
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 d54845d9cf5..7d3e4f1b0b4 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 @@ -28,7 +28,7 @@ public class CoverageManager { public static void importCoverage(ICoverageImporter coverageImporter) throws OseeCoreException {
CoverageImport coverageImport = coverageImporter.run();
- CoverageEditor.open(new CoverageEditorInput(null, coverageImport));
+ CoverageEditor.open(new CoverageEditorInput(coverageImport.getName(), null, coverageImport, false));
}
public static Collection<AbstractCoverageBlam> getCoverageBlams() {
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java index 996f4bb36f2..549f75f3f52 100644 --- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java +++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java @@ -48,8 +48,8 @@ public class NewCoveragePackageAction extends Action { SkynetTransaction transaction = new SkynetTransaction(CoverageUtil.getBranch(), "Add Coverage Package");
OseeCoverageStore.get(coveragePackage).save(transaction);
transaction.execute();
- CoverageEditor.open(new CoverageEditorInput(OseeCoverageStore.get(coveragePackage).getArtifact(false),
- coveragePackage));
+ CoverageEditor.open(new CoverageEditorInput(dialog.getEntry(),
+ OseeCoverageStore.get(coveragePackage).getArtifact(false), coveragePackage, false));
}
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenCoveragePackageAction.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenCoveragePackageAction.java index b6231426d1f..debca1ac125 100644 --- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenCoveragePackageAction.java +++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/OpenCoveragePackageAction.java @@ -10,7 +10,6 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.osee.coverage.editor.CoverageEditor;
import org.eclipse.osee.coverage.editor.CoverageEditorInput;
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.coverage.util.CoverageImage;
import org.eclipse.osee.coverage.util.CoverageUtil;
@@ -47,8 +46,8 @@ public class OpenCoveragePackageAction extends Action { dialog.setInput(OseeCoveragePackageStore.getCoveragePackageArtifacts());
if (dialog.open() == 0) {
Artifact coveragePackageArtifact = (Artifact) dialog.getResult()[0];
- CoveragePackage coveragePackage = OseeCoveragePackageStore.get(coveragePackageArtifact);
- CoverageEditor.open(new CoverageEditorInput(coveragePackageArtifact, coveragePackage));
+ CoverageEditor.open(new CoverageEditorInput(coveragePackageArtifact.getName(), coveragePackageArtifact,
+ null, false));
}
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
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 0033c50c4f2..a0a964caff7 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 @@ -12,20 +12,29 @@ package org.eclipse.osee.coverage.editor; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.logging.Level; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.osee.coverage.internal.Activator; +import org.eclipse.osee.coverage.model.CoveragePackage; import org.eclipse.osee.coverage.model.CoveragePackageBase; +import org.eclipse.osee.coverage.store.OseeCoveragePackageStore; +import org.eclipse.osee.coverage.util.CoverageImage; import org.eclipse.osee.coverage.util.CoverageUtil; import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.core.exception.OseeStateException; +import org.eclipse.osee.framework.core.operation.AbstractOperation; +import org.eclipse.osee.framework.core.operation.Operations; 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.event.FrameworkTransactionData; import org.eclipse.osee.framework.skynet.core.event.IFrameworkTransactionEventListener; import org.eclipse.osee.framework.skynet.core.event.Sender; +import org.eclipse.osee.framework.skynet.core.relation.CoreRelationEnumeration; +import org.eclipse.osee.framework.skynet.core.relation.RelationManager; import org.eclipse.osee.framework.ui.plugin.util.AWorkbench; import org.eclipse.osee.framework.ui.plugin.util.Displays; import org.eclipse.osee.framework.ui.skynet.ImageManager; @@ -51,11 +60,75 @@ public class CoverageEditor extends FormEditor implements IActionable, IFramewor private CoverageEditorImportTab coverageEditorImportTab = null; private CoverageEditorCoverageTab coverageEditorCoverageTab = null; private CoverageEditorOverviewTab coverageEditorOverviewTab = null; + private CoverageEditorLoadingTab coverageEditorLoadingTab = null; + private Collection<Artifact> artifactLoadCache = null; @Override protected void addPages() { try { OseeContributionItem.addTo(this, true); + String loadingStr = "Loading Coverage for " + getCoverageEditorInput().getPreLoadName() + " ..."; + coverageEditorLoadingTab = new CoverageEditorLoadingTab(loadingStr, this); + addFormPage(coverageEditorLoadingTab); + setPartName("Loading " + getCoverageEditorInput().getPreLoadName()); + setTitleImage(ImageManager.getImage(CoverageImage.COVERAGE)); + setActivePage(startPage); + if (getCoverageEditorInput().isInTest()) { + (new LoadCoverage(loadingStr)).doWork(null); + } else { + Operations.executeAsJob(new LoadCoverage(loadingStr), true); + } + } catch (Exception ex) { + OseeLog.log(Activator.class, Level.SEVERE, ex); + } + } + + private class LoadCoverage extends AbstractOperation { + + public LoadCoverage(String operationName) { + super(operationName, Activator.PLUGIN_ID); + } + + @Override + protected void doWork(IProgressMonitor monitor) throws Exception { + if (artifactLoadCache == null) { + if (getCoverageEditorInput().getCoveragePackageArtifact() != null) { + try { + artifactLoadCache = + RelationManager.getRelatedArtifacts( + Collections.singleton(getCoverageEditorInput().getCoveragePackageArtifact()), 8, + CoreRelationEnumeration.DEFAULT_HIERARCHICAL__CHILD); + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, OseeLevel.SEVERE, ex); + } + } else { + artifactLoadCache = Collections.emptyList(); + } + } + if (getCoverageEditorInput().getCoveragePackageArtifact() != null) { + CoveragePackage coveragePackage = + OseeCoveragePackageStore.get(getCoverageEditorInput().getCoveragePackageArtifact()); + getCoverageEditorInput().setCoveragePackageBase(coveragePackage); + } + + if (getCoverageEditorInput().isInTest()) { + addPagesAfterLoad(); + } else { + Displays.ensureInDisplayThread(new Runnable() { + @Override + public void run() { + addPagesAfterLoad(); + } + }); + } + } + }; + + protected void addPagesAfterLoad() { + try { + // remove loading page + removePage(0); + coverageEditorOverviewTab = new CoverageEditorOverviewTab("Overview", this, getCoveragePackageBase()); addFormPage(coverageEditorOverviewTab); coverageEditorCoverageTab = new CoverageEditorCoverageTab("Coverage Items", this, getCoveragePackageBase()); @@ -74,7 +147,9 @@ public class CoverageEditor extends FormEditor implements IActionable, IFramewor } public void simulateImport(String importName) throws OseeCoreException { - if (coverageEditorImportTab == null) throw new OseeStateException("Import page == null"); + if (coverageEditorImportTab == null) { + throw new OseeStateException("Import page == null"); + } setActivePage(2); coverageEditorImportTab.simulateImport(importName); } diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorInput.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorInput.java index d068ae93672..0b79cb26258 100644 --- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorInput.java +++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorInput.java @@ -21,12 +21,16 @@ import org.eclipse.ui.IPersistableElement; */ public class CoverageEditorInput implements IEditorInput { - private final CoveragePackageBase coveragePackageBase; + private CoveragePackageBase coveragePackageBase; private final Artifact coveragePackageArtifact; + private final String preLoadName; + private final boolean isInTest; - public CoverageEditorInput(Artifact coveragePackageArtifact, CoveragePackageBase coveragePackageBase) { + public CoverageEditorInput(String preLoadName, Artifact coveragePackageArtifact, CoveragePackageBase coveragePackageBase, boolean isInTest) { + this.preLoadName = preLoadName; this.coveragePackageArtifact = coveragePackageArtifact; this.coveragePackageBase = coveragePackageBase; + this.isInTest = isInTest; } public boolean exists() { @@ -53,6 +57,9 @@ public class CoverageEditorInput implements IEditorInput { @Override public String getName() { + if (coveragePackageBase == null) { + return getPreLoadName(); + } return coveragePackageBase.getName(); } @@ -64,4 +71,16 @@ public class CoverageEditorInput implements IEditorInput { return coveragePackageArtifact; } + public String getPreLoadName() { + return preLoadName; + } + + public void setCoveragePackageBase(CoveragePackageBase coveragePackageBase) { + this.coveragePackageBase = coveragePackageBase; + } + + public boolean isInTest() { + return isInTest; + } + } diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorLoadingTab.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorLoadingTab.java new file mode 100644 index 00000000000..748f10308e1 --- /dev/null +++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorLoadingTab.java @@ -0,0 +1,87 @@ +/*
+ * Created on Feb 5, 2009
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.coverage.editor;
+
+import org.eclipse.osee.coverage.util.CoverageImage;
+import org.eclipse.osee.framework.ui.plugin.util.Displays;
+import org.eclipse.osee.framework.ui.skynet.ImageManager;
+import org.eclipse.osee.framework.ui.skynet.action.RefreshAction;
+import org.eclipse.osee.framework.ui.skynet.action.RefreshAction.IRefreshActionHandler;
+import org.eclipse.osee.framework.ui.skynet.results.XResultData;
+import org.eclipse.osee.framework.ui.skynet.results.html.XResultsComposite;
+import org.eclipse.osee.framework.ui.swt.ALayout;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+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;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoverageEditorLoadingTab extends FormPage implements IRefreshActionHandler {
+
+ private final CoverageEditor coverageEditor;
+ XResultsComposite xResultsComp;
+
+ public CoverageEditorLoadingTab(String name, CoverageEditor coverageEditor) {
+ super(coverageEditor, name, name);
+ this.coverageEditor = coverageEditor;
+ }
+
+ @Override
+ protected void createFormContent(IManagedForm managedForm) {
+ super.createFormContent(managedForm);
+
+ final ScrolledForm scrolledForm = managedForm.getForm();
+ scrolledForm.setText(getTitle());
+ scrolledForm.setImage(ImageManager.getImage(CoverageImage.COVERAGE));
+
+ scrolledForm.getBody().setLayout(ALayout.getZeroMarginLayout());
+ createToolBar();
+ Composite composite = scrolledForm.getBody();
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
+
+ xResultsComp = new XResultsComposite(composite, SWT.NONE);
+ xResultsComp.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_BEGINNING));
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ gd.heightHint = 500;
+ xResultsComp.setLayoutData(gd);
+ coverageEditor.getToolkit().adapt(xResultsComp);
+ getManagedForm().getForm().getForm().setBusy(true);
+
+ refreshHtml();
+ }
+
+ public void refreshHtml() {
+ final XResultData rd = new XResultData(false);
+ rd.log(getTitle());
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ xResultsComp.setHtmlText(rd.getReport("").getManipulatedHtml(), "");
+ }
+ });
+ }
+
+ public void createToolBar() {
+ getManagedForm().getForm().getToolBarManager().add(new RefreshAction(this));
+ CoverageEditor.addToToolBar(getManagedForm().getForm().getToolBarManager(), coverageEditor);
+ }
+
+ @Override
+ public FormEditor getEditor() {
+ return super.getEditor();
+ }
+
+ @Override
+ public void refreshActionHandler() {
+ refreshHtml();
+ }
+
+}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageRenderer.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageRenderer.java index db856cbdb88..a4dd1d3c9b6 100644 --- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageRenderer.java +++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageRenderer.java @@ -57,7 +57,8 @@ public class CoverageRenderer extends DefaultArtifactRenderer { public void open(List<Artifact> artifacts) throws OseeCoreException { for (Artifact artifact : artifacts) { if (artifact.getArtifactTypeName().equals(OseeCoveragePackageStore.ARTIFACT_NAME)) { - CoverageEditor.open(new CoverageEditorInput(artifact, OseeCoveragePackageStore.get(artifact))); + CoverageEditor.open(new CoverageEditorInput(artifact.getName(), artifact, + OseeCoveragePackageStore.get(artifact), false)); } } } |