1 package org
.argeo
.slc
.ws
.test
.tree
;
3 import org
.springframework
.ws
.server
.endpoint
.AbstractMarshallingPayloadEndpoint
;
5 import org
.apache
.commons
.logging
.Log
;
6 import org
.apache
.commons
.logging
.LogFactory
;
8 import org
.argeo
.slc
.core
.SlcException
;
9 import org
.argeo
.slc
.core
.test
.tree
.PartSubList
;
10 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
11 import org
.argeo
.slc
.dao
.test
.tree
.TreeTestResultDao
;
12 import org
.argeo
.slc
.msg
.test
.tree
.ResultPartRequest
;
14 public class ResultPartRequestEp
extends AbstractMarshallingPayloadEndpoint
{
16 private Log log
= LogFactory
.getLog(getClass());
18 private final TreeTestResultDao treeTestResultDao
;
20 public ResultPartRequestEp(TreeTestResultDao treeTestResultDao
) {
21 this.treeTestResultDao
= treeTestResultDao
;
25 protected Object
invokeInternal(Object requestObject
) throws Exception
{
26 ResultPartRequest msg
= (ResultPartRequest
) requestObject
;
27 TreeTestResult treeTestResult
= treeTestResultDao
.getTestResult(msg
29 if (treeTestResult
== null) {
30 throw new SlcException("No result with id " + msg
.getResultUuid());
33 PartSubList lst
= treeTestResult
.getResultParts().get(msg
.getPath());
35 lst
= new PartSubList();
36 treeTestResult
.getResultParts().put(msg
.getPath(), lst
);
38 lst
.getParts().add(msg
.getResultPart());
39 treeTestResult
.getElements().putAll(msg
.getRelatedElements());
41 treeTestResultDao
.update(treeTestResult
);
43 if (log
.isDebugEnabled())
44 log
.debug("Update result with id " + treeTestResult
.getUuid());