This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a commit to branch nouveau-update-bundle
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit c1570138683c26d0d77c04e316f5d66e0688809c
Author: Robert Newson <[email protected]>
AuthorDate: Sat Mar 21 09:53:10 2026 +0000

    convert Analyze{Request,Response} to record
---
 .../apache/couchdb/nouveau/api/AnalyzeRequest.java | 32 +---------------------
 .../couchdb/nouveau/api/AnalyzeResponse.java       | 23 +---------------
 .../couchdb/nouveau/health/AnalyzeHealthCheck.java |  2 +-
 .../couchdb/nouveau/resources/AnalyzeResource.java |  5 ++--
 4 files changed, 5 insertions(+), 57 deletions(-)

diff --git 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeRequest.java
 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeRequest.java
index 61cbe4244..d02f09a1f 100644
--- 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeRequest.java
+++ 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeRequest.java
@@ -13,36 +13,6 @@
 
 package org.apache.couchdb.nouveau.api;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.PropertyNamingStrategies;
-import com.fasterxml.jackson.databind.annotation.JsonNaming;
 import jakarta.validation.constraints.NotEmpty;
 
-@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
-public class AnalyzeRequest {
-
-    @NotEmpty
-    private String analyzer;
-
-    @NotEmpty
-    private String text;
-
-    public AnalyzeRequest() {
-        // Jackson deserialization
-    }
-
-    public AnalyzeRequest(final String analyzer, final String text) {
-        this.analyzer = analyzer;
-        this.text = text;
-    }
-
-    @JsonProperty
-    public String getAnalyzer() {
-        return analyzer;
-    }
-
-    @JsonProperty
-    public String getText() {
-        return text;
-    }
-}
+public record AnalyzeRequest(@NotEmpty String analyzer, @NotEmpty String text) 
{}
diff --git 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java
 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java
index 8687f652a..09945b9f0 100644
--- 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java
+++ 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java
@@ -13,29 +13,8 @@
 
 package org.apache.couchdb.nouveau.api;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.PropertyNamingStrategies;
-import com.fasterxml.jackson.databind.annotation.JsonNaming;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import java.util.List;
 
-@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
-public class AnalyzeResponse {
-
-    @NotNull
-    private List<@NotEmpty String> tokens;
-
-    public AnalyzeResponse() {
-        // Jackson deserialization
-    }
-
-    public AnalyzeResponse(List<String> tokens) {
-        this.tokens = tokens;
-    }
-
-    @JsonProperty
-    public List<String> getTokens() {
-        return tokens;
-    }
-}
+public record AnalyzeResponse(@NotNull List<@NotEmpty String> tokens) {}
diff --git 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheck.java
 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheck.java
index bd7edeaf3..10eaac43e 100644
--- 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheck.java
+++ 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheck.java
@@ -33,7 +33,7 @@ public final class AnalyzeHealthCheck extends HealthCheck {
         final AnalyzeRequest request = new AnalyzeRequest("standard", "hello 
goodbye");
         final AnalyzeResponse response = analyzeResource.analyzeText(request);
         final List<String> expected = Arrays.asList("hello", "goodbye");
-        final List<String> actual = response.getTokens();
+        final List<String> actual = response.tokens();
         if (expected.equals(actual)) {
             return Result.healthy();
         } else {
diff --git 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
index d5249e205..8da17b1c5 100644
--- 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
+++ 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
@@ -46,11 +46,10 @@ public final class AnalyzeResource {
     @POST
     public AnalyzeResponse analyzeText(@NotNull @Valid AnalyzeRequest request) 
throws IOException {
         try {
-            final List<String> tokens =
-                    
tokenize(LuceneAnalyzerFactory.newAnalyzer(request.getAnalyzer()), 
request.getText());
+            final List<String> tokens = 
tokenize(LuceneAnalyzerFactory.newAnalyzer(request.analyzer()), request.text());
             return new AnalyzeResponse(tokens);
         } catch (IllegalArgumentException e) {
-            throw new WebApplicationException(request.getAnalyzer() + " not a 
valid analyzer", Status.BAD_REQUEST);
+            throw new WebApplicationException(request.analyzer() + " not a 
valid analyzer", Status.BAD_REQUEST);
         }
     }
 

Reply via email to