You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Federico Mariani (Jira)" <ji...@apache.org> on 2026/07/10 14:31:00 UTC
[jira] [Created] (CAMEL-23992) camel-yaml-dsl-maven-plugin - GenerateYamlSchemaMojo.extractRequiredFromComposition has inverted $ref check: NPE on the branch it guards, no-op on the intended one
Federico Mariani created CAMEL-23992:
----------------------------------------
Summary: camel-yaml-dsl-maven-plugin - GenerateYamlSchemaMojo.extractRequiredFromComposition has inverted $ref check: NPE on the branch it guards, no-op on the intended one
Key: CAMEL-23992
URL: https://issues.apache.org/jira/browse/CAMEL-23992
Project: Camel
Issue Type: Bug
Components: camel-yaml-dsl
Affects Versions: 4.21.0
Reporter: Federico Mariani
In {{GenerateYamlSchemaMojo.extractRequiredFromComposition}} ({{dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/.../GenerateYamlSchemaMojo.java:580-593}}) the condition {{!compositionEntry.has("$ref")}} is inverted:
* when the entry does *not* have {{$ref}}, the code immediately calls {{compositionEntry.get("$ref").asText()}} → NPE ({{get}} returns null);
* when the entry *does* have {{$ref}}, the intended logic (dereference the parent definition and hoist its {{required}} list into the not/anyOf negation) is skipped entirely.
Net effect: the method either crashes or silently extracts nothing, so {{makeOptional()}} produces incomplete negation constraints for optional oneOf-group members whose target definition has a composition. Currently latent — the schemas generated today hit the {{composition == null}} early return — but the logic has been wrong since inception ({{f5b2597d7630}}, CAMEL-19698/19699) and will surface as soon as a composition-bearing definition enters an optional oneOf group.
_Filed by Claude Code on behalf of Croway._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)