diff options
author | Robert Newson <rnewson@apache.org> | 2023-04-08 11:20:30 +0100 |
---|---|---|
committer | Robert Newson <rnewson@apache.org> | 2023-04-22 11:20:02 +0100 |
commit | d14a93189a253489b85bd6819c89154a158c8aa1 (patch) | |
tree | 12ecd3c16d572d0bb6e2b7c9544214a8edea3638 | |
parent | 29c88ac9550259f2475de2a6261678986b6444b2 (diff) | |
download | couchdb-d14a93189a253489b85bd6819c89154a158c8aa1.tar.gz |
improve api annotations
7 files changed, 23 insertions, 10 deletions
diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentDeleteRequest.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentDeleteRequest.java index d2352770e..d3be6bf5b 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentDeleteRequest.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentDeleteRequest.java @@ -13,7 +13,7 @@ package org.apache.couchdb.nouveau.api; -import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.Positive; import com.fasterxml.jackson.annotation.JsonProperty; @@ -22,7 +22,7 @@ import io.dropwizard.jackson.JsonSnakeCase; @JsonSnakeCase public class DocumentDeleteRequest { - @Min(1) + @Positive private long seq; public DocumentDeleteRequest() { @@ -30,6 +30,9 @@ public class DocumentDeleteRequest { } public DocumentDeleteRequest(long seq) { + if (seq < 1) { + throw new IllegalArgumentException("seq must be 1 or greater"); + } this.seq = seq; } diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java index 0c169d645..b4aaf67e4 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java @@ -15,8 +15,8 @@ package org.apache.couchdb.nouveau.api; import java.util.Collection; -import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.Positive; import com.fasterxml.jackson.annotation.JsonProperty; @@ -25,7 +25,7 @@ import io.dropwizard.jackson.JsonSnakeCase; @JsonSnakeCase public class DocumentUpdateRequest { - @Min(1) + @Positive private long seq; private String partition; diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java index 06446b7cf..c5c4fe89a 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java @@ -18,7 +18,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.dropwizard.jackson.JsonSnakeCase; -import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.NotEmpty; @JsonSnakeCase @JsonTypeInfo( @@ -40,7 +40,7 @@ public abstract class Field { } @JsonProperty - @NotNull + @NotEmpty public String getName() { return name; } diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfo.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfo.java index 66aa18730..eaf71cb01 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfo.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfo.java @@ -16,14 +16,18 @@ package org.apache.couchdb.nouveau.api; import com.fasterxml.jackson.annotation.JsonProperty; import io.dropwizard.jackson.JsonSnakeCase; +import jakarta.validation.constraints.PositiveOrZero; @JsonSnakeCase public class IndexInfo { + @PositiveOrZero private long updateSeq; + @PositiveOrZero private int numDocs; + @PositiveOrZero private long diskSize; public IndexInfo() { diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Range.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Range.java index cde120b81..599a154ef 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Range.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/Range.java @@ -15,14 +15,20 @@ package org.apache.couchdb.nouveau.api; import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; + public class Range<T> { + @NotEmpty private String label; + @NotNull private T min; private boolean minInclusive = true; + @NotNull private T max; private boolean maxInclusive = true; diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java index 5a8f84fe0..76a6c05ad 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java @@ -20,6 +20,7 @@ import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Positive; import com.fasterxml.jackson.annotation.JsonProperty; @@ -33,8 +34,7 @@ public class SearchRequest { private String partition; - @Min(1) - @Max(200) + @Positive private int limit = 25; private List<@NotEmpty String> sort; diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java index 26bccf788..496414074 100644 --- a/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java @@ -16,8 +16,8 @@ package org.apache.couchdb.nouveau.api; import java.util.List; import java.util.Map; -import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PositiveOrZero; import com.fasterxml.jackson.annotation.JsonProperty; @@ -26,7 +26,7 @@ import io.dropwizard.jackson.JsonSnakeCase; @JsonSnakeCase public class SearchResults { - @Min(0) + @PositiveOrZero private long totalHits; @NotNull |