From: Mathieu Baudier Date: Tue, 29 Apr 2008 21:17:17 +0000 (+0000) Subject: Replace test result id by UUID X-Git-Tag: argeo-slc-2.1.7~2958 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;ds=sidebyside;h=0a985ad4d014b575429384ca8f5247d6c7ad7d40;p=gpl%2Fargeo-slc.git Replace test result id by UUID git-svn-id: https://svn.argeo.org/slc/trunk@1082 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/NumericTRId.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/NumericTRId.java index cd04ad7cb..0b1674ae9 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/NumericTRId.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/NumericTRId.java @@ -5,6 +5,8 @@ import org.argeo.slc.core.deploy.DeployedSystemId; /** * Basic implementation of test run id based on a long value and a reference to * a deployed system id. + * + * @deprecated */ public class NumericTRId implements TestResultId { /** For ORM */ @@ -12,13 +14,13 @@ public class NumericTRId implements TestResultId { private Long value; private DeployedSystemId deployedSystemId; - - /** For ORM*/ - public NumericTRId(){ - + + /** For ORM */ + public NumericTRId() { + } - public NumericTRId(Long value){ + public NumericTRId(Long value) { this.value = value; } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java index d865d62b2..f4dde542a 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java @@ -4,9 +4,6 @@ import java.util.Date; /** The result of a test */ public interface TestResult extends TestStatus { - /** Gets the id of the related test result. */ - public TestResultId getTestResultId(); - /** Adds a part of the result. */ public void addResultPart(TestResultPart part); diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResultId.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResultId.java index 9440287a4..46af52799 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResultId.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResultId.java @@ -2,7 +2,11 @@ package org.argeo.slc.core.test; import org.argeo.slc.core.deploy.DeployedSystemId; -/** The unique id referencing a test result. */ +/** + * The unique id referencing a test result. + * + * @deprecated + */ public interface TestResultId { /** Gets the id of the related deployed system. */ public DeployedSystemId getDeployedSystemId(); diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java index 7713e4616..59a589874 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java @@ -20,12 +20,12 @@ public abstract class AsynchronousTreeTestResultListener implements private Thread thread; private Boolean synchronous = true; - - protected AsynchronousTreeTestResultListener(){ + + protected AsynchronousTreeTestResultListener() { this(true); } - protected AsynchronousTreeTestResultListener(Boolean synchronousByDefault){ + protected AsynchronousTreeTestResultListener(Boolean synchronousByDefault) { synchronous = synchronousByDefault; } @@ -59,8 +59,8 @@ public abstract class AsynchronousTreeTestResultListener implements public final void resultPartAdded(TestResult testResult, TestResultPart testResultPart) { TreeTestResult result = (TreeTestResult) testResult; - PartStruct partStruct = new PartStruct(result.getCurrentPath(), - (NumericTRId) result.getTestResultId(), testResultPart, result); + PartStruct partStruct = new PartStruct(result.getCurrentPath(), result + .getUuid(), testResultPart, result); if (!synchronous) { synchronized (partStructs) { @@ -108,18 +108,18 @@ public abstract class AsynchronousTreeTestResultListener implements /** The tree path of this part. */ public final TreeSPath path; /** The test result id of the related test result */ - public final NumericTRId resultId; + public final String uuid; /** The part itself */ public final TestResultPart part; /** The tree test result itself. */ public final TreeTestResult result; /** Constructor */ - public PartStruct(TreeSPath path, NumericTRId resultId, - TestResultPart part, TreeTestResult result) { + public PartStruct(TreeSPath path, String uuid, TestResultPart part, + TreeTestResult result) { super(); this.path = path; - this.resultId = resultId; + this.uuid = uuid; this.part = part; this.result = result; } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java index 43a360710..6d39d210e 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java @@ -33,7 +33,7 @@ public class TreeTestResult implements TestResult, StructureAware, /** For ORM */ private Long tid; - private NumericTRId testResultId; + //private NumericTRId testResultId; private List listeners = new Vector(); private TreeSPath currentPath; @@ -44,27 +44,29 @@ public class TreeTestResult implements TestResult, StructureAware, private boolean isClosed = false; + private String uuid; + private SortedMap resultParts = new TreeMap(); private SortedMap elements = new TreeMap(); private StructureRegistry registry; - public TestResultId getTestResultId() { - return testResultId; - } +// public TestResultId getTestResultId() { +// return testResultId; +// } /** * Use of a NumericTRId is required by Hibernate. It may * change in the future. */ - public NumericTRId getNumericResultId() { - return testResultId; - } +// public NumericTRId getNumericResultId() { +// return testResultId; +// } /** Sets the test result id as a numeric test result id. */ - public void setNumericResultId(NumericTRId testResultId) { - this.testResultId = testResultId; - } +// public void setNumericResultId(NumericTRId testResultId) { +// this.testResultId = testResultId; +// } /** Sets the list of listeners. */ public void setListeners(List listeners) { @@ -130,7 +132,7 @@ public class TreeTestResult implements TestResult, StructureAware, public void close() { if (isClosed) { - throw new SlcException("Test Result #" + getTestResultId() + throw new SlcException("Test Result #" + getUuid() + " alredy closed."); } closeDate = new Date(); @@ -143,7 +145,7 @@ public class TreeTestResult implements TestResult, StructureAware, } isClosed = true; - log.info("Test Result #" + getTestResultId() + " closed."); + log.info("Test Result #" + getUuid() + " closed."); } Long getTid() { @@ -188,4 +190,12 @@ public class TreeTestResult implements TestResult, StructureAware, this.elements = pathNames; } + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java index c09c18ac3..832d86554 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java @@ -24,7 +24,7 @@ public class TreeTestResultLogger extends AsynchronousTreeTestResultListener { @Override protected void resultPartAdded(PartStruct partStruct) { TestResultPart part = partStruct.part; - String msg = partStruct.part + " - " + partStruct.resultId + ":" + String msg = partStruct.part + " - " + partStruct.uuid + ":" + partStruct.path; if (part.getStatus().equals(TestStatus.PASSED)) { log.info(msg); diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java index 12eed249a..d1679f5ac 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java @@ -29,59 +29,51 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener protected void resultPartAdded(PartStruct partStruct) { try { TreeTestResult persistedResult = testResultDao - .getTestResult(partStruct.resultId); - - if(persistedResult==null){ - testResultDao.create(partStruct.result); - } - else{ - testResultDao.update(partStruct.result); - } -/* - TreeSPath path = treeSPathDao.getOrCreate(partStruct.path); - - StructureRegistry localRegistry = partStruct.result - .getRegistry(); - TreeSRegistry registry = getOrCreateTreeSRegistry(path); - treeSRegistryDao.syncPath(registry, localRegistry, path); + .getTestResult(partStruct.uuid); if (persistedResult == null) { - persistedResult = new TreeTestResult(); - persistedResult.setNumericResultId(partStruct.resultId); - PartSubList subList = new PartSubList(); - subList.getParts().add(partStruct.part); - persistedResult.getResultParts().put(path, subList); - - testResultDao.create(persistedResult); + testResultDao.create(partStruct.result); } else { - PartSubList subList = persistedResult.getResultParts() - .get(path); - if (subList == null) { - subList = new PartSubList(); - persistedResult.getResultParts().put(path, subList); - } - persistedResult.getResultParts().get(path).getParts().add( - partStruct.part); - - if (log.isTraceEnabled()) { - log.trace("ResultId:" + persistedResult.getTestResultId()); - log.trace("ResultParts size:" - + persistedResult.getResultParts().size()); - log.trace("Sublist size:" + subList.getParts().size()); - log.trace("Part: " + partStruct.part); - } - testResultDao.update(persistedResult); - }*/ + testResultDao.update(partStruct.result); + } + /* + * TreeSPath path = treeSPathDao.getOrCreate(partStruct.path); + * + * StructureRegistry localRegistry = partStruct.result + * .getRegistry(); TreeSRegistry registry = + * getOrCreateTreeSRegistry(path); + * treeSRegistryDao.syncPath(registry, localRegistry, path); + * + * if (persistedResult == null) { persistedResult = new + * TreeTestResult(); + * persistedResult.setNumericResultId(partStruct.resultId); + * PartSubList subList = new PartSubList(); + * subList.getParts().add(partStruct.part); + * persistedResult.getResultParts().put(path, subList); + * + * testResultDao.create(persistedResult); } else { PartSubList + * subList = persistedResult.getResultParts() .get(path); if + * (subList == null) { subList = new PartSubList(); + * persistedResult.getResultParts().put(path, subList); } + * persistedResult.getResultParts().get(path).getParts().add( + * partStruct.part); + * + * if (log.isTraceEnabled()) { log.trace("ResultId:" + + * persistedResult.getTestResultId()); log.trace("ResultParts size:" + + * persistedResult.getResultParts().size()); log.trace("Sublist + * size:" + subList.getParts().size()); log.trace("Part: " + + * partStruct.part); } testResultDao.update(persistedResult); } + */ } catch (Exception e) { - log.error("Could not persist part for result #" - + partStruct.resultId, e); + log.error("Could not persist part for result #" + partStruct.uuid, + e); } } @Override protected void postClose(TreeTestResult testResult) { TreeTestResult persistedResult = (TreeTestResult) testResultDao - .getTestResult(testResult.getTestResultId()); + .getTestResult(testResult.getUuid()); if (persistedResult != null) { persistedResult.setCloseDate(testResult.getCloseDate()); @@ -89,7 +81,7 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener } if (log.isDebugEnabled()) log.debug("Closed result persister for result " - + testResult.getNumericResultId()); + + testResult.getUuid()); } private TreeSRegistry getOrCreateTreeSRegistry(TreeSPath path) { diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java index d69dfa4f9..a77eb34f0 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java @@ -95,7 +95,7 @@ public class FullHtmlTreeReport implements TestReport, StructureAware { */ protected File getResultFile(TreeTestResult result) { return new File(reportDir.getPath() + File.separator + "slc-result-" - + result.getTestResultId() + ".html"); + + result.getUuid() + ".html"); } /** Sets the DAO to use to extract all data. */ diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java index e805714f9..31560541d 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java @@ -44,7 +44,7 @@ class ResultPage { StringBuffer buf = new StringBuffer(""); buf.append("\n"); buf.append("
"); - buf.append("Result #").append(result.getTestResultId()); + buf.append("<title>Result #").append(result.getUuid()); buf.append("\n"); report.addStyles(buf); buf.append("
\n"); @@ -53,7 +53,7 @@ class ResultPage { // Header buf.append("\n"); - buf.append("

Result #").append(result.getTestResultId()).append( + buf.append("

Result #").append(result.getUuid()).append( "

\n"); Date closeDate = result.getCloseDate(); if (closeDate == null) { diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java index ad9b2bfec..09895d454 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java @@ -41,7 +41,7 @@ class ResultsList { buf.append("
#"); - buf.append(result.getTestResultId()).append("\n"); + buf.append(result.getUuid()).append("\n"); buf.append("\n"); } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestResultDao.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestResultDao.java index 3c8033050..b67fa895f 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestResultDao.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestResultDao.java @@ -12,7 +12,7 @@ import org.argeo.slc.core.test.TestResultId; */ public interface TestResultDao { /** Gets a test result based on its id. */ - public T getTestResult(TestResultId id); + public T getTestResult(String uuid); /** Persists a new test result. */ public void create(TestResult testResult); diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java index 9dc76d6e1..3dcf00887 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java @@ -27,11 +27,9 @@ public class TestResultDaoHibernate extends HibernateDaoSupport implements getHibernateTemplate().saveOrUpdate(testResult); } - public TreeTestResult getTestResult(TestResultId id) { - NumericTRId ntrid = (NumericTRId) id; + public TreeTestResult getTestResult(String uuid) { List list = getHibernateTemplate().find( - "from TreeTestResult where numericResultId.value=?", - ntrid.getValue()); + "from TreeTestResult where uuid=?", uuid); if (list.size() == 0) { return null; } else { diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java index 6f5e7b63b..237811ebe 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java @@ -17,7 +17,7 @@ import org.argeo.slc.core.test.tree.TreeTestResult; public class UnitTestTreeUtil { public static void assertTreeTestResult(TreeTestResult expected, TreeTestResult reached) { - assertEquals(expected.getTestResultId(), reached.getTestResultId()); + assertEquals(expected.getUuid(), reached.getUuid()); assertDateSec(expected.getCloseDate(), reached.getCloseDate()); assertEquals(expected.getResultParts().size(), reached.getResultParts() diff --git a/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/tree/mapping.xml b/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/tree/mapping.xml index 16b4970e4..45d9dd9cf 100644 --- a/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/tree/mapping.xml +++ b/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/tree/mapping.xml @@ -7,13 +7,10 @@ auto-complete="false"> - - - - + + + @@ -48,15 +45,6 @@ - - - - - - - - - - + - - diff --git a/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd b/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd index fc8493e42..69700597f 100644 --- a/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd +++ b/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd @@ -6,22 +6,13 @@ - - - - - - - - - + diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java index 591a1d368..9b26ac8fa 100644 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java @@ -1,6 +1,7 @@ package org.argeo.slc.core.test.tree; import java.util.Date; +import java.util.UUID; import org.argeo.slc.core.process.SlcExecution; import org.argeo.slc.core.process.SlcExecutionStep; @@ -8,7 +9,6 @@ import org.argeo.slc.core.process.SlcExecutionTestUtils; import org.argeo.slc.core.structure.SimpleSElement; import org.argeo.slc.core.structure.tree.TreeSPath; import org.argeo.slc.core.structure.tree.TreeSRegistry; -import org.argeo.slc.core.test.NumericTRId; import org.argeo.slc.core.test.SimpleResultPart; import org.argeo.slc.core.test.TestStatus; @@ -16,8 +16,7 @@ public abstract class TreeTestResultTestUtils { public static TreeTestResult createSimpleTreeTestResult() { TreeTestResult treeTestResult = new TreeTestResult(); - treeTestResult.setNumericResultId(new NumericTRId(System - .currentTimeMillis())); + treeTestResult.setUuid(UUID.randomUUID().toString()); treeTestResult.setCloseDate(new Date()); return treeTestResult; } diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java index b8d29881a..bb80ddca0 100644 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java @@ -23,7 +23,7 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { testResultDao.create(ttr); TreeTestResult ttrPersisted = (TreeTestResult) testResultDao - .getTestResult(ttr.getTestResultId()); + .getTestResult(ttr.getUuid()); UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersisted); } @@ -36,7 +36,7 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { testResultDao.create(ttr); TreeTestResult ttrUpdated = (TreeTestResult) testResultDao - .getTestResult(ttr.getTestResultId()); + .getTestResult(ttr.getUuid()); // Modifying ttrUpdated @@ -64,7 +64,7 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { // comparison of ttrUpdated and ttrRetrieved TreeTestResult ttrRetrieved = (TreeTestResult) testResultDao - .getTestResult(ttr.getTestResultId()); + .getTestResult(ttr.getUuid()); UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated); } diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml index b874191eb..37fd9d386 100644 --- a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml @@ -9,10 +9,8 @@ - - - - + + @@ -21,6 +19,10 @@ + + +