1 package fr.ifremer.tutti.ichtyometer.tool;
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 com.google.common.collect.Lists;
26 import fr.ifremer.tutti.ichtyometer.IchtyometerClient;
27 import fr.ifremer.tutti.ichtyometer.RemoteDeviceChooser;
28 import fr.ifremer.tutti.ichtyometer.feed.IchtyometerFeedReader;
29 import fr.ifremer.tutti.ichtyometer.feed.event.IchtyometerFeedReaderListener;
30
31 import java.io.Console;
32 import java.io.IOException;
33 import java.io.PrintWriter;
34 import java.util.List;
35
36
37
38
39
40
41
42 public class FeedReaderTool {
43
44 public static void main(String... args) throws IOException {
45
46 final PrintWriter writer = System.console().writer();
47 writer.println("FeedReaderTool: to display record in feed mode v1.0");
48
49 RemoteDeviceChooser remoteDeviceChooser = remoteDeviceNames -> {
50 List<String> remoteDeviceNameList = Lists.newArrayList(remoteDeviceNames);
51 Console console = System.console();
52 writer.println("Choose you device");
53 int i = 0;
54 for (String remoteDeviceName : remoteDeviceNameList) {
55 writer.println(i++ + " for device " + remoteDeviceName);
56 }
57 writer.println("q (to quit)");
58 writer.print("Your choice: ");
59 writer.flush();
60
61 String command = console.readLine();
62
63 if ("q".equals(command)) {
64 System.exit(0);
65 }
66 return remoteDeviceNameList.get(Integer.valueOf(command));
67 };
68
69 IchtyometerClient client = new IchtyometerClient(2);
70
71 client.open(remoteDeviceChooser, true);
72
73 IchtyometerFeedReader reader = new IchtyometerFeedReader();
74
75 writer.println("client " + client + " is open and listen the board");
76
77 IchtyometerFeedReaderListener listener = event -> writer.println("New record: " + event.getRecord());
78
79 reader.addFeedModeReaderListener(listener);
80 reader.start(client);
81
82 while (true) {
83
84 }
85 }
86 }