Repository: camel
Updated Branches:
  refs/heads/master f2fc0e015 -> f51f709b5


CAMEL-10722: ServiceCall : improve configuration of service-call components in 
Java DSL


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f51f709b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f51f709b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f51f709b

Branch: refs/heads/master
Commit: f51f709b5aee2505a4e9c7a317acb5805198efe8
Parents: f2fc0e0
Author: lburgazzoli <[email protected]>
Authored: Tue Jan 17 19:00:41 2017 +0100
Committer: lburgazzoli <[email protected]>
Committed: Wed Jan 18 13:19:26 2017 +0100

----------------------------------------------------------------------
 .../ServiceCallConfigurationDefinition.java     | 61 ++++++++++++++++++-
 .../camel/model/cloud/ServiceCallConstants.java |  4 +-
 .../model/cloud/ServiceCallDefinition.java      | 63 ++++++++++++++++++--
 .../cloud/ConsulRibbonServiceCallRouteTest.java |  3 +-
 .../cloud/RibbonServiceCallRouteDslTest.java    |  4 +-
 5 files changed, 123 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java
 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java
index b4aaac0..ef9e3a4 100644
--- 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java
+++ 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java
@@ -432,6 +432,25 @@ public class ServiceCallConfigurationDefinition extends 
IdentifiedType {
         return conf;
     }
 
+    public ServiceCallConfigurationDefinition dnsServiceDiscovery(String 
domain) {
+        DnsServiceCallServiceDiscoveryConfiguration conf = new 
DnsServiceCallServiceDiscoveryConfiguration();
+        conf.setDomain(domain);
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
+    public ServiceCallConfigurationDefinition dnsServiceDiscovery(String 
domain, String protocol) {
+        DnsServiceCallServiceDiscoveryConfiguration conf = new 
DnsServiceCallServiceDiscoveryConfiguration();
+        conf.setDomain(domain);
+        conf.setProto(protocol);
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
     public EtcdServiceCallServiceDiscoveryConfiguration etcdServiceDiscovery() 
{
         EtcdServiceCallServiceDiscoveryConfiguration conf = new 
EtcdServiceCallServiceDiscoveryConfiguration();
         setServiceDiscoveryConfiguration(conf);
@@ -446,6 +465,35 @@ public class ServiceCallConfigurationDefinition extends 
IdentifiedType {
         return conf;
     }
 
+    public KubernetesServiceCallServiceDiscoveryConfiguration 
kubernetesClientServiceDiscovery() {
+        KubernetesServiceCallServiceDiscoveryConfiguration conf = new 
KubernetesServiceCallServiceDiscoveryConfiguration();
+        conf.setLookup("client");
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return conf;
+    }
+
+    public ServiceCallConfigurationDefinition kubernetesEnvServiceDiscovery() {
+        KubernetesServiceCallServiceDiscoveryConfiguration conf = new 
KubernetesServiceCallServiceDiscoveryConfiguration();
+        conf.setLookup("environment");
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
+    public ServiceCallConfigurationDefinition 
kubernetesDnsServiceDiscovery(String namespace, String domain) {
+        KubernetesServiceCallServiceDiscoveryConfiguration conf = new 
KubernetesServiceCallServiceDiscoveryConfiguration();
+
+        conf.setNamespace(namespace);
+        conf.setDnsDomain(domain);
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
     public MultiServiceCallServiceDiscoveryConfiguration 
multiServiceDiscovery() {
         MultiServiceCallServiceDiscoveryConfiguration conf = new 
MultiServiceCallServiceDiscoveryConfiguration();
         setServiceDiscoveryConfiguration(conf);
@@ -464,10 +512,19 @@ public class ServiceCallConfigurationDefinition extends 
IdentifiedType {
     // Shortcuts - LoadBalancer
     // *****************************
 
-    public RibbonServiceCallLoadBalancerConfiguration ribbonLoadBalancer() {
+    public ServiceCallConfigurationDefinition ribbonLoadBalancer() {
         RibbonServiceCallLoadBalancerConfiguration conf = new 
RibbonServiceCallLoadBalancerConfiguration();
         setLoadBalancerConfiguration(conf);
 
-        return conf;
+        return this;
+    }
+
+    public ServiceCallConfigurationDefinition ribbonLoadBalancer(String 
clientName) {
+        RibbonServiceCallLoadBalancerConfiguration conf = new 
RibbonServiceCallLoadBalancerConfiguration();
+        conf.setClientName(clientName);
+
+        setLoadBalancerConfiguration(conf);
+
+        return this;
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java
 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java
index 09910d1..33f7011 100644
--- 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java
+++ 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java
@@ -21,10 +21,12 @@ import java.util.List;
 
 final class ServiceCallConstants {
     public static final List<ServiceCallServiceDiscoveryConfiguration> 
SERVICE_DISCOVERY_CONFIGURATIONS = Arrays.asList(
+        new CachingServiceCallServiceDiscoveryConfiguration(),
         new ConsulServiceCallServiceDiscoveryConfiguration(),
+        new DnsServiceCallServiceDiscoveryConfiguration(),
         new EtcdServiceCallServiceDiscoveryConfiguration(),
         new KubernetesServiceCallServiceDiscoveryConfiguration(),
-        new DnsServiceCallServiceDiscoveryConfiguration()
+        new MultiServiceCallServiceDiscoveryConfiguration()
     );
 
     public static final List<ServiceCallLoadBalancerConfiguration> 
LOAD_BALANCER_CONFIGURATIONS = Arrays.asList(

http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
index caa97ff..6c5cdc8 100644
--- 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
+++ 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
@@ -479,14 +479,12 @@ public class ServiceCallDefinition extends 
NoOutputDefinition<ServiceCallDefinit
     // Shortcuts - ServiceDiscovery
     // *****************************
 
-    /*
     public CachingServiceCallServiceDiscoveryConfiguration 
cachingServiceDiscovery() {
         CachingServiceCallServiceDiscoveryConfiguration conf = new 
CachingServiceCallServiceDiscoveryConfiguration(this);
         setServiceDiscoveryConfiguration(conf);
 
         return conf;
     }
-    */
 
     public ConsulServiceCallServiceDiscoveryConfiguration 
consulServiceDiscovery() {
         ConsulServiceCallServiceDiscoveryConfiguration conf = new 
ConsulServiceCallServiceDiscoveryConfiguration(this);
@@ -502,6 +500,25 @@ public class ServiceCallDefinition extends 
NoOutputDefinition<ServiceCallDefinit
         return conf;
     }
 
+    public ServiceCallDefinition dnsServiceDiscovery(String domain) {
+        DnsServiceCallServiceDiscoveryConfiguration conf = new 
DnsServiceCallServiceDiscoveryConfiguration(this);
+        conf.setDomain(domain);
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
+    public ServiceCallDefinition dnsServiceDiscovery(String domain, String 
protocol) {
+        DnsServiceCallServiceDiscoveryConfiguration conf = new 
DnsServiceCallServiceDiscoveryConfiguration(this);
+        conf.setDomain(domain);
+        conf.setProto(protocol);
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
     public EtcdServiceCallServiceDiscoveryConfiguration etcdServiceDiscovery() 
{
         EtcdServiceCallServiceDiscoveryConfiguration conf = new 
EtcdServiceCallServiceDiscoveryConfiguration(this);
         setServiceDiscoveryConfiguration(conf);
@@ -516,6 +533,35 @@ public class ServiceCallDefinition extends 
NoOutputDefinition<ServiceCallDefinit
         return conf;
     }
 
+    public KubernetesServiceCallServiceDiscoveryConfiguration 
kubernetesClientServiceDiscovery() {
+        KubernetesServiceCallServiceDiscoveryConfiguration conf = new 
KubernetesServiceCallServiceDiscoveryConfiguration(this);
+        conf.setLookup("client");
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return conf;
+    }
+
+    public ServiceCallDefinition kubernetesEnvServiceDiscovery() {
+        KubernetesServiceCallServiceDiscoveryConfiguration conf = new 
KubernetesServiceCallServiceDiscoveryConfiguration(this);
+        conf.setLookup("environment");
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
+    public ServiceCallDefinition kubernetesDnsServiceDiscovery(String 
namespace, String domain) {
+        KubernetesServiceCallServiceDiscoveryConfiguration conf = new 
KubernetesServiceCallServiceDiscoveryConfiguration(this);
+        conf.setLookup("dns");
+        conf.setNamespace(namespace);
+        conf.setDnsDomain(domain);
+
+        setServiceDiscoveryConfiguration(conf);
+
+        return this;
+    }
+
     public MultiServiceCallServiceDiscoveryConfiguration 
multiServiceDiscovery() {
         MultiServiceCallServiceDiscoveryConfiguration conf = new 
MultiServiceCallServiceDiscoveryConfiguration(this);
         setServiceDiscoveryConfiguration(conf);
@@ -534,11 +580,20 @@ public class ServiceCallDefinition extends 
NoOutputDefinition<ServiceCallDefinit
     // Shortcuts - LoadBalancer
     // *****************************
 
-    public RibbonServiceCallLoadBalancerConfiguration ribbonLoadBalancer() {
+    public ServiceCallDefinition ribbonLoadBalancer() {
         RibbonServiceCallLoadBalancerConfiguration conf = new 
RibbonServiceCallLoadBalancerConfiguration(this);
         setLoadBalancerConfiguration(conf);
 
-        return conf;
+        return this;
+    }
+
+    public ServiceCallDefinition ribbonLoadBalancer(String clientName) {
+        RibbonServiceCallLoadBalancerConfiguration conf = new 
RibbonServiceCallLoadBalancerConfiguration(this);
+        conf.setClientName(clientName);
+
+        setLoadBalancerConfiguration(conf);
+
+        return this;
     }
 
     // *****************************

http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java
 
b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java
index e0e30f2..a8d1446 100644
--- 
a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java
+++ 
b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java
@@ -98,9 +98,8 @@ public class ConsulRibbonServiceCallRouteTest extends 
ConsulTestSupport {
                     .serviceCall()
                         .name(SERVICE_NAME)
                         .ribbonLoadBalancer()
-                            .end()
                         .consulServiceDiscovery()
-                            .endParent()
+                        .endParent()
                     
.to("log:org.apache.camel.component.consul.processor.service?level=INFO&showAll=true&multiline=true")
                     .to("mock:result");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java
 
b/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java
index c2f8b67..28a2897 100644
--- 
a/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java
+++ 
b/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java
@@ -45,12 +45,10 @@ public class RibbonServiceCallRouteDslTest extends 
CamelTestSupport {
                     .serviceCall()
                     .name("myService")
                     .ribbonLoadBalancer()
-                        .end()
                     .staticServiceDiscovery()
                         .server("localhost:9090")
                         .server("localhost:9091")
-                        .end()
-                    .end()
+                    .endParent()
                     .to("mock:result");
                 from("jetty:http://localhost:9090";)
                     .to("mock:9090")

Reply via email to