diff --git a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dsl/VitamQueryHelper.java b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dsl/VitamQueryHelper.java index 45b39e1bf93a9c65ab101ffb9646780e702a6542..130dc201c85e71c8d00e7517ba724d4b30994129 100644 --- a/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dsl/VitamQueryHelper.java +++ b/api/api-referential/referential-commons/src/main/java/fr/gouv/vitamui/referential/common/dsl/VitamQueryHelper.java @@ -119,14 +119,28 @@ public class VitamQueryHelper { case IDENTIFIER: case ID: case PUID: - case RULE_ID: - case RULE_VALUE: - case RULE_TYPE: // string equals operation final String stringValue = (String) entry.getValue(); queryOr.add(eq(searchKey, stringValue)); haveOrParameters = true; break; + case RULE_TYPE: + // string equals operation filter as a and + final String ruleType = (String) entry.getValue(); + query.add(eq(searchKey, ruleType)); + break; + case RULE_ID: + // string wildward operation + final String ruleId = (String) entry.getValue(); + queryOr.add(wildcard(searchKey, "*"+ruleId+"*")); + haveOrParameters = true; + break; + case RULE_VALUE: + // string match phrase prefix operation + final String ruleValue = (String) entry.getValue(); + queryOr.add(matchPhrasePrefix(searchKey, ruleValue)); + haveOrParameters = true; + break; case EV_TYPE_PROC: // string equals operation final String evTypeProc = (String) entry.getValue();