This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch order in repository https://gitbox.apache.org/repos/asf/camel.git
commit 07e99354c0ee5b4c85d0ee4770a4ec87f223dd12 Author: Claus Ibsen <[email protected]> AuthorDate: Mon Feb 16 21:15:25 2026 +0100 CAMEL-23014: camel-core - Fix route dumper to support propOrder in model. And make sure circuitBreaker has onFallback last. --- .../modules/eips/pages/circuitBreaker-eip.adoc | 23 ++++---- .../java/org/apache/camel/xml/out/ModelWriter.java | 40 +++++++------- .../org/apache/camel/yaml/out/ModelWriter.java | 40 +++++++------- .../maven/packaging/ModelWriterGeneratorMojo.java | 63 +++++++++++++++++++--- .../packaging/XmlModelWriterGeneratorMojo.java | 5 +- .../packaging/YamlModelWriterGeneratorMojo.java | 5 +- 6 files changed, 112 insertions(+), 64 deletions(-) diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc index 801ac1e1c5f2..19902985ee75 100644 --- a/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc +++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc @@ -80,25 +80,20 @@ YAML:: ---- - route: from: - uri: direct - parameters: - name: start + uri: direct:start steps: - circuitBreaker: - onFallback: - steps: - - transform: - constant: - expression: Fallback message steps: - to: - uri: http - parameters: - httpUri: fooservice.com/slow + uri: http://fooservice.com/slow + - onFallback: + steps: + - transform: + expression: + constant: + expression: Fallback message - to: - uri: mock - parameters: - name: result + uri: mock:result ---- ==== diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java index d819281e9904..2c855e51690d 100644 --- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java +++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java @@ -927,9 +927,9 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("inheritErrorHandler", toString(def.getInheritErrorHandler()), "false"); doWriteAttribute("configuration", def.getConfiguration(), null); doWriteElement("resilience4jConfiguration", def.getResilience4jConfiguration(), this::doWriteResilience4jConfigurationDefinition); - doWriteElement("onFallback", def.getOnFallback(), this::doWriteOnFallbackDefinition); doWriteElement("faultToleranceConfiguration", def.getFaultToleranceConfiguration(), this::doWriteFaultToleranceConfigurationDefinition); doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef); + doWriteElement("onFallback", def.getOnFallback(), this::doWriteOnFallbackDefinition); endElement(name); } protected void doWriteClaimCheckDefinition(String name, ClaimCheckDefinition def) throws IOException { @@ -1284,11 +1284,11 @@ public class ModelWriter extends BaseWriter { protected void doWriteOnCompletionDefinition(String name, OnCompletionDefinition def) throws IOException { startElement(name); doWriteProcessorDefinitionAttributes(def); - doWriteAttribute("parallelProcessing", def.getParallelProcessing(), null); - doWriteAttribute("useOriginalMessage", def.getUseOriginalMessage(), null); doWriteAttribute("mode", def.getMode(), "AfterConsumer"); doWriteAttribute("onCompleteOnly", def.getOnCompleteOnly(), null); doWriteAttribute("executorService", def.getExecutorService(), null); + doWriteAttribute("parallelProcessing", def.getParallelProcessing(), null); + doWriteAttribute("useOriginalMessage", def.getUseOriginalMessage(), null); doWriteAttribute("onFailureOnly", def.getOnFailureOnly(), null); doWriteElement("onWhen", def.getOnWhen(), this::doWriteOnWhenDefinition); doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef); @@ -1646,22 +1646,22 @@ public class ModelWriter extends BaseWriter { doWriteProcessorDefinitionAttributes(def); doWriteAttribute("template", toString(def.isTemplate()), null); doWriteAttribute("routeConfigurationId", def.getRouteConfigurationId(), null); + doWriteAttribute("logMask", def.getLogMask(), null); doWriteAttribute("streamCache", def.getStreamCache(), null); + doWriteAttribute("autoStartup", def.getAutoStartup(), "true"); doWriteAttribute("trace", def.getTrace(), null); + doWriteAttribute("nodePrefixId", def.getNodePrefixId(), null); + doWriteAttribute("delayer", def.getDelayer(), null); + doWriteAttribute("messageHistory", def.getMessageHistory(), null); + doWriteAttribute("kamelet", toString(def.isKamelet()), null); + doWriteAttribute("group", def.getGroup(), null); doWriteAttribute("rest", toString(def.isRest()), null); doWriteAttribute("routePolicyRef", def.getRoutePolicyRef(), null); doWriteAttribute("precondition", def.getPrecondition(), null); + doWriteAttribute("errorHandlerRef", def.getErrorHandlerRef(), null); doWriteAttribute("shutdownRoute", def.getShutdownRoute(), "Default"); doWriteAttribute("shutdownRunningTask", def.getShutdownRunningTask(), "CompleteCurrentTaskOnly"); doWriteAttribute("startupOrder", toString(def.getStartupOrder()), null); - doWriteAttribute("logMask", def.getLogMask(), null); - doWriteAttribute("nodePrefixId", def.getNodePrefixId(), null); - doWriteAttribute("messageHistory", def.getMessageHistory(), null); - doWriteAttribute("kamelet", toString(def.isKamelet()), null); - doWriteAttribute("autoStartup", def.getAutoStartup(), "true"); - doWriteAttribute("delayer", def.getDelayer(), null); - doWriteAttribute("group", def.getGroup(), null); - doWriteAttribute("errorHandlerRef", def.getErrorHandlerRef(), null); doWriteList(null, "routeProperty", def.getRouteProperties(), this::doWritePropertyDefinition); doWriteElement("errorHandler", def.getErrorHandler(), this::doWriteErrorHandlerDefinition); doWriteElement(null, def.getInput(), this::doWriteFromDefinitionRef); @@ -1679,8 +1679,8 @@ public class ModelWriter extends BaseWriter { startElement(name); doWriteOptionalIdentifiedDefinitionAttributes(def); doWriteList(null, "templateParameter", def.getTemplateParameters(), this::doWriteRouteTemplateParameterDefinition); - doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition); doWriteList(null, "templateBean", def.getTemplateBeans(), this::doWriteBeanFactoryDefinition); + doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition); endElement(name); } protected void doWriteRouteTemplateParameterDefinition(String name, RouteTemplateParameterDefinition def) throws IOException { @@ -1838,10 +1838,10 @@ public class ModelWriter extends BaseWriter { startElement(name); doWriteAttribute("routeId", def.getRouteId(), null); doWriteAttribute("routeTemplateRef", def.getRouteTemplateRef(), null); - doWriteAttribute("prefixId", def.getPrefixId(), null); doWriteAttribute("group", def.getGroup(), null); - doWriteList(null, "bean", def.getBeans(), this::doWriteBeanFactoryDefinition); + doWriteAttribute("prefixId", def.getPrefixId(), null); doWriteList(null, "parameter", def.getParameters(), this::doWriteTemplatedRouteParameterDefinition); + doWriteList(null, "bean", def.getBeans(), this::doWriteBeanFactoryDefinition); endElement(name); } protected void doWriteTemplatedRouteParameterDefinition(String name, TemplatedRouteParameterDefinition def) throws IOException { @@ -1888,10 +1888,10 @@ public class ModelWriter extends BaseWriter { startElement(name); doWriteProcessorDefinitionAttributes(def); doWriteAttribute("mode", def.getMode(), "TotalRequests"); - doWriteAttribute("timePeriodMillis", def.getTimePeriodMillis(), "1000"); - doWriteAttribute("rejectExecution", def.getRejectExecution(), null); doWriteAttribute("callerRunsWhenRejected", def.getCallerRunsWhenRejected(), "true"); doWriteAttribute("executorService", def.getExecutorService(), null); + doWriteAttribute("timePeriodMillis", def.getTimePeriodMillis(), "1000"); + doWriteAttribute("rejectExecution", def.getRejectExecution(), null); doWriteAttribute("asyncDelayed", def.getAsyncDelayed(), null); doWriteExpressionNodeElements(def); doWriteElement("correlationExpression", def.getCorrelationExpression(), this::doWriteExpressionSubElementDefinition); @@ -2090,16 +2090,16 @@ public class ModelWriter extends BaseWriter { endElement(name); } protected void doWriteBeansDefinitionElements(BeansDefinition def) throws IOException { - doWriteList(null, "route", def.getRoutes(), this::doWriteRouteDefinition); - domElements(def.getSpringOrBlueprintBeans()); - doWriteList("dataFormats", "dataFormat", def.getDataFormats(), this::doWriteDataFormatDefinition); doWriteList(null, "component-scan", def.getComponentScanning(), this::doWriteComponentScanDefinition); doWriteList(null, "bean", def.getBeans(), this::doWriteBeanFactoryDefinition); + domElements(def.getSpringOrBlueprintBeans()); + doWriteList("dataFormats", "dataFormat", def.getDataFormats(), this::doWriteDataFormatDefinition); doWriteList(null, "restConfiguration", def.getRestConfigurations(), this::doWriteRestConfigurationDefinition); doWriteList(null, "rest", def.getRests(), this::doWriteRestDefinition); doWriteList(null, "routeConfiguration", def.getRouteConfigurations(), this::doWriteRouteConfigurationDefinition); doWriteList(null, "routeTemplate", def.getRouteTemplates(), this::doWriteRouteTemplateDefinition); doWriteList(null, "templatedRoute", def.getTemplatedRoutes(), this::doWriteTemplatedRouteDefinition); + doWriteList(null, "route", def.getRoutes(), this::doWriteRouteDefinition); } protected void doWriteBeansDefinition(String name, BeansDefinition def) throws IOException { startElement(name); @@ -4245,4 +4245,4 @@ public class ModelWriter extends BaseWriter { public interface ElementSerializer<T> { void doWriteElement(String name, T value) throws IOException; } -} +} \ No newline at end of file diff --git a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java index 47c6ecf107a0..e2e5b974a6eb 100644 --- a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java +++ b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java @@ -927,9 +927,9 @@ public class ModelWriter extends BaseWriter { doWriteAttribute("inheritErrorHandler", toString(def.getInheritErrorHandler()), "false"); doWriteAttribute("configuration", def.getConfiguration(), null); doWriteElement("resilience4jConfiguration", def.getResilience4jConfiguration(), this::doWriteResilience4jConfigurationDefinition); - doWriteElement("onFallback", def.getOnFallback(), this::doWriteOnFallbackDefinition); doWriteElement("faultToleranceConfiguration", def.getFaultToleranceConfiguration(), this::doWriteFaultToleranceConfigurationDefinition); doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef); + doWriteElement("onFallback", def.getOnFallback(), this::doWriteOnFallbackDefinition); endElement(name); } protected void doWriteClaimCheckDefinition(String name, ClaimCheckDefinition def) throws IOException { @@ -1284,11 +1284,11 @@ public class ModelWriter extends BaseWriter { protected void doWriteOnCompletionDefinition(String name, OnCompletionDefinition def) throws IOException { startElement(name); doWriteProcessorDefinitionAttributes(def); - doWriteAttribute("parallelProcessing", def.getParallelProcessing(), null); - doWriteAttribute("useOriginalMessage", def.getUseOriginalMessage(), null); doWriteAttribute("mode", def.getMode(), "AfterConsumer"); doWriteAttribute("onCompleteOnly", def.getOnCompleteOnly(), null); doWriteAttribute("executorService", def.getExecutorService(), null); + doWriteAttribute("parallelProcessing", def.getParallelProcessing(), null); + doWriteAttribute("useOriginalMessage", def.getUseOriginalMessage(), null); doWriteAttribute("onFailureOnly", def.getOnFailureOnly(), null); doWriteElement("onWhen", def.getOnWhen(), this::doWriteOnWhenDefinition); doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef); @@ -1646,22 +1646,22 @@ public class ModelWriter extends BaseWriter { doWriteProcessorDefinitionAttributes(def); doWriteAttribute("template", toString(def.isTemplate()), null); doWriteAttribute("routeConfigurationId", def.getRouteConfigurationId(), null); + doWriteAttribute("logMask", def.getLogMask(), null); doWriteAttribute("streamCache", def.getStreamCache(), null); + doWriteAttribute("autoStartup", def.getAutoStartup(), "true"); doWriteAttribute("trace", def.getTrace(), null); + doWriteAttribute("nodePrefixId", def.getNodePrefixId(), null); + doWriteAttribute("delayer", def.getDelayer(), null); + doWriteAttribute("messageHistory", def.getMessageHistory(), null); + doWriteAttribute("kamelet", toString(def.isKamelet()), null); + doWriteAttribute("group", def.getGroup(), null); doWriteAttribute("rest", toString(def.isRest()), null); doWriteAttribute("routePolicyRef", def.getRoutePolicyRef(), null); doWriteAttribute("precondition", def.getPrecondition(), null); + doWriteAttribute("errorHandlerRef", def.getErrorHandlerRef(), null); doWriteAttribute("shutdownRoute", def.getShutdownRoute(), "Default"); doWriteAttribute("shutdownRunningTask", def.getShutdownRunningTask(), "CompleteCurrentTaskOnly"); doWriteAttribute("startupOrder", toString(def.getStartupOrder()), null); - doWriteAttribute("logMask", def.getLogMask(), null); - doWriteAttribute("nodePrefixId", def.getNodePrefixId(), null); - doWriteAttribute("messageHistory", def.getMessageHistory(), null); - doWriteAttribute("kamelet", toString(def.isKamelet()), null); - doWriteAttribute("autoStartup", def.getAutoStartup(), "true"); - doWriteAttribute("delayer", def.getDelayer(), null); - doWriteAttribute("group", def.getGroup(), null); - doWriteAttribute("errorHandlerRef", def.getErrorHandlerRef(), null); doWriteList(null, "routeProperty", def.getRouteProperties(), this::doWritePropertyDefinition); doWriteElement("errorHandler", def.getErrorHandler(), this::doWriteErrorHandlerDefinition); doWriteElement(null, def.getInput(), this::doWriteFromDefinitionRef); @@ -1679,8 +1679,8 @@ public class ModelWriter extends BaseWriter { startElement(name); doWriteOptionalIdentifiedDefinitionAttributes(def); doWriteList(null, "templateParameter", def.getTemplateParameters(), this::doWriteRouteTemplateParameterDefinition); - doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition); doWriteList(null, "templateBean", def.getTemplateBeans(), this::doWriteBeanFactoryDefinition); + doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition); endElement(name); } protected void doWriteRouteTemplateParameterDefinition(String name, RouteTemplateParameterDefinition def) throws IOException { @@ -1838,10 +1838,10 @@ public class ModelWriter extends BaseWriter { startElement(name); doWriteAttribute("routeId", def.getRouteId(), null); doWriteAttribute("routeTemplateRef", def.getRouteTemplateRef(), null); - doWriteAttribute("prefixId", def.getPrefixId(), null); doWriteAttribute("group", def.getGroup(), null); - doWriteList(null, "bean", def.getBeans(), this::doWriteBeanFactoryDefinition); + doWriteAttribute("prefixId", def.getPrefixId(), null); doWriteList(null, "parameter", def.getParameters(), this::doWriteTemplatedRouteParameterDefinition); + doWriteList(null, "bean", def.getBeans(), this::doWriteBeanFactoryDefinition); endElement(name); } protected void doWriteTemplatedRouteParameterDefinition(String name, TemplatedRouteParameterDefinition def) throws IOException { @@ -1888,10 +1888,10 @@ public class ModelWriter extends BaseWriter { startElement(name); doWriteProcessorDefinitionAttributes(def); doWriteAttribute("mode", def.getMode(), "TotalRequests"); - doWriteAttribute("timePeriodMillis", def.getTimePeriodMillis(), "1000"); - doWriteAttribute("rejectExecution", def.getRejectExecution(), null); doWriteAttribute("callerRunsWhenRejected", def.getCallerRunsWhenRejected(), "true"); doWriteAttribute("executorService", def.getExecutorService(), null); + doWriteAttribute("timePeriodMillis", def.getTimePeriodMillis(), "1000"); + doWriteAttribute("rejectExecution", def.getRejectExecution(), null); doWriteAttribute("asyncDelayed", def.getAsyncDelayed(), null); doWriteExpressionNodeElements(def); doWriteElement("correlationExpression", def.getCorrelationExpression(), this::doWriteExpressionSubElementDefinition); @@ -2090,16 +2090,16 @@ public class ModelWriter extends BaseWriter { endElement(name); } protected void doWriteBeansDefinitionElements(BeansDefinition def) throws IOException { - doWriteList(null, "route", def.getRoutes(), this::doWriteRouteDefinition); - domElements(def.getSpringOrBlueprintBeans()); - doWriteList("dataFormats", "dataFormat", def.getDataFormats(), this::doWriteDataFormatDefinition); doWriteList(null, "component-scan", def.getComponentScanning(), this::doWriteComponentScanDefinition); doWriteList(null, "bean", def.getBeans(), this::doWriteBeanFactoryDefinition); + domElements(def.getSpringOrBlueprintBeans()); + doWriteList("dataFormats", "dataFormat", def.getDataFormats(), this::doWriteDataFormatDefinition); doWriteList(null, "restConfiguration", def.getRestConfigurations(), this::doWriteRestConfigurationDefinition); doWriteList(null, "rest", def.getRests(), this::doWriteRestDefinition); doWriteList(null, "routeConfiguration", def.getRouteConfigurations(), this::doWriteRouteConfigurationDefinition); doWriteList(null, "routeTemplate", def.getRouteTemplates(), this::doWriteRouteTemplateDefinition); doWriteList(null, "templatedRoute", def.getTemplatedRoutes(), this::doWriteTemplatedRouteDefinition); + doWriteList(null, "route", def.getRoutes(), this::doWriteRouteDefinition); } protected void doWriteBeansDefinition(String name, BeansDefinition def) throws IOException { startElement(name); @@ -4245,4 +4245,4 @@ public class ModelWriter extends BaseWriter { public interface ElementSerializer<T> { void doWriteElement(String name, T value) throws IOException; } -} +} \ No newline at end of file diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java index a7f7a2244c93..131dd42519d0 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java @@ -75,6 +75,8 @@ import org.jboss.jandex.IndexReader; public abstract class ModelWriterGeneratorMojo extends AbstractGeneratorMojo { + private static final String FALLBACK = "doWriteElement(\"onFallback\""; + public static final String MODEL_PACKAGE = "org.apache.camel.model"; private final Map<Class<?>, List<Property>> properties = new ConcurrentHashMap<>(); @@ -141,6 +143,29 @@ public abstract class ModelWriterGeneratorMojo extends AbstractGeneratorMojo { return velocity("velocity/model-writer.vm", ctx); } + protected String postGenerateWriter(String writer) { + // the velocity templates are ugly to maintain so lets hack here to control the order in circuit-breaker + // we want onFallback to be after outputs, but because the writer is hard-coded to not be able to generate code + // that respect this order, then we swap the lines after the source code is generated + String[] lines = writer.split(System.lineSeparator()); + int pos = -1; + for (int i = 0; i < lines.length; i++) { + String s = lines[i].trim(); + if (s.startsWith(FALLBACK)) { + pos = i; + break; + } + } + if (pos != -1) { + // swap lines + String prev = lines[pos]; + String next = lines[pos + 1]; + lines[pos] = next; + lines[pos + 1] = prev; + } + return String.join(System.lineSeparator(), lines); + } + protected Class<?> loadClass(ClassLoader loader, String name) { try { return loader.loadClass(name); @@ -274,14 +299,40 @@ public abstract class ModelWriterGeneratorMojo extends AbstractGeneratorMojo { XmlType xmlType = clazz.getAnnotation(XmlType.class); if (xmlType != null) { String[] propOrder = xmlType.propOrder(); - if (propOrder != null && propOrder.length > 0) { - // special for choice where whenClauses should use when in xml-io parser - final List<String> list = Arrays.stream(propOrder).map(o -> o.equals("whenClauses") ? "when" : o).toList(); - properties = properties - .sorted(Comparator.comparing(p -> Arrays.binarySearch(list.toArray(), p.getName()))); + if (propOrder != null && propOrder.length > 1) { + // special for DSL where XML vs YAML have different names, and we must use as-is due to JAXB @XmlType propOrder + final Map<String, String> alias = Map.of( + "whenClauses", "when", + "componentScanning", "component-scan", + "beans", "bean", + "dataFormats", "dataFormat", + "restConfigurations", "restConfiguration", + "rests", "rest", + "routeConfigurations", "routeConfiguration", + "routeTemplates", "routeTemplate", + "templatedRoutes", "templatedRoute", + "routes", "route"); + final List<String> list = Arrays.stream(propOrder).map(o -> alias.getOrDefault(o, o)).toList(); + boolean outputsLast = list.indexOf("outputs") == list.size() - 1; + properties = properties.sorted((o1, o2) -> { + String n1 = alias.getOrDefault(o1.name, o1.name); + String n2 = alias.getOrDefault(o2.name, o2.name); + int idx1 = list.indexOf(n1); + int idx2 = list.indexOf(n2); + if ("outputs".equals(n1) && outputsLast) { + idx1 = Integer.MAX_VALUE; + } + if ("outputs".equals(n2) && outputsLast) { + idx2 = Integer.MAX_VALUE; + } + return Integer.compare(idx1, idx2); + }); } } - return properties.toList(); + var l = properties.toList(); + var l2 = new ArrayList(); + l2.addAll(l); + return l2; } private List<Member> getMembers(Class<?> clazz) { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/XmlModelWriterGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/XmlModelWriterGeneratorMojo.java index 89cd6a172b89..f2077ba6513c 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/XmlModelWriterGeneratorMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/XmlModelWriterGeneratorMojo.java @@ -61,8 +61,9 @@ public class XmlModelWriterGeneratorMojo extends ModelWriterGeneratorMojo { return; } Path javaDir = sourcesOutputDir.toPath(); - String parser = generateWriter(); - updateResource(javaDir, (getWriterPackage() + ".ModelWriter").replace('.', '/') + ".java", parser); + String writer = generateWriter(); + writer = postGenerateWriter(writer); + updateResource(javaDir, (getWriterPackage() + ".ModelWriter").replace('.', '/') + ".java", writer); } @Override diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/YamlModelWriterGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/YamlModelWriterGeneratorMojo.java index 4ee2efc3721e..3fd3cc85519f 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/YamlModelWriterGeneratorMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/YamlModelWriterGeneratorMojo.java @@ -61,8 +61,9 @@ public class YamlModelWriterGeneratorMojo extends ModelWriterGeneratorMojo { return; } Path javaDir = sourcesOutputDir.toPath(); - String parser = generateWriter(); - updateResource(javaDir, (getWriterPackage() + ".ModelWriter").replace('.', '/') + ".java", parser); + String writer = generateWriter(); + writer = postGenerateWriter(writer); + updateResource(javaDir, (getWriterPackage() + ".ModelWriter").replace('.', '/') + ".java", writer); } @Override
