Skip to content

Commit aaa0109

Browse files
author
jantje
committed
Cleaned up the discovery service and monitor warnings
1 parent 2a51a76 commit aaa0109

File tree

9 files changed

+551
-582
lines changed

9 files changed

+551
-582
lines changed

it.baeyens.arduino.core/config/pre_processing_platform_default.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ runtime.IDE.version=10606
99
build.system.path={RUNTIME.PLATFORM.PATH}/system
1010

1111
#for esp8266 network upload
12-
tools.esp8266ATO={tools.esptool.network_cmd}
13-
tools.esp8266ATO.upload.pattern={tools.esptool.upload.network_pattern}
14-
esp8266.network.upload.tool=esp8266ATO
12+
tools.esp8266OTA={tools.esptool.network_cmd}
13+
tools.esp8266OTA.upload.pattern={tools.esptool.upload.network_pattern}
14+
esp8266.network.upload.tool=esp8266OTA

it.baeyens.arduino.core/src/processing/app/zeroconf/jmdns/ArduinoDNSTaskStarter.java renamed to it.baeyens.arduino.core/src/cc/arduino/packages/discoverers/ArduinoDNSTaskStarter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package processing.app.zeroconf.jmdns;
1+
package cc.arduino.packages.discoverers;
22

33
import java.util.Timer;
44

it.baeyens.arduino.core/src/cc/arduino/packages/discoverers/network/NetworkChecker.java renamed to it.baeyens.arduino.core/src/cc/arduino/packages/discoverers/NetworkChecker.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* Copyright 2013 Arduino LLC (http://www.arduino.cc/)
2828
*/
2929

30-
package cc.arduino.packages.discoverers.network;
30+
package cc.arduino.packages.discoverers;
3131

3232
import java.net.InetAddress;
3333
import java.util.Collections;
@@ -40,14 +40,12 @@
4040

4141
public class NetworkChecker extends TimerTask {
4242

43-
private final NetworkTopologyListener topologyListener;
4443
private final NetworkTopologyDiscovery topology;
4544

4645
private Set<InetAddress> knownAddresses;
4746

48-
public NetworkChecker(NetworkTopologyListener topologyListener, NetworkTopologyDiscovery topology) {
47+
public NetworkChecker(NetworkTopologyDiscovery topology) {
4948
super();
50-
this.topologyListener = topologyListener;
5149
this.topology = topology;
5250
this.knownAddresses = Collections.synchronizedSet(new HashSet<InetAddress>());
5351
}
@@ -64,12 +62,12 @@ public void run() {
6462
for (InetAddress address : curentAddresses) {
6563
current.add(address);
6664
if (!this.knownAddresses.contains(address)) {
67-
this.topologyListener.inetAddressAdded(address);
65+
NetworkDiscovery.inetAddressAdded(address);
6866
}
6967
}
7068
for (InetAddress address : this.knownAddresses) {
7169
if (!current.contains(address)) {
72-
this.topologyListener.inetAddressRemoved(address);
70+
NetworkDiscovery.inetAddressRemoved(address);
7371
}
7472
}
7573
this.knownAddresses = current;

it.baeyens.arduino.core/src/cc/arduino/packages/discoverers/NetworkDiscovery.java

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@
2929

3030
package cc.arduino.packages.discoverers;
3131

32-
//import cc.arduino.packages.BoardPort;
33-
//import cc.arduino.packages.Discovery;
3432
import java.io.IOException;
3533
import java.net.InetAddress;
3634
import java.util.HashSet;
@@ -46,11 +44,7 @@
4644
import javax.jmdns.ServiceListener;
4745
import javax.jmdns.impl.DNSTaskStarter;
4846

49-
import cc.arduino.packages.discoverers.network.NetworkChecker;
50-
import processing.app.zeroconf.jmdns.ArduinoDNSTaskStarter;
51-
52-
public class NetworkDiscovery
53-
implements ServiceListener, cc.arduino.packages.discoverers.network.NetworkTopologyListener {
47+
public class NetworkDiscovery implements ServiceListener {
5448

5549
private class bonour {
5650
public String address;
@@ -79,35 +73,41 @@ public String getLabel() {
7973

8074
}
8175

82-
private Timer timer;
83-
private final HashSet<bonour> myComPorts; // well not really com ports but
84-
// we treat them like com ports
85-
private final Map<InetAddress, JmDNS> mappedJmDNSs;
76+
private static Timer timer = new Timer("Network discovery timer"); //$NON-NLS-1$ ;
77+
private static final HashSet<bonour> myComPorts = new HashSet<>(); // well
78+
// not
79+
// really
80+
// com
81+
// ports
82+
// but
83+
// we treat them like com ports
84+
private final static Map<InetAddress, JmDNS> mappedJmDNSs = new Hashtable<>();
85+
private static NetworkDiscovery me = null;
8686

87-
public NetworkDiscovery() {
87+
private NetworkDiscovery() {
8888
DNSTaskStarter.Factory.setClassDelegate(new ArduinoDNSTaskStarter());
89-
this.myComPorts = new HashSet<>();
90-
this.mappedJmDNSs = new Hashtable<>();
9189
}
9290

93-
public String[] getList() {
94-
String[] ret = new String[this.myComPorts.size()];
91+
public static String[] getList() {
92+
String[] ret = new String[myComPorts.size()];
9593
int curPort = 0;
96-
Iterator<bonour> iterator = this.myComPorts.iterator();
94+
Iterator<bonour> iterator = myComPorts.iterator();
9795
while (iterator.hasNext()) {
9896
bonour board = iterator.next();
9997
ret[curPort++] = board.getLabel();
10098
}
10199
return ret;
102100
}
103101

104-
public void start() {
105-
this.timer = new Timer(this.getClass().getName() + " timer"); //$NON-NLS-1$
106-
new NetworkChecker(this, NetworkTopologyDiscovery.Factory.getInstance()).start(this.timer);
102+
public static void start() {
103+
if (me == null) {
104+
me = new NetworkDiscovery();
105+
}
106+
new NetworkChecker(NetworkTopologyDiscovery.Factory.getInstance()).start(timer);
107107
}
108108

109-
public void stop() {
110-
this.timer.purge();
109+
public static void stop() {
110+
timer.purge();
111111
// we don't close each JmDNS instance as it's too slow
112112
}
113113

@@ -163,13 +163,13 @@ public void serviceResolved(ServiceEvent serviceEvent) {
163163

164164
synchronized (this) {
165165
removeBoardswithSameAdress(newItem);
166-
this.myComPorts.add(newItem);
166+
myComPorts.add(newItem);
167167
}
168168
}
169169
}
170170

171-
private void removeBoardswithSameAdress(bonour newBoard) {
172-
Iterator<bonour> iterator = this.myComPorts.iterator();
171+
private static void removeBoardswithSameAdress(bonour newBoard) {
172+
Iterator<bonour> iterator = myComPorts.iterator();
173173
while (iterator.hasNext()) {
174174
bonour board = iterator.next();
175175
if (newBoard.address.equals(board.address)) {
@@ -178,8 +178,8 @@ private void removeBoardswithSameAdress(bonour newBoard) {
178178
}
179179
}
180180

181-
private void removeBoardswithSameName(String name) {
182-
Iterator<bonour> iterator = this.myComPorts.iterator();
181+
private static void removeBoardswithSameName(String name) {
182+
Iterator<bonour> iterator = myComPorts.iterator();
183183
while (iterator.hasNext()) {
184184
bonour board = iterator.next();
185185
if (name.equals(board.name)) {
@@ -189,24 +189,22 @@ private void removeBoardswithSameName(String name) {
189189
}
190190

191191
@SuppressWarnings("resource")
192-
@Override
193-
public void inetAddressAdded(InetAddress address) {
194-
if (this.mappedJmDNSs.containsKey(address)) {
192+
public static void inetAddressAdded(InetAddress address) {
193+
if (mappedJmDNSs.containsKey(address)) {
195194
return;
196195
}
197196
try {
198197
JmDNS jmDNS = JmDNS.create(address);
199-
jmDNS.addServiceListener("_arduino._tcp.local.", this); //$NON-NLS-1$
200-
this.mappedJmDNSs.put(address, jmDNS);
198+
jmDNS.addServiceListener("_arduino._tcp.local.", me); //$NON-NLS-1$
199+
mappedJmDNSs.put(address, jmDNS);
201200
} catch (Exception e) {
202201
e.printStackTrace();
203202
}
204203
}
205204

206205
@SuppressWarnings("resource")
207-
@Override
208-
public void inetAddressRemoved(InetAddress address) {
209-
JmDNS jmDNS = this.mappedJmDNSs.remove(address);
206+
public static void inetAddressRemoved(InetAddress address) {
207+
JmDNS jmDNS = mappedJmDNSs.remove(address);
210208
if (jmDNS != null) {
211209
try {
212210
jmDNS.close();
@@ -216,8 +214,8 @@ public void inetAddressRemoved(InetAddress address) {
216214
}
217215
}
218216

219-
private bonour getBoardByName(String name) {
220-
Iterator<bonour> iterator = this.myComPorts.iterator();
217+
private static bonour getBoardByName(String name) {
218+
Iterator<bonour> iterator = myComPorts.iterator();
221219
while (iterator.hasNext()) {
222220
bonour board = iterator.next();
223221
if (name.equals(board.name)) {
@@ -227,35 +225,35 @@ private bonour getBoardByName(String name) {
227225
return null;
228226
}
229227

230-
public String getAddress(String name) {
228+
public static String getAddress(String name) {
231229
bonour board = getBoardByName(name);
232230
if (board == null)
233231
return null;
234232
return board.address;
235233
}
236234

237-
public String getPort(String name) {
235+
public static String getPort(String name) {
238236
bonour board = getBoardByName(name);
239237
if (board == null)
240238
return null;
241239
return board.port;
242240
}
243241

244-
public boolean hasAuth(String name) {
242+
public static boolean hasAuth(String name) {
245243
bonour board = getBoardByName(name);
246244
if (board == null)
247245
return false;
248246
return board.auth_upload;
249247
}
250248

251-
public boolean isSSH(String name) {
249+
public static boolean isSSH(String name) {
252250
bonour board = getBoardByName(name);
253251
if (board == null)
254252
return false;
255253
return board.ssh_upload;
256254
}
257255

258-
public boolean needstcpCheck(String name) {
256+
public static boolean needstcpCheck(String name) {
259257
bonour board = getBoardByName(name);
260258
if (board == null)
261259
return false;

it.baeyens.arduino.core/src/cc/arduino/packages/discoverers/network/NetworkTopologyListener.java

Lines changed: 0 additions & 40 deletions
This file was deleted.

it.baeyens.arduino.core/src/it/baeyens/arduino/tools/Helpers.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,14 @@
5959
import org.eclipse.ui.console.IConsoleManager;
6060
import org.eclipse.ui.console.MessageConsole;
6161

62+
import cc.arduino.packages.discoverers.NetworkDiscovery;
6263
import it.baeyens.arduino.common.Common;
6364
import it.baeyens.arduino.common.ConfigurationPreferences;
6465
import it.baeyens.arduino.common.Const;
6566
import it.baeyens.arduino.common.InstancePreferences;
6667
import it.baeyens.arduino.managers.ArduinoPlatform;
6768
import it.baeyens.arduino.managers.Manager;
6869
import it.baeyens.arduino.managers.ToolDependency;
69-
import it.baeyens.arduino.ui.Activator;
7070

7171
/**
7272
* ArduinoHelpers is a static class containing general purpose functions
@@ -1080,10 +1080,9 @@ private static void setTheEnvironmentVariablesPostProcessing(IContributedEnviron
10801080
String host = getHostFromComPort(MComPort);
10811081
if (host != null) {
10821082
String platform = contribEnv.getVariable(Const.ENV_KEY_JANTJE_ARCITECTURE_ID, confDesc).getValue();
1083-
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_NETWORK_PORT,
1084-
Activator.bonjourDiscovery.getPort(host));
1083+
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_NETWORK_PORT, NetworkDiscovery.getPort(host));
10851084
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_NETWORK_AUTH,
1086-
Activator.bonjourDiscovery.hasAuth(host) ? TRUE : FALSE);
1085+
NetworkDiscovery.hasAuth(host) ? TRUE : FALSE);
10871086
setBuildEnvironmentVariable(contribEnv, confDesc, ENV_KEY_SERIAL_PORT, host);
10881087

10891088
try {

it.baeyens.arduino.core/src/it/baeyens/arduino/ui/Activator.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
*
4545
*/
4646
public class Activator implements BundleActivator {
47-
public static NetworkDiscovery bonjourDiscovery;
4847
public URL pluginStartInitiator = null; // Initiator to start the plugin
4948
public Object mstatus; // status of the plugin
5049
protected String flagStart = 'F' + 's' + 'S' + 't' + 'a' + 't' + 'u' + Const.EMPTY_STRING;
@@ -101,7 +100,6 @@ private static void testKnownIssues() {
101100
}
102101

103102
private static void registerListeners() {
104-
// TODO Auto-generated method stub
105103
IndexerListener myindexerListener = new IndexerListener();
106104
CCorePlugin.getIndexManager().addIndexChangeListener(myindexerListener);
107105
CCorePlugin.getIndexManager().addIndexerStateListener(myindexerListener);
@@ -111,7 +109,6 @@ private static void registerListeners() {
111109
}
112110

113111
private static void runGUIRegistration() {
114-
// TODO Auto-generated method stub
115112
UIJob installJob = new UIJob("Arduino installer job") { //$NON-NLS-1$
116113

117114
@Override
@@ -171,15 +168,13 @@ protected IStatus run(IProgressMonitor monitor) {
171168
makeOurOwnCustomBoards_txt();
172169
Manager.startup_Pluging(monitor);
173170
monitor.setTaskName("Done!"); //$NON-NLS-1$
174-
bonjourDiscovery = new NetworkDiscovery();
175-
bonjourDiscovery.start();
171+
NetworkDiscovery.start();
176172
InstancePreferences.setConfigured();
177173
registerListeners();
178174
return Status.OK_STATUS;
179175
}
180176
addFileAssociations();
181-
bonjourDiscovery = new NetworkDiscovery();
182-
bonjourDiscovery.start();
177+
NetworkDiscovery.start();
183178
return Status.CANCEL_STATUS;
184179
}
185180

0 commit comments

Comments
 (0)