1 package org
.argeo
.slc
.core
.test
.tree
;
5 import org
.springframework
.ws
.client
.core
.WebServiceTemplate
;
6 import org
.springframework
.ws
.soap
.client
.SoapFaultClientException
;
8 import org
.apache
.commons
.logging
.Log
;
9 import org
.apache
.commons
.logging
.LogFactory
;
11 import org
.argeo
.slc
.core
.test
.TestResultListener
;
12 import org
.argeo
.slc
.core
.test
.TestResultPart
;
13 import org
.argeo
.slc
.dao
.test
.tree
.TreeTestResultDao
;
14 import org
.argeo
.slc
.msg
.process
.SlcExecutionRequest
;
15 import org
.argeo
.slc
.msg
.process
.SlcExecutionStepsRequest
;
16 import org
.argeo
.slc
.msg
.test
.tree
.CloseTreeTestResultRequest
;
17 import org
.argeo
.slc
.msg
.test
.tree
.CreateTreeTestResultRequest
;
18 import org
.argeo
.slc
.msg
.test
.tree
.ResultPartRequest
;
19 import org
.argeo
.slc
.ws
.client
.WebServiceUtils
;
21 public class WebServiceSlcExecutionNotifier
implements
22 TestResultListener
<TreeTestResult
> {
23 private WebServiceTemplate template
;
24 private Boolean onlyOnClose
= false;
26 private Log log
= LogFactory
.getLog(getClass());
28 public void resultPartAdded(TreeTestResult testResult
,
29 TestResultPart testResultPart
) {
31 if (testResult
.getResultParts().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
;