Skip to content

Commit 708bb35

Browse files
committed
Return early where applicable
1 parent 7ed62f6 commit 708bb35

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

junit-platform-engine/src/main/java/org/junit/platform/engine/support/store/NamespacedHierarchicalStore.java

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -216,25 +216,25 @@ public void close() {
216216
Preconditions.notNull(defaultCreator, "defaultCreator must not be null");
217217
CompositeKey<N> compositeKey = new CompositeKey<>(namespace, key);
218218
StoredValue storedValue = getStoredValue(compositeKey);
219-
if (storedValue == null) {
220-
var newStoredValue = this.storedValues.compute(compositeKey, //
221-
(__, oldStoredValue) -> {
222-
if (isPresent(oldStoredValue)) {
223-
return oldStoredValue;
224-
}
219+
if (storedValue != null) {
220+
return storedValue.evaluate();
221+
}
222+
var newStoredValue = this.storedValues.compute(compositeKey, //
223+
(__, oldStoredValue) -> {
224+
if (isPresent(oldStoredValue)) {
225+
return oldStoredValue;
226+
}
227+
rejectIfClosed();
228+
return newStoredSuppliedNullableValue(new DeferredSupplier(() -> {
225229
rejectIfClosed();
226-
return newStoredSuppliedNullableValue(new DeferredSupplier(() -> {
227-
rejectIfClosed();
228-
return defaultCreator.apply(key);
229-
}));
230-
});
231-
232-
if (newStoredValue instanceof StoredValue.DeferredValue value) {
233-
value.delegate().run();
234-
}
235-
return requireNonNull(newStoredValue.evaluate());
230+
return defaultCreator.apply(key);
231+
}));
232+
});
233+
234+
if (newStoredValue instanceof StoredValue.DeferredValue value) {
235+
value.delegate().run();
236236
}
237-
return storedValue.evaluate();
237+
return requireNonNull(newStoredValue.evaluate());
238238
}
239239

240240
/**
@@ -258,27 +258,27 @@ public <K, V> Object computeIfAbsent(N namespace, K key, Function<? super K, ? e
258258
CompositeKey<N> compositeKey = new CompositeKey<>(namespace, key);
259259
StoredValue storedValue = getStoredValue(compositeKey);
260260
var result = StoredValue.evaluateIfNotNull(storedValue);
261-
if (result == null) {
262-
StoredValue newStoredValue = this.storedValues.compute(compositeKey, (__, oldStoredValue) -> {
263-
if (StoredValue.evaluateIfNotNull(oldStoredValue) == null) {
264-
rejectIfClosed();
265-
return newStoredSuppliedValue(new DeferredSupplier(() -> {
266-
rejectIfClosed();
267-
return Preconditions.notNull(defaultCreator.apply(key), "defaultCreator must not return null");
268-
}));
269-
}
261+
if (result != null) {
262+
return result;
263+
}
264+
StoredValue newStoredValue = this.storedValues.compute(compositeKey, (__, oldStoredValue) -> {
265+
if (StoredValue.evaluateIfNotNull(oldStoredValue) != null) {
270266
return oldStoredValue;
271-
});
272-
273-
if (newStoredValue instanceof StoredValue.DeferredOptionalValue value) {
274-
var delegate = value.delegate();
275-
delegate.run();
276-
return requireNonNull(delegate.getOrThrow());
277267
}
278-
// put or getOrComputeIfAbsent won the race
279-
return requireNonNull(newStoredValue.evaluate());
268+
rejectIfClosed();
269+
return newStoredSuppliedValue(new DeferredSupplier(() -> {
270+
rejectIfClosed();
271+
return Preconditions.notNull(defaultCreator.apply(key), "defaultCreator must not return null");
272+
}));
273+
});
274+
275+
if (newStoredValue instanceof StoredValue.DeferredOptionalValue value) {
276+
var delegate = value.delegate();
277+
delegate.run();
278+
return requireNonNull(delegate.getOrThrow());
280279
}
281-
return result;
280+
// put or getOrComputeIfAbsent won the race
281+
return requireNonNull(newStoredValue.evaluate());
282282
}
283283

284284
/**

0 commit comments

Comments
 (0)