This is an automated email from the ASF dual-hosted git repository.
nfilotto 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 3cf50a8 CAMEL-17717: REST DSL securityRequirements cleanup (#7105)
3cf50a8 is described below
commit 3cf50a85bbfd16b509585ec15fcf69fc392ae511
Author: Nicolas Filotto <[email protected]>
AuthorDate: Fri Mar 4 20:51:01 2022 +0100
CAMEL-17717: REST DSL securityRequirements cleanup (#7105)
---
.../org/apache/camel/catalog/models/rest.json | 2 +-
.../apache/camel/catalog/schemas/camel-spring.xsd | 22 ++----
.../apache/camel/openapi/RestOpenApiReader.java | 29 +++----
.../org/apache/camel/model/rest/jaxb.index | 1 -
.../org/apache/camel/model/rest/rest.json | 2 +-
.../apache/camel/model/rest/RestDefinition.java | 18 +++--
.../model/rest/SecurityRequirementsDefinition.java | 92 ----------------------
.../java/org/apache/camel/xml/in/ModelParser.java | 12 +--
.../ROOT/pages/camel-3x-upgrade-guide-3_16.adoc | 5 +-
.../dsl/yaml/deserializers/ModelDeserializers.java | 46 +----------
.../deserializers/ModelDeserializersResolver.java | 3 -
.../src/generated/resources/camel-yaml-dsl.json | 13 +--
.../src/generated/resources/camelYamlDsl.json | 13 +--
13 files changed, 47 insertions(+), 211 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rest.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rest.json
index c64990e..7f5f3af 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rest.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rest.json
@@ -22,7 +22,7 @@
"apiDocs": { "kind": "attribute", "displayName": "Api Docs", "label":
"advanced", "required": false, "type": "boolean", "javaType":
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": true, "description": "Whether to include or exclude this rest
operation in API documentation. This option will override what may be
configured on a parent level. The default value is true." },
"tag": { "kind": "attribute", "displayName": "Tag", "label": "advanced",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "description": "To
configure a special tag for the operations within this rest definition." },
"securityDefinitions": { "kind": "element", "displayName": "Security
Definitions", "label": "security", "required": false, "type": "object",
"javaType": "org.apache.camel.model.rest.RestSecuritiesDefinition",
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the security definitions such as Basic, OAuth2 etc." },
- "securityRequirements": { "kind": "element", "displayName": "Security
Requirements", "label": "security", "required": false, "type": "object",
"javaType": "org.apache.camel.model.rest.SecurityRequirementsDefinition",
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the security requirement(s) for all endpoints." },
+ "securityRequirements": { "kind": "element", "displayName": "Security
Requirements", "label": "security", "required": false, "type": "array",
"javaType": "java.util.List<org.apache.camel.model.rest.SecurityDefinition>",
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the security requirement(s) for all endpoints." },
"id": { "kind": "attribute", "displayName": "Id", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "Sets the id of this node"
},
"description": { "kind": "element", "displayName": "Description",
"required": false, "type": "object", "javaType":
"org.apache.camel.model.DescriptionDefinition", "deprecated": false,
"autowired": false, "secret": false, "description": "Sets the description of
this node" }
}
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index c1742f1..6dd00d4 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -1424,14 +1424,6 @@ To configure rest security definitions.
</xs:annotation>
</xs:element>
- <xs:element name="securityRequirements"
type="tns:securityRequirementsDefinition">
- <xs:annotation>
- <xs:documentation xml:lang="en"><![CDATA[
-To configure global rest security requirements.
- ]]></xs:documentation>
- </xs:annotation>
- </xs:element>
-
<xs:element name="serviceCall" type="tns:serviceCallDefinition">
<xs:annotation>
<xs:documentation xml:lang="en"><![CDATA[
@@ -14665,7 +14657,13 @@ to refer to an existing data format instance.
<xs:extension base="tns:optionalIdentifiedDefinition">
<xs:sequence>
<xs:element minOccurs="0" ref="tns:securityDefinitions"/>
- <xs:element minOccurs="0" ref="tns:securityRequirements"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0"
name="securityRequirements" type="tns:securityDefinition">
+ <xs:annotation>
+ <xs:documentation xml:lang="en"><![CDATA[
+Sets the security requirement(s) for all endpoints.
+ ]]></xs:documentation>
+ </xs:annotation>
+ </xs:element>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="tns:delete"/>
<xs:element ref="tns:get"/>
@@ -14773,12 +14771,6 @@ To configure a special tag for the operations within
this rest definition.
</xs:sequence>
</xs:complexType>
- <xs:complexType name="securityRequirementsDefinition">
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0"
name="securityRequirement" type="tns:securityDefinition"/>
- </xs:sequence>
- </xs:complexType>
-
<xs:complexType name="restsDefinition">
<xs:complexContent>
<xs:extension base="tns:optionalIdentifiedDefinition">
diff --git
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
index 43f7348..6141edf 100644
---
a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
+++
b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
@@ -20,7 +20,6 @@ import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
@@ -97,7 +96,6 @@ import org.apache.camel.model.rest.RestPropertyDefinition;
import org.apache.camel.model.rest.RestSecuritiesDefinition;
import org.apache.camel.model.rest.RestSecurityDefinition;
import org.apache.camel.model.rest.SecurityDefinition;
-import org.apache.camel.model.rest.SecurityRequirementsDefinition;
import org.apache.camel.model.rest.VerbDefinition;
import org.apache.camel.spi.ClassResolver;
import org.apache.camel.support.CamelContextHelper;
@@ -258,21 +256,18 @@ public class RestOpenApiReader {
doParseVerbs(camelContext, openApi, rest, camelContextId, verbs,
pathAsTag);
// setup root security node if necessary
- SecurityRequirementsDefinition securitiesRequirement =
rest.getSecurityRequirements();
- if (securitiesRequirement != null) {
- Collection<SecurityDefinition> securityRequirements =
securitiesRequirement.securityRequirements();
- securityRequirements.forEach(requirement -> {
- OasSecurityRequirement oasRequirement =
openApi.createSecurityRequirement();
- List<String> scopes;
- if (requirement.getScopes() == null ||
requirement.getScopes().trim().isEmpty()) {
- scopes = Collections.emptyList();
- } else {
- scopes =
Arrays.asList(requirement.getScopes().trim().split("\\s*,\\s*"));
- }
-
oasRequirement.addSecurityRequirementItem(requirement.getKey(), scopes);
- openApi.addSecurityRequirement(oasRequirement);
- });
- }
+ List<SecurityDefinition> securityRequirements =
rest.getSecurityRequirements();
+ securityRequirements.forEach(requirement -> {
+ OasSecurityRequirement oasRequirement =
openApi.createSecurityRequirement();
+ List<String> scopes;
+ if (requirement.getScopes() == null ||
requirement.getScopes().trim().isEmpty()) {
+ scopes = Collections.emptyList();
+ } else {
+ scopes =
Arrays.asList(requirement.getScopes().trim().split("\\s*,\\s*"));
+ }
+ oasRequirement.addSecurityRequirementItem(requirement.getKey(),
scopes);
+ openApi.addSecurityRequirement(oasRequirement);
+ });
}
private void parseOas30(Oas30Document openApi, RestDefinition rest, String
pathAsTag) {
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 388ecc7..d5151db 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
@@ -25,4 +25,3 @@ RestPropertyDefinition
RestSecuritiesDefinition
RestsDefinition
SecurityDefinition
-SecurityRequirementsDefinition
diff --git
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/rest.json
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/rest.json
index c64990e..7f5f3af 100644
---
a/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/rest.json
+++
b/core/camel-core-model/src/generated/resources/org/apache/camel/model/rest/rest.json
@@ -22,7 +22,7 @@
"apiDocs": { "kind": "attribute", "displayName": "Api Docs", "label":
"advanced", "required": false, "type": "boolean", "javaType":
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": true, "description": "Whether to include or exclude this rest
operation in API documentation. This option will override what may be
configured on a parent level. The default value is true." },
"tag": { "kind": "attribute", "displayName": "Tag", "label": "advanced",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "description": "To
configure a special tag for the operations within this rest definition." },
"securityDefinitions": { "kind": "element", "displayName": "Security
Definitions", "label": "security", "required": false, "type": "object",
"javaType": "org.apache.camel.model.rest.RestSecuritiesDefinition",
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the security definitions such as Basic, OAuth2 etc." },
- "securityRequirements": { "kind": "element", "displayName": "Security
Requirements", "label": "security", "required": false, "type": "object",
"javaType": "org.apache.camel.model.rest.SecurityRequirementsDefinition",
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the security requirement(s) for all endpoints." },
+ "securityRequirements": { "kind": "element", "displayName": "Security
Requirements", "label": "security", "required": false, "type": "array",
"javaType": "java.util.List<org.apache.camel.model.rest.SecurityDefinition>",
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the security requirement(s) for all endpoints." },
"id": { "kind": "attribute", "displayName": "Id", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "description": "Sets the id of this node"
},
"description": { "kind": "element", "displayName": "Description",
"required": false, "type": "object", "javaType":
"org.apache.camel.model.DescriptionDefinition", "deprecated": false,
"autowired": false, "secret": false, "description": "Sets the description of
this node" }
}
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
index 954be24..facf13f 100644
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
+++
b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
@@ -80,9 +80,9 @@ public class RestDefinition extends
OptionalIdentifiedDefinition<RestDefinition>
@XmlElement(name = "securityDefinitions") // use the name Swagger/OpenAPI
uses
@Metadata(label = "security")
private RestSecuritiesDefinition securityDefinitions;
- @XmlElement(name = "securityRequirements") // use the name Swagger/OpenAPI
uses
+ @XmlElement
@Metadata(label = "security")
- private SecurityRequirementsDefinition securityRequirements;
+ private List<SecurityDefinition> securityRequirements = new ArrayList<>();
@XmlElementRef
private List<VerbDefinition> verbs = new ArrayList<>();
@@ -170,14 +170,14 @@ public class RestDefinition extends
OptionalIdentifiedDefinition<RestDefinition>
this.securityDefinitions = securityDefinitions;
}
- public SecurityRequirementsDefinition getSecurityRequirements() {
+ public List<SecurityDefinition> getSecurityRequirements() {
return securityRequirements;
}
/**
* Sets the security requirement(s) for all endpoints.
*/
- public void setSecurityRequirements(SecurityRequirementsDefinition
securityRequirements) {
+ public void setSecurityRequirements(List<SecurityDefinition>
securityRequirements) {
this.securityRequirements = securityRequirements;
}
@@ -591,10 +591,14 @@ public class RestDefinition extends
OptionalIdentifiedDefinition<RestDefinition>
public RestDefinition security(String key, String scopes) {
// add to last verb
if (getVerbs().isEmpty()) {
- if (securityRequirements == null) {
- securityRequirements = new SecurityRequirementsDefinition();
+ SecurityDefinition requirement = securityRequirements
+ .stream().filter(r ->
key.equals(r.getKey())).findFirst().orElse(null);
+ if (requirement == null) {
+ requirement = new SecurityDefinition();
+ securityRequirements.add(requirement);
+ requirement.setKey(key);
}
- securityRequirements.securityRequirement(key, scopes);
+ requirement.setScopes(scopes);
} else {
VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
SecurityDefinition sd = new SecurityDefinition();
diff --git
a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/SecurityRequirementsDefinition.java
b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/SecurityRequirementsDefinition.java
deleted file mode 100644
index 42ea7a8..0000000
---
a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/SecurityRequirementsDefinition.java
+++ /dev/null
@@ -1,92 +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.rest;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To configure global rest security requirements.
- */
-@Metadata(label = "rest,security,configuration", title = "Rest Security
Requirements")
-@XmlRootElement(name = "securityRequirements")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class SecurityRequirementsDefinition {
-
- @XmlTransient
- RestDefinition rest;
- @XmlTransient
- Map<String, SecurityDefinition> itemsMap = new HashMap<>();
- @XmlElements({ @XmlElement(name = "securityRequirement", type =
SecurityDefinition.class) })
- List<SecurityDefinition> securityRequirements = new ArrayList<>();
-
- public SecurityRequirementsDefinition() {
- }
-
- public SecurityRequirementsDefinition(RestDefinition rest) {
- this.rest = rest;
- }
-
- public RestDefinition securityRequirement(String key) {
- return securityRequirement(key, null);
- }
-
- public RestDefinition securityRequirement(String key, String scopes) {
- SecurityDefinition requirement = itemsMap.get(key);
- if (requirement == null) {
- requirement = new SecurityDefinition();
- }
-
- requirement.setKey(key);
- requirement.setScopes(scopes);
- itemsMap.put(key, requirement);
- securityRequirements = new ArrayList<>(itemsMap.values());
-
- return rest;
- }
-
- public Collection<SecurityDefinition> securityRequirements() {
- return new ArrayList<>(securityRequirements);
- }
-
- public List<SecurityDefinition> getSecurityRequirements() {
- return securityRequirements;
- }
-
- /**
- * Security requirement configurations
- */
- public void setSecurityRequirements(Collection<SecurityDefinition>
securityRequirements) {
- itemsMap = securityRequirements.stream()
- .collect(Collectors.toMap(SecurityDefinition::getKey,
Function.identity(), (u, v) -> u));
- this.securityRequirements = new ArrayList<>(itemsMap.values());
- }
-}
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 b6d537ef..bd2d248 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
@@ -1096,7 +1096,7 @@ public class ModelParser extends BaseParser {
case "post": doAdd(doParsePostDefinition(), def.getVerbs(),
def::setVerbs); break;
case "put": doAdd(doParsePutDefinition(), def.getVerbs(),
def::setVerbs); break;
case "securityDefinitions":
def.setSecurityDefinitions(doParseRestSecuritiesDefinition()); break;
- case "securityRequirements":
def.setSecurityRequirements(doParseSecurityRequirementsDefinition()); break;
+ case "securityRequirements":
doAdd(doParseSecurityDefinition(), def.getSecurityRequirements(),
def::setSecurityRequirements); break;
default: return
optionalIdentifiedDefinitionElementHandler().accept(def, key);
}
return true;
@@ -3066,16 +3066,6 @@ public class ModelParser extends BaseParser {
return true;
}, noValueHandler());
}
- protected SecurityRequirementsDefinition
doParseSecurityRequirementsDefinition() throws IOException,
XmlPullParserException {
- return doParse(new SecurityRequirementsDefinition(),
- noAttributeHandler(), (def, key) -> {
- if ("securityRequirement".equals(key)) {
- doAdd(doParseSecurityDefinition(),
def.getSecurityRequirements(), def::setSecurityRequirements);
- return true;
- }
- return false;
- }, noValueHandler());
- }
public Optional<RestsDefinition> parseRestsDefinition()
throws IOException, XmlPullParserException {
String tag = getNextTag("rests", "rest");
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 7be01b3..0e54c46 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
@@ -147,7 +147,10 @@ Renamed the following classes in package
`org.apache.camel.model.rest`:
- `RestOperationParamDefinition` to `ParamDefinition`
- `RestOperationResponseHeaderDefinition` to `ResponseHeaderDefinition`
- `RestOperationResponseMsgDefinition` to `ResponseMessageDefinition`
-- `RestSecuritiesRequirement` to `SecurityRequirementsDefinition`
+
+==== Removed classes
+
+For the sake of simplicity, the class `RestSecuritiesRequirement` has been
removed because it contains only elements of type `SecurityDefinition` which
have been moved directly into `RestDefinition`.
=== Aggregate EIP
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 7d9cc24..34eb592 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
@@ -220,7 +220,6 @@ import org.apache.camel.model.rest.RestPropertyDefinition;
import org.apache.camel.model.rest.RestSecuritiesDefinition;
import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.model.rest.SecurityDefinition;
-import org.apache.camel.model.rest.SecurityRequirementsDefinition;
import org.apache.camel.model.transformer.CustomTransformerDefinition;
import org.apache.camel.model.transformer.DataFormatTransformerDefinition;
import org.apache.camel.model.transformer.EndpointTransformerDefinition;
@@ -12165,7 +12164,7 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
@YamlProperty(name = "produces", type = "string"),
@YamlProperty(name = "put", type =
"array:org.apache.camel.model.rest.PutDefinition"),
@YamlProperty(name = "security-definitions", type =
"object:org.apache.camel.model.rest.RestSecuritiesDefinition"),
- @YamlProperty(name = "security-requirements", type =
"object:org.apache.camel.model.rest.SecurityRequirementsDefinition"),
+ @YamlProperty(name = "security-requirements", type =
"array:org.apache.camel.model.rest.SecurityDefinition"),
@YamlProperty(name = "skip-binding-on-error-code", type =
"boolean"),
@YamlProperty(name = "tag", type = "string")
}
@@ -12225,7 +12224,7 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
break;
}
case "security-requirements": {
- org.apache.camel.model.rest.SecurityRequirementsDefinition
val = asType(node,
org.apache.camel.model.rest.SecurityRequirementsDefinition.class);
+
java.util.List<org.apache.camel.model.rest.SecurityDefinition> val =
asFlatList(node, org.apache.camel.model.rest.SecurityDefinition.class);
target.setSecurityRequirements(val);
break;
}
@@ -13446,47 +13445,6 @@ public final class ModelDeserializers extends
YamlDeserializerSupport {
}
@YamlType(
- types =
org.apache.camel.model.rest.SecurityRequirementsDefinition.class,
- order =
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
- nodes = {
- "security-requirements",
- "securityRequirements"
- },
- properties = @YamlProperty(name = "security-requirement", type =
"object:org.apache.camel.model.rest.SecurityDefinition")
- )
- public static class SecurityRequirementsDefinitionDeserializer extends
YamlDeserializerBase<SecurityRequirementsDefinition> {
- public SecurityRequirementsDefinitionDeserializer() {
- super(SecurityRequirementsDefinition.class);
- }
-
- @Override
- protected SecurityRequirementsDefinition newInstance() {
- return new SecurityRequirementsDefinition();
- }
-
- @Override
- protected boolean setProperty(SecurityRequirementsDefinition target,
String propertyKey,
- String propertyName, Node node) {
- switch(propertyKey) {
- case "security-requirement": {
- org.apache.camel.model.rest.SecurityDefinition val =
asType(node, org.apache.camel.model.rest.SecurityDefinition.class);
-
java.util.List<org.apache.camel.model.rest.SecurityDefinition> existing =
target.getSecurityRequirements();
- if (existing == null) {
- existing = new java.util.ArrayList<>();
- }
- existing.add(val);
- target.setSecurityRequirements(existing);
- break;
- }
- default: {
- return false;
- }
- }
- return true;
- }
- }
-
- @YamlType(
types =
org.apache.camel.model.cloud.ServiceCallConfigurationDefinition.class,
order =
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
nodes = {
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 bbd2dea..24c2fa8 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
@@ -391,9 +391,6 @@ public final class ModelDeserializersResolver implements
YamlDeserializerResolve
case "org.apache.camel.model.ScriptDefinition": return new
ModelDeserializers.ScriptDefinitionDeserializer();
case "security": return new
ModelDeserializers.SecurityDefinitionDeserializer();
case "org.apache.camel.model.rest.SecurityDefinition": return new
ModelDeserializers.SecurityDefinitionDeserializer();
- case "security-requirements": return new
ModelDeserializers.SecurityRequirementsDefinitionDeserializer();
- case "securityRequirements": return new
ModelDeserializers.SecurityRequirementsDefinitionDeserializer();
- case "org.apache.camel.model.rest.SecurityRequirementsDefinition":
return new ModelDeserializers.SecurityRequirementsDefinitionDeserializer();
case "service-call-configuration": return new
ModelDeserializers.ServiceCallConfigurationDefinitionDeserializer();
case "serviceCallConfiguration": return new
ModelDeserializers.ServiceCallConfigurationDefinitionDeserializer();
case
"org.apache.camel.model.cloud.ServiceCallConfigurationDefinition": return new
ModelDeserializers.ServiceCallConfigurationDefinitionDeserializer();
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 9ca79c9..b96eb2e 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
@@ -7371,7 +7371,10 @@
"$ref" :
"#/items/definitions/org.apache.camel.model.rest.RestSecuritiesDefinition"
},
"security-requirements" : {
- "$ref" :
"#/items/definitions/org.apache.camel.model.rest.SecurityRequirementsDefinition"
+ "type" : "array",
+ "items" : {
+ "$ref" :
"#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
+ }
},
"skip-binding-on-error-code" : {
"type" : "boolean"
@@ -7445,14 +7448,6 @@
},
"required" : [ "key" ]
},
- "org.apache.camel.model.rest.SecurityRequirementsDefinition" : {
- "type" : "object",
- "properties" : {
- "security-requirement" : {
- "$ref" :
"#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
- }
- }
- },
"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 f67dbf4..a7c11d0 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
@@ -7269,7 +7269,10 @@
"$ref" :
"#/items/definitions/org.apache.camel.model.rest.RestSecuritiesDefinition"
},
"securityRequirements" : {
- "$ref" :
"#/items/definitions/org.apache.camel.model.rest.SecurityRequirementsDefinition"
+ "type" : "array",
+ "items" : {
+ "$ref" :
"#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
+ }
},
"skipBindingOnErrorCode" : {
"type" : "boolean"
@@ -7343,14 +7346,6 @@
},
"required" : [ "key" ]
},
- "org.apache.camel.model.rest.SecurityRequirementsDefinition" : {
- "type" : "object",
- "properties" : {
- "securityRequirement" : {
- "$ref" :
"#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
- }
- }
- },
"org.apache.camel.model.transformer.CustomTransformerDefinition" : {
"type" : "object",
"properties" : {