From 94310f0dff122f1edd8cd85d0aa65ee9dfc0037f Mon Sep 17 00:00:00 2001 From: u$f Date: Tue, 10 Sep 2024 18:47:49 +0200 Subject: [PATCH] edit --- .../java/org/usf/jquery/core/QueryBuilder.java | 4 ++-- .../org/usf/jquery/web/RequestEntryChain.java | 2 +- .../java/org/usf/jquery/web/ViewDecorator.java | 16 +++++++--------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/usf/jquery/core/QueryBuilder.java b/src/main/java/org/usf/jquery/core/QueryBuilder.java index b5ad5f0..5d8ed59 100644 --- a/src/main/java/org/usf/jquery/core/QueryBuilder.java +++ b/src/main/java/org/usf/jquery/core/QueryBuilder.java @@ -111,12 +111,12 @@ public QueryBuilder joins(@NonNull ViewJoin... joins) { return this; } - public QueryBuilder limit(int limit) { + public QueryBuilder limit(Integer limit) { this.limit = limit; return this; } - public QueryBuilder offset(int offset) { + public QueryBuilder offset(Integer offset) { this.offset = offset; return this; } diff --git a/src/main/java/org/usf/jquery/web/RequestEntryChain.java b/src/main/java/org/usf/jquery/web/RequestEntryChain.java index 6469be2..a05db3f 100644 --- a/src/main/java/org/usf/jquery/web/RequestEntryChain.java +++ b/src/main/java/org/usf/jquery/web/RequestEntryChain.java @@ -29,10 +29,10 @@ import static org.usf.jquery.web.EntryParseException.cannotParseEntryException; import static org.usf.jquery.web.NoSuchResourceException.noSuchResourceException; import static org.usf.jquery.web.Parameters.DISTINCT; -import static org.usf.jquery.web.Parameters.OFFSET; import static org.usf.jquery.web.Parameters.FILTER; import static org.usf.jquery.web.Parameters.JOIN; import static org.usf.jquery.web.Parameters.LIMIT; +import static org.usf.jquery.web.Parameters.OFFSET; import static org.usf.jquery.web.Parameters.ORDER; import static org.usf.jquery.web.Parameters.PARTITION; import static org.usf.jquery.web.Parameters.QUERY; diff --git a/src/main/java/org/usf/jquery/web/ViewDecorator.java b/src/main/java/org/usf/jquery/web/ViewDecorator.java index ab52f10..0d2b638 100644 --- a/src/main/java/org/usf/jquery/web/ViewDecorator.java +++ b/src/main/java/org/usf/jquery/web/ViewDecorator.java @@ -5,7 +5,6 @@ import static java.util.Map.entry; import static java.util.Objects.nonNull; import static java.util.Objects.requireNonNull; -import static java.util.Optional.empty; import static java.util.Optional.ofNullable; import static java.util.stream.Collectors.toUnmodifiableMap; import static org.usf.jquery.core.SqlStringBuilder.quote; @@ -28,7 +27,6 @@ import java.util.Collection; import java.util.Map; import java.util.Map.Entry; -import java.util.Optional; import java.util.stream.Stream; import org.usf.jquery.core.ColumnProxy; @@ -113,7 +111,7 @@ default QueryBuilder query(Map parameterMap) { parseViews(query, parameterMap); parseColumns(query, parameterMap); parseOrders(query, parameterMap); - parseJoin(query, parameterMap); + parseJoins(query, parameterMap); parseLimit(query, parameterMap); parseOffset(query, parameterMap); parseFilters(query, parameterMap); //remove all entries before parse filters @@ -163,7 +161,7 @@ default void parseOrders(QueryBuilder query, Map parameters) { .forEach(e-> query.orders(e.evalOrder(this))); } } - default void parseJoin(QueryBuilder query, Map parameters) { + default void parseJoins(QueryBuilder query, Map parameters) { if(parameters.containsKey(JOIN)) { Stream.of(parameters.remove(JOIN)) .flatMap(c-> parseEntries(c).stream()) @@ -172,11 +170,11 @@ default void parseJoin(QueryBuilder query, Map parameters) { } default void parseLimit(QueryBuilder query, Map parameters) { - requirePositiveInt(LIMIT, parameters).ifPresent(query::limit); + query.limit(requirePositiveInt(LIMIT, parameters)); } default void parseOffset(QueryBuilder query, Map parameters) { - requirePositiveInt(OFFSET, parameters).ifPresent(query::offset); + query.offset(requirePositiveInt(OFFSET, parameters)); } default void parseFilters(QueryBuilder query, Map parameters) { @@ -188,15 +186,15 @@ default void parseFilters(QueryBuilder query, Map parameters) .forEach(query::filters); } - private static Optional requirePositiveInt(String key, Map parameters) { + private static Integer requirePositiveInt(String key, Map parameters) { if(parameters.containsKey(key)) { var v = parseInt(requireNArgs(1, parameters.remove(key), ()-> key)[0]); if(v >= 0) { - return Optional.of(v); + return v; } throw new IllegalArgumentException(key + " cannot be negative"); } - return empty(); + return null; } static Stream flatParameters(String... arr) { //number local separator