diff options
author | kwilk | 2012-01-10 22:35:52 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2012-01-10 22:35:52 +0000 |
commit | 969e97555ee0bab63242463dc88b4f4bec2e3e7e (patch) | |
tree | 2ef92ece789b18329ea754de680c7a79798882d1 /plugins/org.eclipse.osee.coverage | |
parent | 3717d2cb4831dcbf0991d86050e196bb3ee8f689 (diff) | |
download | org.eclipse.osee-969e97555ee0bab63242463dc88b4f4bec2e3e7e.tar.gz org.eclipse.osee-969e97555ee0bab63242463dc88b4f4bec2e3e7e.tar.xz org.eclipse.osee-969e97555ee0bab63242463dc88b4f4bec2e3e7e.zip |
bug[ats_6WFC6]: SkynetTransaction multiple transaction problem
Diffstat (limited to 'plugins/org.eclipse.osee.coverage')
6 files changed, 30 insertions, 15 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ITestUnitProvider.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ITestUnitProvider.java index 9293c236986..c9357fd0cd7 100644 --- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ITestUnitProvider.java +++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/ITestUnitProvider.java @@ -12,6 +12,7 @@ package org.eclipse.osee.coverage.model; import java.util.Collection; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; /** * Allow external mechnism for test units to be provided to UI @@ -32,4 +33,6 @@ public interface ITestUnitProvider { public void fromXml(CoverageItem coverageItem, String xml) throws OseeCoreException; + public void save(SkynetTransaction transaction) throws OseeCoreException; + } diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/SimpleTestUnitProvider.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/SimpleTestUnitProvider.java index e0a0ec4cf40..7b61a5d9015 100644 --- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/SimpleTestUnitProvider.java +++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/model/SimpleTestUnitProvider.java @@ -14,6 +14,7 @@ import java.util.Collection; import org.eclipse.osee.framework.jdk.core.type.HashCollection; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.jdk.core.util.Strings; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; /** * Simple provider that optimizes how test units are stored by sharing test unit names. @@ -70,4 +71,9 @@ public class SimpleTestUnitProvider implements ITestUnitProvider { coverageItemToTestUnits.removeValue(coverageItem, testUnitName); } + @Override + public void save(SkynetTransaction transaction) { + // do nothing cause storeage is in memory only + } + } diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ArtifactTestUnitStore.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ArtifactTestUnitStore.java index 8e3000c88b4..112ea9d4673 100644 --- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ArtifactTestUnitStore.java +++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ArtifactTestUnitStore.java @@ -26,6 +26,7 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.skynet.core.artifact.Artifact; import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; /** * @author John Misinco @@ -56,7 +57,7 @@ public class ArtifactTestUnitStore implements ITestUnitStore { } @Override - public void store(TestUnitCache cache) throws OseeCoreException { + public void store(TestUnitCache cache, SkynetTransaction transaction) throws OseeCoreException { Artifact artifact = getCoverageTestUnitArtifact(); Set<Entry<Integer, String>> entries = cache.getAllCachedTestUnitEntries(); @@ -71,7 +72,7 @@ public class ArtifactTestUnitStore implements ITestUnitStore { String storage = asStorage(entriesList); artifact.setSoleAttributeFromString(CoreAttributeTypes.GeneralStringData, storage); - artifact.persist(getClass().getSimpleName()); + artifact.persist(transaction); } protected String asStorage(List<Entry<Integer, String>> entries) { diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ITestUnitStore.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ITestUnitStore.java index e3d3b33571c..6c7142ac0be 100644 --- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ITestUnitStore.java +++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/store/ITestUnitStore.java @@ -11,6 +11,7 @@ package org.eclipse.osee.coverage.store; import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; /** * @author John Misinco @@ -19,6 +20,6 @@ public interface ITestUnitStore { public void load(TestUnitCache cache) throws OseeCoreException; - public void store(TestUnitCache cache) throws OseeCoreException; + public void store(TestUnitCache cache, SkynetTransaction transaction) throws OseeCoreException; }
\ No newline at end of file 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 9eceb311adb..56e7a58addf 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 @@ -249,6 +249,7 @@ public class OseeCoverageUnitStore extends OseeCoverageStore { } coverageEvent.getCoverages().add(change); } + getTestUnitProvider().save(transaction); return Result.TrueResult; } 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 c8b91c9c0e8..33fc7f73285 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 @@ -26,6 +26,7 @@ import org.eclipse.osee.framework.jdk.core.type.HashCollection; import org.eclipse.osee.framework.jdk.core.util.Collections; import org.eclipse.osee.framework.jdk.core.util.Strings; import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction; import com.google.common.collect.HashBiMap; /** @@ -156,14 +157,15 @@ public class TestUnitCache implements ITestUnitProvider { } @Override - public String toXml(CoverageItem coverageItem) throws OseeCoreException { - String toReturn = ""; + public String toXml(CoverageItem coverageItem) { + + String toReturn = Strings.emptyString(); + Collection<Integer> values = itemsToTestUnit.getValues(coverageItem); if (values != null) { List<Integer> testIdEntries = (List<Integer>) values; java.util.Collections.sort(testIdEntries); toReturn = Collections.toString(";", testIdEntries); - persist(); } return toReturn; } @@ -180,14 +182,6 @@ public class TestUnitCache implements ITestUnitProvider { itemsToTestUnit.put(coverageItem, entries); } - public void persist() throws OseeCoreException { - ensurePopulated(); - if (cacheIsDirty) { - testUnitStore.store(this); - cacheIsDirty = false; - } - } - private synchronized void ensurePopulated() throws OseeCoreException { if (!ensurePopulatedRanOnce) { ensurePopulatedRanOnce = true; @@ -199,4 +193,13 @@ public class TestUnitCache implements ITestUnitProvider { } } -}
\ No newline at end of file + @Override + public void save(SkynetTransaction transaction) throws OseeCoreException { + ensurePopulated(); + if (cacheIsDirty) { + testUnitStore.store(this, transaction); + cacheIsDirty = false; + } + } + +} |