{"record":{"id":"9904df4c261db991","repo":"flowable/flowable-engine","slug":"parentdeploymentidlike-is-null-9904df","errorCode":null,"errorMessage":"parentDeploymentIdLike is null","messagePattern":"parentDeploymentIdLike is null","errorType":"validation","errorClass":"FlowableIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDeploymentQueryImpl.java","lineNumber":117,"sourceCode":"            throw new FlowableIllegalArgumentException(\"deploymentCategoryExclude is null\");\n        }\n        this.categoryNotEquals = deploymentCategoryNotEquals;\n        return this;\n    }\n\n    @Override\n    public EventDeploymentQueryImpl parentDeploymentId(String parentDeploymentId) {\n        if (parentDeploymentId == null) {\n            throw new FlowableIllegalArgumentException(\"parentDeploymentId is null\");\n        }\n        this.parentDeploymentId = parentDeploymentId;\n        return this;\n    }\n\n    @Override\n    public EventDeploymentQueryImpl parentDeploymentIdLike(String parentDeploymentIdLike) {\n        if (parentDeploymentIdLike == null) {\n            throw new FlowableIllegalArgumentException(\"parentDeploymentIdLike is null\");\n        }\n        this.parentDeploymentIdLike = parentDeploymentIdLike;\n        return this;\n    }\n\n    @Override\n    public EventDeploymentQueryImpl deploymentWithoutTenantId() {\n        this.withoutTenantId = true;\n        return this;\n    }\n\n    @Override\n    public EventDeploymentQueryImpl deploymentTenantId(String tenantId) {\n        if (tenantId == null) {\n            throw new FlowableIllegalArgumentException(\"deploymentTenantId is null\");\n        }\n        this.tenantId = tenantId;\n        return this;","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/flowable/flowable-engine/blob/d6d39ce1c69ff244f2d9dc6af756a9b95e865586/modules/flowable-event-registry/src/main/java/org/flowable/eventregistry/impl/EventDeploymentQueryImpl.java#L99-L135","documentation":"EventDeploymentQueryImpl.parentDeploymentIdLike() throws FlowableIllegalArgumentException when the given like-pattern string is null. Like-filters require a non-null pattern string because a null would be meaningless in the generated SQL LIKE clause. Passing an empty string is allowed; only null is rejected.","triggerScenarios":"Calling eventDeploymentQuery().parentDeploymentIdLike(null), typically when the pattern is computed from user input, a template variable, or an optional config value that was never set.","commonSituations":"Building dynamic search screens where the 'like' filter is optional and the developer passes the raw (null) input instead of conditionally applying the filter; property placeholder that failed to resolve.","solutions":["Null-check the pattern and only call parentDeploymentIdLike when it is non-null.","If the filter must always apply, substitute a sensible default pattern such as \"%\" before the call.","Fix the upstream source that returned null instead of an empty/default pattern."],"exampleFix":"// before\nquery.parentDeploymentIdLike(pattern);\n// after\nif (pattern != null) {\n    query.parentDeploymentIdLike(pattern);\n}","handlingStrategy":"validation","validationCode":"if (parentDeploymentIdLike == null) { throw new IllegalStateException(\"parentDeploymentIdLike must not be null\"); }\nquery.parentDeploymentIdLike(parentDeploymentIdLike);","typeGuard":"boolean hasPattern(String s) { return s != null; }","tryCatchPattern":"try {\n    query.parentDeploymentIdLike(pattern);\n} catch (FlowableIllegalArgumentException e) {\n    log.warn(\"Null like-pattern for parentDeploymentIdLike\", e);\n}","preventionTips":["Conditionally apply optional like-filters","Default unresolved placeholders to a fallback pattern","Validate request parameters at the API boundary"],"tags":["null-argument","query-builder","validation"],"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"}