Skip to content

Commit 8b92551

Browse files
committed
Enable exact process title search on database
1 parent db865cf commit 8b92551

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

Kitodo/src/main/java/org/kitodo/production/enums/FilterString.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public enum FilterString {
2525
ID("id:", "id:"),
2626
PARENTPROCESSID("parentprocessid:", "elternprozessid:"),
2727
PROCESS("process:", "prozess:"),
28+
PROCESS_LOOSE("process_loose:", "prozess_unscharf:"),
2829
BATCH("batch:", "gruppe:"),
2930
TASKAUTOMATIC("stepautomatic:", "schrittautomatisch:"),
3031
PROPERTY("property:","eigenschaft:");

Kitodo/src/main/java/org/kitodo/production/filters/FilterMenu.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public class FilterMenu {
4444
FilterString.ID,
4545
FilterString.PARENTPROCESSID,
4646
FilterString.PROCESS,
47+
FilterString.PROCESS_LOOSE,
4748
FilterString.BATCH,
4849
FilterString.PROPERTY
4950
);
@@ -55,6 +56,7 @@ public class FilterMenu {
5556
FilterString.PROJECT_LOOSE,
5657
FilterString.ID,
5758
FilterString.PROCESS,
59+
FilterString.PROCESS_LOOSE,
5860
FilterString.BATCH,
5961
FilterString.PROPERTY
6062
);

Kitodo/src/main/java/org/kitodo/production/services/data/FilterField.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ enum FilterField {
2525
SEARCH(null, null, null, null, null, null, "search", ProcessKeywords.LENGTH_MIN_REASONABLE),
2626
PROCESS_ID(null, null, null, "id", "process.id", null, null, -1),
2727
PARENT_PROCESS_ID(null, null, null, "parent.id", "process.parent.id", null, null, -1),
28-
PROCESS_TITLE("title", "process.title", LikeSearch.NO, null, null, null, "searchTitle",
28+
PROCESS_TITLE("title", "process.title",LikeSearch.NO,"id", "process.id", null, null, -1),
29+
PROCESS_TITLE_LOOSE("title", "process.title", LikeSearch.NO, null, null, null, "searchTitle",
2930
ProcessKeywords.LENGTH_MIN_DEFAULT),
3031
PROJECT("project.title", "process.project.title", LikeSearch.ALLOWED, "project.id", "process.project.id", null,
3132
null, -1),
@@ -80,6 +81,7 @@ static FilterField ofString(String fieldName) {
8081
case "parentprocessid":
8182
return PARENT_PROCESS_ID;
8283
case "process": return PROCESS_TITLE;
84+
case "process_loose": return PROCESS_TITLE_LOOSE;
8385
case "project": return PROJECT;
8486
case "project_loose":
8587
return PROJECT_LOOSE;

Kitodo/src/main/java/org/kitodo/production/services/data/FilterService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,8 @@ private static UserSpecifiedFilter parseQueryPart(String item, boolean indexed)
410410
}
411411

412412
Matcher idSearch = ID_SEARCH_PATTERN.matcher(value);
413-
if (idSearch.matches() && !filterField.equals(FilterField.PROCESS_TITLE)) {
413+
if (idSearch.matches() && (!filterField.equals(FilterField.PROCESS_TITLE) &&
414+
!filterField.equals(FilterField.PROCESS_TITLE_LOOSE))) {
414415
return new DatabaseIdQueryPart(filterField, idSearch.group(1), idSearch.group(2), operand);
415416
}
416417

0 commit comments

Comments
 (0)