X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fmsg%2Ftest%2Ftree%2FResultPartRequest.java;h=7e3750ea913b75c68db197cf15d9c7a7329fab32;hb=42aa6ffce6a95107cd10f908e5f9c695d902d571;hp=88f4f9f2c9dc2c9dea2ea897bd95f7497f8199c2;hpb=62e442adb36b006627b17061864dfa4edde0a99a;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java index 88f4f9f2c..7e3750ea9 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java @@ -2,16 +2,17 @@ package org.argeo.slc.msg.test.tree; import java.util.Map; +import org.argeo.slc.core.SlcException; import org.argeo.slc.core.structure.StructureElement; import org.argeo.slc.core.structure.tree.TreeSPath; import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.core.test.TestResultPart; import org.argeo.slc.core.test.TestRunDescriptor; +import org.argeo.slc.core.test.tree.PartSubList; import org.argeo.slc.core.test.tree.TreeTestResult; public class ResultPartRequest { private String resultUuid; - private TestResultPart resultPart; + private SimpleResultPart resultPart; private TreeSPath path; private Map relatedElements; private TestRunDescriptor testRunDescriptor; @@ -21,10 +22,27 @@ public class ResultPartRequest { } public ResultPartRequest(TreeTestResult ttr, TreeSPath path, - TestResultPart resultPart) { + SimpleResultPart resultPart) { resultUuid = ttr.getUuid(); this.resultPart = resultPart; - this.path = path; + this.path = (path != null ? path : ttr.getCurrentPath()); + relatedElements = ttr.getRelatedElements(this.path); + if (ttr.getCurrentTestRun() != null) + testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun()); + } + + public ResultPartRequest(TreeTestResult ttr) { + resultUuid = ttr.getUuid(); + this.path = ttr.getCurrentPath(); + + PartSubList lst = ttr.getResultParts().get(path); + if (lst.getParts().size() < 1) { + throw new SlcException("Cannot find part for path " + path + + " in result " + resultUuid); + } + + this.resultPart = (SimpleResultPart) lst.getParts().get( + lst.getParts().size() - 1); relatedElements = ttr.getRelatedElements(path); if (ttr.getCurrentTestRun() != null) testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun()); @@ -38,11 +56,11 @@ public class ResultPartRequest { this.resultUuid = resultUuid; } - public TestResultPart getResultPart() { + public SimpleResultPart getResultPart() { return resultPart; } - public void setResultPart(TestResultPart resultPart) { + public void setResultPart(SimpleResultPart resultPart) { this.resultPart = resultPart; } @@ -71,4 +89,8 @@ public class ResultPartRequest { this.relatedElements = relatedElements; } + @Override + public String toString() { + return getClass().getSimpleName() + "#" + resultUuid + " " + path; + } }