Skip to content

Commit 9fcdb66

Browse files
committed
Refactor: Extract lambdas to method refs
1 parent 1357446 commit 9fcdb66

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -149,19 +149,11 @@ private static String findAgentJar() {
149149
*/
150150
private static void selfTest() {
151151
ensureCannotStartProcess(ProcessBuilder::start);
152-
ensureCanCreateTempFile(() -> Files.createTempFile(null, null));
152+
ensureCanCreateTempFile(EntitlementBootstrap::createTempFile);
153153

154154
// Try again with reflection
155-
ensureCannotStartProcess(pb -> {
156-
try {
157-
var start = ProcessBuilder.class.getMethod("start");
158-
start.invoke(pb);
159-
} catch (InvocationTargetException e) {
160-
throw (Exception)e.getCause();
161-
}
162-
});
163-
ensureCanCreateTempFile(() -> (Path) Files.class.getMethod("createTempFile", String.class, String.class, FileAttribute[].class)
164-
.invoke(null, null, null, new FileAttribute<?>[0]));
155+
ensureCannotStartProcess(EntitlementBootstrap::reflectiveStartProcess);
156+
ensureCanCreateTempFile(EntitlementBootstrap::reflectiveCreateTempFile);
165157
}
166158

167159
private static void ensureCannotStartProcess(CheckedConsumer<ProcessBuilder, ?> startProcess) {
@@ -177,10 +169,6 @@ private static void ensureCannotStartProcess(CheckedConsumer<ProcessBuilder, ?>
177169
throw new IllegalStateException("Entitlement protection self-test was incorrectly permitted");
178170
}
179171

180-
/**
181-
* Originally {@code Security.selfTest}.
182-
*/
183-
@SuppressForbidden(reason = "accesses jvm default tempdir as a self-test")
184172
private static void ensureCanCreateTempFile(CheckedSupplier<Path, ?> createTempFile) {
185173
try {
186174
Path p = createTempFile.get();
@@ -200,5 +188,24 @@ private static void ensureCanCreateTempFile(CheckedSupplier<Path, ?> createTempF
200188
logger.debug("Success: Entitlement protection correctly permitted temp file creation");
201189
}
202190

191+
@SuppressForbidden(reason = "accesses jvm default tempdir as a self-test")
192+
private static Path createTempFile() throws Exception {
193+
return Files.createTempFile(null, null);
194+
}
195+
196+
private static void reflectiveStartProcess(ProcessBuilder pb) throws Exception {
197+
try {
198+
var start = ProcessBuilder.class.getMethod("start");
199+
start.invoke(pb);
200+
} catch (InvocationTargetException e) {
201+
throw (Exception) e.getCause();
202+
}
203+
}
204+
205+
private static Path reflectiveCreateTempFile() throws Exception {
206+
return (Path) Files.class.getMethod("createTempFile", String.class, String.class, FileAttribute[].class)
207+
.invoke(null, null, null, new FileAttribute<?>[0]);
208+
}
209+
203210
private static final Logger logger = LogManager.getLogger(EntitlementBootstrap.class);
204211
}

0 commit comments

Comments
 (0)