Skip to content

Commit 4a36cde

Browse files
committed
edit
1 parent f389a3e commit 4a36cde

File tree

3 files changed

+17
-19
lines changed

3 files changed

+17
-19
lines changed

src/main/java/org/usf/jquery/core/QueryContext.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.usf.jquery.core;
22

33
import static java.util.Collections.emptyMap;
4+
import static java.util.Collections.unmodifiableMap;
45
import static java.util.Objects.nonNull;
56
import static java.util.Optional.ofNullable;
67
import static java.util.stream.Collectors.joining;
@@ -148,18 +149,18 @@ public QueryContext withValue() {
148149
}
149150

150151
public QueryContext subQuery(Map<DBView, QueryView> overView) {
151-
return new QueryContext(schema, vPrefix + "_s", args, argTypes, new ArrayList<>(), overView);
152+
return new QueryContext(schema, vPrefix + "_s", args, argTypes, new ArrayList<>(), unmodifiableMap(overView));
152153
}
153154

154155
public static QueryContext addWithValue() {
155156
return addWithValue(null, emptyMap()); //no args
156157
}
157158

158159
public static QueryContext addWithValue(String schema, Map<DBView, QueryView> overView) {
159-
return new QueryContext(schema, "v", null, null, new ArrayList<>(), overView); //no args
160+
return new QueryContext(schema, "v", null, null, new ArrayList<>(), unmodifiableMap(overView)); //no args
160161
}
161162

162163
public static QueryContext parameterized(String schema, Map<DBView, QueryView> overView) {
163-
return new QueryContext(schema, "v", new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), overView);
164+
return new QueryContext(schema, "v", new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), unmodifiableMap(overView));
164165
}
165166
}

src/main/java/org/usf/jquery/core/WhenCase.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.usf.jquery.core;
22

3-
import static java.util.Objects.isNull;
43
import static java.util.Objects.nonNull;
54
import static org.usf.jquery.core.JDBCType.typeOf;
65
import static org.usf.jquery.core.Nested.tryResolve;
@@ -33,11 +32,11 @@ public String sql(QueryContext qv, Object[] args) {
3332

3433
public String sql(QueryContext ctx) {
3534
var sb = new StringBuilder(50);
36-
sb = isNull(filter)
37-
? sb.append("ELSE ")
38-
: sb.append("WHEN ")
39-
.append(filter.sql(ctx))
40-
.append(" THEN ");
35+
sb = nonNull(filter)
36+
? sb.append("WHEN ")
37+
.append(filter.sql(ctx))
38+
.append(" THEN ")
39+
: sb.append("ELSE ");
4140
return sb.append(ctx.appendLiteral(value)).toString();
4241
}
4342

src/main/java/org/usf/jquery/web/ViewDecorator.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,21 @@
55
import static java.util.Map.entry;
66
import static java.util.Objects.nonNull;
77
import static java.util.Objects.requireNonNull;
8+
import static java.util.Optional.empty;
89
import static java.util.Optional.ofNullable;
910
import static java.util.stream.Collectors.toUnmodifiableMap;
1011
import static org.usf.jquery.core.SqlStringBuilder.quote;
1112
import static org.usf.jquery.core.Utils.isEmpty;
1213
import static org.usf.jquery.core.Validation.requireLegalVariable;
14+
import static org.usf.jquery.core.Validation.requireNArgs;
1315
import static org.usf.jquery.web.ColumnMetadata.columnMetadata;
1416
import static org.usf.jquery.web.ContextManager.currentContext;
1517
import static org.usf.jquery.web.NoSuchResourceException.undeclaredResouceException;
1618
import static org.usf.jquery.web.Parameters.COLUMN;
1719
import static org.usf.jquery.web.Parameters.COLUMN_DISTINCT;
18-
import static org.usf.jquery.web.Parameters.OFFSET;
1920
import static org.usf.jquery.web.Parameters.JOIN;
2021
import static org.usf.jquery.web.Parameters.LIMIT;
22+
import static org.usf.jquery.web.Parameters.OFFSET;
2123
import static org.usf.jquery.web.Parameters.ORDER;
2224
import static org.usf.jquery.web.Parameters.VIEW;
2325
import static org.usf.jquery.web.RequestParser.parseEntries;
@@ -188,17 +190,13 @@ default void parseFilters(QueryBuilder query, Map<String, String[]> parameters)
188190

189191
private static Optional<Integer> requirePositiveInt(String key, Map<String, String[]> parameters) {
190192
if(parameters.containsKey(key)) {
191-
var values = parameters.remove(key);
192-
if(values.length == 1) {
193-
var v = parseInt(values[0]);
194-
if(v >= 0) {
195-
return Optional.of(v);
196-
}
197-
throw new IllegalArgumentException(key + " cannot be negative");
193+
var v = parseInt(requireNArgs(1, parameters.remove(key), ()-> key)[0]);
194+
if(v >= 0) {
195+
return Optional.of(v);
198196
}
199-
throw new IllegalArgumentException("too many value");
197+
throw new IllegalArgumentException(key + " cannot be negative");
200198
}
201-
return Optional.empty();
199+
return empty();
202200
}
203201

204202
static Stream<String> flatParameters(String... arr) { //number local separator

0 commit comments

Comments
 (0)