[New] Added ?:<paramId>:<value> search predicate to SearchBuilder
This commit is contained in:
parent
3908d30400
commit
02b959ab77
|
@ -124,7 +124,7 @@ public class SearchBuilder {
|
||||||
else
|
else
|
||||||
predicate = containsIgnoreCase(value);
|
predicate = containsIgnoreCase(value);
|
||||||
|
|
||||||
if (!bagId.equals("?")) {
|
if (bagId.isEmpty() || !bagId.equals("?")) {
|
||||||
se = add(and, negate, se, param(bagId, paramId, predicate));
|
se = add(and, negate, se, param(bagId, paramId, predicate));
|
||||||
} else {
|
} else {
|
||||||
se = add(and, negate, se, element -> {
|
se = add(and, negate, se, element -> {
|
||||||
|
@ -149,7 +149,6 @@ public class SearchBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String[] parseParts(String part) {
|
private static String[] parseParts(String part) {
|
||||||
|
|
||||||
int pos1 = part.indexOf(':');
|
int pos1 = part.indexOf(':');
|
||||||
if (pos1 == -1)
|
if (pos1 == -1)
|
||||||
return new String[0];
|
return new String[0];
|
||||||
|
@ -158,7 +157,13 @@ public class SearchBuilder {
|
||||||
if (pos2 == -1)
|
if (pos2 == -1)
|
||||||
return new String[0];
|
return new String[0];
|
||||||
|
|
||||||
return new String[] { part.substring(0, pos1), part.substring(pos1 + 1, pos2), part.substring(pos2 + 1) };
|
String bagId = part.substring(0, pos1);
|
||||||
|
String paramId = part.substring(pos1 + 1, pos2);
|
||||||
|
String query = part.substring(pos2 + 1);
|
||||||
|
|
||||||
|
if (bagId.isEmpty() || paramId.isEmpty() || query.isEmpty())
|
||||||
|
return new String[0];
|
||||||
|
return new String[] { bagId, paramId, query };
|
||||||
}
|
}
|
||||||
|
|
||||||
private static <T extends StrolchRootElement> SearchExpression<T> add(boolean and, boolean negate,
|
private static <T extends StrolchRootElement> SearchExpression<T> add(boolean and, boolean negate,
|
||||||
|
|
Loading…
Reference in New Issue