]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsTreeTestResultListener.java
Compilation error with JDK 1.5
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.activemq / src / main / java / org / argeo / slc / jms / JmsTreeTestResultListener.java
1 package org.argeo.slc.jms;
2
3 import javax.jms.Destination;
4
5 import org.apache.commons.logging.Log;
6 import org.apache.commons.logging.LogFactory;
7 import org.argeo.slc.SlcException;
8 import org.argeo.slc.core.attachment.Attachment;
9 import org.argeo.slc.core.attachment.SimpleAttachment;
10 import org.argeo.slc.core.test.tree.TreeTestResult;
11 import org.argeo.slc.core.test.tree.TreeTestResultListener;
12 import org.argeo.slc.msg.test.tree.AddTreeTestResultAttachmentRequest;
13 import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
14 import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
15 import org.argeo.slc.msg.test.tree.ResultPartRequest;
16 import org.argeo.slc.test.TestResultListener;
17 import org.argeo.slc.test.TestResultPart;
18 import org.springframework.jms.core.JmsTemplate;
19
20 public class JmsTreeTestResultListener implements TreeTestResultListener {
21 private final Log log = LogFactory.getLog(getClass());
22
23 private Boolean onlyOnClose = false;
24 private JmsTemplate jmsTemplate;
25
26 private Destination executionEventDestination;
27
28 // private Destination createDestination;
29 // private Destination addResultPartDestination;
30 // private Destination closeDestination;
31
32 public void resultPartAdded(TreeTestResult testResult,
33 TestResultPart testResultPart) {
34 if (onlyOnClose)
35 return;
36
37 try {
38 if (testResult.getResultParts().size() == 1
39 && testResult.getResultParts().values().iterator().next()
40 .getParts().size() == 1) {
41 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
42 testResult);
43
44 if (log.isDebugEnabled())
45 log.debug("Send create result request for result "
46 + testResult.getUuid());
47
48 jmsTemplate.convertAndSend(executionEventDestination, req);
49 } else {
50 ResultPartRequest req = new ResultPartRequest(testResult);
51
52 if (log.isDebugEnabled())
53 log.debug("Send result parts for result "
54 + testResult.getUuid());
55
56 jmsTemplate.convertAndSend(executionEventDestination, req);
57 }
58 } catch (Exception e) {
59 throw new SlcException("Could not notify to JMS", e);
60 }
61 }
62
63 public void close(TreeTestResult testResult) {
64 try {
65 if (onlyOnClose) {
66 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
67 testResult);
68
69 if (log.isDebugEnabled())
70 log.debug("Send create result request for result "
71 + testResult.getUuid());
72
73 jmsTemplate.convertAndSend(executionEventDestination, req);
74 } else {
75 CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(
76 testResult);
77
78 if (log.isDebugEnabled())
79 log.debug("Send close result request for result "
80 + testResult.getUuid());
81
82 jmsTemplate.convertAndSend(executionEventDestination, req);
83
84 }
85 } catch (Exception e) {
86 throw new SlcException("Could not notify to JMS", e);
87 }
88 }
89
90 public void addAttachment(TreeTestResult testResult, Attachment attachment) {
91 try {
92 AddTreeTestResultAttachmentRequest req = new AddTreeTestResultAttachmentRequest();
93 req.setResultUuid(testResult.getUuid());
94 req.setAttachment((SimpleAttachment) attachment);
95 jmsTemplate.convertAndSend(executionEventDestination, req);
96
97 } catch (Exception e) {
98 throw new SlcException("Could not notify to JMS", e);
99 }
100
101 }
102
103 public void setOnlyOnClose(Boolean onlyOnClose) {
104 this.onlyOnClose = onlyOnClose;
105 }
106
107 public void setJmsTemplate(JmsTemplate jmsTemplate) {
108 this.jmsTemplate = jmsTemplate;
109 }
110
111 public void setExecutionEventDestination(
112 Destination executionEventDestination) {
113 this.executionEventDestination = executionEventDestination;
114 }
115
116 }