You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by kl...@apache.org on 2022/02/17 11:42:28 UTC
[camel] branch main updated: CAMEL-17308: Remove "verb" as an allowed CAMEL REST YAML element. (#6962)
This is an automated email from the ASF dual-hosted git repository.
klease 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 79678fc CAMEL-17308: Remove "verb" as an allowed CAMEL REST YAML element. (#6962)
79678fc is described below
commit 79678fcf23ac3454d652d88230e5948c8e4341bd
Author: klease <38...@users.noreply.github.com>
AuthorDate: Thu Feb 17 12:41:50 2022 +0100
CAMEL-17308: Remove "verb" as an allowed CAMEL REST YAML element. (#6962)
* CAMEL-17308: Remove "verb" as an allowed CAMEL REST YAML element.
This also affects the generated XML model which also will only accept
the XML elements for different methods such as get, put and post.
Remove test cases in RestTest.groovy using verb.
* Add a note in the 3.16 update document for the removal of verb-based REST definitions in YAML and XML
---
.../org/apache/camel/model/rest/jaxb.index | 1 -
.../apache/camel/model/rest/VerbDefinition.java | 2 -
.../java/org/apache/camel/xml/in/ModelParser.java | 1 -
.../ROOT/pages/camel-3x-upgrade-guide-3_16.adoc | 4 +
.../dsl/yaml/deserializers/ModelDeserializers.java | 170 +--------------------
.../deserializers/ModelDeserializersResolver.java | 2 -
.../src/generated/resources/camel-yaml-dsl.json | 85 +----------
.../src/generated/resources/camelYamlDsl.json | 85 +----------
.../org/apache/camel/dsl/yaml/RestTest.groovy | 10 +-
9 files changed, 12 insertions(+), 348 deletions(-)
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/jaxb.index
index 41cacf5..222b310 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/jaxb.index
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/jaxb.index
@@ -26,4 +26,3 @@ RestSecurityOAuth2
RestSecurityOpenIdConnect
RestsDefinition
SecurityDefinition
-VerbDefinition
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
index 3fc65e5..7edb7f3 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/VerbDefinition.java
@@ -25,7 +25,6 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.model.Block;
@@ -41,7 +40,6 @@ import org.apache.camel.spi.Metadata;
* Rest command
*/
@Metadata(label = "rest")
-@XmlRootElement(name = "verb")
@XmlAccessorType(XmlAccessType.FIELD)
public class VerbDefinition extends OptionalIdentifiedDefinition<VerbDefinition> implements Block, OutputNode {
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 9df72d5..9870958 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
@@ -1087,7 +1087,6 @@ public class ModelParser extends BaseParser {
}, (def, key) -> {
switch (key) {
case "delete": doAdd(doParseDeleteVerbDefinition(), def.getVerbs(), def::setVerbs); break;
- case "verb": doAdd(doParseVerbDefinition(), def.getVerbs(), def::setVerbs); break;
case "get": doAdd(doParseGetVerbDefinition(), def.getVerbs(), def::setVerbs); break;
case "head": doAdd(doParseHeadVerbDefinition(), def.getVerbs(), def::setVerbs); break;
case "patch": doAdd(doParsePatchVerbDefinition(), def.getVerbs(), def::setVerbs); break;
diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_16.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_16.adoc
index 04e8366..acc9c58 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_16.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_16.adoc
@@ -104,6 +104,10 @@ The option `camel.main.packageScanRouteBuilders` has been renamed to `camel.main
Using configuration classes must now implement the interface `org.apache.camel.main.CamelConfiguration`
and the `configure` method now takes a `CamelContext` as argument.
+=== camel-yaml-dsl and camel-xml-dsl REST services
+The verb-based definition is no longer supported for defining a REST service in YAML or XML.
+Only the method-based definitions (get, post, etc) are supported.
+
=== camel-any23
The option `baseURI` is renamed to `baseUri`.
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 c31e5f8..41e10db 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
@@ -221,7 +221,6 @@ import org.apache.camel.model.rest.RestSecurityOAuth2;
import org.apache.camel.model.rest.RestSecurityOpenIdConnect;
import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.model.rest.SecurityDefinition;
-import org.apache.camel.model.rest.VerbDefinition;
import org.apache.camel.model.transformer.CustomTransformerDefinition;
import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
import org.apache.camel.model.transformer.EndpointTransformerDefinition;
@@ -11880,7 +11879,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
@YamlProperty(name = "security-requirements", type = "object:org.apache.camel.model.rest.RestSecuritiesRequirement"),
@YamlProperty(name = "skip-binding-on-error-code", type = "string"),
@YamlProperty(name = "tag", type = "string"),
- @YamlProperty(name = "verb", type = "array:org.apache.camel.model.rest.VerbDefinition")
+ @YamlProperty(name = "verbs", type = "array:org.apache.camel.model.rest.VerbDefinition")
}
)
public static class RestDefinitionDeserializer extends YamlDeserializerBase<RestDefinition> {
@@ -12012,7 +12011,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
target.setVerbs(existing);
break;
}
- case "verb": {
+ case "verbs": {
java.util.List<org.apache.camel.model.rest.VerbDefinition> val = asFlatList(node, org.apache.camel.model.rest.VerbDefinition.class);
target.setVerbs(val);
break;
@@ -17486,171 +17485,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
}
@YamlType(
- types = org.apache.camel.model.rest.VerbDefinition.class,
- order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
- nodes = "verb",
- properties = {
- @YamlProperty(name = "api-docs", type = "string"),
- @YamlProperty(name = "binding-mode", type = "string"),
- @YamlProperty(name = "client-request-validation", type = "string"),
- @YamlProperty(name = "consumes", type = "string"),
- @YamlProperty(name = "deprecated", type = "boolean"),
- @YamlProperty(name = "description", type = "string"),
- @YamlProperty(name = "enable-cors", type = "string"),
- @YamlProperty(name = "id", type = "string"),
- @YamlProperty(name = "method", type = "string"),
- @YamlProperty(name = "out-type", type = "string"),
- @YamlProperty(name = "param", type = "array:org.apache.camel.model.rest.RestOperationParamDefinition"),
- @YamlProperty(name = "produces", type = "string"),
- @YamlProperty(name = "response-message", type = "array:org.apache.camel.model.rest.RestOperationResponseMsgDefinition"),
- @YamlProperty(name = "route", type = "object:org.apache.camel.model.RouteDefinition"),
- @YamlProperty(name = "route-id", type = "string"),
- @YamlProperty(name = "security", type = "array:org.apache.camel.model.rest.SecurityDefinition"),
- @YamlProperty(name = "skip-binding-on-error-code", type = "string"),
- @YamlProperty(name = "steps", type = "array:org.apache.camel.model.ProcessorDefinition"),
- @YamlProperty(name = "to", type = "object:org.apache.camel.model.ToDefinition"),
- @YamlProperty(name = "to-d", type = "object:org.apache.camel.model.ToDynamicDefinition"),
- @YamlProperty(name = "type", type = "string"),
- @YamlProperty(name = "uri", type = "string")
- }
- )
- public static class VerbDefinitionDeserializer extends YamlDeserializerBase<VerbDefinition> {
- public VerbDefinitionDeserializer() {
- super(VerbDefinition.class);
- }
-
- @Override
- protected VerbDefinition newInstance() {
- return new VerbDefinition();
- }
-
- @Override
- protected boolean setProperty(VerbDefinition target, String propertyKey,
- String propertyName, Node node) {
- switch(propertyKey) {
- case "api-docs": {
- String val = asText(node);
- target.setApiDocs(val);
- break;
- }
- case "binding-mode": {
- String val = asText(node);
- target.setBindingMode(val);
- break;
- }
- case "client-request-validation": {
- String val = asText(node);
- target.setClientRequestValidation(val);
- break;
- }
- case "consumes": {
- String val = asText(node);
- target.setConsumes(val);
- break;
- }
- case "deprecated": {
- String val = asText(node);
- target.setDeprecated(java.lang.Boolean.valueOf(val));
- break;
- }
- case "enable-cors": {
- String val = asText(node);
- target.setEnableCORS(val);
- break;
- }
- case "method": {
- String val = asText(node);
- target.setMethod(val);
- break;
- }
- case "out-type": {
- String val = asText(node);
- target.setOutType(val);
- break;
- }
- case "param": {
- java.util.List<org.apache.camel.model.rest.RestOperationParamDefinition> val = asFlatList(node, org.apache.camel.model.rest.RestOperationParamDefinition.class);
- target.setParams(val);
- break;
- }
- case "produces": {
- String val = asText(node);
- target.setProduces(val);
- break;
- }
- case "response-message": {
- java.util.List<org.apache.camel.model.rest.RestOperationResponseMsgDefinition> val = asFlatList(node, org.apache.camel.model.rest.RestOperationResponseMsgDefinition.class);
- target.setResponseMsgs(val);
- break;
- }
- case "route-id": {
- String val = asText(node);
- target.setRouteId(val);
- break;
- }
- case "security": {
- java.util.List<org.apache.camel.model.rest.SecurityDefinition> val = asFlatList(node, org.apache.camel.model.rest.SecurityDefinition.class);
- target.setSecurity(val);
- break;
- }
- case "skip-binding-on-error-code": {
- String val = asText(node);
- target.setSkipBindingOnErrorCode(val);
- break;
- }
- case "to-or-route": {
- MappingNode val = asMappingNode(node);
- setProperties(target, val);
- break;
- }
- case "to": {
- org.apache.camel.model.ToDefinition val = asType(node, org.apache.camel.model.ToDefinition.class);
- target.setToOrRoute(val);
- break;
- }
- case "to-d": {
- org.apache.camel.model.ToDynamicDefinition val = asType(node, org.apache.camel.model.ToDynamicDefinition.class);
- target.setToOrRoute(val);
- break;
- }
- case "route": {
- org.apache.camel.model.RouteDefinition val = asType(node, org.apache.camel.model.RouteDefinition.class);
- target.setToOrRoute(val);
- break;
- }
- case "type": {
- String val = asText(node);
- target.setType(val);
- break;
- }
- case "uri": {
- String val = asText(node);
- target.setUri(val);
- break;
- }
- case "id": {
- String val = asText(node);
- target.setId(val);
- break;
- }
- case "description": {
- org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
- target.setDescription(val);
- break;
- }
- case "steps": {
- setSteps(target, node);
- break;
- }
- default: {
- return false;
- }
- }
- return true;
- }
- }
-
- @YamlType(
types = org.apache.camel.model.loadbalancer.WeightedLoadBalancerDefinition.class,
order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
nodes = "weighted",
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 1a2ca6f..00e6a75 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
@@ -509,8 +509,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
case "org.apache.camel.model.ValidateDefinition": return new ModelDeserializers.ValidateDefinitionDeserializer();
case "validators": return new ModelDeserializers.ValidatorsDefinitionDeserializer();
case "org.apache.camel.model.validator.ValidatorsDefinition": return new ModelDeserializers.ValidatorsDefinitionDeserializer();
- case "verb": return new ModelDeserializers.VerbDefinitionDeserializer();
- case "org.apache.camel.model.rest.VerbDefinition": return new ModelDeserializers.VerbDefinitionDeserializer();
case "weighted": return new ModelDeserializers.WeightedLoadBalancerDefinitionDeserializer();
case "org.apache.camel.model.loadbalancer.WeightedLoadBalancerDefinition": return new ModelDeserializers.WeightedLoadBalancerDefinitionDeserializer();
case "when": return new ModelDeserializers.WhenDefinitionDeserializer();
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 11ec70d..550a74b 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
@@ -7267,7 +7267,7 @@
"tag" : {
"type" : "string"
},
- "verb" : {
+ "verbs" : {
"type" : "array",
"items" : {
"$ref" : "#/items/definitions/org.apache.camel.model.rest.VerbDefinition"
@@ -7563,89 +7563,6 @@
},
"required" : [ "key" ]
},
- "org.apache.camel.model.rest.VerbDefinition" : {
- "type" : "object",
- "properties" : {
- "api-docs" : {
- "type" : "string"
- },
- "binding-mode" : {
- "type" : "string"
- },
- "client-request-validation" : {
- "type" : "string"
- },
- "consumes" : {
- "type" : "string"
- },
- "deprecated" : {
- "type" : "boolean"
- },
- "description" : {
- "type" : "string"
- },
- "enable-cors" : {
- "type" : "string"
- },
- "id" : {
- "type" : "string"
- },
- "method" : {
- "type" : "string"
- },
- "out-type" : {
- "type" : "string"
- },
- "param" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestOperationParamDefinition"
- }
- },
- "produces" : {
- "type" : "string"
- },
- "response-message" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestOperationResponseMsgDefinition"
- }
- },
- "route" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.RouteDefinition"
- },
- "route-id" : {
- "type" : "string"
- },
- "security" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
- }
- },
- "skip-binding-on-error-code" : {
- "type" : "string"
- },
- "steps" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
- }
- },
- "to" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.ToDefinition"
- },
- "to-d" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
- },
- "type" : {
- "type" : "string"
- },
- "uri" : {
- "type" : "string"
- }
- }
- },
"org.apache.camel.model.transformer.CustomTransformerDefinition" : {
"type" : "object",
"properties" : {
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
index 23e16e1..735ccd4 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
@@ -7165,7 +7165,7 @@
"tag" : {
"type" : "string"
},
- "verb" : {
+ "verbs" : {
"type" : "array",
"items" : {
"$ref" : "#/items/definitions/org.apache.camel.model.rest.VerbDefinition"
@@ -7461,89 +7461,6 @@
},
"required" : [ "key" ]
},
- "org.apache.camel.model.rest.VerbDefinition" : {
- "type" : "object",
- "properties" : {
- "apiDocs" : {
- "type" : "string"
- },
- "bindingMode" : {
- "type" : "string"
- },
- "clientRequestValidation" : {
- "type" : "string"
- },
- "consumes" : {
- "type" : "string"
- },
- "deprecated" : {
- "type" : "boolean"
- },
- "description" : {
- "type" : "string"
- },
- "enableCors" : {
- "type" : "string"
- },
- "id" : {
- "type" : "string"
- },
- "method" : {
- "type" : "string"
- },
- "outType" : {
- "type" : "string"
- },
- "param" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestOperationParamDefinition"
- }
- },
- "produces" : {
- "type" : "string"
- },
- "responseMessage" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestOperationResponseMsgDefinition"
- }
- },
- "route" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.RouteDefinition"
- },
- "routeId" : {
- "type" : "string"
- },
- "security" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
- }
- },
- "skipBindingOnErrorCode" : {
- "type" : "string"
- },
- "steps" : {
- "type" : "array",
- "items" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
- }
- },
- "to" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.ToDefinition"
- },
- "toD" : {
- "$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
- },
- "type" : {
- "type" : "string"
- },
- "uri" : {
- "type" : "string"
- }
- }
- },
"org.apache.camel.model.transformer.CustomTransformerDefinition" : {
"type" : "object",
"properties" : {
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy
index 737dd1a..e1837fc 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy
@@ -50,9 +50,8 @@ class RestTest extends YamlTestSupport {
- name: myRestConsumerFactory
type: ${MockRestConsumerFactory.name}
- rest:
- verb:
- - method: get
- uri: "/foo"
+ get:
+ - uri: "/foo"
type: ${MyFooBar.name}
out-type: ${MyBean.name}
to: "direct:bar"
@@ -86,9 +85,8 @@ class RestTest extends YamlTestSupport {
- name: myRestConsumerFactory
type: ${MockRestConsumerFactory.name}
- rest:
- verb:
- - method: get
- uri: "/foo"
+ get:
+ - uri: "/foo"
type: ${MyFooBar.name}
out-type: ${MyBean.name}
steps: