Skip to content

Commit b6ef5de

Browse files
committed
fix(ci): add Maven Wrapper and fix compilation/test errors
- Add Maven Wrapper (mvnw, mvnw.cmd, .mvn/wrapper/) targeting Maven 3.9.9 - Fix RestClientConfig: connectTimeout/readTimeout → setConnectTimeout/setReadTimeout - Fix SparkEtlExample: add explicit casts for lambda ambiguity with Scala types - Fix MockitoFeaturesTest: avoid spying on JDK classes for byte-buddy compat - Bump java.version 17 → 21 (switch patterns require 21+) - Bump Mockito 5.11.0 → 5.23.0, add byte-buddy 1.17.7 override for JDK 25
1 parent 6a71edc commit b6ef5de

7 files changed

Lines changed: 517 additions & 15 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
wrapperVersion=3.3.4
2+
distributionType=only-script
3+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip

examples/etl/src/main/java/com/example/template/etl/spark/SparkEtlExample.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import org.apache.spark.SparkConf;
44
import org.apache.spark.api.java.JavaRDD;
55
import org.apache.spark.api.java.JavaSparkContext;
6+
import org.apache.spark.api.java.function.FilterFunction;
7+
import org.apache.spark.api.java.function.MapFunction;
8+
import org.apache.spark.api.java.function.MapGroupsFunction;
69
import org.apache.spark.sql.Dataset;
710
import org.apache.spark.sql.Encoders;
811
import org.apache.spark.sql.Row;
@@ -145,9 +148,9 @@ public record SalesRecord(String product, String region, double revenue) impleme
145148
public static Dataset<SalesRecord> typedDatasetExample(SparkSession spark, List<SalesRecord> data) {
146149
Dataset<SalesRecord> ds = spark.createDataset(data, Encoders.bean(SalesRecord.class));
147150

148-
return ds.filter(r -> r.revenue() > 100.0)
149-
.groupByKey(SalesRecord::region, Encoders.STRING())
150-
.mapGroups((region, iter) -> {
151+
return ds.filter((FilterFunction<SalesRecord>) r -> r.revenue() > 100.0)
152+
.groupByKey((MapFunction<SalesRecord, String>) SalesRecord::region, Encoders.STRING())
153+
.mapGroups((MapGroupsFunction<String, SalesRecord, SalesRecord>) (region, iter) -> {
151154
double total = 0;
152155
int count = 0;
153156
while (iter.hasNext()) {

examples/restful-api/src/main/java/com/example/template/restfulapi/client/RestClientConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ public class RestClientConfig {
2929
@Bean
3030
public RestTemplate restTemplate(RestTemplateBuilder builder) {
3131
return builder
32-
.connectTimeout(Duration.ofSeconds(5))
33-
.readTimeout(Duration.ofSeconds(10))
32+
.setConnectTimeout(Duration.ofSeconds(5))
33+
.setReadTimeout(Duration.ofSeconds(10))
3434
.build();
3535
}
3636

examples/testing/src/test/java/com/example/template/testing/mockito/MockitoFeaturesTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,15 @@ void bddStyle() {
125125
@Test
126126
@DisplayName("Spy wraps a real object, allowing selective stubbing")
127127
void spyExample() {
128-
var realList = new java.util.ArrayList<>(List.of("a", "b", "c"));
129-
var spiedList = spy(realList);
128+
var spiedService = spy(new UserService(repository));
130129

131-
// Real method is called
132-
assertThat(spiedList.get(0)).isEqualTo("a");
130+
// Real method is called by default
131+
when(repository.findById(1L)).thenReturn(Optional.of(ALICE));
132+
assertThat(spiedService.getById(1L)).isEqualTo(ALICE);
133133

134-
// Override specific behavior
135-
doReturn("MOCKED").when(spiedList).get(1);
136-
assertThat(spiedList.get(1)).isEqualTo("MOCKED");
137-
assertThat(spiedList.size()).isEqualTo(3); // real size
134+
// Override specific behavior on the spy
135+
doReturn(ALICE).when(spiedService).getById(2L);
136+
assertThat(spiedService.getById(2L)).isEqualTo(ALICE);
138137
}
139138

140139
// ── Exception Stubbing ─────────────────────────────────────────────

mvnw

Lines changed: 295 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)