{"record":{"id":"8aabbddc8f91d638","repo":"flowable/flowable-engine","slug":"category-is-null-8aabbd","errorCode":null,"errorMessage":"category is null","messagePattern":"category is null","errorType":"validation","errorClass":"FlowableIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDefinitionQueryImpl.java","lineNumber":86,"sourceCode":"        super(commandExecutor);\n    }\n\n    @Override\n    public EventDefinitionQueryImpl eventDefinitionId(String eventDefinitionId) {\n        this.id = eventDefinitionId;\n        return this;\n    }\n\n    @Override\n    public EventDefinitionQueryImpl eventDefinitionIds(Set<String> eventDefinitionIds) {\n        this.ids = eventDefinitionIds;\n        return this;\n    }\n\n    @Override\n    public EventDefinitionQueryImpl eventCategory(String category) {\n        if (category == null) {\n            throw new FlowableIllegalArgumentException(\"category is null\");\n        }\n        this.category = category;\n        return this;\n    }\n\n    @Override\n    public EventDefinitionQueryImpl eventCategoryLike(String categoryLike) {\n        if (categoryLike == null) {\n            throw new FlowableIllegalArgumentException(\"categoryLike is null\");\n        }\n        this.categoryLike = categoryLike;\n        return this;\n    }\n\n    @Override\n    public EventDefinitionQueryImpl eventCategoryNotEquals(String categoryNotEquals) {\n        if (categoryNotEquals == null) {\n            throw new FlowableIllegalArgumentException(\"categoryNotEquals is null\");","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDefinitionQueryImpl.java#L68-L104","documentation":"EventDefinitionQueryImpl.eventCategory() throws FlowableIllegalArgumentException ('category is null') when the category argument is null. Like the other query setters, it validates eagerly so the eventual SQL filter is guaranteed valid. It indicates a null category string was passed as a filter criterion.","triggerScenarios":"Calling eventCategory(null) on an EventDefinitionQuery, typically when the category is taken from an absent configuration value or request parameter.","commonSituations":"Category filters wired to optional UI inputs; nulls from deserialized filter DTOs; category constants accidentally null due to static init order.","solutions":["Pass a non-null category string, e.g. eventCategory(\"my.category\")","Guard the call with a null check and skip the filter when absent","Use eventCategoryLike or eventCategoryNotEquals with appropriate null guards for pattern/negated matching"],"exampleFix":"// before\nquery.eventCategory(category);\n// after\nif (category != null) { query.eventCategory(category); }","handlingStrategy":"validation","validationCode":"null","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Null-check all query filter arguments"],"tags":["null","query","category","event-registry"],"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"}