Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjmisinco2014-06-11 21:17:04 +0000
committerMegumi Telles2014-06-12 15:21:04 +0000
commite702b73607abbf885421cdfec97290364d5e8476 (patch)
treea52c56c28f360a98bbf4778712eae94658a9fb34 /plugins/org.eclipse.osee.coverage/src
parent4ec2db0248052eacd0c7cac44ce0b0f078bb2e21 (diff)
downloadorg.eclipse.osee-e702b73607abbf885421cdfec97290364d5e8476.tar.gz
org.eclipse.osee-e702b73607abbf885421cdfec97290364d5e8476.tar.xz
org.eclipse.osee-e702b73607abbf885421cdfec97290364d5e8476.zip
bug[ats_ATS64273]: Coverage showing Unresolved ID
I realize this change is a terrible kludge and welcome anyone else to come up with a different solution that's not a rewrite of coverage. Change-Id: I40491aae859b4292c57a59e6fb07c2341c4eecfe
Diffstat (limited to 'plugins/org.eclipse.osee.coverage/src')
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/dispo/ImportCoverageMethodsOperation.java11
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageUnitStore.java18
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/TestUnitCache.java13
3 files changed, 33 insertions, 9 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/dispo/ImportCoverageMethodsOperation.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/dispo/ImportCoverageMethodsOperation.java
index 337a0a36102..0393bbb1878 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/dispo/ImportCoverageMethodsOperation.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/dispo/ImportCoverageMethodsOperation.java
@@ -29,7 +29,10 @@ import org.eclipse.osee.coverage.model.CoverageUnit;
import org.eclipse.osee.coverage.model.ICoverage;
import org.eclipse.osee.coverage.model.ICoverageItemProvider;
import org.eclipse.osee.coverage.model.ICoverageUnitProvider;
+import org.eclipse.osee.coverage.model.ITestUnitProvider;
import org.eclipse.osee.coverage.store.OseeCoveragePackageStore;
+import org.eclipse.osee.coverage.store.OseeCoverageUnitStore;
+import org.eclipse.osee.coverage.store.TestUnitCache;
import org.eclipse.osee.coverage.util.CoverageUtil;
import org.eclipse.osee.framework.core.enums.CoreArtifactTypes;
import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
@@ -100,6 +103,14 @@ public class ImportCoverageMethodsOperation extends org.eclipse.osee.framework.c
// Merge Dispositions
processDispositionsRecurse(monitor, counter, data, fromPackage, toPackage);
+ ITestUnitProvider fromProvider = OseeCoverageUnitStore.getTestUnitProvider(fromPackageArt, null);
+ ITestUnitProvider toProvider = OseeCoverageUnitStore.getTestUnitProvider(toPackageArt, null);
+
+ if (fromProvider instanceof TestUnitCache && toProvider instanceof TestUnitCache) {
+ TestUnitCache toTUC = (TestUnitCache) toProvider;
+ TestUnitCache fromTUC = (TestUnitCache) fromProvider;
+ toTUC.merge(fromTUC);
+ }
data.log("\n\nTotals: " + counter.toString());
data.log(title);
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageUnitStore.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageUnitStore.java
index 05a9d346f0c..d2d98293b63 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageUnitStore.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/OseeCoverageUnitStore.java
@@ -110,7 +110,8 @@ public class OseeCoverageUnitStore extends OseeCoverageStore {
if (artifact != null) {
for (String value : artifact.getAttributesToStringList(CoverageAttributeTypes.Item)) {
CoverageItem item =
- CoverageItem.createCoverageItem(coverageUnit, value, coverageOptionManager, getTestUnitProvider());
+ CoverageItem.createCoverageItem(coverageUnit, value, coverageOptionManager,
+ getTestUnitProvider(coveragePackage, readOnlyTestUnitNames));
coverageUnit.addCoverageItem(item);
}
// Don't load file contents until needed
@@ -132,13 +133,13 @@ public class OseeCoverageUnitStore extends OseeCoverageStore {
}
}
- private ITestUnitProvider getTestUnitProvider() {
- ITestUnitProvider testUnitProvider = testUnitProviderMap.get(coveragePackage);
+ public static ITestUnitProvider getTestUnitProvider(Artifact coveragePkg, Artifact readOnly) {
+ ITestUnitProvider testUnitProvider = testUnitProviderMap.get(coveragePkg);
if (testUnitProvider == null) {
- ArtifactTestUnitStore store = new ArtifactTestUnitStore(coveragePackage, readOnlyTestUnitNames);
+ ArtifactTestUnitStore store = new ArtifactTestUnitStore(coveragePkg, readOnly);
testUnitProvider = new TestUnitCache(store);
- testUnitProviderMap.put(coveragePackage, testUnitProvider);
+ testUnitProviderMap.put(coveragePkg, testUnitProvider);
}
return testUnitProvider;
}
@@ -152,7 +153,8 @@ public class OseeCoverageUnitStore extends OseeCoverageStore {
if (eventType == CoverageEventType.Modified) {
for (String value : artifact.getAttributesToStringList(CoverageAttributeTypes.Item)) {
CoverageItem dbChangedItem =
- CoverageItem.createCoverageItem(coverageUnit, value, coverageOptionManager, getTestUnitProvider());
+ CoverageItem.createCoverageItem(coverageUnit, value, coverageOptionManager,
+ getTestUnitProvider(coveragePackage, readOnlyTestUnitNames));
if (currentCoverageItem.getGuid().equals(dbChangedItem.getGuid())) {
currentCoverageItem.copy(currentCoverageItem, dbChangedItem);
}
@@ -174,7 +176,7 @@ public class OseeCoverageUnitStore extends OseeCoverageStore {
// Get test names from coverageItem
Collection<String> testUnitNames = coverageItem.getTestUnits();
// Set provider to db provider
- coverageItem.setTestUnitProvider(getTestUnitProvider());
+ coverageItem.setTestUnitProvider(getTestUnitProvider(coveragePackage, readOnlyTestUnitNames));
// store off testUnitNames; this will add to db and replace names with db nameId
coverageItem.setTestUnits(testUnitNames);
items.add(coverageItem.toXml());
@@ -291,7 +293,7 @@ public class OseeCoverageUnitStore extends OseeCoverageStore {
@Override
public void saveTestUnitNames(SkynetTransaction transaction) throws OseeCoreException {
- getTestUnitProvider().save(transaction);
+ getTestUnitProvider(coveragePackage, readOnlyTestUnitNames).save(transaction);
}
public CoverageUnit getCoverageUnit() {
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/TestUnitCache.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/TestUnitCache.java
index 9456a04d004..9d6b3b8da4f 100644
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/TestUnitCache.java
+++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/TestUnitCache.java
@@ -10,7 +10,6 @@
*******************************************************************************/
package org.eclipse.osee.coverage.store;
-import java.rmi.activation.Activator;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashSet;
@@ -20,6 +19,7 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeSet;
import java.util.logging.Level;
+import org.eclipse.osee.coverage.internal.Activator;
import org.eclipse.osee.coverage.model.CoverageItem;
import org.eclipse.osee.coverage.model.ITestUnitProvider;
import org.eclipse.osee.framework.jdk.core.type.HashCollection;
@@ -191,6 +191,17 @@ public class TestUnitCache implements ITestUnitProvider {
}
}
+ public void merge(TestUnitCache from) {
+ Set<Entry<Integer, String>> entries = from.getAllCachedTestUnitEntries();
+ for (Entry<Integer, String> entry : entries) {
+ try {
+ put(entry.getKey(), entry.getValue());
+ } catch (OseeArgumentException ex) {
+ OseeLog.log(Activator.class, Level.WARNING, "Duplicate keys found for id: " + entry.getKey(), ex);
+ }
+ }
+ }
+
@Override
public synchronized void save(SkynetTransaction transaction) throws OseeCoreException {
ensurePopulated();

Back to the top