]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/services/impl/TestManagerServiceAdapter.java
Move to SLC legacy
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / services / impl / TestManagerServiceAdapter.java
1 /*
2 * Copyright (C) 2007-2012 Mathieu Baudier
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.slc.services.impl;
17
18 import org.argeo.slc.core.attachment.Attachment;
19 import org.argeo.slc.core.attachment.SimpleAttachment;
20 import org.argeo.slc.core.test.tree.TreeTestResult;
21 import org.argeo.slc.core.test.tree.TreeTestResultListener;
22 import org.argeo.slc.msg.test.tree.AddTreeTestResultAttachmentRequest;
23 import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
24 import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
25 import org.argeo.slc.msg.test.tree.ResultPartRequest;
26 import org.argeo.slc.services.TestManagerService;
27 import org.argeo.slc.test.TestResultPart;
28
29 /** In memory access to a test manager service */
30 public class TestManagerServiceAdapter implements TreeTestResultListener {
31 private Boolean onlyOnClose = false;
32
33 private TestManagerService testManagerService;
34
35 public void resultPartAdded(TreeTestResult testResult,
36 TestResultPart testResultPart) {
37 if (onlyOnClose)
38 return;
39
40 if (testResult.getResultParts().size() == 1
41 && testResult.getResultParts().values().iterator().next()
42 .getParts().size() == 1) {
43 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
44 testResult);
45 testManagerService.createTreeTestResult(req);
46 } else {
47 ResultPartRequest req = new ResultPartRequest(testResult);
48 testManagerService.addResultPart(req);
49 }
50 }
51
52 public void close(TreeTestResult testResult) {
53 if (onlyOnClose) {
54 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
55 testResult);
56 testManagerService.createTreeTestResult(req);
57 } else {
58 CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(
59 testResult);
60 testManagerService.closeTreeTestResult(req);
61 }
62 }
63
64 public void addAttachment(TreeTestResult testResult, Attachment attachment) {
65 if (onlyOnClose)
66 return;
67 AddTreeTestResultAttachmentRequest req = new AddTreeTestResultAttachmentRequest();
68 req.setResultUuid(testResult.getUuid());
69 req.setAttachment((SimpleAttachment) attachment);
70 testManagerService.addAttachment(req);
71
72 }
73
74 /** Publishes the test result only when it gets closed. */
75 public void setOnlyOnClose(Boolean onlyOnClose) {
76 this.onlyOnClose = onlyOnClose;
77 }
78
79 public void setTestManagerService(TestManagerService testManagerService) {
80 this.testManagerService = testManagerService;
81 }
82
83 }