1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.hack23.cia.web.impl.ui.application.views.pageclicklistener;
20
21 import org.slf4j.Logger;
22 import org.slf4j.LoggerFactory;
23 import org.springframework.beans.factory.annotation.Autowired;
24
25 import com.hack23.cia.model.internal.application.data.impl.DataAgentOperation;
26 import com.hack23.cia.model.internal.application.data.impl.DataAgentTarget;
27 import com.hack23.cia.model.internal.application.data.impl.DataAgentWorkOrder;
28 import com.hack23.cia.service.api.AgentContainer;
29 import com.vaadin.ui.Button.ClickEvent;
30 import com.vaadin.ui.Button.ClickListener;
31 import com.vaadin.ui.ComboBox;
32
33
34
35
36 public final class StartAgentClickListener implements ClickListener {
37
38
39 private static final long serialVersionUID = 1L;
40
41
42 private static final String LOG_MSG_EXECUTE_WORKORDER = "Execute workorder:{}";
43
44
45 private static final Logger LOGGER = LoggerFactory.getLogger(StartAgentClickListener.class);
46
47
48 private final ComboBox targetSelect;
49
50
51 private final ComboBox operationSelect;
52
53
54 @Autowired
55 private final transient AgentContainer agentContainer;
56
57
58
59
60
61
62
63
64
65
66
67 public StartAgentClickListener(final ComboBox targetSelect, final ComboBox operationSelect, final AgentContainer agentContainer) {
68 super();
69 this.targetSelect = targetSelect;
70 this.operationSelect = operationSelect;
71 this.agentContainer = agentContainer;
72 }
73
74 @Override
75 public void buttonClick(final ClickEvent event) {
76 if (targetSelect.getValue() != null && operationSelect.getValue() != null) {
77 final DataAgentWorkOrder dataAgentWorkOrder = new DataAgentWorkOrder();
78 final DataAgentTarget target = DataAgentTarget.valueOf(targetSelect.getValue().toString());
79 dataAgentWorkOrder.setTarget(target);
80 dataAgentWorkOrder.setOperation(DataAgentOperation.valueOf(operationSelect.getValue().toString()));
81 LOGGER.info(LOG_MSG_EXECUTE_WORKORDER, dataAgentWorkOrder);
82 agentContainer.execute(dataAgentWorkOrder);
83 }
84 }
85
86
87 }