Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2009-11-11 19:29:07 +0000
committerddunne2009-11-11 19:29:07 +0000
commitd1fb728443c197d92854fad1866bae9ae6574503 (patch)
tree195d4d0268699a12c9de75cf11be6e7871b20621
parentaeae9fa010a08f2ed725029d5eb648c03bf5656e (diff)
downloadorg.eclipse.osee-d1fb728443c197d92854fad1866bae9ae6574503.tar.gz
org.eclipse.osee-d1fb728443c197d92854fad1866bae9ae6574503.tar.xz
org.eclipse.osee-d1fb728443c197d92854fad1866bae9ae6574503.zip
code coverage
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java23
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java68
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageContentProvider.java3
-rw-r--r--org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java3
4 files changed, 89 insertions, 8 deletions
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
index 21c3b5e7db9..6d35362eb83 100644
--- 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
@@ -6,6 +6,7 @@
package org.eclipse.osee.coverage.editor;
import java.util.logging.Level;
+import org.eclipse.core.runtime.AssertionFailedException;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.action.Action;
@@ -199,6 +200,7 @@ public class CoverageEditorImportTab extends FormPage {
public void scheduled(IJobChangeEvent event) {
super.scheduled(event);
showBusy(true);
+ blamOutputSection.setText("Importing...\n");
}
@Override
@@ -227,17 +229,32 @@ public class CoverageEditorImportTab extends FormPage {
try {
if (coverageEditorMergeTab != null) {
if (coverageEditorMergeIndex != 0) {
- coverageEditor.removePage(coverageEditorMergeIndex);
+ try {
+ coverageEditor.removePage(coverageEditorMergeIndex);
+ } catch (AssertionFailedException ex) {
+ // page already removed; do nothing
+ }
+ coverageEditorMergeIndex = 0;
}
}
if (coverageImportTab != null) {
if (coverageImportIndex != 0) {
- coverageEditor.removePage(coverageImportIndex);
+ try {
+ coverageEditor.removePage(coverageImportIndex);
+ } catch (AssertionFailedException ex) {
+ // page already removed; do nothing
+ }
+ coverageImportIndex = 0;
}
}
if (coverageImportOverviewTab != null) {
if (coverageImportOverviewIndex != 0) {
- coverageEditor.removePage(coverageImportOverviewIndex);
+ try {
+ coverageEditor.removePage(coverageImportOverviewIndex);
+ } catch (AssertionFailedException ex) {
+ // page already removed; do nothing
+ }
+ coverageImportOverviewIndex = 0;
}
}
coverageImport = null;
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java
index ec760efc111..cbf51e3a9ee 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java
@@ -13,6 +13,10 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.logging.Level;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.IJobChangeListener;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -24,6 +28,7 @@ import org.eclipse.osee.coverage.editor.xmerge.XCoverageMergeViewer;
import org.eclipse.osee.coverage.internal.Activator;
import org.eclipse.osee.coverage.merge.MergeItem;
import org.eclipse.osee.coverage.merge.MergeManager;
+import org.eclipse.osee.coverage.merge.MessageMergeItem;
import org.eclipse.osee.coverage.model.CoverageImport;
import org.eclipse.osee.coverage.model.CoverageMethodEnum;
import org.eclipse.osee.coverage.model.CoveragePackage;
@@ -35,10 +40,13 @@ import org.eclipse.osee.coverage.util.ISaveable;
import org.eclipse.osee.coverage.util.NotSaveable;
import org.eclipse.osee.coverage.util.widget.XHyperlabelCoverageMethodSelection;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+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.ui.plugin.util.AWorkbench;
+import org.eclipse.osee.framework.ui.plugin.util.Displays;
import org.eclipse.osee.framework.ui.plugin.util.Result;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
import org.eclipse.osee.framework.ui.skynet.ImageManager;
@@ -77,6 +85,7 @@ public class CoverageEditorMergeTab extends FormPage implements ISaveable {
private CoverageEditorCoverageParameters parameters;
LinkWithImportItemAction linkWithImportItemAction;
private MergeManager mergeManager;
+ private boolean loading = false;
public CoverageEditorMergeTab(String name, CoverageEditor coverageEditor, CoveragePackage provider1, CoverageImport provider2) {
super(coverageEditor, name, name);
@@ -215,12 +224,69 @@ public class CoverageEditorMergeTab extends FormPage implements ISaveable {
loadImportViewer(false);
}
+ private class ImportJobChangeListener implements IJobChangeListener {
+
+ @Override
+ public void aboutToRun(IJobChangeEvent event) {
+ }
+
+ @Override
+ public void awake(IJobChangeEvent event) {
+ }
+
+ @Override
+ public void done(IJobChangeEvent event) {
+ showBusy(false);
+ loading = false;
+ }
+
+ @Override
+ public void running(IJobChangeEvent event) {
+ }
+
+ @Override
+ public void scheduled(IJobChangeEvent event) {
+ showBusy(true);
+ }
+
+ @Override
+ public void sleeping(IJobChangeEvent event) {
+ }
+
+ }
+
private void loadImportViewer(boolean force) {
+ if (loading) {
+ AWorkbench.popup("Already Loading");
+ return;
+ }
if (force || mergeManager == null) {
mergeManager = new MergeManager(coveragePackage, coverageImport);
}
- xImportViewer2.getXViewer().setInput(mergeManager.getMergeItems());
+ xImportViewer2.getXViewer().setInput(new MessageMergeItem("Loading..."));
+ xImportViewer2.getXViewer().refresh();
+ loading = true;
+ Operations.executeAsJob(new LoadImportViewerJob(), true, Job.LONG, new ImportJobChangeListener());
+ }
+
+ public class LoadImportViewerJob extends AbstractOperation {
+
+ public LoadImportViewerJob() {
+ super("Loading Coverage Import Viewer", Activator.PLUGIN_ID);
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ final List<MergeItem> mergeItems = mergeManager.getMergeItems();
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ xImportViewer2.getXViewer().setInput(mergeItems);
+ }
+ });
+ }
}
+
private Action reloadAction = new Action() {
@Override
public void run() {
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageContentProvider.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageContentProvider.java
index 3e40725fa18..d906a5f24bf 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageContentProvider.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xcover/CoverageContentProvider.java
@@ -18,6 +18,7 @@ import org.apache.commons.lang.ArrayUtils;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.osee.coverage.merge.MergeItem;
+import org.eclipse.osee.coverage.merge.MessageMergeItem;
import org.eclipse.osee.coverage.model.CoveragePackageBase;
import org.eclipse.osee.coverage.model.CoverageUnit;
import org.eclipse.osee.coverage.model.ICoverage;
@@ -128,7 +129,7 @@ public class CoverageContentProvider implements ITreeContentProvider {
public Object[] getElements(Object inputElement) {
debug.report("getElements");
- if (inputElement instanceof String) return new Object[] {inputElement};
+ if (inputElement instanceof MessageMergeItem) return new Object[] {inputElement};
return getChildren(inputElement);
}
diff --git a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java
index 51d4a67f7cd..26d37bb9a7b 100644
--- a/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java
+++ b/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java
@@ -6,7 +6,6 @@
package org.eclipse.osee.coverage.merge;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
import org.eclipse.osee.coverage.model.CoverageImport;
import org.eclipse.osee.coverage.model.CoveragePackage;
@@ -19,7 +18,6 @@ import org.eclipse.osee.coverage.model.ICoverage;
public class MergeManager {
private final CoveragePackage coveragePackage;
private final CoverageImport coverageImport;
- private Collection<? extends ICoverage> packageCoverage = null;
private List<MergeItem> mergeItems = null;
public MergeManager(CoveragePackage coveragePackage, CoverageImport coverageImport) {
@@ -28,7 +26,6 @@ public class MergeManager {
}
public List<MergeItem> getMergeItems() {
- packageCoverage = coveragePackage.getChildren(true);
if (mergeItems == null) {
mergeItems = new ArrayList<MergeItem>();
for (ICoverage importCoverage : coverageImport.getChildren()) {

Back to the top