1 package org
.argeo
.slc
.core
.test
.tree
;
3 import org
.springframework
.ws
.client
.core
.WebServiceTemplate
;
4 import org
.springframework
.ws
.soap
.client
.SoapFaultClientException
;
6 import org
.apache
.commons
.logging
.Log
;
7 import org
.apache
.commons
.logging
.LogFactory
;
9 import org
.argeo
.slc
.core
.test
.TestResultListener
;
10 import org
.argeo
.slc
.core
.test
.TestResultPart
;
11 import org
.argeo
.slc
.msg
.test
.tree
.CloseTreeTestResultRequest
;
12 import org
.argeo
.slc
.msg
.test
.tree
.CreateTreeTestResultRequest
;
13 import org
.argeo
.slc
.msg
.test
.tree
.ResultPartRequest
;
14 import org
.argeo
.slc
.ws
.client
.WebServiceUtils
;
16 public class WebServiceTreeTestResultNotifier
implements
17 TestResultListener
<TreeTestResult
> {
18 private WebServiceTemplate template
;
19 private Boolean onlyOnClose
= false;
21 private Log log
= LogFactory
.getLog(getClass());
23 public void resultPartAdded(TreeTestResult testResult
,
24 TestResultPart testResultPart
) {
29 if (testResult
.getResultParts().size() == 1
30 && testResult
.getResultParts().values().iterator().next()
31 .getParts().size() == 1) {
32 CreateTreeTestResultRequest req
= new CreateTreeTestResultRequest(
35 if (log
.isDebugEnabled())
36 log
.debug("Send create result request for result "
37 + testResult
.getUuid());
39 WebServiceUtils
.marshalSendAndReceive(template
, req
);
41 ResultPartRequest req
= new ResultPartRequest(testResult
);
43 if (log
.isDebugEnabled())
44 log
.debug("Send result parts for result "
45 + testResult
.getUuid());
47 WebServiceUtils
.marshalSendAndReceive(template
, req
);
49 } catch (SoapFaultClientException e
) {
50 WebServiceUtils
.manageSoapException(e
);
54 public void close(TreeTestResult testResult
) {
57 CreateTreeTestResultRequest req
= new CreateTreeTestResultRequest(
60 if (log
.isDebugEnabled())
61 log
.debug("Send create result request for result "
62 + testResult
.getUuid());
64 WebServiceUtils
.marshalSendAndReceive(template
, req
);
66 CloseTreeTestResultRequest req
= new CloseTreeTestResultRequest(
69 if (log
.isDebugEnabled())
70 log
.debug("Send close result request for result "
71 + testResult
.getUuid());
73 WebServiceUtils
.marshalSendAndReceive(template
, req
);
76 } catch (SoapFaultClientException e
) {
77 WebServiceUtils
.manageSoapException(e
);
82 public void setTemplate(WebServiceTemplate template
) {
83 this.template
= template
;
86 public void setOnlyOnClose(Boolean onlyOnClose
) {
87 this.onlyOnClose
= onlyOnClose
;