]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/JcrTestResult.java
Fix execution spec node added twice
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / JcrTestResult.java
index a27217811938bc95310773dad8324abd74f19c42..0b419ccd7cad8e587d3e98c6f30bc76f1ecf9bac 100644 (file)
@@ -127,7 +127,14 @@ public class JcrTestResult implements TestResult, SlcNames, AttachmentsEnabled {
 
        public void addResultPart(TestResultPart testResultPart) {
                Node node = getNode();
+
                try {
+                       // error : revert all unsaved changes on the resultNode to be sure
+                       // it is in a consistant state
+                       if (testResultPart.getExceptionMessage() != null)
+                               JcrUtils.discardQuietly(node.getSession());
+                       node.getSession().save();
+
                        // add the new result part, retrieving status information
                        Node resultPartNode = node.addNode(SlcNames.SLC_RESULT_PART,
                                        SlcTypes.SLC_CHECK);
@@ -197,7 +204,7 @@ public class JcrTestResult implements TestResult, SlcNames, AttachmentsEnabled {
                        node.getSession().save();
                } catch (Exception e) {
                        JcrUtils.discardUnderlyingSessionQuietly(node);
-                       throw new SlcException("Cannot get UUID from " + node, e);
+                       throw new SlcException("Cannot add ResultPart to node " + node, e);
                }
        }