This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new d8c30ac core: cleanup ServiceCallDefinition (#4803) d8c30ac is described below commit d8c30ac562519a9e043336915a96c1b07fc36527 Author: Luca Burgazzoli <lburgazz...@users.noreply.github.com> AuthorDate: Mon Dec 21 14:37:53 2020 +0100 core: cleanup ServiceCallDefinition (#4803) --- .../org/apache/camel/catalog/models/serviceCall.json | 2 +- .../camel/impl/cloud/ServiceCallProcessorFactory.java | 2 +- .../org/apache/camel/model/cloud/serviceCall.json | 2 +- .../model/cloud/ServiceCallConfigurationDefinition.java | 2 +- .../apache/camel/model/cloud/ServiceCallDefinition.java | 15 ++++++++++++--- .../java/org/apache/camel/xml/in/ModelParser.java | 2 +- 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/serviceCall.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/serviceCall.json index a73231a..620ef6c 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/serviceCall.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/serviceCall.json @@ -24,7 +24,7 @@ "serviceDiscoveryConfiguration": { "kind": "element", "displayName": "Service Discovery Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallServiceDiscoveryConfiguration", "oneOf": [ "cachingServiceDiscovery", "combinedServiceDiscovery", "consulServiceDiscovery", "dnsServiceDiscovery", "etcdServiceDiscovery", "kubernetesServiceDiscovery", "staticServiceDiscovery", "zookeeperServiceDiscovery" ], "deprecated": false, "autowired": fal [...] "serviceFilterConfiguration": { "kind": "element", "displayName": "Service Filter Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallServiceFilterConfiguration", "oneOf": [ "blacklistServiceFilter", "combinedServiceFilter", "customServiceFilter", "healthyServiceFilter", "passThroughServiceFilter" ], "deprecated": false, "autowired": false, "secret": false, "description": "Configures the ServiceFilter using the given configuration." }, "loadBalancerConfiguration": { "kind": "element", "displayName": "Load Balancer Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallServiceLoadBalancerConfiguration", "oneOf": [ "defaultLoadBalancer", "ribbonLoadBalancer" ], "deprecated": false, "autowired": false, "secret": false, "description": "Configures the LoadBalancer using the given configuration." }, - "expressionConfiguration": { "kind": "element", "displayName": "Expression Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallExpressionConfiguration", "oneOf": [ "expressionConfiguration" ], "deprecated": false, "autowired": false, "secret": false, "description": "Configures the Expression using the given configuration." }, + "expressionConfiguration": { "kind": "element", "displayName": "Expression Configuration", "required": false, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallExpressionConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Configures the Expression using the given configuration." }, "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-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java index 95cedde..e9bdf9d 100644 --- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java +++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java @@ -368,7 +368,7 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa ServiceLoadBalancer.class)) .orElseGet( // Default - () -> new DefaultServiceLoadBalancer()); + DefaultServiceLoadBalancer::new); } // ****************************************** diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/cloud/serviceCall.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/cloud/serviceCall.json index a73231a..620ef6c 100644 --- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/cloud/serviceCall.json +++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/cloud/serviceCall.json @@ -24,7 +24,7 @@ "serviceDiscoveryConfiguration": { "kind": "element", "displayName": "Service Discovery Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallServiceDiscoveryConfiguration", "oneOf": [ "cachingServiceDiscovery", "combinedServiceDiscovery", "consulServiceDiscovery", "dnsServiceDiscovery", "etcdServiceDiscovery", "kubernetesServiceDiscovery", "staticServiceDiscovery", "zookeeperServiceDiscovery" ], "deprecated": false, "autowired": fal [...] "serviceFilterConfiguration": { "kind": "element", "displayName": "Service Filter Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallServiceFilterConfiguration", "oneOf": [ "blacklistServiceFilter", "combinedServiceFilter", "customServiceFilter", "healthyServiceFilter", "passThroughServiceFilter" ], "deprecated": false, "autowired": false, "secret": false, "description": "Configures the ServiceFilter using the given configuration." }, "loadBalancerConfiguration": { "kind": "element", "displayName": "Load Balancer Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallServiceLoadBalancerConfiguration", "oneOf": [ "defaultLoadBalancer", "ribbonLoadBalancer" ], "deprecated": false, "autowired": false, "secret": false, "description": "Configures the LoadBalancer using the given configuration." }, - "expressionConfiguration": { "kind": "element", "displayName": "Expression Configuration", "required": true, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallExpressionConfiguration", "oneOf": [ "expressionConfiguration" ], "deprecated": false, "autowired": false, "secret": false, "description": "Configures the Expression using the given configuration." }, + "expressionConfiguration": { "kind": "element", "displayName": "Expression Configuration", "required": false, "type": "object", "javaType": "org.apache.camel.model.cloud.ServiceCallExpressionConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Configures the Expression using the given configuration." }, "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/cloud/ServiceCallConfigurationDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java index b8a9f00..5075616 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java @@ -93,7 +93,7 @@ public class ServiceCallConfigurationDefinition extends IdentifiedType { @XmlElement(name = "defaultLoadBalancer", type = DefaultServiceCallServiceLoadBalancerConfiguration.class) }) private ServiceCallServiceLoadBalancerConfiguration loadBalancerConfiguration; - @XmlElements({ @XmlElement(name = "expression", type = ServiceCallExpressionConfiguration.class) }) + @XmlElement(name = "expression") private ServiceCallExpressionConfiguration expressionConfiguration; public ServiceCallConfigurationDefinition() { diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java index 957c3e7..e25d6e2 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java @@ -32,6 +32,7 @@ import org.apache.camel.cloud.ServiceDiscovery; import org.apache.camel.cloud.ServiceFilter; import org.apache.camel.cloud.ServiceLoadBalancer; import org.apache.camel.model.NoOutputDefinition; +import org.apache.camel.model.language.RefExpression; import org.apache.camel.spi.Metadata; /** @@ -99,12 +100,16 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit @XmlElement(name = "defaultLoadBalancer", type = DefaultServiceCallServiceLoadBalancerConfiguration.class) }) private ServiceCallServiceLoadBalancerConfiguration loadBalancerConfiguration; - @XmlElements({ @XmlElement(name = "expressionConfiguration", type = ServiceCallExpressionConfiguration.class) }) + @XmlElement(name = "expression") private ServiceCallExpressionConfiguration expressionConfiguration; public ServiceCallDefinition() { } + public ServiceCallDefinition(String name) { + this.name = name; + } + @Override public String toString() { return "ServiceCall[" + name + "]"; @@ -276,7 +281,11 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit * Set a reference to a custom {@link Expression} to use. */ public void setExpressionRef(String expressionRef) { - this.expressionRef = expressionRef; + if (this.expressionConfiguration == null) { + this.expressionConfiguration = new ServiceCallExpressionConfiguration(); + } + + this.expressionConfiguration.expressionType(new RefExpression(expressionRef)); } public Expression getExpression() { @@ -453,7 +462,7 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit * Sets a reference to a custom {@link Expression} to use. */ public ServiceCallDefinition expression(String expressionRef) { - setExpressionRef(loadBalancerRef); + setExpressionRef(expressionRef); return this; } 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 77fce70..4feba60 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 @@ -1608,7 +1608,6 @@ public class ModelParser extends BaseParser { return true; }, (def, key) -> { switch (key) { - case "expressionConfiguration": def.setExpressionConfiguration(doParseServiceCallExpressionConfiguration()); break; case "ribbonLoadBalancer": def.setLoadBalancerConfiguration(doParseRibbonServiceCallServiceLoadBalancerConfiguration()); break; case "defaultLoadBalancer": def.setLoadBalancerConfiguration(doParseDefaultServiceCallServiceLoadBalancerConfiguration()); break; case "cachingServiceDiscovery": def.setServiceDiscoveryConfiguration(doParseCachingServiceCallServiceDiscoveryConfiguration()); break; @@ -1624,6 +1623,7 @@ public class ModelParser extends BaseParser { case "customServiceFilter": def.setServiceFilterConfiguration(doParseCustomServiceCallServiceFilterConfiguration()); break; case "healthyServiceFilter": def.setServiceFilterConfiguration(doParseHealthyServiceCallServiceFilterConfiguration()); break; case "passThroughServiceFilter": def.setServiceFilterConfiguration(doParsePassThroughServiceCallServiceFilterConfiguration()); break; + case "expressionConfiguration": def.setExpressionConfiguration(doParseServiceCallExpressionConfiguration()); break; default: return optionalIdentifiedDefinitionElementHandler().accept(def, key); } return true;