summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-01-11 12:18:14 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2024-01-11 12:18:14 +0100
commitb092bf28788c76b6ca1cf8285592d08cc832e8e4 (patch)
tree4311e3a81e96a2f1cb8ed6851dc8e875b2e10941 /vespajlib
parentd5ca7f1fcf2a762b03205aa57edfc79e2dedb302 (diff)
Avoid deprecated methods
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/main/java/com/yahoo/system/execution/ProcessExecutor.java19
-rw-r--r--vespajlib/src/test/java/com/yahoo/system/execution/ProcessExecutorTest.java3
2 files changed, 12 insertions, 10 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/system/execution/ProcessExecutor.java b/vespajlib/src/main/java/com/yahoo/system/execution/ProcessExecutor.java
index 691a5844596..fe3bca07845 100644
--- a/vespajlib/src/main/java/com/yahoo/system/execution/ProcessExecutor.java
+++ b/vespajlib/src/main/java/com/yahoo/system/execution/ProcessExecutor.java
@@ -12,6 +12,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.time.Duration;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
@@ -24,11 +25,11 @@ import java.util.concurrent.TimeUnit;
public class ProcessExecutor {
public static class Builder {
- private final int timeoutSeconds;
+ private final Duration timeout;
private int[] successExitCodes;
- public Builder(int timeoutSeconds) {
- this.timeoutSeconds = timeoutSeconds;
+ public Builder(Duration timeout) {
+ this.timeout = timeout;
}
public Builder successExitCodes(int... successExitCodes) {
@@ -37,16 +38,16 @@ public class ProcessExecutor {
}
public ProcessExecutor build() {
- return new ProcessExecutor(timeoutSeconds, successExitCodes);
+ return new ProcessExecutor(timeout, successExitCodes);
}
}
- private ProcessExecutor(int timeoutSeconds, int[] successExitCodes) {
- this.timeoutSeconds = timeoutSeconds;
+ private ProcessExecutor(Duration timeout, int[] successExitCodes) {
+ this.timeout = timeout;
this.successExitCodes = successExitCodes;
}
- public final int timeoutSeconds;
+ private final Duration timeout;
private final int[] successExitCodes;
/**
@@ -68,9 +69,9 @@ public class ProcessExecutor {
ByteArrayOutputStream processErr = new ByteArrayOutputStream();
ByteArrayOutputStream processOut = new ByteArrayOutputStream();
- DefaultExecutor executor = new DefaultExecutor();
+ DefaultExecutor executor = DefaultExecutor.builder().get();
executor.setStreamHandler(createStreamHandler(processOut, processErr, processInput));
- ExecuteWatchdog watchDog = new ExecuteWatchdog(TimeUnit.SECONDS.toMillis(timeoutSeconds));
+ ExecuteWatchdog watchDog = ExecuteWatchdog.builder().setTimeout(timeout).get();
executor.setWatchdog(watchDog);
executor.setExitValues(successExitCodes);
diff --git a/vespajlib/src/test/java/com/yahoo/system/execution/ProcessExecutorTest.java b/vespajlib/src/test/java/com/yahoo/system/execution/ProcessExecutorTest.java
index 88ad9c18134..607a223b00b 100644
--- a/vespajlib/src/test/java/com/yahoo/system/execution/ProcessExecutorTest.java
+++ b/vespajlib/src/test/java/com/yahoo/system/execution/ProcessExecutorTest.java
@@ -3,6 +3,7 @@ package com.yahoo.system.execution;
import org.junit.Test;
+import java.time.Duration;
import java.util.Optional;
import static org.junit.Assert.assertEquals;
@@ -16,7 +17,7 @@ public class ProcessExecutorTest {
@Test
public void echo_can_be_executed() throws Exception {
final String message = "Hello from executor!";
- ProcessExecutor executor = new ProcessExecutor.Builder(10).build();
+ ProcessExecutor executor = new ProcessExecutor.Builder(Duration.ofSeconds(10)).build();
Optional<ProcessResult> result = executor.execute("echo " + message);
assertTrue(result.isPresent());
assertEquals(message, result.get().stdOut.trim());