Skip to content

Commit 0f40e0b

Browse files
committed
Simplify Process streams handling
Use the input/errorReader methods to avoid manual wrapping of the streams.
1 parent fbc3758 commit 0f40e0b

File tree

16 files changed

+42
-72
lines changed

16 files changed

+42
-72
lines changed

containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/ProcessLauncher.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
import java.io.BufferedReader;
1717
import java.io.File;
1818
import java.io.IOException;
19-
import java.io.InputStream;
20-
import java.io.InputStreamReader;
2119
import java.nio.file.Paths;
2220
import java.util.ArrayList;
2321
import java.util.List;
@@ -171,20 +169,16 @@ private String[] extractResult(final Process process) {
171169
process.waitFor();
172170
if (process.exitValue() == 0) {
173171
final List<String> result = new ArrayList<>();
174-
try (final InputStream inputStream = process.getInputStream();
175-
final BufferedReader buff = new BufferedReader(
176-
new InputStreamReader(inputStream))) {
172+
try (final BufferedReader buff = process.inputReader()) {
177173
String line;
178174
while ((line = buff.readLine()) != null) {
179175
result.add(line);
180176
}
181177
}
182178
return result.toArray(new String[0]);
183179
} else {
184-
final StringBuilder errorMessage = new StringBuilder();
185-
try (final InputStream errorStream = process.getErrorStream();
186-
final BufferedReader buff = new BufferedReader(
187-
new InputStreamReader(errorStream))) {
180+
final StringBuilder errorMessage = new StringBuilder();
181+
try (final BufferedReader buff = process.errorReader()) {
188182
String line;
189183
while ((line = buff.readLine()) != null) {
190184
errorMessage.append(line).append('\n'); // $NON-NLS-1$

containers/org.eclipse.linuxtools.docker.editor.ls/src/org/eclipse/linuxtools/docker/editor/ls/InitializeLaunchConfigurations.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import java.io.BufferedReader;
1313
import java.io.File;
1414
import java.io.IOException;
15-
import java.io.InputStreamReader;
1615
import java.nio.file.Files;
1716
import java.nio.file.Paths;
1817

@@ -41,7 +40,7 @@ public static String getNodeJsLocation() {
4140
BufferedReader reader = null;
4241
try {
4342
Process p = Runtime.getRuntime().exec(command);
44-
reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
43+
reader = p.inputReader();
4544
res = reader.readLine();
4645
} catch (IOException e) {
4746
// try other defaults

gcov/org.eclipse.linuxtools.gcov.core/src/org/eclipse/linuxtools/internal/gcov/parser/CovManager.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.io.FileNotFoundException;
2323
import java.io.IOException;
2424
import java.io.InputStream;
25-
import java.io.InputStreamReader;
2625
import java.io.LineNumberReader;
2726
import java.io.Serializable;
2827
import java.util.ArrayList;
@@ -274,7 +273,7 @@ private String getWinOSType() {
274273
Process process = Runtime.getRuntime().exec(new String[] {"sh", "-c", "echo $OSTYPE"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
275274

276275
String firstLine = null;
277-
try (BufferedReader stdout = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
276+
try (BufferedReader stdout = process.inputReader()) {
278277
firstLine = stdout.readLine();
279278
}
280279
if (firstLine != null) {
@@ -457,14 +456,13 @@ private static final class ThreadConsumer extends Thread {
457456
@Override
458457
public void run() {
459458
try {
460-
populateGCDAFiles(p.getInputStream());
459+
populateGCDAFiles(p.inputReader());
461460
} catch (IOException e) {
462461
}
463462
}
464463

465-
private void populateGCDAFiles(InputStream s) throws IOException {
466-
InputStreamReader isr = new InputStreamReader(s);
467-
LineNumberReader lnr = new LineNumberReader(isr);
464+
private void populateGCDAFiles(BufferedReader r) throws IOException {
465+
LineNumberReader lnr = new LineNumberReader(r);
468466
String line = null;
469467
while ((line = lnr.readLine()) != null) {
470468
if (line.endsWith(".gcda")) //$NON-NLS-1$

gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/internal/gprof/test/GprofTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717

1818
import java.io.File;
1919
import java.io.IOException;
20-
import java.io.InputStream;
21-
import java.io.InputStreamReader;
2220
import java.io.LineNumberReader;
2321
import java.util.ArrayList;
2422
import java.util.List;
@@ -53,9 +51,8 @@ public static Stream<Arguments> testDirs() {
5351
boolean addr2line2_16 = false;
5452
try {
5553
Process p = Runtime.getRuntime().exec("addr2line --version");
56-
InputStream is = p.getInputStream();
57-
LineNumberReader reader = new LineNumberReader(
58-
new InputStreamReader(is));
54+
LineNumberReader reader = new LineNumberReader(
55+
p.inputReader());
5956
String line;
6057
while ((line = reader.readLine()) != null) {
6158
if (line.contains("addr2line 2.16.")) {

gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/internal/gprof/utils/Aggregator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import java.io.File;
1616
import java.io.IOException;
17-
import java.io.InputStreamReader;
1817
import java.io.LineNumberReader;
1918

2019
import org.eclipse.cdt.utils.spawner.ProcessFactory;
@@ -91,7 +90,7 @@ final static class ProcessReader extends Thread {
9190
@Override
9291
public void run() {
9392
try {
94-
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(p.getErrorStream()));
93+
LineNumberReader lnr = new LineNumberReader(p.errorReader());
9594
do {
9695
String s = lnr.readLine();
9796
if (s == null)

man/org.eclipse.linuxtools.man.core/src/org/eclipse/linuxtools/internal/man/parser/ManParser.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.Properties;
2727
import java.util.stream.Collectors;
2828

29+
import org.eclipse.core.runtime.ILog;
2930
import org.eclipse.core.runtime.IStatus;
3031
import org.eclipse.core.runtime.Platform;
3132
import org.eclipse.core.runtime.Status;
@@ -124,8 +125,7 @@ public InputStream getManPage(String page, boolean html,
124125
Process process = builder.start();
125126
stdout = process.getInputStream();
126127
} catch (IOException e) {
127-
Bundle bundle = FrameworkUtil.getBundle(this.getClass());
128-
Platform.getLog(bundle).log(Status.error(e.getMessage()));
128+
ILog.get().log(Status.error(e.getMessage()));
129129
}
130130
return stdout;
131131
}
@@ -148,8 +148,7 @@ public StringBuilder getRawManPage(String manPage) {
148148
sb.append(reader.lines().collect(Collectors.joining("\n"))); //$NON-NLS-1$
149149
}
150150
} catch (IOException e) {
151-
Bundle bundle = FrameworkUtil.getBundle(this.getClass());
152-
Platform.getLog(bundle).log(Status.error(e.getMessage()));
151+
ILog.get().log(Status.error(e.getMessage()));
153152
}
154153
return sb;
155154
}

perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/AbstractDataManipulator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,16 @@ public void performCommand(String[] cmd, int fd) {
8585

8686
switch (fd) {
8787
case 2:
88-
buffData = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
89-
buffTemp = new BufferedReader(new InputStreamReader(proc.getInputStream()));
88+
buffData = proc.errorReader();
89+
buffTemp = proc.inputReader();
9090
readStream(buffTemp, temp);
9191
readStream(buffData, data);
9292
break;
9393
case 1:
9494
// fall through to default case
9595
default:
96-
buffData = new BufferedReader(new InputStreamReader(proc.getInputStream()));
97-
buffTemp = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
96+
buffData = proc.inputReader();
97+
buffTemp = proc.errorReader();
9898
readStream(buffData, data);
9999
readStream(buffTemp, temp);
100100
break;

perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/PerfCore.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import java.io.BufferedReader;
1616
import java.io.IOException;
17-
import java.io.InputStreamReader;
1817
import java.io.PrintStream;
1918
import java.net.URI;
2019
import java.util.ArrayList;
@@ -167,7 +166,7 @@ private static Map<String,List<String>> loadEventList(ILaunchConfiguration confi
167166
* Old versions of Perf will send events list to stderr instead of stdout
168167
* Checking if stdout is empty then read from stderr
169168
*/
170-
input = new BufferedReader(new InputStreamReader(p.getInputStream()));
169+
input = p.inputReader();
171170

172171
} catch( IOException e ) {
173172
logException(e);
@@ -234,7 +233,7 @@ public static PerfVersion getPerfVersion(ILaunchConfiguration config) {
234233
return null;
235234
}
236235

237-
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
236+
BufferedReader input = p.inputReader();
238237

239238
String perfVersion = spitStream(input, "Perf --version", null); //$NON-NLS-1$
240239
int index = perfVersion.indexOf('-');
@@ -401,8 +400,8 @@ public static void report(ILaunchConfiguration config, IPath workingDir, IProgre
401400
PerfPlugin.getDefault().setWorkingDir(workingDir);
402401
}
403402

404-
input = new BufferedReader(new InputStreamReader(p.getInputStream()));
405-
error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
403+
input = p.inputReader();
404+
error = p.errorReader();
406405
//spitting error stream moved to end of while loop, due to commenting of p.waitFor()
407406
} catch( IOException e ) {
408407
logException(e);
@@ -590,8 +589,8 @@ private static void parseRemoteReport(ILaunchConfiguration config,
590589
al.add(sb.toString());
591590
p = RuntimeProcessFactory.getFactory().exec(al.toArray(new String[]{}), project);
592591
}
593-
input = new BufferedReader(new InputStreamReader(p.getInputStream()));
594-
error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
592+
input = p.inputReader();
593+
error = p.errorReader();
595594
} catch (IOException e) {
596595
logException(e);
597596
}

perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/launch/PerfLaunchConfigDelegate.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import java.io.BufferedReader;
2424
import java.io.IOException;
25-
import java.io.InputStreamReader;
2625
import java.io.OutputStream;
2726
import java.io.PrintStream;
2827
import java.net.URI;
@@ -163,8 +162,7 @@ public void launch(ILaunchConfiguration config, String mode,
163162
MessageConsoleStream stream = console.newMessageStream();
164163

165164
if (pProxy != null) {
166-
try (BufferedReader error = new BufferedReader(
167-
new InputStreamReader(pProxy.getErrorStream()))) {
165+
try (BufferedReader error = pProxy.errorReader()) {
168166
String err = error.readLine();
169167
while (err != null) {
170168
stream.println(err);

profiling/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/utils/STNM.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*******************************************************************************
22
* Copyright (c) 2009, 2018 STMicroelectronics and others.
3-
*
3+
*
44
* This program and the accompanying materials are made
55
* available under the terms of the Eclipse Public License 2.0
66
* which is available at https://www.eclipse.org/legal/epl-2.0/
@@ -15,8 +15,6 @@
1515

1616
import java.io.BufferedReader;
1717
import java.io.IOException;
18-
import java.io.InputStream;
19-
import java.io.InputStreamReader;
2018
import java.util.regex.Matcher;
2119
import java.util.regex.Pattern;
2220

@@ -66,12 +64,11 @@ private void init(String command, String[] params, String file, IProject project
6664
System.arraycopy(params, 0, args, 1, params.length);
6765
}
6866
Process process = CdtSpawnerProcessFactory.getFactory().exec(args, project);
69-
parseOutput(process.getInputStream());
67+
parseOutput(process.inputReader());
7068
process.destroy();
7169
}
7270

73-
private void parseOutput(InputStream stream) throws IOException {
74-
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
71+
private void parseOutput(BufferedReader reader) throws IOException {
7572
String line;
7673

7774
// See matcher.java for regular expression string data definitions.

0 commit comments

Comments
 (0)