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 <[email protected]>
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;