Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2011-03-21 23:09:11 +0000
committerRyan D. Brooks2011-03-21 23:09:11 +0000
commitbe68ff422aeca2c7a78e05cb8f166137984d4598 (patch)
tree93b8ddadfd071f85b4c23864e23a9f38ab507650 /plugins/org.eclipse.osee.coverage
parentb6b500cc9f3227a7bbc5ad45f87428511edbb49f (diff)
downloadorg.eclipse.osee-be68ff422aeca2c7a78e05cb8f166137984d4598.tar.gz
org.eclipse.osee-be68ff422aeca2c7a78e05cb8f166137984d4598.tar.xz
org.eclipse.osee-be68ff422aeca2c7a78e05cb8f166137984d4598.zip
feature[ats_GQ41M]: Coverage - Import merge feature to retain previously dispositioned items
Diffstat (limited to 'plugins/org.eclipse.osee.coverage')
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoverUnitAction.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoveragePackageAction.java2
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java5
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/ViewSourceAction.java4
-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/CoverageEditorImportTab.java1
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java7
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorOverviewTab.java8
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xmerge/CoverageMergeLabelProvider.java11
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java6
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/OseeMessagingTracker.java2
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeImportManager.java7
-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/merge/MergeManager.java14
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageImport.java10
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageItem.java9
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageOptionManager.java7
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoveragePackage.java10
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageTestUnit.java6
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageUnit.java6
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ICoverage.java1
-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/OseeCoveragePackageStore.java2
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageStore.java4
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageUtil.java24
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/dialog/CoveragePackageArtifactListDialog.java11
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/validate/CoveragePackageOrderValidator.java102
28 files changed, 249 insertions, 34 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoverUnitAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoverUnitAction.java
index ec2de161256..678302d48b5 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoverUnitAction.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoverUnitAction.java
@@ -79,8 +79,7 @@ public class DeleteCoverUnitAction extends Action {
new SkynetTransaction(saveable.getBranch(), "Coverage - Delete Coverage Unit");
ICoverage coverage = selectedCoverageEditorItem.getSelectedCoverageEditorItems().iterator().next();
CoveragePackage coveragePackage = (CoveragePackage) CoverageUtil.getParentCoveragePackageBase(coverage);
- CoveragePackageEvent coverageEvent =
- new CoveragePackageEvent(coveragePackage, CoverageEventType.Modified);
+ CoveragePackageEvent coverageEvent = new CoveragePackageEvent(coveragePackage, CoverageEventType.Modified);
List<ICoverage> deleteItems = new ArrayList<ICoverage>();
for (ICoverage coverageItem : selectedCoverageEditorItem.getSelectedCoverageEditorItems()) {
if (coverageItem.getParent() instanceof ICoverageUnitProvider) {
@@ -91,7 +90,7 @@ public class DeleteCoverUnitAction extends Action {
}
}
transaction.execute();
- CoverageEventManager.getInstance().sendRemoteEvent(coverageEvent);
+ CoverageEventManager.instance.sendRemoteEvent(coverageEvent);
for (ICoverage coverageItem : deleteItems) {
refreshable.remove(coverageItem);
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoveragePackageAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoveragePackageAction.java
index ec674a339d2..58622c6b720 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoveragePackageAction.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/DeleteCoveragePackageAction.java
@@ -83,7 +83,7 @@ public class DeleteCoveragePackageAction extends Action {
if (!purge) {
transaction.execute();
}
- CoverageEventManager.getInstance().sendRemoteEvent(coverageEvent);
+ CoverageEventManager.instance.sendRemoteEvent(coverageEvent);
}
}
} catch (OseeCoreException ex) {
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java
index eda8e2bcb11..f46f79a234e 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/NewCoveragePackageAction.java
@@ -62,11 +62,10 @@ public class NewCoveragePackageAction extends Action {
new CoveragePackage(dialog.getEntry(), CoverageOptionManagerDefault.instance(),
new DbWorkProductTaskProvider(branch));
SkynetTransaction transaction = new SkynetTransaction(branch, "Add Coverage Package");
- CoveragePackageEvent coverageEvent =
- new CoveragePackageEvent(coveragePackage, CoverageEventType.Added);
+ CoveragePackageEvent coverageEvent = new CoveragePackageEvent(coveragePackage, CoverageEventType.Added);
OseeCoveragePackageStore.get(coveragePackage, branch).save(transaction, coverageEvent);
transaction.execute();
- CoverageEventManager.getInstance().sendRemoteEvent(coverageEvent);
+ CoverageEventManager.instance.sendRemoteEvent(coverageEvent);
CoverageEditor.open(new CoverageEditorInput(dialog.getEntry(), OseeCoveragePackageStore.get(
coveragePackage, branch).getArtifact(false), coveragePackage, false));
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/ViewSourceAction.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/ViewSourceAction.java
index 96af7f0b071..7b8c741d49a 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/ViewSourceAction.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/action/ViewSourceAction.java
@@ -84,7 +84,7 @@ public class ViewSourceAction extends Action {
html = html.replaceAll("HEREBEGIN", "<FONT style=\"BACKGROUND-COLOR: yellow\">");
html = html.replaceAll("HEREEND", "</FONT>");
ResultsEditor.open("source",
- CoverageUtil.getFullPathWithName(item.getParent()) + "[" + item.getName() + "]", html);
+ CoverageUtil.getFullPathWithName(item.getParent(), true) + "[" + item.getName() + "]", html);
} else {
AWorkbench.popup("No File Contents Available");
return;
@@ -99,7 +99,7 @@ public class ViewSourceAction extends Action {
}
String html = AHTML.textToHtml(text);
html = html.replaceAll(" ", "&nbsp;");
- ResultsEditor.open("source", CoverageUtil.getFullPathWithName(item), html);
+ ResultsEditor.open("source", CoverageUtil.getFullPathWithName(item, true), html);
}
} catch (OseeCoreException 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 35ab3d17b6c..82816288663 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
@@ -131,7 +131,7 @@ public class CoverageEditor extends FormEditor implements IActionable {
}
monitor.worked(1);
- CoverageEventManager.getInstance().register(editor);
+ CoverageEventManager.instance.register(editor);
// elapsedTime.end();
}
@@ -245,7 +245,7 @@ public class CoverageEditor extends FormEditor implements IActionable {
@Override
public void dispose() {
- CoverageEventManager.getInstance().unregister(this);
+ CoverageEventManager.instance.unregister(this);
super.dispose();
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java
index dae2ae78d82..dfc2e96d76c 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorImportTab.java
@@ -228,6 +228,7 @@ public class CoverageEditorImportTab extends FormPage {
@Override
public void done(IJobChangeEvent event) {
+ blamOutputSection.appendText(String.format("BLAM completed in [%s]\n", Lib.getElapseString(startTime)));
super.done(event);
}
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java
index d2cf43d6b27..591a63395ee 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorMergeTab.java
@@ -52,6 +52,7 @@ 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.transaction.SkynetTransaction;
+import org.eclipse.osee.framework.skynet.core.utility.ElapsedTime;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
import org.eclipse.osee.framework.ui.plugin.util.HelpUtil;
import org.eclipse.osee.framework.ui.plugin.util.Result;
@@ -325,15 +326,19 @@ public class CoverageEditorMergeTab extends FormPage implements ISaveable {
@Override
protected void doWork(IProgressMonitor monitor) throws Exception {
- final XResultData resultData = new XResultData();
+
+ final ElapsedTime elapsedTime = new ElapsedTime(getName());
+ final XResultData resultData = new XResultData(false);
final List<IMergeItem> mergeItems = mergeManager.getMergeItems(resultData);
Displays.ensureInDisplayThread(new Runnable() {
@Override
public void run() {
+ elapsedTime.logPoint("setInput");
xImportViewer2.getXViewer().setInput(mergeItems);
if (debugReport) {
resultData.report("Re-Load");
}
+ elapsedTime.end();
}
});
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorOverviewTab.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorOverviewTab.java
index 4830f88ba6f..b50d46d9d82 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorOverviewTab.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/CoverageEditorOverviewTab.java
@@ -23,6 +23,7 @@ import org.eclipse.osee.coverage.model.CoverageOptionManager;
import org.eclipse.osee.coverage.model.CoveragePackageBase;
import org.eclipse.osee.coverage.model.CoverageUnit;
import org.eclipse.osee.coverage.util.CoverageUtil;
+import org.eclipse.osee.coverage.validate.CoveragePackageOrderValidator;
import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.ui.plugin.util.HelpUtil;
import org.eclipse.osee.framework.ui.skynet.action.RefreshAction;
@@ -117,6 +118,9 @@ public class CoverageEditorOverviewTab extends FormPage implements IRefreshActio
}
rd.addRaw(AHTML.newline());
rd.addRaw(AHTML.getLabelValueStr("\nEditor Branch", branchName));
+
+ new CoveragePackageOrderValidator(coveragePackageBase, rd).run();
+
if (coveragePackageBase.getLog() != null) {
rd.log(AHTML.newline() + AHTML.bold("Log:") + AHTML.newline());
rd.addRaw(coveragePackageBase.getLog().getReport("").getManipulatedHtml());
@@ -125,8 +129,8 @@ public class CoverageEditorOverviewTab extends FormPage implements IRefreshActio
Displays.ensureInDisplayThread(new Runnable() {
@Override
public void run() {
- xResultsComp.setHtmlText(rd.getReport(coveragePackageBase.getName()).getManipulatedHtml(),
- coveragePackageBase.getName());
+ String html = rd.getReport(coveragePackageBase.getName()).getManipulatedHtml();
+ xResultsComp.setHtmlText(html, coveragePackageBase.getName());
}
});
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xmerge/CoverageMergeLabelProvider.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xmerge/CoverageMergeLabelProvider.java
index a6a1b0b6f66..0f59d3b1fb5 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xmerge/CoverageMergeLabelProvider.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/editor/xmerge/CoverageMergeLabelProvider.java
@@ -15,8 +15,11 @@ import org.eclipse.nebula.widgets.xviewer.XViewerColumn;
import org.eclipse.osee.coverage.editor.xcover.CoverageLabelProvider;
import org.eclipse.osee.coverage.editor.xcover.CoverageXViewerFactory;
import org.eclipse.osee.coverage.merge.IMergeItem;
+import org.eclipse.osee.coverage.merge.MergeItem;
import org.eclipse.osee.coverage.merge.MergeItemGroup;
+import org.eclipse.osee.coverage.merge.MergeType;
import org.eclipse.osee.coverage.merge.MessageMergeItem;
+import org.eclipse.osee.coverage.model.CoverageItem;
import org.eclipse.osee.coverage.model.CoverageUnit;
import org.eclipse.osee.coverage.model.ICoverage;
import org.eclipse.osee.coverage.store.OseeCoverageUnitStore;
@@ -98,6 +101,14 @@ public class CoverageMergeLabelProvider extends CoverageLabelProvider {
if (!((IMergeItem) element).isImportAllowed()) {
return "";
}
+ if (element instanceof MergeItem && ((MergeItem) element).getMergeType() == MergeType.CI_Method_Update) {
+ MergeItem mergeItem = (MergeItem) element;
+ if (mergeItem.getPackageItem() instanceof CoverageItem) {
+ return String.format("%s from [%s] to [%s]", mergeItem.getMergeType().toString(),
+ ((CoverageItem) mergeItem.getPackageItem()).getCoverageMethod().getName(),
+ ((CoverageItem) mergeItem.getImportItem()).getCoverageMethod().getName());
+ }
+ }
return ((IMergeItem) element).getMergeType().toString();
}
if (coverage instanceof MergeItemGroup) {
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java
index e110eac142f..360716a5ddc 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java
@@ -55,16 +55,12 @@ import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
*/
public class CoverageEventManager implements IArtifactEventListener, OseeMessagingStatusCallback {
- private static CoverageEventManager instance = new CoverageEventManager();
+ public static CoverageEventManager instance = new CoverageEventManager();
private final List<CoverageEditor> editors = new ArrayList<CoverageEditor>();
private ArtifactTypeEventFilter artifactTypeEventFilter;
private ConnectionNode connectionNode;
private OseeMessagingTracker oseeMessagingTracker;
- public static CoverageEventManager getInstance() {
- return instance;
- }
-
public static void dispose() {
instance.stopListeneingForFrameworkEvents();
instance.stopListeningForRemoteCoverageEvents();
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/OseeMessagingTracker.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/OseeMessagingTracker.java
index 34a0b6dd844..bfe6f15b253 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/OseeMessagingTracker.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/OseeMessagingTracker.java
@@ -36,7 +36,7 @@ public class OseeMessagingTracker extends ServiceTracker {
MessageService service = (MessageService) super.addingService(reference);
try {
connectionNode = service.getDefault();
- CoverageEventManager.getInstance().addingRemoteEventService(connectionNode);
+ CoverageEventManager.instance.addingRemoteEventService(connectionNode);
} catch (OseeCoreException ex) {
OseeLog.log(OseeMessagingTracker.class, Level.SEVERE, ex);
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeImportManager.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeImportManager.java
index a7d56a9455d..08ab07afec2 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeImportManager.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeImportManager.java
@@ -14,6 +14,7 @@ import java.util.Collection;
import org.eclipse.osee.coverage.internal.Activator;
import org.eclipse.osee.coverage.model.CoverageImport;
import org.eclipse.osee.coverage.model.CoverageItem;
+import org.eclipse.osee.coverage.model.CoverageOptionManager;
import org.eclipse.osee.coverage.model.CoveragePackage;
import org.eclipse.osee.coverage.model.CoverageUnit;
import org.eclipse.osee.coverage.model.ICoverage;
@@ -183,6 +184,9 @@ public class MergeImportManager {
CoverageItem importItem = (CoverageItem) ((MergeItem) mergeItem).getImportItem();
CoverageItem packageItem = (CoverageItem) ((MergeItem) mergeItem).getPackageItem();
packageItem.setCoverageMethod(importItem.getCoverageMethod());
+ if (importItem.getCoverageMethod().getName().equals(CoverageOptionManager.Test_Unit.name)) {
+ packageItem.setRationale("");
+ }
updateFileContents(packageItem, importItem);
}
@@ -194,7 +198,8 @@ public class MergeImportManager {
}
private void updateFileContents(CoverageUnit packageUnit, CoverageUnit importUnit) throws OseeCoreException {
- if (!packageUnit.getFileContents().equals(importUnit.getFileContents())) {
+ if (Strings.isValid(importUnit.getFileContents()) && !packageUnit.getFileContents().equals(
+ importUnit.getFileContents())) {
packageUnit.setFileContents(importUnit.getFileContents());
}
if (packageUnit.getParent() != null && packageUnit.getParent() instanceof CoverageUnit) {
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 c17485e2c0a..f5a8d99eb79 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
@@ -176,6 +176,11 @@ public class MergeItem extends MergeItemBase {
}
@Override
+ public String toStringNoPackage() {
+ return toString();
+ }
+
+ @Override
public String getOrderNumber() {
if (Strings.isValid(importItem.getOrderNumber())) {
return importItem.getOrderNumber();
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 03f3a0dafe5..123f5070fe2 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
@@ -43,6 +43,11 @@ public class MergeItemGroup extends MergeItemBase {
}
@Override
+ public String toStringNoPackage() {
+ return toString();
+ }
+
+ @Override
public String getAssignees() {
return "";
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java
index b6d5188e21e..908a0cbc4c7 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/merge/MergeManager.java
@@ -23,6 +23,8 @@ import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import org.eclipse.osee.coverage.model.CoverageImport;
import org.eclipse.osee.coverage.model.CoverageItem;
+import org.eclipse.osee.coverage.model.CoverageOption;
+import org.eclipse.osee.coverage.model.CoverageOptionManager;
import org.eclipse.osee.coverage.model.CoveragePackage;
import org.eclipse.osee.coverage.model.CoveragePackageBase;
import org.eclipse.osee.coverage.model.ICoverage;
@@ -314,7 +316,17 @@ public class MergeManager {
if (!(importItem instanceof CoverageItem)) {
return false;
}
- if (!((CoverageItem) importItem).getCoverageMethod().equals(((CoverageItem) packageItem).getCoverageMethod())) {
+
+ CoverageOption oldExistingOption = ((CoverageItem) packageItem).getCoverageMethod();
+ CoverageOption newImportOption = ((CoverageItem) importItem).getCoverageMethod();
+ boolean oldIsAnalystDispositionOption =
+ CoverageOptionManager.isAnalystDispositionedCoverageOption(oldExistingOption);
+ // If existing is an Analyst Disposition Option, don't overwrite with Not_Covered
+ if (oldIsAnalystDispositionOption && newImportOption.equals(CoverageOptionManager.Not_Covered)) {
+ return false;
+ }
+ // Else if new is different than old, overwrite old
+ else if (!newImportOption.equals(oldExistingOption)) {
return true;
}
return false;
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 381e5064a69..21bf872364e 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
@@ -138,4 +138,14 @@ public class CoverageImport extends CoveragePackageBase {
return super.equals(obj);
}
+ @Override
+ public String toString() {
+ return getName();
+ }
+
+ @Override
+ public String toStringNoPackage() {
+ return getName();
+ }
+
}
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 abc94f1efe4..6e8d9673ccd 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
@@ -132,6 +132,13 @@ public class CoverageItem extends NamedIdentity implements ICoverage, IWorkProdu
}
@Override
+ public String toStringNoPackage() {
+ return String.format("[Item : [%s][M: %s][E: %s][%s][Name: %s][Path: %s]]", getCoverageMethod(),
+ getCoverageUnit().getOrderNumber(), getOrderNumber(), getGuid(), getName(),
+ CoverageUtil.getFullPath(this, false));
+ }
+
+ @Override
public Result isEditable() {
return Result.FalseResult;
}
@@ -167,7 +174,7 @@ public class CoverageItem extends NamedIdentity implements ICoverage, IWorkProdu
}
public String getRationale() {
- return rationale;
+ return rationale == null ? "" : rationale;
}
public void setRationale(String rationale) {
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageOptionManager.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageOptionManager.java
index f4662ea93e6..4eccb0caf2d 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageOptionManager.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/CoverageOptionManager.java
@@ -55,6 +55,13 @@ public class CoverageOptionManager {
}
/**
+ * Coverage Option is one set during analyst disposition. !Test_Unit and !Not_Covered
+ */
+ public static boolean isAnalystDispositionedCoverageOption(CoverageOption coverageOption) {
+ return !coverageOption.equals(Test_Unit) && !coverageOption.equals(Not_Covered);
+ }
+
+ /**
* Return valid options. If Read, all values returned. This handles the search use case where wouldn't want to set
* values, but would want to search them. If Write, only enabled values are returned.
*
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 e5ce2006255..d4a643f480f 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
@@ -102,4 +102,14 @@ public class CoveragePackage extends CoveragePackageBase {
return super.equals(obj);
}
+ @Override
+ public String toString() {
+ return getName();
+ }
+
+ @Override
+ public String toStringNoPackage() {
+ return getName();
+ }
+
}
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 86c11039862..02733104488 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
@@ -32,6 +32,11 @@ public class CoverageTestUnit extends NamedIdentity implements ICoverage {
}
@Override
+ public String toStringNoPackage() {
+ return toString();
+ }
+
+ @Override
public String getAssignees() {
return "";
}
@@ -118,4 +123,5 @@ public class CoverageTestUnit extends NamedIdentity implements ICoverage {
public String getWorkProductTaskStr() {
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 d1c0f0b0f88..8ac10528605 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
@@ -160,6 +160,12 @@ public class CoverageUnit extends NamedIdentity implements IWorkProductRelatable
}
@Override
+ public String toStringNoPackage() {
+ return String.format("[Unit [%s][M: %s][%s][Path: %s]]", getName(), getOrderNumber(), getGuid(),
+ CoverageUtil.getFullPath(this, false));
+ }
+
+ @Override
public Result isEditable() {
return Result.TrueResult;
}
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 882eccfff9d..09e9e81dfa3 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
@@ -56,4 +56,5 @@ public interface ICoverage extends Named, Identity {
public String getWorkProductTaskStr();
+ public String toStringNoPackage();
}
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 ee64c53841e..f9293a43802 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
@@ -37,6 +37,11 @@ public class MessageCoverageItem extends NamedIdentity implements ICoverage {
}
@Override
+ public String toStringNoPackage() {
+ return toString();
+ }
+
+ @Override
public String getAssignees() {
return "";
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoveragePackageStore.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoveragePackageStore.java
index a9c61a9e573..f572e07fbd7 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoveragePackageStore.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoveragePackageStore.java
@@ -236,7 +236,7 @@ public class OseeCoveragePackageStore extends OseeCoverageStore implements ISave
CoveragePackageEvent coverageEvent = new CoveragePackageEvent(coveragePackage, CoverageEventType.Modified);
save(transaction, coverageEvent, coverages);
transaction.execute();
- CoverageEventManager.getInstance().sendRemoteEvent(coverageEvent);
+ CoverageEventManager.instance.sendRemoteEvent(coverageEvent);
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
return new Result("Save Failed: " + ex.getLocalizedMessage());
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageStore.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageStore.java
index a64cbe7bdf5..7eb70b7a038 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageStore.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageStore.java
@@ -67,7 +67,7 @@ public abstract class OseeCoverageStore extends CoverageStore {
CoveragePackageEvent coverageEvent = getBaseCoveragePackageEvent(CoverageEventType.Modified);
save(transaction, coverageEvent);
transaction.execute();
- CoverageEventManager.getInstance().sendRemoteEvent(coverageEvent);
+ CoverageEventManager.instance.sendRemoteEvent(coverageEvent);
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
return new Result("Save Failed: " + ex.getLocalizedMessage());
@@ -81,7 +81,7 @@ public abstract class OseeCoverageStore extends CoverageStore {
CoveragePackageEvent coverageEvent = getBaseCoveragePackageEvent(CoverageEventType.Deleted);
delete(transaction, coverageEvent, purge);
transaction.execute();
- CoverageEventManager.getInstance().sendRemoteEvent(coverageEvent);
+ CoverageEventManager.instance.sendRemoteEvent(coverageEvent);
}
public abstract CoveragePackageEvent getBaseCoveragePackageEvent(CoverageEventType coverageEventType);
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageUtil.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageUtil.java
index 094638217a1..d510b3762bb 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageUtil.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/CoverageUtil.java
@@ -177,28 +177,36 @@ public class CoverageUtil {
/**
* Returns string of all parent ICoverage items up the tree
*/
+ public static String getFullPath(ICoverage coverage, boolean includePackageName) {
+ StringBuffer sb = new StringBuffer();
+ getFullPathRecurse(coverage.getParent(), includePackageName, sb);
+ return sb.toString();
+ }
+
public static String getFullPath(ICoverage coverage) {
StringBuffer sb = new StringBuffer();
- getFullPathRecurse(coverage.getParent(), sb);
+ getFullPathRecurse(coverage.getParent(), true, sb);
return sb.toString();
}
- public static String getFullPathWithName(ICoverage coverage) {
+ public static String getFullPathWithName(ICoverage coverage, boolean includePackageName) {
StringBuffer sb = new StringBuffer();
- getFullPathRecurse(coverage.getParent(), sb);
+ getFullPathRecurse(coverage.getParent(), includePackageName, sb);
sb.append("[" + coverage.getName() + "]");
return sb.toString();
}
- public static void getFullPathRecurse(ICoverage coverage, StringBuffer sb) {
+ public static void getFullPathRecurse(ICoverage coverage, boolean includePackageName, StringBuffer sb) {
if (coverage == null) {
return;
}
- getFullPathRecurse(coverage.getParent(), sb);
- if (coverage instanceof CoverageImport) {
+ getFullPathRecurse(coverage.getParent(), includePackageName, sb);
+ if (coverage instanceof CoverageImport && includePackageName) {
sb.append("[Import]");
} else {
- sb.append("[" + coverage.getName() + "]");
+ if (!(coverage instanceof CoveragePackageBase) || includePackageName) {
+ sb.append("[" + coverage.getName() + "]");
+ }
}
}
@@ -207,7 +215,7 @@ public class CoverageUtil {
MatchItem item = MergeManager.getPackageCoverageItem(coveragePackage, importItem);
if (!item.isMatch()) {
System.out.println(String.format("No Match for item [%s] path [%s]", importItem,
- CoverageUtil.getFullPath(importItem)));
+ CoverageUtil.getFullPath(importItem, false)));
}
}
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/dialog/CoveragePackageArtifactListDialog.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/dialog/CoveragePackageArtifactListDialog.java
index 71c8757842d..3affd1fb810 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/dialog/CoveragePackageArtifactListDialog.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/util/dialog/CoveragePackageArtifactListDialog.java
@@ -15,7 +15,10 @@ import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.ui.skynet.util.ArtifactNameSorter;
import org.eclipse.osee.framework.ui.swt.Displays;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
/**
* @author Donald G. Dunne
@@ -53,4 +56,12 @@ public class CoveragePackageArtifactListDialog extends org.eclipse.ui.dialogs.Li
});
}
+
+ @Override
+ protected Control createDialogArea(Composite container) {
+ Control control = super.createDialogArea(container);
+ getTableViewer().setSorter(new ArtifactNameSorter());
+ return control;
+ }
+
}
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/validate/CoveragePackageOrderValidator.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/validate/CoveragePackageOrderValidator.java
new file mode 100644
index 00000000000..797562a8532
--- /dev/null
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/validate/CoveragePackageOrderValidator.java
@@ -0,0 +1,102 @@
+/*
+ * Created on Apr 6, 2011
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.coverage.validate;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.eclipse.osee.coverage.model.CoverageItem;
+import org.eclipse.osee.coverage.model.CoveragePackageBase;
+import org.eclipse.osee.coverage.model.CoverageUnit;
+import org.eclipse.osee.coverage.model.ICoverage;
+import org.eclipse.osee.framework.jdk.core.util.AHTML;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.ui.skynet.results.XResultData;
+
+/**
+ * Validate that all coverage objects valid order numbers. Not duplicates and no missing numbers. Add error to list that
+ * will be showed on overview.
+ *
+ * @author Donald G. Dunne
+ */
+public class CoveragePackageOrderValidator {
+
+ private final CoveragePackageBase coveragePackageBase;
+ private final XResultData rd;
+
+ public CoveragePackageOrderValidator(CoveragePackageBase coveragePackageBase, XResultData rd) {
+ super();
+ this.coveragePackageBase = coveragePackageBase;
+ this.rd = rd;
+ }
+
+ public void run() {
+ List<String> orderErrors = new ArrayList<String>();
+ validateCoverageOrderNums(orderErrors, coveragePackageBase.getCoverageUnits());
+ if (orderErrors.size() == 0) {
+ rd.log(AHTML.newline() + AHTML.bold("Validation: ") + "Ok");
+ } else {
+ rd.log(AHTML.newline() + AHTML.bold("Validation: ") + AHTML.newline());
+ for (String str : orderErrors) {
+ rd.logError(str);
+ }
+ }
+ }
+
+ private void validateCoverageOrderNums(List<String> orderErrors, List<CoverageUnit> coverageUnits) {
+ for (CoverageUnit coverageUnit : coverageUnits) {
+
+ // validate coverage units
+ List<String> orderNums = new ArrayList<String>();
+ for (CoverageUnit unit : coverageUnit.getCoverageUnits()) {
+ if (Strings.isValid(unit.getOrderNumber())) {
+ orderNums.add(unit.getOrderNumber());
+ }
+ }
+ if (!orderNums.isEmpty()) {
+ validateNumbers("child units", orderErrors, orderNums, coverageUnit);
+ }
+ // validate coverage items
+ orderNums.clear();
+ for (CoverageItem item : coverageUnit.getCoverageItems()) {
+ if (Strings.isValid(item.getOrderNumber())) {
+ orderNums.add(item.getOrderNumber());
+ }
+ }
+ if (!orderNums.isEmpty()) {
+ validateNumbers("child items", orderErrors, orderNums, coverageUnit);
+ }
+
+ // process children coverage units
+ for (CoverageUnit unit : coverageUnit.getCoverageUnits()) {
+ validateCoverageOrderNums(orderErrors, unit.getCoverageUnits());
+ }
+ }
+ }
+
+ private void validateNumbers(String name, List<String> orderErrors, List<String> orderNums, ICoverage coverage) {
+ int maxNum = 0;
+ Map<Integer, Boolean> maxNumToFound = new HashMap<Integer, Boolean>();
+ for (String number : orderNums) {
+ int orderNum = new Integer(number);
+ if (orderNum > maxNum) {
+ maxNum = orderNum;
+ }
+ if (maxNumToFound.containsKey(orderNum)) {
+ orderErrors.add(String.format("Found duplicate [%s] order num [%s] for %s", name, orderNum,
+ coverage.toStringNoPackage()));
+ }
+ maxNumToFound.put(orderNum, true);
+ }
+ for (int x = 1; x <= orderNums.size(); x++) {
+ if (!maxNumToFound.containsKey(x)) {
+ orderErrors.add(String.format("[%s] order num [%s] not found for %s", name, x, coverage.toStringNoPackage()));
+ }
+ }
+ }
+
+}

Back to the top