1 package org
.argeo
.slc
.client
.ui
.listeners
;
3 import org
.apache
.commons
.logging
.Log
;
4 import org
.apache
.commons
.logging
.LogFactory
;
5 import org
.argeo
.slc
.client
.ui
.ClientUiPlugin
;
6 import org
.argeo
.slc
.core
.attachment
.Attachment
;
7 import org
.argeo
.slc
.core
.attachment
.SimpleAttachment
;
8 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
9 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResultListener
;
10 import org
.argeo
.slc
.msg
.test
.tree
.AddTreeTestResultAttachmentRequest
;
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
.services
.TestManagerService
;
15 import org
.argeo
.slc
.test
.TestResultPart
;
16 import org
.eclipse
.ui
.handlers
.IHandlerService
;
18 /** In memory access to a test manager service */
19 public class TestManagerServiceAdapter
implements TreeTestResultListener
{
20 private static final Log log
= LogFactory
21 .getLog(TestManagerServiceAdapter
.class);
23 private Boolean onlyOnClose
= false;
25 private TestManagerService testManagerService
;
27 public void resultPartAdded(TreeTestResult testResult
,
28 TestResultPart testResultPart
) {
32 if (testResult
.getResultParts().size() == 1
33 && testResult
.getResultParts().values().iterator().next()
34 .getParts().size() == 1) {
35 CreateTreeTestResultRequest req
= new CreateTreeTestResultRequest(
37 testManagerService
.createTreeTestResult(req
);
39 ResultPartRequest req
= new ResultPartRequest(testResult
);
40 testManagerService
.addResultPart(req
);
44 public void close(TreeTestResult testResult
) {
47 CreateTreeTestResultRequest req
= new CreateTreeTestResultRequest(
49 testManagerService
.createTreeTestResult(req
);
51 CloseTreeTestResultRequest req
= new CloseTreeTestResultRequest(
53 testManagerService
.closeTreeTestResult(req
);
56 // TODO : clean this -> pb of thread && commandID hardCoded.
57 // We force the refresh of the list view.
58 ClientUiPlugin
.getDefault().getWorkbench().getDisplay()
59 .syncExec(new Runnable() {
61 IHandlerService handlerService
= (IHandlerService
) ClientUiPlugin
62 .getDefault().getWorkbench()
63 .getService(IHandlerService
.class);
67 "org.argeo.slc.client.ui.refreshResultList",
71 "org.argeo.slc.client.ui.refreshProcessList",
74 } catch (Exception e
) {
75 log
.error("Cannot refresh views: " + e
);
84 public void addAttachment(TreeTestResult testResult
, Attachment attachment
) {
87 AddTreeTestResultAttachmentRequest req
= new AddTreeTestResultAttachmentRequest();
88 req
.setResultUuid(testResult
.getUuid());
89 req
.setAttachment((SimpleAttachment
) attachment
);
90 testManagerService
.addAttachment(req
);
94 /** Publishes the test result only when it gets closed. */
95 public void setOnlyOnClose(Boolean onlyOnClose
) {
96 this.onlyOnClose
= onlyOnClose
;
99 public void setTestManagerService(TestManagerService testManagerService
) {
100 this.testManagerService
= testManagerService
;