Skip to content

Commit 978e9b8

Browse files
Migrate to Java 21
1 parent b9a10af commit 978e9b8

76 files changed

Lines changed: 181 additions & 217 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- uses: actions/setup-java@v5
4242
with:
4343
distribution: 'temurin'
44-
java-version: '17'
44+
java-version: '21'
4545
cache: 'maven'
4646

4747
- name: Test project with Maven
@@ -57,7 +57,7 @@ jobs:
5757
- uses: actions/setup-java@v5
5858
with:
5959
distribution: 'temurin'
60-
java-version: '17'
60+
java-version: '21'
6161
cache: 'maven'
6262

6363
- name: Run CLI integration tests
@@ -78,7 +78,7 @@ jobs:
7878
- uses: actions/setup-java@v5
7979
with:
8080
distribution: 'temurin'
81-
java-version: '17'
81+
java-version: '21'
8282
cache: 'maven'
8383

8484
- name: Build container image tarball

onebusaway-collections/src/main/java/org/onebusaway/collections/DirectedGraph.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public List<T> getTopologicalSort(Comparator<T> tieBreaker) {
112112

113113
if (tieBreaker != null) Collections.sort(noInbound, tieBreaker);
114114

115-
T node = noInbound.get(0);
115+
T node = noInbound.getFirst();
116116
order.add(node);
117117
g.removeNode(node);
118118
}

onebusaway-collections/src/main/java/org/onebusaway/collections/FunctionalLibrary.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ public static <T> List<T> filter(
3535
public static <T> T filterFirst(
3636
Iterable<T> elements, String propertyPathExpression, Object value) {
3737
List<T> matches = filter(elements, propertyPathExpression, value);
38-
return matches.isEmpty() ? null : matches.get(0);
38+
return matches.isEmpty() ? null : matches.getFirst();
3939
}
4040
}

onebusaway-collections/src/main/java/org/onebusaway/collections/Min.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public double getMinValue() {
4242

4343
public T getMinElement() {
4444
if (_minElements.isEmpty()) return null;
45-
return _minElements.get(0);
45+
return _minElements.getFirst();
4646
}
4747

4848
public List<T> getMinElements() {

onebusaway-collections/src/main/java/org/onebusaway/collections/beans/DefaultPropertyMethodResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public PropertyMethod getPropertyMethod(Class<?> targetType, String propertyName
6868
try {
6969
if (targetType.isInterface()) {
7070
List<Method> methods = getCachedInterfaceMethods(targetType, propertyName, methodName);
71-
if (methods.size() == 1) method = methods.get(0);
71+
if (methods.size() == 1) method = methods.getFirst();
7272
else {
7373
throw new IllegalStateException(
7474
"Ambiguous implementation set for interface: "

onebusaway-collections/src/test/java/org/onebusaway/collections/FactoryMapTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ public void test() {
4141

4242
list = m.get("b");
4343
assertEquals(1, list.size());
44-
assertEquals("1", list.get(0));
44+
assertEquals("1", list.getFirst());
4545

4646
list = m.get("a");
4747
assertEquals(2, list.size());
48-
assertEquals("1", list.get(0));
48+
assertEquals("1", list.getFirst());
4949
assertEquals("2", list.get(1));
5050

5151
m.remove("b");

onebusaway-collections/src/test/java/org/onebusaway/collections/FunctionalLibraryTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ public void test() {
3434

3535
List<Dummy> result = FunctionalLibrary.filter(all, "name", "a");
3636
assertEquals(1, result.size());
37-
assertSame(a, result.get(0));
37+
assertSame(a, result.getFirst());
3838

3939
result = FunctionalLibrary.filter(all, "name", "b");
4040
assertEquals(2, result.size());
41-
assertSame(b, result.get(0));
41+
assertSame(b, result.getFirst());
4242
assertSame(b2, result.get(1));
4343

4444
result = FunctionalLibrary.filter(all, "name", "f");

onebusaway-collections/src/test/java/org/onebusaway/collections/MappingLibraryTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ public void testMap() {
3535

3636
List<String> values = MappingLibrary.map(asList, "first");
3737
assertEquals(3, values.size());
38-
assertEquals("a", values.get(0));
38+
assertEquals("a", values.getFirst());
3939
assertEquals("c", values.get(1));
4040
assertEquals("e", values.get(2));
4141

4242
values = MappingLibrary.map(asList, "second");
4343
assertEquals(3, values.size());
44-
assertEquals("b", values.get(0));
44+
assertEquals("b", values.getFirst());
4545
assertEquals("d", values.get(1));
4646
assertEquals("f", values.get(2));
4747
}

onebusaway-collections/src/test/java/org/onebusaway/collections/beans/PropertyPathCollectionExpressionTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public void testFullResult() {
5151
List<PropertyInvocationResult> results = new ArrayList<PropertyInvocationResult>();
5252
expression.invokeReturningFullResult(a, results);
5353
assertEquals(1, results.size());
54-
PropertyInvocationResult result = results.get(0);
54+
PropertyInvocationResult result = results.getFirst();
5555
assertSame(a, result.parent);
5656
assertEquals("values", result.propertyName);
5757
assertSame(b, result.value);
@@ -63,7 +63,7 @@ public void testFullResult() {
6363
List<PropertyInvocationResult> results = new ArrayList<PropertyInvocationResult>();
6464
expression.invokeReturningFullResult(a, results);
6565
assertEquals(1, results.size());
66-
PropertyInvocationResult result = results.get(0);
66+
PropertyInvocationResult result = results.getFirst();
6767
assertSame(b, result.parent);
6868
assertEquals("value", result.propertyName);
6969
assertSame("b", result.value);

onebusaway-csv-entities/src/test/java/org/onebusaway/csv_entities/CSVLibraryTest.java

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void before() {
3333
void testParseLetters() {
3434
List<String> tokens = _csv.parse("a,b,c");
3535
assertEquals(3, tokens.size());
36-
assertEquals("a", tokens.get(0));
36+
assertEquals("a", tokens.getFirst());
3737
assertEquals("b", tokens.get(1));
3838
assertEquals("c", tokens.get(2));
3939
}
@@ -42,7 +42,7 @@ void testParseLetters() {
4242
void testParseQuotedLettersWithComma() {
4343
List<String> tokens = _csv.parse("a,\"b b\",\"c,c\"");
4444
assertEquals(3, tokens.size());
45-
assertEquals("a", tokens.get(0));
45+
assertEquals("a", tokens.getFirst());
4646
assertEquals("b b", tokens.get(1));
4747
assertEquals("c,c", tokens.get(2));
4848
}
@@ -51,7 +51,7 @@ void testParseQuotedLettersWithComma() {
5151
void testParseQuotedLettersWithEscapedDoubleQuote() {
5252
List<String> tokens = _csv.parse("b\"b");
5353
assertEquals(1, tokens.size());
54-
assertEquals("b\"b", tokens.get(0));
54+
assertEquals("b\"b", tokens.getFirst());
5555
}
5656

5757
@Test
@@ -75,58 +75,58 @@ void testParseWikipedia() {
7575

7676
List<String> tokens = _csv.parse("1997,Ford,E350");
7777
assertEquals(3, tokens.size());
78-
assertEquals("1997", tokens.get(0));
78+
assertEquals("1997", tokens.getFirst());
7979
assertEquals("Ford", tokens.get(1));
8080
assertEquals("E350", tokens.get(2));
8181

8282
tokens = _csv.parse("1997, Ford , E350");
8383
assertEquals(3, tokens.size());
84-
assertEquals("1997", tokens.get(0));
84+
assertEquals("1997", tokens.getFirst());
8585
assertEquals(" Ford ", tokens.get(1));
8686
assertEquals(" E350", tokens.get(2));
8787

8888
tokens = _csv.parse("1997,Ford,E350,\"Super, luxurious truck\"");
8989
assertEquals(4, tokens.size());
90-
assertEquals("1997", tokens.get(0));
90+
assertEquals("1997", tokens.getFirst());
9191
assertEquals("Ford", tokens.get(1));
9292
assertEquals("E350", tokens.get(2));
9393
assertEquals("Super, luxurious truck", tokens.get(3));
9494

9595
tokens = _csv.parse("1997,Ford,E350,\"Super \"\"luxurious\"\" truck\"");
9696
assertEquals(4, tokens.size());
97-
assertEquals("1997", tokens.get(0));
97+
assertEquals("1997", tokens.getFirst());
9898
assertEquals("Ford", tokens.get(1));
9999
assertEquals("E350", tokens.get(2));
100100
assertEquals("Super \"luxurious\" truck", tokens.get(3));
101101

102102
tokens = _csv.parse("1997,Ford,E350,\" Super luxurious truck \"");
103103
assertEquals(4, tokens.size());
104-
assertEquals("1997", tokens.get(0));
104+
assertEquals("1997", tokens.getFirst());
105105
assertEquals("Ford", tokens.get(1));
106106
assertEquals("E350", tokens.get(2));
107107
assertEquals(" Super luxurious truck ", tokens.get(3));
108108

109109
tokens = _csv.parse("\"1997\",\"Ford\",\"E350\"");
110110
assertEquals(3, tokens.size());
111-
assertEquals("1997", tokens.get(0));
111+
assertEquals("1997", tokens.getFirst());
112112
assertEquals("Ford", tokens.get(1));
113113
assertEquals("E350", tokens.get(2));
114114
}
115115

116116
@Test
117117
void testParseWhitespace() {
118118
List<String> tokens = _csv.parse(" \"g\" ");
119-
assertEquals(" \"g\" ", tokens.get(0));
119+
assertEquals(" \"g\" ", tokens.getFirst());
120120

121121
tokens = _csv.parse(" \" h \" ");
122-
assertEquals(" \" h \" ", tokens.get(0));
122+
assertEquals(" \" h \" ", tokens.getFirst());
123123

124124
tokens = _csv.parse(" \" \"\" i \"\" \" ");
125-
assertEquals(" \" \"\" i \"\" \" ", tokens.get(0));
125+
assertEquals(" \" \"\" i \"\" \" ", tokens.getFirst());
126126

127127
tokens = _csv.parse(" \"a,b\",c");
128128
assertEquals(3, tokens.size());
129-
assertEquals(" \"a", tokens.get(0));
129+
assertEquals(" \"a", tokens.getFirst());
130130
assertEquals("b\"", tokens.get(1));
131131
assertEquals("c", tokens.get(2));
132132
}
@@ -135,21 +135,21 @@ void testParseWhitespace() {
135135
void testParseEmptyString() {
136136
List<String> tokens = _csv.parse("");
137137
assertEquals(1, tokens.size());
138-
assertEquals("", tokens.get(0));
138+
assertEquals("", tokens.getFirst());
139139
}
140140

141141
@Test
142142
void testParseEmptyWhitespaceString() {
143143
List<String> tokens = _csv.parse(" ");
144144
assertEquals(1, tokens.size());
145-
assertEquals(" ", tokens.get(0));
145+
assertEquals(" ", tokens.getFirst());
146146
}
147147

148148
@Test
149149
void testParseEmptyColumsString() {
150150
List<String> tokens = _csv.parse(",,");
151151
assertEquals(3, tokens.size());
152-
assertEquals("", tokens.get(0));
152+
assertEquals("", tokens.getFirst());
153153
assertEquals("", tokens.get(1));
154154
assertEquals("", tokens.get(2));
155155
}
@@ -158,7 +158,7 @@ void testParseEmptyColumsString() {
158158
void testParseEmptyColumsWhitespaceString() {
159159
List<String> tokens = _csv.parse(" , , ");
160160
assertEquals(3, tokens.size());
161-
assertEquals(" ", tokens.get(0));
161+
assertEquals(" ", tokens.getFirst());
162162
assertEquals(" ", tokens.get(1));
163163
assertEquals(" ", tokens.get(2));
164164
}
@@ -172,23 +172,23 @@ void testParseOpenQuotedLastColumnFails() {
172172
void testParseQuotedColumnFollowedByEmptyLastColumn() {
173173
List<String> tokens = _csv.parse("\"column\",");
174174
assertEquals(2, tokens.size());
175-
assertEquals("column", tokens.get(0));
175+
assertEquals("column", tokens.getFirst());
176176
assertEquals("", tokens.get(1));
177177
}
178178

179179
@Test
180180
void testParseColumnFollowedByEmptyLastColumn() {
181181
List<String> tokens = _csv.parse("column,");
182182
assertEquals(2, tokens.size());
183-
assertEquals("column", tokens.get(0));
183+
assertEquals("column", tokens.getFirst());
184184
assertEquals("", tokens.get(1));
185185
}
186186

187187
@Test
188188
void testParseQuotedColumnWithEscapedDoubleQuoteFollowedByEmptyLastColumn() {
189189
List<String> tokens = _csv.parse("1997,Ford,E350,\"Super \"\"luxurious\"\" truck\",");
190190
assertEquals(5, tokens.size());
191-
assertEquals("1997", tokens.get(0));
191+
assertEquals("1997", tokens.getFirst());
192192
assertEquals("Ford", tokens.get(1));
193193
assertEquals("E350", tokens.get(2));
194194
assertEquals("Super \"luxurious\" truck", tokens.get(3));
@@ -199,7 +199,7 @@ void testParseQuotedColumnWithEscapedDoubleQuoteFollowedByEmptyLastColumn() {
199199
void testParseQuotedColumnWithBackToBackEscapedDoubleQuoteFollowedByEmptyLastColumn() {
200200
List<String> tokens = _csv.parse("1997,Ford,E350,\"start\"\"middle\"\"\"\"end\",");
201201
assertEquals(5, tokens.size());
202-
assertEquals("1997", tokens.get(0));
202+
assertEquals("1997", tokens.getFirst());
203203
assertEquals("Ford", tokens.get(1));
204204
assertEquals("E350", tokens.get(2));
205205
assertEquals("start\"middle\"\"end", tokens.get(3));
@@ -210,7 +210,7 @@ void testParseQuotedColumnWithBackToBackEscapedDoubleQuoteFollowedByEmptyLastCol
210210
void testParseQuotedColumnWithBackToBackEscapedDoubleQuoteLastColumn() {
211211
List<String> tokens = _csv.parse("1997,Ford,E350,\"start\"\"middle\"\"\"\"\"");
212212
assertEquals(4, tokens.size());
213-
assertEquals("1997", tokens.get(0));
213+
assertEquals("1997", tokens.getFirst());
214214
assertEquals("Ford", tokens.get(1));
215215
assertEquals("E350", tokens.get(2));
216216
assertEquals("start\"middle\"\"", tokens.get(3));
@@ -221,7 +221,7 @@ void testParseQuotedColumnWithBackToBackEscapedDoubleQuoteFollowedByAnotherColum
221221
List<String> tokens =
222222
_csv.parse("1997,Ford,E350,\"Super \"\"luxurious\"\" truck\",\"luxurious\"");
223223
assertEquals(5, tokens.size());
224-
assertEquals("1997", tokens.get(0));
224+
assertEquals("1997", tokens.getFirst());
225225
assertEquals("Ford", tokens.get(1));
226226
assertEquals("E350", tokens.get(2));
227227
assertEquals("Super \"luxurious\" truck", tokens.get(3));

0 commit comments

Comments
 (0)