This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 89efe5c CAMEL-16600: kamelet local bean - Better DSL for YAML DSL 89efe5c is described below commit 89efe5c41b8cdd1fc67dd1a049d5e28f399ec8fb Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue May 11 09:43:46 2021 +0200 CAMEL-16600: kamelet local bean - Better DSL for YAML DSL --- .../java/org/apache/camel/impl/DefaultModel.java | 13 +- .../resources/org/apache/camel/model/jaxb.index | 1 - .../org/apache/camel/model/templateBean.json | 4 +- .../camel/model/RouteTemplateBeanDefinition.java | 150 +++++++++++++++--- .../model/RouteTemplateBeanFactoryDefinition.java | 175 --------------------- .../camel/model/RouteTemplateDefinition.java | 15 +- .../java/org/apache/camel/xml/in/ModelParser.java | 17 +- .../dsl/yaml/deserializers/ModelDeserializers.java | 52 +----- .../deserializers/ModelDeserializersResolver.java | 2 - .../src/generated/resources/camel-yaml-dsl.json | 20 +-- 10 files changed, 151 insertions(+), 298 deletions(-) diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java index a915aa2..a9dd0ce 100644 --- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java +++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java @@ -336,22 +336,17 @@ public class DefaultModel implements Model { private void addTemplateBeans(RouteTemplateContext routeTemplateContext, RouteTemplateDefinition target) throws Exception { for (RouteTemplateBeanDefinition b : target.getTemplateBeans()) { - if (b.getBeanType() != null) { - // could be created via XML DSL where you cannot program in Java and can only specify the bean as fqn classname - Class<?> clazz = camelContext.getClassResolver().resolveMandatoryClass(b.getBeanType()); - routeTemplateContext.bind(b.getName(), clazz, () -> camelContext.getInjector().newInstance(clazz)); - } else if (b.getBeanSupplier() != null) { + if (b.getBeanSupplier() != null) { // bean class is optional for supplier if (b.getBeanClass() != null) { routeTemplateContext.bind(b.getName(), b.getBeanClass(), b.getBeanSupplier()); } else { routeTemplateContext.bind(b.getName(), b.getBeanSupplier()); } - } else if (b.getBeanFactory() != null) { - final String script = b.getBeanFactory().getScript(); + } else if (b.getScript() != null) { + final String script = b.getScript(); + final Language lan = camelContext.resolveLanguage(b.getLanguage()); final Class<?> clazz = b.getBeanClass() != null ? b.getBeanClass() : Object.class; - - final Language lan = camelContext.resolveLanguage(b.getBeanFactory().getLanguage()); final ScriptingLanguage slan = lan instanceof ScriptingLanguage ? (ScriptingLanguage) lan : null; if (slan != null) { // scripting language should be evaluated with route template context as binding diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index index 844ed11..88bee1b 100644 --- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index +++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index @@ -66,7 +66,6 @@ RouteBuilderDefinition RouteContextRefDefinition RouteDefinition RouteTemplateBeanDefinition -RouteTemplateBeanFactoryDefinition RouteTemplateContextRefDefinition RouteTemplateDefinition RouteTemplateParameterDefinition diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/templateBean.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/templateBean.json index 807dc49..d2b0b7c 100644 --- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/templateBean.json +++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/templateBean.json @@ -12,7 +12,7 @@ }, "properties": { "name": { "kind": "attribute", "displayName": "Name", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Bean name" }, - "beanType": { "kind": "attribute", "displayName": "Bean Type", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Sets the Class of the bean" }, - "beanFactory": { "kind": "element", "displayName": "Bean Factory", "required": false, "type": "object", "javaType": "org.apache.camel.model.RouteTemplateBeanFactoryDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Bean factory that uses a scripting language to create the local bean" } + "language": { "kind": "attribute", "displayName": "Language", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "bean", "groovy", "joor", "language", "mvel", "ognl" ], "deprecated": false, "autowired": false, "secret": false, "description": "The language to use for creating the bean (such as groovy, joor)" }, + "script": { "kind": "value", "displayName": "Script", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the external resource." } } } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java index 5b7a07f..dcb104c 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanDefinition.java @@ -19,9 +19,9 @@ package org.apache.camel.model; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; import org.apache.camel.RouteTemplateContext; import org.apache.camel.spi.Metadata; @@ -33,16 +33,22 @@ import org.apache.camel.spi.Metadata; @XmlRootElement(name = "templateBean") @XmlAccessorType(XmlAccessType.FIELD) public class RouteTemplateBeanDefinition { + @XmlTransient + private RouteTemplateDefinition parent; @XmlAttribute(required = true) String name; - @XmlAttribute - private String beanType; @XmlTransient private Class<?> beanClass; + // it only makes sense to use the languages that are general purpose scripting languages + @XmlAttribute(required = true) + @Metadata(enums = "bean,groovy,joor,language,mvel,ognl") + private String language; + @XmlValue + @Metadata(required = true) + private String script; + // special for java-dsl to allow using lambda style @XmlTransient private RouteTemplateContext.BeanSupplier<Object> beanSupplier; - @XmlElement - private RouteTemplateBeanFactoryDefinition beanFactory; public RouteTemplateBeanDefinition() { } @@ -51,6 +57,10 @@ public class RouteTemplateBeanDefinition { this.name = name; } + public RouteTemplateBeanDefinition(RouteTemplateDefinition parent) { + this.parent = parent; + } + public String getName() { return name; } @@ -62,26 +72,37 @@ public class RouteTemplateBeanDefinition { this.name = name; } - public String getBeanType() { - return beanType; + public Class<?> getBeanClass() { + return beanClass; + } + + public void setBeanType(Class<?> beanType) { + this.beanClass = beanType; + } + + public String getLanguage() { + return language; } /** - * Sets the Class of the bean + * The language to use for creating the bean (such as groovy, joor) */ - public void setBeanType(String beanType) { - this.beanType = beanType; + public void setLanguage(String language) { + this.language = language; } - public Class<?> getBeanClass() { - return beanClass; + public String getScript() { + return script; } /** - * Sets the Class of the bean + * The script to execute that creates the bean. + * + * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, + * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. */ - public void setBeanType(Class<?> beanType) { - this.beanClass = beanType; + public void setScript(String script) { + this.script = script; } public RouteTemplateContext.BeanSupplier<Object> getBeanSupplier() { @@ -95,14 +116,103 @@ public class RouteTemplateBeanDefinition { this.beanSupplier = beanSupplier; } - public RouteTemplateBeanFactoryDefinition getBeanFactory() { - return beanFactory; + // fluent builders + // ---------------------------------------------------- + + /** + * Calls a method on a bean for creating the local template bean + * + * @param type the bean class to call + */ + public RouteTemplateDefinition bean(Class<?> type) { + return bean(type, null); + } + + /** + * Calls a method on a bean for creating the local template bean + * + * @param type the bean class to call + * @param method the name of the method to call + */ + public RouteTemplateDefinition bean(Class<?> type, String method) { + setLanguage("bean"); + if (method != null) { + setScript(type.getName() + "?method=" + method); + } else { + setScript(type.getName()); + } + return parent; + } + + /** + * Calls a groovy script for creating the local template bean + * + * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, + * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. + * + * @param script the script + */ + public RouteTemplateDefinition groovy(String script) { + setLanguage("groovy"); + setScript(script); + return parent; + } + + /** + * Calls joor script (Java source that is runtime compiled to Java bytecode) for creating the local template bean + * + * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, + * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. + * + * @param script the script + */ + public RouteTemplateDefinition joor(String script) { + setLanguage("joor"); + setScript(script); + return parent; + } + + /** + * Calls a custom language for creating the local template bean + * + * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, + * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. + * + * @param language the custom language (a language not provided out of the box from Camel) + * @param script the script + */ + public RouteTemplateDefinition language(String language, String script) { + setLanguage(language); + setScript(script); + return parent; + } + + /** + * Calls a MvEL script for creating the local template bean + * + * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, + * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. + * + * @param script the script + */ + public RouteTemplateDefinition mvel(String script) { + setLanguage("mvel"); + setScript(script); + return parent; } /** - * Bean factory that uses a scripting language to create the local bean + * Calls a OGNL script for creating the local template bean + * + * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, + * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. + * + * @param script the script */ - public void setBeanFactory(RouteTemplateBeanFactoryDefinition beanFactory) { - this.beanFactory = beanFactory; + public RouteTemplateDefinition ognl(String script) { + setLanguage("ognl"); + setScript(script); + return parent; } + } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanFactoryDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanFactoryDefinition.java deleted file mode 100644 index cd6f2ec..0000000 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateBeanFactoryDefinition.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.model; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; -import javax.xml.bind.annotation.XmlValue; - -import org.apache.camel.spi.Metadata; - -/** - * A route template bean factory (local bean) - */ -@Metadata(label = "configuration") -@XmlRootElement(name = "templateBeanFactory") -@XmlAccessorType(XmlAccessType.FIELD) -public class RouteTemplateBeanFactoryDefinition { - @XmlTransient - private RouteTemplateDefinition parent; - // it only makes sense to use the languages that are general purpose scripting languages - @XmlAttribute(required = true) - @Metadata(enums = "bean,groovy,joor,language,mvel,ognl") - private String language; - @XmlValue - private String script; - - public RouteTemplateBeanFactoryDefinition() { - } - - public RouteTemplateBeanFactoryDefinition(RouteTemplateDefinition parent) { - this.parent = parent; - } - - public String getLanguage() { - return language; - } - - /** - * The language to use for creating the bean (such as groovy, joor) - */ - public void setLanguage(String language) { - this.language = language; - } - - public String getScript() { - return script; - } - - /** - * The script to execute that creates the bean. - * - * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, - * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. - */ - public void setScript(String script) { - this.script = script; - } - - // fluent builders - // ---------------------------------------------------- - - /** - * Calls a method on a bean for creating the local template bean - * - * @param type the bean class to call - */ - public RouteTemplateDefinition bean(Class<?> type) { - return bean(type, null); - } - - /** - * Calls a method on a bean for creating the local template bean - * - * @param type the bean class to call - * @param method the name of the method to call - */ - public RouteTemplateDefinition bean(Class<?> type, String method) { - setLanguage("bean"); - if (method != null) { - setScript(type.getName() + "?method=" + method); - } else { - setScript(type.getName()); - } - return parent; - } - - /** - * Calls a groovy script for creating the local template bean - * - * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, - * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. - * - * @param script the script - */ - public RouteTemplateDefinition groovy(String script) { - setLanguage("groovy"); - setScript(script); - return parent; - } - - /** - * Calls joor script (Java source that is runtime compiled to Java bytecode) for creating the local template bean - * - * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, - * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. - * - * @param script the script - */ - public RouteTemplateDefinition joor(String script) { - setLanguage("joor"); - setScript(script); - return parent; - } - - /** - * Calls a custom language for creating the local template bean - * - * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, - * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. - * - * @param language the custom language (a language not provided out of the box from Camel) - * @param script the script - */ - public RouteTemplateDefinition language(String language, String script) { - setLanguage(language); - setScript(script); - return parent; - } - - /** - * Calls a MvEL script for creating the local template bean - * - * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, - * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. - * - * @param script the script - */ - public RouteTemplateDefinition mvel(String script) { - setLanguage("mvel"); - setScript(script); - return parent; - } - - /** - * Calls a OGNL script for creating the local template bean - * - * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>, - * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource. - * - * @param script the script - */ - public RouteTemplateDefinition ognl(String script) { - setLanguage("ognl"); - setScript(script); - return parent; - } - -} diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java index 8d8cf40..8d60711 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java @@ -212,7 +212,6 @@ public class RouteTemplateDefinition extends OptionalIdentifiedDefinition { def.setBeanSupplier(ctx -> ((Supplier<?>) bean).get()); } else { def.setBeanSupplier(ctx -> bean); - def.setBeanType(bean.getClass()); } templateBeans.add(def); return this; @@ -267,10 +266,8 @@ public class RouteTemplateDefinition extends OptionalIdentifiedDefinition { } RouteTemplateBeanDefinition def = new RouteTemplateBeanDefinition(); def.setName(name); - RouteTemplateBeanFactoryDefinition bf = new RouteTemplateBeanFactoryDefinition(); - bf.setLanguage(language); - bf.setScript(script); - def.setBeanFactory(bf); + def.setLanguage(language); + def.setScript(script); templateBeans.add(def); return this; } @@ -281,16 +278,14 @@ public class RouteTemplateDefinition extends OptionalIdentifiedDefinition { * @param name the name of the bean * @return fluent builder to choose which language and script to use for creating the bean */ - public RouteTemplateBeanFactoryDefinition templateBean(String name) { + public RouteTemplateBeanDefinition templateBean(String name) { if (templateBeans == null) { templateBeans = new ArrayList<>(); } - RouteTemplateBeanDefinition def = new RouteTemplateBeanDefinition(); + RouteTemplateBeanDefinition def = new RouteTemplateBeanDefinition(this); def.setName(name); - RouteTemplateBeanFactoryDefinition bf = new RouteTemplateBeanFactoryDefinition(this); - def.setBeanFactory(bf); templateBeans.add(def); - return bf; + return def; } /** diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java index 45fb667..df6ce58 100644 --- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java +++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java @@ -1023,26 +1023,11 @@ public class ModelParser extends BaseParser { protected RouteTemplateBeanDefinition doParseRouteTemplateBeanDefinition() throws IOException, XmlPullParserException { return doParse(new RouteTemplateBeanDefinition(), (def, key, val) -> { switch (key) { - case "beanType": def.setBeanType(val); break; + case "language": def.setLanguage(val); break; case "name": def.setName(val); break; default: return false; } return true; - }, (def, key) -> { - if ("beanFactory".equals(key)) { - def.setBeanFactory(doParseRouteTemplateBeanFactoryDefinition()); - return true; - } - return false; - }, noValueHandler()); - } - protected RouteTemplateBeanFactoryDefinition doParseRouteTemplateBeanFactoryDefinition() throws IOException, XmlPullParserException { - return doParse(new RouteTemplateBeanFactoryDefinition(), (def, key, val) -> { - if ("language".equals(key)) { - def.setLanguage(val); - return true; - } - return false; }, noElementHandler(), (def, val) -> def.setScript(val)); } protected RouteTemplateContextRefDefinition doParseRouteTemplateContextRefDefinition() throws IOException, XmlPullParserException { diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java index dc002bf..b681d4a 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java @@ -72,7 +72,6 @@ import org.apache.camel.model.RouteBuilderDefinition; import org.apache.camel.model.RouteContextRefDefinition; import org.apache.camel.model.RouteDefinition; import org.apache.camel.model.RouteTemplateBeanDefinition; -import org.apache.camel.model.RouteTemplateBeanFactoryDefinition; import org.apache.camel.model.RouteTemplateParameterDefinition; import org.apache.camel.model.RoutingSlipDefinition; import org.apache.camel.model.SagaActionUriDefinition; @@ -11740,9 +11739,9 @@ public final class ModelDeserializers extends YamlDeserializerSupport { order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, nodes = "template-bean", properties = { - @YamlProperty(name = "template-bean-factory", type = "object:org.apache.camel.model.RouteTemplateBeanFactoryDefinition"), - @YamlProperty(name = "bean-type", type = "string"), - @YamlProperty(name = "name", type = "string", required = true) + @YamlProperty(name = "language", type = "string", required = true), + @YamlProperty(name = "name", type = "string", required = true), + @YamlProperty(name = "script", type = "string", required = true) } ) public static class RouteTemplateBeanDefinitionDeserializer extends YamlDeserializerBase<RouteTemplateBeanDefinition> { @@ -11764,14 +11763,9 @@ public final class ModelDeserializers extends YamlDeserializerSupport { protected boolean setProperty(RouteTemplateBeanDefinition target, String propertyKey, String propertyName, Node node) { switch(propertyKey) { - case "template-bean-factory": { - org.apache.camel.model.RouteTemplateBeanFactoryDefinition val = asType(node, org.apache.camel.model.RouteTemplateBeanFactoryDefinition.class); - target.setBeanFactory(val); - break; - } - case "bean-type": { + case "language": { String val = asText(node); - target.setBeanType(val); + target.setLanguage(val); break; } case "name": { @@ -11779,42 +11773,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setName(val); break; } - default: { - return false; - } - } - return true; - } - } - - @YamlType( - types = org.apache.camel.model.RouteTemplateBeanFactoryDefinition.class, - order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, - nodes = "template-bean-factory", - properties = { - @YamlProperty(name = "language", type = "string", required = true), - @YamlProperty(name = "script", type = "string") - } - ) - public static class RouteTemplateBeanFactoryDefinitionDeserializer extends YamlDeserializerBase<RouteTemplateBeanFactoryDefinition> { - public RouteTemplateBeanFactoryDefinitionDeserializer() { - super(RouteTemplateBeanFactoryDefinition.class); - } - - @Override - protected RouteTemplateBeanFactoryDefinition newInstance() { - return new RouteTemplateBeanFactoryDefinition(); - } - - @Override - protected boolean setProperty(RouteTemplateBeanFactoryDefinition target, String propertyKey, - String propertyName, Node node) { - switch(propertyKey) { - case "language": { - String val = asText(node); - target.setLanguage(val); - break; - } case "script": { String val = asText(node); target.setScript(val); diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java index df0fe5b98..10d3065 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java @@ -294,8 +294,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "org.apache.camel.model.RouteDefinition": return new ModelDeserializers.RouteDefinitionDeserializer(); case "template-bean": return new ModelDeserializers.RouteTemplateBeanDefinitionDeserializer(); case "org.apache.camel.model.RouteTemplateBeanDefinition": return new ModelDeserializers.RouteTemplateBeanDefinitionDeserializer(); - case "template-bean-factory": return new ModelDeserializers.RouteTemplateBeanFactoryDefinitionDeserializer(); - case "org.apache.camel.model.RouteTemplateBeanFactoryDefinition": return new ModelDeserializers.RouteTemplateBeanFactoryDefinitionDeserializer(); case "template-parameter": return new ModelDeserializers.RouteTemplateParameterDefinitionDeserializer(); case "org.apache.camel.model.RouteTemplateParameterDefinition": return new ModelDeserializers.RouteTemplateParameterDefinitionDeserializer(); case "routing-slip": return new ModelDeserializers.RoutingSlipDefinitionDeserializer(); diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json index 53b5ec7..99d1e9b 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json @@ -2065,30 +2065,18 @@ }, { "type" : "object", "properties" : { - "bean-type" : { + "language" : { "type" : "string" }, "name" : { "type" : "string" }, - "template-bean-factory" : { - "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateBeanFactoryDefinition" + "script" : { + "type" : "string" } } } ], - "required" : [ "name" ] - }, - "org.apache.camel.model.RouteTemplateBeanFactoryDefinition" : { - "type" : "object", - "properties" : { - "language" : { - "type" : "string" - }, - "script" : { - "type" : "string" - } - }, - "required" : [ "language" ] + "required" : [ "language", "name", "script" ] }, "org.apache.camel.model.RouteTemplateDefinition" : { "type" : "object",