From 4b2586d4578a2a1bbadb9a889b1764853d564e64 Mon Sep 17 00:00:00 2001
From: Patrick Doyle
Date: Sun, 18 Aug 2024 10:30:09 -0400
Subject: [PATCH] Stop using lombok val.
We require at least Java 17 now, which has var.
---
.../java/works/bosk/BoskConstructorTest.java | 9 +++---
.../works/bosk/BoskLocalReferenceTest.java | 31 +++++++++----------
.../test/java/works/bosk/BoskUpdateTest.java | 5 ++-
.../src/test/java/works/bosk/HooksTest.java | 9 +++---
.../src/test/java/works/bosk/ListingTest.java | 13 ++++----
.../java/works/bosk/OptionalRefsTest.java | 7 ++---
.../java/works/bosk/ReferenceErrorTest.java | 3 +-
.../java/works/bosk/PluginRoundTripTest.java | 5 ++-
lombok.config | 1 +
9 files changed, 38 insertions(+), 45 deletions(-)
diff --git a/bosk-core/src/test/java/works/bosk/BoskConstructorTest.java b/bosk-core/src/test/java/works/bosk/BoskConstructorTest.java
index 49736a56..c3d1dc7b 100644
--- a/bosk-core/src/test/java/works/bosk/BoskConstructorTest.java
+++ b/bosk-core/src/test/java/works/bosk/BoskConstructorTest.java
@@ -3,7 +3,6 @@
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.concurrent.atomic.AtomicReference;
-import lombok.val;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.Test;
import works.bosk.Bosk.DefaultRootFunction;
@@ -50,7 +49,7 @@ void basicProperties_correctValues() {
assertSame(driver.get(), bosk.getDriver(ForwardingDriver.class));
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertSame(root, bosk.rootReference().value());
}
}
@@ -106,7 +105,7 @@ void driverInitialRoot_matches() {
SimpleTypes.class,
_ -> {throw new AssertionError("Shouldn't be called");},
initialRootDriver(()->root));
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertSame(root, bosk.rootReference().value());
}
}
@@ -116,14 +115,14 @@ void defaultRoot_matches() {
SimpleTypes root = newEntity();
{
Bosk valueBosk = new Bosk<>(boskName(), SimpleTypes.class, root, Bosk::simpleDriver);
- try (val _ = valueBosk.readContext()) {
+ try (var _ = valueBosk.readContext()) {
assertSame(root, valueBosk.rootReference().value());
}
}
{
Bosk functionBosk = new Bosk(boskName(), SimpleTypes.class, _ -> root, Bosk::simpleDriver);
- try (val _ = functionBosk.readContext()) {
+ try (var _ = functionBosk.readContext()) {
assertSame(root, functionBosk.rootReference().value());
}
}
diff --git a/bosk-core/src/test/java/works/bosk/BoskLocalReferenceTest.java b/bosk-core/src/test/java/works/bosk/BoskLocalReferenceTest.java
index d090635c..16e84933 100644
--- a/bosk-core/src/test/java/works/bosk/BoskLocalReferenceTest.java
+++ b/bosk-core/src/test/java/works/bosk/BoskLocalReferenceTest.java
@@ -18,7 +18,6 @@
import lombok.experimental.Delegate;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
-import lombok.val;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import works.bosk.annotations.ReferencePath;
@@ -163,7 +162,7 @@ void testListingReference() throws Exception {
// Check references to the Listing contents
Listing listing;
Map entries;
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
listing = listingRef.value();
entries = listing.valueMap();
}
@@ -206,7 +205,7 @@ void testSideTableReference() throws InvalidTypeException {
} catch (AssertionError e) {
throw new AssertionError("Failed checkRefence on id " + id + ", sideTableRef " + sideTableRef);
}
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
for (Entry entry: sideTable.idEntrySet()) {
Identifier key = entry.getKey();
Reference entryRef = sideTableRef.then(key);
@@ -290,7 +289,7 @@ private void checkReferenceProperties(Reference ref, Path expectedPath, T
assertEquals(expectedPath.urlEncoded(), ref.pathString());
assertThrows(IllegalStateException.class, ref::value, "Can't read before ReadContext");
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
T actualValue = ref.valueIfExists();
assertSame(expectedValue, actualValue);
@@ -322,7 +321,7 @@ private void checkEntityReference(Reference ref, Path expectedPath,
assertEquals(expectedPath.then(TestEntity.Fields.listing), ref.then(Listing.class, TestEntity.Fields.listing).path());
assertEquals(expectedPath.then(TestEntity.Fields.sideTable), ref.then(SideTable.class, TestEntity.Fields.sideTable).path());
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
if (expectedValue == null) {
assertNull(ref.then(Catalog.class, TestEntity.Fields.catalog).valueIfExists());
assertNull(ref.then(Listing.class, TestEntity.Fields.listing).valueIfExists());
@@ -339,7 +338,7 @@ private void checkUpdates(Reference ref, UnaryOperator updater) throws
Root originalRoot;
T firstValue;
assertThrows(IllegalStateException.class, ref::value, "Can't read from Bosk before ReadContext");
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
originalRoot = bosk.rootReference().value();
firstValue = ref.value();
}
@@ -347,25 +346,25 @@ private void checkUpdates(Reference ref, UnaryOperator updater) throws
T secondValue = updater.apply(firstValue);
T thirdValue = updater.apply(secondValue);
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertSame(firstValue, ref.value(), "New ReadContext sees same value as before");
bosk.driver().submitReplacement(ref, secondValue);
assertSame(firstValue, ref.value(), "Bosk updates not visible during the same ReadContext");
- try (val _ = bosk.supersedingReadContext()) {
+ try (var _ = bosk.supersedingReadContext()) {
assertSame(secondValue, ref.value(), "Superseding context sees the latest state");
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertSame(secondValue, ref.value(), "Nested context matches outer context");
}
}
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertSame(firstValue, ref.value(), "Nested context matches original outer context");
}
}
try (
- val context = bosk.readContext();
+ var context = bosk.readContext();
) {
assertSame(secondValue, ref.value(), "New value is visible in next ReadContext");
bosk.driver().submitReplacement(ref, thirdValue);
@@ -382,13 +381,13 @@ private void checkUpdates(Reference ref, UnaryOperator updater) throws
fail("Unexpected exception: ", e);
}
assertNotNull(caught, "New thread should not have any scope by default, so an exception should be thrown");
- try (val unrelatedContext = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertSame(thirdValue, ref.value(), "Separate thread should see the latest state");
}
- try (val inheritedContext = context.adopt()) {
+ try (var inheritedContext = context.adopt()) {
assertSame(secondValue, ref.value(), "Inherited scope should see the same state");
- try (val reinheritedContext = inheritedContext.adopt()) {
+ try (var _ = inheritedContext.adopt()) {
// Harmless to re-assert a scope you're already in
assertSame(secondValue, ref.value(), "Inner scope should see the same state");
}
@@ -408,13 +407,13 @@ private void checkUpdates(Reference ref, UnaryOperator updater) throws
private void checkDeletion(Reference ref, T expectedValue) {
Root originalRoot;
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
originalRoot = bosk.rootReference().value();
assertSame(expectedValue, ref.valueIfExists(), "Value is present before deletion");
bosk.driver().submitDeletion(ref);
assertSame(expectedValue, ref.valueIfExists(), "Bosk deletions not visible during the same ReadContext");
}
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertThrows(NonexistentReferenceException.class, ref::value);
if (expectedValue != null) {
bosk.driver().submitReplacement(ref, expectedValue);
diff --git a/bosk-core/src/test/java/works/bosk/BoskUpdateTest.java b/bosk-core/src/test/java/works/bosk/BoskUpdateTest.java
index d42ab232..df553469 100644
--- a/bosk-core/src/test/java/works/bosk/BoskUpdateTest.java
+++ b/bosk-core/src/test/java/works/bosk/BoskUpdateTest.java
@@ -1,7 +1,6 @@
package works.bosk;
import java.io.IOException;
-import lombok.val;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import works.bosk.annotations.ReferencePath;
@@ -47,7 +46,7 @@ void createBosk() throws InvalidTypeException {
Bosk::simpleDriver
);
refs = bosk.buildReferences(Refs.class);
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
originalRoot = bosk.rootReference().value();
originalParent = refs.entity(PARENT_ID).value();
originalChild1 = refs.child(PARENT_ID, CHILD_1_ID).value();
@@ -153,7 +152,7 @@ void conditionalReplaceIDMismatchesNonNull_nothingChanged() throws IOException,
void assertValueEquals(T expected, Reference ref) throws IOException, InterruptedException {
bosk.driver().flush();
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertEquals(expected, ref.valueIfExists());
}
}
diff --git a/bosk-core/src/test/java/works/bosk/HooksTest.java b/bosk-core/src/test/java/works/bosk/HooksTest.java
index c4099b85..d73c9efe 100755
--- a/bosk-core/src/test/java/works/bosk/HooksTest.java
+++ b/bosk-core/src/test/java/works/bosk/HooksTest.java
@@ -5,7 +5,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
-import lombok.val;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -49,7 +48,7 @@ public interface Refs {
void setupBosk() throws InvalidTypeException {
bosk = setUpBosk(Bosk::simpleDriver);
refs = bosk.rootReference().buildReferences(Refs.class);
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
originalRoot = bosk.rootReference().value();
originalParent = refs.parent().value();
originalChild1 = refs.child(child1).value();
@@ -449,7 +448,7 @@ void nestedMultipleUpdates_breadthFirst() {
recorder.events(),
"All hooks for an update should be called before any hooks for subsequent updates");
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertEquals(expectedParent, refs.parent().value());
}
}
@@ -461,7 +460,7 @@ void nested_correctReadContext() {
recorder.restart();
String expectedString = "expected string";
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
bosk.driver().submitReplacement(refs.childString(child2), expectedString);
// If the hook were to run accidentally in this ReadContext, it would
// see originalChild2.string() instead of expectedString.
@@ -473,7 +472,7 @@ void nested_correctReadContext() {
"Hooks run in the right ReadContext regardless of active read scope at submission or execution time");
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertEquals(expectedString, refs.childString(child2).value(), "Correct value got copied");
}
}
diff --git a/bosk-core/src/test/java/works/bosk/ListingTest.java b/bosk-core/src/test/java/works/bosk/ListingTest.java
index 9580d609..3100a055 100644
--- a/bosk-core/src/test/java/works/bosk/ListingTest.java
+++ b/bosk-core/src/test/java/works/bosk/ListingTest.java
@@ -17,7 +17,6 @@
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
-import lombok.val;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtensionContext;
@@ -107,7 +106,7 @@ public static class TestEntity implements Entity {
@ParameterizedTest
@ArgumentsSource(ListingArgumentProvider.class)
void testGet(Listing listing, List children, Bosk bosk) throws InvalidTypeException {
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
for (TestEntity child: children) {
TestEntity actual = listing.getValue(child.id());
assertSame(child, actual, "All expected entities should be present in the Listing");
@@ -129,7 +128,7 @@ void testGet(Listing listing, List children, Bosk listing, List children, Bosk bosk) {
Iterator expected = children.iterator();
Iterator actual;
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
// ReadContext is needed only when creating the iterator
actual = listing.valueIterator();
}
@@ -169,7 +168,7 @@ void testIdStream(Listing listing, List children, Bosk listing, List children, Bosk bosk) {
Iterator expected = children.iterator();
Stream stream;
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
// ReadContext is needed only when creating the stream
stream = listing.valueStream();
}
@@ -180,7 +179,7 @@ void testStream(Listing listing, List children, Bosk listing, List children, Bosk bosk) {
Collection actual;
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
// ReadContext is needed only when creating the collection
actual = listing.valueList();
}
@@ -208,7 +207,7 @@ void testSpliterator(Listing listing, List children, Bos
}
Spliterator newSplit;
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
newSplit = listing.values().spliterator();
}
@@ -257,7 +256,7 @@ void testEmpty() throws InvalidTypeException {
assertEquals(0, actual.size());
Iterator iterator;
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
// iterator() needs a ReadContext at creation time
iterator = actual.valueIterator();
}
diff --git a/bosk-core/src/test/java/works/bosk/OptionalRefsTest.java b/bosk-core/src/test/java/works/bosk/OptionalRefsTest.java
index a61fdc4d..779d4b23 100644
--- a/bosk-core/src/test/java/works/bosk/OptionalRefsTest.java
+++ b/bosk-core/src/test/java/works/bosk/OptionalRefsTest.java
@@ -6,7 +6,6 @@
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
-import lombok.val;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@@ -122,15 +121,15 @@ private void doTest(E initialRoot, ValueFactory valu
V value = valueFactory.createFrom(bosk);
@SuppressWarnings("unchecked")
Reference optionalRef = bosk.rootReference().then((Class)value.getClass(), "field");
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertNull(optionalRef.valueIfExists());
}
bosk.driver().submitReplacement(optionalRef, value);
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertEquals(value, optionalRef.valueIfExists());
}
bosk.driver().submitDeletion(optionalRef);
- try (val context = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertNull(optionalRef.valueIfExists());
}
diff --git a/bosk-core/src/test/java/works/bosk/ReferenceErrorTest.java b/bosk-core/src/test/java/works/bosk/ReferenceErrorTest.java
index 3fc83886..cf3f2c45 100644
--- a/bosk-core/src/test/java/works/bosk/ReferenceErrorTest.java
+++ b/bosk-core/src/test/java/works/bosk/ReferenceErrorTest.java
@@ -4,7 +4,6 @@
import lombok.RequiredArgsConstructor;
import lombok.Value;
import lombok.experimental.FieldNameConstants;
-import lombok.val;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import works.bosk.exceptions.InvalidTypeException;
@@ -27,7 +26,7 @@ void setupBosk() {
@Test
void referenceGet_brokenGetter_propagatesException() throws InvalidTypeException {
Reference idRef = bosk.rootReference().then(Identifier.class, Path.just("id"));
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
assertThrows(UnsupportedOperationException.class, idRef::value,
"Reference.value() should propagate the exception as-is");
}
diff --git a/lib-testing/src/main/java/works/bosk/PluginRoundTripTest.java b/lib-testing/src/main/java/works/bosk/PluginRoundTripTest.java
index f91f0a91..49371e44 100644
--- a/lib-testing/src/main/java/works/bosk/PluginRoundTripTest.java
+++ b/lib-testing/src/main/java/works/bosk/PluginRoundTripTest.java
@@ -1,6 +1,5 @@
package works.bosk;
-import lombok.val;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import works.bosk.exceptions.InvalidTypeException;
@@ -13,12 +12,12 @@ public class PluginRoundTripTest extends AbstractRoundTripTest {
void testRoundTrip(DriverFactory driverFactory) throws InvalidTypeException {
Bosk bosk = setUpBosk(driverFactory);
TestRoot originalRoot;
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
originalRoot = bosk.rootReference().value();
}
bosk.driver().submitReplacement(bosk.rootReference(), originalRoot);
- try (val _ = bosk.readContext()) {
+ try (var _ = bosk.readContext()) {
// Use our entity's equals() to check that all is well
//
assertEquals(originalRoot, bosk.rootReference().value());
diff --git a/lombok.config b/lombok.config
index fbaee5c4..81752854 100644
--- a/lombok.config
+++ b/lombok.config
@@ -2,3 +2,4 @@ lombok.accessors.fluent=true
lombok.anyConstructor.addConstructorProperties=true
lombok.addLombokGeneratedAnnotation=true
lombok.sneakyThrows.flagUsage=error
+lombok.val.flagUsage=error