[Minor] Allow to query by Id and Name when without prefix
This commit is contained in:
parent
41f5f22574
commit
2cbdca3da8
|
@ -121,23 +121,11 @@ public abstract class QueryParser extends CompositeParser {
|
|||
}
|
||||
|
||||
action("id", (String s) -> {
|
||||
String trimmed = s.trim();
|
||||
if (trimmed.isEmpty())
|
||||
return null;
|
||||
|
||||
if (this.idSelection == null) {
|
||||
this.idSelection = new IdSelection(trimmed, StringMatchMode.ci());
|
||||
or().with(this.idSelection);
|
||||
} else {
|
||||
this.idSelection.with(trimmed);
|
||||
}
|
||||
|
||||
doIdAction(s);
|
||||
return null;
|
||||
});
|
||||
action("name", (String s) -> {
|
||||
String trimmed = s.trim();
|
||||
if (!trimmed.isEmpty())
|
||||
or().with(new NameSelection(trimmed, StringMatchMode.ci()));
|
||||
doNameAction(s);
|
||||
return null;
|
||||
});
|
||||
action("type", (String s) -> {
|
||||
|
@ -150,25 +138,46 @@ public abstract class QueryParser extends CompositeParser {
|
|||
} else {
|
||||
|
||||
action("other", (String s) -> {
|
||||
|
||||
for (String bagId : getBagParamSet().keySet()) {
|
||||
Set<String> set = getBagParamSet().getSet(bagId);
|
||||
for (String paramId : set) {
|
||||
String trimmed = s.trim();
|
||||
if (!trimmed.isEmpty())
|
||||
or().with(
|
||||
ParameterSelection.anyTypeSelection(bagId, paramId, trimmed, StringMatchMode.ci()));
|
||||
}
|
||||
}
|
||||
|
||||
doIdAction(s);
|
||||
doNameAction(s);
|
||||
doParamAction(s);
|
||||
return null;
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
action("start", o -> this.query);
|
||||
}
|
||||
|
||||
private void doIdAction(String s) {
|
||||
String trimmed = s.trim();
|
||||
if (trimmed.isEmpty())
|
||||
return;
|
||||
|
||||
if (this.idSelection == null) {
|
||||
this.idSelection = new IdSelection(trimmed, StringMatchMode.ci());
|
||||
or().with(this.idSelection);
|
||||
} else {
|
||||
this.idSelection.with(trimmed);
|
||||
}
|
||||
}
|
||||
|
||||
private void doNameAction(String s) {
|
||||
String trimmed = s.trim();
|
||||
if (!trimmed.isEmpty())
|
||||
or().with(new NameSelection(trimmed, StringMatchMode.ci()));
|
||||
}
|
||||
|
||||
private void doParamAction(String s) {
|
||||
for (String bagId : getBagParamSet().keySet()) {
|
||||
Set<String> set = getBagParamSet().getSet(bagId);
|
||||
for (String paramId : set) {
|
||||
String trimmed = s.trim();
|
||||
if (!trimmed.isEmpty())
|
||||
or().with(ParameterSelection.anyTypeSelection(bagId, paramId, trimmed, StringMatchMode.ci()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initialize() {
|
||||
defs();
|
||||
|
|
Loading…
Reference in New Issue