You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2017/01/18 12:23:22 UTC

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

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 <lb...@gmail.com>
Authored: Tue Jan 17 19:00:41 2017 +0100
Committer: lburgazzoli <lb...@gmail.com>
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")