Skip to content

Commit 4dfffae

Browse files
authored
Simplify and complete method implementation (#2075)
No issue as no functional change done. Merely simplifying FastTerminal and making JLine factory (seemingly) complete.
1 parent c61b255 commit 4dfffae

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

impl/maven-jline/src/main/java/org/apache/maven/jline/FastTerminal.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424
import java.io.PrintWriter;
2525
import java.nio.charset.Charset;
2626
import java.util.concurrent.Callable;
27-
import java.util.concurrent.ExecutorService;
28-
import java.util.concurrent.Executors;
29-
import java.util.concurrent.Future;
27+
import java.util.concurrent.CompletableFuture;
3028
import java.util.function.Consumer;
3129
import java.util.function.IntConsumer;
3230
import java.util.function.IntSupplier;
@@ -46,21 +44,22 @@
4644

4745
public class FastTerminal implements TerminalExt {
4846

49-
final Future<Terminal> terminal;
47+
private final CompletableFuture<Terminal> terminal;
5048

5149
public FastTerminal(Callable<Terminal> builder, Consumer<Terminal> consumer) {
52-
ExecutorService executor = Executors.newSingleThreadExecutor();
53-
terminal = executor.submit(() -> {
54-
try {
55-
Terminal terminal = builder.call();
56-
consumer.accept(terminal);
57-
return terminal;
58-
} catch (Exception e) {
59-
throw new MavenException(e);
60-
} finally {
61-
executor.shutdown();
62-
}
63-
});
50+
this.terminal = new CompletableFuture<>();
51+
new Thread(
52+
() -> {
53+
try {
54+
Terminal term = builder.call();
55+
consumer.accept(term);
56+
terminal.complete(term);
57+
} catch (Exception e) {
58+
terminal.completeExceptionally(new MavenException(e));
59+
}
60+
},
61+
"fast-terminal-thread")
62+
.start();
6463
}
6564

6665
public TerminalExt getTerminal() {

impl/maven-jline/src/main/java/org/apache/maven/jline/JLineMessageBuilderFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public JLineMessageBuilderFactory() {
5454

5555
@Override
5656
public boolean isColorEnabled() {
57-
return false;
57+
return MessageUtils.isColorEnabled();
5858
}
5959

6060
@Override

0 commit comments

Comments
 (0)