]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/services/impl/TestManagerServiceAdapter.java
Improve logging
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / services / impl / TestManagerServiceAdapter.java
1 package org.argeo.slc.services.impl;
2
3 import org.argeo.slc.core.attachment.Attachment;
4 import org.argeo.slc.core.attachment.SimpleAttachment;
5 import org.argeo.slc.core.test.tree.TreeTestResult;
6 import org.argeo.slc.core.test.tree.TreeTestResultListener;
7 import org.argeo.slc.msg.test.tree.AddTreeTestResultAttachmentRequest;
8 import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
9 import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
10 import org.argeo.slc.msg.test.tree.ResultPartRequest;
11 import org.argeo.slc.services.TestManagerService;
12 import org.argeo.slc.test.TestResultPart;
13
14 /** In memory access to a test manager service */
15 public class TestManagerServiceAdapter implements TreeTestResultListener {
16 private Boolean onlyOnClose = false;
17
18 private TestManagerService testManagerService;
19
20 public void resultPartAdded(TreeTestResult testResult,
21 TestResultPart testResultPart) {
22 if (onlyOnClose)
23 return;
24
25 if (testResult.getResultParts().size() == 1
26 && testResult.getResultParts().values().iterator().next()
27 .getParts().size() == 1) {
28 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
29 testResult);
30 testManagerService.createTreeTestResult(req);
31 } else {
32 ResultPartRequest req = new ResultPartRequest(testResult);
33 testManagerService.addResultPart(req);
34 }
35 }
36
37 public void close(TreeTestResult testResult) {
38 if (onlyOnClose) {
39 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
40 testResult);
41 testManagerService.createTreeTestResult(req);
42 } else {
43 CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(
44 testResult);
45 testManagerService.closeTreeTestResult(req);
46 }
47 }
48
49 public void addAttachment(TreeTestResult testResult, Attachment attachment) {
50 if (onlyOnClose)
51 return;
52 AddTreeTestResultAttachmentRequest req = new AddTreeTestResultAttachmentRequest();
53 req.setResultUuid(testResult.getUuid());
54 req.setAttachment((SimpleAttachment) attachment);
55 testManagerService.addAttachment(req);
56
57 }
58
59 /** Publishes the test result only when it gets closed. */
60 public void setOnlyOnClose(Boolean onlyOnClose) {
61 this.onlyOnClose = onlyOnClose;
62 }
63
64 public void setTestManagerService(TestManagerService testManagerService) {
65 this.testManagerService = testManagerService;
66 }
67
68 }