Skip to content

Commit 0102a58

Browse files
author
Federico Fissore
committed
"static" makes sense for constants and few other things. Avoid it if you don't have a specific reason for using it.
1 parent 54ec785 commit 0102a58

File tree

3 files changed

+43
-29
lines changed

3 files changed

+43
-29
lines changed

app/test/processing/app/macosx/SystemProfilerParserTest.java

+28-21
Original file line numberDiff line numberDiff line change
@@ -29,55 +29,62 @@
2929

3030
package processing.app.macosx;
3131

32+
import org.junit.Before;
3233
import org.junit.Test;
3334
import processing.app.TestHelper;
3435

35-
import static org.junit.Assert.assertEquals;
36-
import static processing.app.macosx.SystemProfilerParser.extractVIDAndPID;
37-
3836
import java.io.IOException;
3937
import java.io.InputStream;
4038

39+
import static org.junit.Assert.assertEquals;
40+
4141
public class SystemProfilerParserTest {
4242

43+
private SystemProfilerParser parser;
44+
45+
@Before
46+
public void setUp() throws Exception {
47+
parser = new SystemProfilerParser();
48+
}
49+
4350
@Test
4451
public void shouldCorrectlyParse() throws Exception {
4552
String output = getFileContent("system_profiler_output.txt");
46-
assertEquals("0X2341_0X0044", extractVIDAndPID(output, "/dev/cu.usbmodemfa121"));
47-
assertEquals("0X2341_0X0044", extractVIDAndPID(output, "/dev/tty.usbmodemfa121"));
53+
assertEquals("0X2341_0X0044", parser.extractVIDAndPID(output, "/dev/cu.usbmodemfa121"));
54+
assertEquals("0X2341_0X0044", parser.extractVIDAndPID(output, "/dev/tty.usbmodemfa121"));
4855

4956
output = getFileContent("system_profiler_output2.txt");
50-
assertEquals("0X2341_0X8036", extractVIDAndPID(output, "/dev/cu.usbmodemfd131"));
51-
assertEquals("0X2341_0X8036", extractVIDAndPID(output, "/dev/tty.usbmodemfd131"));
57+
assertEquals("0X2341_0X8036", parser.extractVIDAndPID(output, "/dev/cu.usbmodemfd131"));
58+
assertEquals("0X2341_0X8036", parser.extractVIDAndPID(output, "/dev/tty.usbmodemfd131"));
5259

5360
output = getFileContent("system_profiler_output3.txt");
54-
assertEquals("0X2341_0X8041", extractVIDAndPID(output, "/dev/cu.usbmodemfd121"));
55-
assertEquals("0X2341_0X8041", extractVIDAndPID(output, "/dev/tty.usbmodemfd121"));
61+
assertEquals("0X2341_0X8041", parser.extractVIDAndPID(output, "/dev/cu.usbmodemfd121"));
62+
assertEquals("0X2341_0X8041", parser.extractVIDAndPID(output, "/dev/tty.usbmodemfd121"));
5663

5764
output = getFileContent("system_profiler_output4.txt");
58-
assertEquals("0X2341_0X0041", extractVIDAndPID(output, "/dev/cu.usbmodem411"));
59-
assertEquals("0X2341_0X0041", extractVIDAndPID(output, "/dev/tty.usbmodem411"));
65+
assertEquals("0X2341_0X0041", parser.extractVIDAndPID(output, "/dev/cu.usbmodem411"));
66+
assertEquals("0X2341_0X0041", parser.extractVIDAndPID(output, "/dev/tty.usbmodem411"));
6067

6168
output = getFileContent("system_profiler_output5.txt");
62-
assertEquals("0X2341_0X8041", extractVIDAndPID(output, "/dev/cu.usbmodem621"));
63-
assertEquals("0X2341_0X8041", extractVIDAndPID(output, "/dev/tty.usbmodem621"));
69+
assertEquals("0X2341_0X8041", parser.extractVIDAndPID(output, "/dev/cu.usbmodem621"));
70+
assertEquals("0X2341_0X8041", parser.extractVIDAndPID(output, "/dev/tty.usbmodem621"));
6471

6572
output = getFileContent("system_profiler_output6.txt");
66-
assertEquals("0X2341_0X8041", extractVIDAndPID(output, "/dev/cu.usbmodem1421"));
67-
assertEquals("0X2341_0X8041", extractVIDAndPID(output, "/dev/tty.usbmodem1421"));
73+
assertEquals("0X2341_0X8041", parser.extractVIDAndPID(output, "/dev/cu.usbmodem1421"));
74+
assertEquals("0X2341_0X8041", parser.extractVIDAndPID(output, "/dev/tty.usbmodem1421"));
6875

6976
output = getFileContent("system_profiler_output7.txt");
70-
assertEquals("0X2341_0X8036", extractVIDAndPID(output, "/dev/cu.usbmodem24131"));
71-
assertEquals("0X2341_0X8036", extractVIDAndPID(output, "/dev/tty.usbmodem24131"));
72-
assertEquals("0X0403_0X6015", extractVIDAndPID(output, "/dev/cu.usbserial-DN0031EV"));
73-
assertEquals("0X0403_0X6015", extractVIDAndPID(output, "/dev/tty.usbserial-DN0031EV"));
77+
assertEquals("0X2341_0X8036", parser.extractVIDAndPID(output, "/dev/cu.usbmodem24131"));
78+
assertEquals("0X2341_0X8036", parser.extractVIDAndPID(output, "/dev/tty.usbmodem24131"));
79+
assertEquals("0X0403_0X6015", parser.extractVIDAndPID(output, "/dev/cu.usbserial-DN0031EV"));
80+
assertEquals("0X0403_0X6015", parser.extractVIDAndPID(output, "/dev/tty.usbserial-DN0031EV"));
7481

7582
output = getFileContent("system_profiler_output8.txt");
76-
assertEquals("0X03EB_0X2157", extractVIDAndPID(output, "/dev/tty.usbmodemfd132"));
83+
assertEquals("0X03EB_0X2157", parser.extractVIDAndPID(output, "/dev/tty.usbmodemfd132"));
7784

7885
// OSX El Capitan
7986
output = getFileContent("system_profiler_output9.txt");
80-
assertEquals("0X2341_0X8036", extractVIDAndPID(output, "/dev/tty.usbmodemFA121"));
87+
assertEquals("0X2341_0X8036", parser.extractVIDAndPID(output, "/dev/tty.usbmodemFA121"));
8188
}
8289

8390
private String getFileContent(String filename) throws IOException {

arduino-core/src/processing/app/macosx/Platform.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public Map<String, Object> resolveDeviceAttachedTo(String serial, Map<String, Ta
172172
}
173173

174174
try {
175-
String vidPid = SystemProfilerParser.extractVIDAndPID(devicesListOutput, serial);
175+
String vidPid = new SystemProfilerParser().extractVIDAndPID(devicesListOutput, serial);
176176

177177
if (vidPid == null) {
178178
return super.resolveDeviceAttachedTo(serial, packages, devicesListOutput);

arduino-core/src/processing/app/macosx/SystemProfilerParser.java

+14-7
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,19 @@ public class SystemProfilerParser {
1919
private static final String DEV_TTY_USBMODEM = "/dev/tty.usbmodem";
2020
private static final String DEV_CU_USBMODEM = "/dev/cu.usbmodem";
2121

22-
private static final Pattern serialNumberRegex = Pattern.compile("^Serial Number: (.+)$");
23-
private static final Pattern locationRegex = Pattern.compile("^Location ID: (.+)$");
24-
private static final Pattern pidRegex = Pattern.compile("^Product ID: (.+)$");
25-
private static final Pattern vidRegex = Pattern.compile("^Vendor ID: (.+)$");
22+
private final Pattern vidRegex;
23+
private final Pattern serialNumberRegex;
24+
private final Pattern locationRegex;
25+
private final Pattern pidRegex;
2626

27-
public synchronized static String extractVIDAndPID(String output, String serial) throws IOException {
27+
public SystemProfilerParser() {
28+
this.serialNumberRegex = Pattern.compile("^Serial Number: (.+)$");
29+
this.locationRegex = Pattern.compile("^Location ID: (.+)$");
30+
this.pidRegex = Pattern.compile("^Product ID: (.+)$");
31+
this.vidRegex = Pattern.compile("^Vendor ID: (.+)$");
32+
}
33+
34+
public String extractVIDAndPID(String output, String serial) throws IOException {
2835
BufferedReader reader = new BufferedReader(new StringReader(output));
2936

3037
String devicePrefix;
@@ -38,7 +45,7 @@ public synchronized static String extractVIDAndPID(String output, String serial)
3845
devicePrefix = DEV_CU_USBMODEM;
3946
}
4047

41-
Map<String, String> device = new HashMap<String, String>();
48+
Map<String, String> device = new HashMap<>();
4249

4350
String line;
4451
Matcher matcher;
@@ -77,7 +84,7 @@ public synchronized static String extractVIDAndPID(String output, String serial)
7784
return (device.get(VID) + "_" + device.get(PID)).toUpperCase();
7885
}
7986
}
80-
device = new HashMap<String, String>();
87+
device = new HashMap<>();
8188
}
8289
}
8390

0 commit comments

Comments
 (0)