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/31 07:09:03 UTC

camel git commit: Minor improvement for spring-cloud's ServiceCall

Repository: camel
Updated Branches:
  refs/heads/master 6c984e110 -> 32a9aa974


Minor improvement for spring-cloud's ServiceCall


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

Branch: refs/heads/master
Commit: 32a9aa9743aed2ff2efdb8454f441fa941b292e2
Parents: 6c984e1
Author: lburgazzoli <lb...@gmail.com>
Authored: Tue Jan 31 08:08:27 2017 +0100
Committer: lburgazzoli <lb...@gmail.com>
Committed: Tue Jan 31 08:08:27 2017 +0100

----------------------------------------------------------------------
 .../cloud/ServiceCallConfigurationProperties.java     |  9 +++++----
 .../ServiceCallServiceDiscoveryAutoConfiguration.java | 13 +++++++------
 .../ServiceCallServiceFilterAutoConfiguration.java    | 14 ++++++++------
 3 files changed, 20 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/32a9aa97/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallConfigurationProperties.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallConfigurationProperties.java b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallConfigurationProperties.java
index feeeb0d..d316dcb 100644
--- a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallConfigurationProperties.java
+++ b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallConfigurationProperties.java
@@ -18,6 +18,7 @@
 package org.apache.camel.spring.cloud;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -72,7 +73,7 @@ public class ServiceCallConfigurationProperties {
 
     public static class ServiceDiscovery {
         private boolean enabled = true;
-        private Map<String, String> services = new HashMap<>();
+        private Map<String, List<String>> services = new HashMap<>();
 
         public boolean isEnabled() {
             return enabled;
@@ -82,14 +83,14 @@ public class ServiceCallConfigurationProperties {
             this.enabled = enabled;
         }
 
-        public Map<String, String> getServices() {
+        public Map<String, List<String>> getServices() {
             return services;
         }
     }
 
     public static class ServiceFilter {
         private boolean enabled = true;
-        private Map<String, String> blacklist = new HashMap<>();
+        private Map<String, List<String>> blacklist = new HashMap<>();
 
         public boolean isEnabled() {
             return enabled;
@@ -99,7 +100,7 @@ public class ServiceCallConfigurationProperties {
             this.enabled = enabled;
         }
 
-        public Map<String, String> getBlacklist() {
+        public Map<String, List<String>> getBlacklist() {
             return blacklist;
         }
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/32a9aa97/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceDiscoveryAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceDiscoveryAutoConfiguration.java b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceDiscoveryAutoConfiguration.java
index 4934465..055aa28 100644
--- a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceDiscoveryAutoConfiguration.java
+++ b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceDiscoveryAutoConfiguration.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.cloud.ServiceDiscovery;
 import org.apache.camel.spring.boot.util.GroupCondition;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.cloud.client.discovery.DiscoveryClient;
@@ -41,15 +42,15 @@ public class ServiceCallServiceDiscoveryAutoConfiguration {
     public DiscoveryClient serviceDiscoveryClient(ServiceCallConfigurationProperties properties) {
         CamelCloudDiscoveryClient client = new CamelCloudDiscoveryClient("service-discovery-client");
 
-        Map<String, String> services = properties.getServiceDiscovery().getServices();
-        for (Map.Entry<String, String> entry : services.entrySet()) {
-
-            String[] parts = entry.getValue().split(",");
-            for (String part : parts) {
+        Map<String, List<String>> services = properties.getServiceDiscovery().getServices();
+        for (Map.Entry<String, List<String>> entry : services.entrySet()) {
+            for (String part : entry.getValue()) {
                 String host = StringHelper.before(part, ":");
                 String port = StringHelper.after(part, ":");
 
-                client.addServiceInstance(entry.getKey(), host, Integer.parseInt(port));
+                if (ObjectHelper.isNotEmpty(host) && ObjectHelper.isNotEmpty(port)) {
+                    client.addServiceInstance(entry.getKey(), host, Integer.parseInt(port));
+                }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/32a9aa97/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceFilterAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceFilterAutoConfiguration.java b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceFilterAutoConfiguration.java
index cdcffc6..5f92678 100644
--- a/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceFilterAutoConfiguration.java
+++ b/components/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/ServiceCallServiceFilterAutoConfiguration.java
@@ -17,6 +17,7 @@
 
 package org.apache.camel.spring.cloud;
 
+import java.util.List;
 import java.util.Map;
 
 import org.apache.camel.cloud.ServiceFilter;
@@ -24,6 +25,7 @@ import org.apache.camel.impl.cloud.BlacklistServiceFilter;
 import org.apache.camel.impl.cloud.ChainedServiceFilter;
 import org.apache.camel.impl.cloud.HealthyServiceFilter;
 import org.apache.camel.spring.boot.util.GroupCondition;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StringHelper;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
@@ -42,15 +44,15 @@ public class ServiceCallServiceFilterAutoConfiguration {
     public ServiceFilter chainedServiceFilter(ServiceCallConfigurationProperties properties) {
         BlacklistServiceFilter blacklist = new BlacklistServiceFilter();
 
-        Map<String, String> services = properties.getServiceFilter().getBlacklist();
-        for (Map.Entry<String, String> entry : services.entrySet()) {
-
-            String[] parts = entry.getValue().split(",");
-            for (String part : parts) {
+        Map<String, List<String>> services = properties.getServiceFilter().getBlacklist();
+        for (Map.Entry<String, List<String>> entry : services.entrySet()) {
+            for (String part : entry.getValue()) {
                 String host = StringHelper.before(part, ":");
                 String port = StringHelper.after(part, ":");
 
-                blacklist.addServer(entry.getKey(), host, Integer.parseInt(port));
+                if (ObjectHelper.isNotEmpty(host) && ObjectHelper.isNotEmpty(port)) {
+                    blacklist.addServer(entry.getKey(), host, Integer.parseInt(port));
+                }
             }
         }