1 package fr.ifremer.tutti.ui.swing.content.actions;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.caliper.feed.CaliperConnectionException;
26 import fr.ifremer.tutti.caliper.feed.CaliperFeedReader;
27 import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
28 import org.nuiton.jaxx.application.ApplicationBusinessException;
29
30 import static org.nuiton.i18n.I18n.t;
31
32
33
34
35
36
37
38
39
40 public class ConnectCaliperAction extends AbstractMainUITuttiAction {
41
42 public ConnectCaliperAction(MainUIHandler handler) {
43 super(handler, false);
44 }
45
46 @Override
47 public void doAction() throws Exception {
48
49 CaliperFeedReader caliperReader = new CaliperFeedReader();
50
51 int caliperSerialPort = getConfig().getCaliperSerialPort();
52 try {
53 caliperReader.start(caliperSerialPort);
54 } catch (CaliperConnectionException e) {
55 throw new ApplicationBusinessException(t("tutti.caliper.connection.error", caliperSerialPort, e.getMessage()));
56 }
57
58 getContext().setCaliperReader(caliperReader);
59 }
60
61 @Override
62 public void postSuccessAction() {
63 super.postSuccessAction();
64
65 CaliperFeedReader caliperReader = getContext().getCaliperReader();
66 String serialPort = caliperReader.getSerialPortName();
67 sendMessage(t("tutti.caliper.connection.establish", serialPort));
68
69 displayInfoMessage(
70 t("tutti.caliper.connection.establish.title"),
71 t("tutti.caliper.connection.establish.message", serialPort)
72 );
73 }
74 }