{"record":{"id":"e92da9e2a3010281","repo":"flowable/flowable-engine","slug":"assigneelike-is-null-e92da9","errorCode":null,"errorMessage":"AssigneeLike is null","messagePattern":"AssigneeLike is null","errorType":"validation","errorClass":"ActivitiIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/flowable5-engine/src/main/java/org/activiti/engine/impl/TaskQueryImpl.java","lineNumber":352,"sourceCode":"    }\n\n    @Override\n    public TaskQueryImpl taskAssignee(String assignee) {\n        if (assignee == null) {\n            throw new ActivitiIllegalArgumentException(\"Assignee is null\");\n        }\n        if (orActive) {\n            currentOrQueryObject.assignee = assignee;\n        } else {\n            this.assignee = assignee;\n        }\n        return this;\n    }\n\n    @Override\n    public TaskQueryImpl taskAssigneeLike(String assigneeLike) {\n        if (assigneeLike == null) {\n            throw new ActivitiIllegalArgumentException(\"AssigneeLike is null\");\n        }\n        if (orActive) {\n            currentOrQueryObject.assigneeLike = assignee;\n        } else {\n            this.assigneeLike = assigneeLike;\n        }\n        return this;\n    }\n\n    @Override\n    public TaskQuery taskAssigneeLikeIgnoreCase(String assigneeLikeIgnoreCase) {\n        if (assigneeLikeIgnoreCase == null) {\n            throw new ActivitiIllegalArgumentException(\"assigneeLikeIgnoreCase is null\");\n        }\n        if (orActive) {\n            currentOrQueryObject.assigneeLikeIgnoreCase = assigneeLikeIgnoreCase.toLowerCase();\n        } else {\n            this.assigneeLikeIgnoreCase = assigneeLikeIgnoreCase.toLowerCase();","sourceCodeStart":334,"sourceCodeEnd":370,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable5-engine/src/main/java/org/activiti/engine/impl/TaskQueryImpl.java#L334-L370","documentation":"Thrown by TaskQueryImpl.taskAssigneeLike(String) when the assigneeLike argument is null. This setter performs a SQL LIKE match on the assignee column; a null pattern cannot be converted to a LIKE predicate, so the library raises ActivitiIllegalArgumentException at query construction time.","triggerScenarios":"Calling taskQuery.taskAssigneeLike(null) or passing a null-derived pattern variable (e.g. search term that defaulted to null).","commonSituations":"A search box whose value is null instead of empty string; a generic filter mapper that forwards null fields straight into the query builder.","solutions":["Pass a non-null pattern, e.g. taskAssigneeLike(\"%\" + term + \"%\").","Only call taskAssigneeLike when the search term is non-null/non-blank.","Convert empty search input to a wildcard or drop the filter entirely.","Normalize nulls to \"\" upstream and treat blank as 'no filter'."],"exampleFix":"// before\nString term = request.getAssigneeSearch(); // may be null\nquery.taskAssigneeLike(\"%\" + term + \"%\");\n\n// after\nString term = request.getAssigneeSearch();\nif (term != null && !term.trim().isEmpty()) {\n    query.taskAssigneeLike(\"%\" + term.trim() + \"%\");\n}","handlingStrategy":"validation","validationCode":"if (pattern != null && !pattern.trim().isEmpty()) {\n    query.taskAssigneeLike(\"%\" + pattern.trim() + \"%\");\n}","typeGuard":"boolean hasSearchPattern(String s) { return s != null && !s.trim().isEmpty(); }","tryCatchPattern":"try {\n    query.taskAssigneeLike(pattern);\n} catch (ActivitiIllegalArgumentException e) {\n    throw new BadRequestException(\"Assignee pattern invalid: \" + e.getMessage());\n}","preventionTips":["Convert null search input to 'no filter' at the boundary.","Escape user-supplied LIKE wildcards before building the pattern.","Keep a single normalization helper for all search-term filters."],"tags":["java","flowable","task-query","null-argument","like-filter"],"backgroundTag":"null-argument","analyzedSha":"d6d39ce1c69ff244f2d9dc6af756a9b95e865586","analyzedAt":"2026-09-11T06:41:19.413Z","contentChangedAt":"2026-09-11T06:41:19.413Z","schemaVersion":2},"datasetVersion":"2026-09-18T11:17:12.947Z"}