This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch STREAMPIPES-319
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git


The following commit(s) were added to refs/heads/STREAMPIPES-319 by this push:
     new 8189b40  [STREAMPIPES-319] Refactor config definition
8189b40 is described below

commit 8189b40e05f17fa4302cb8792f06d9fcb513fe70
Author: Dominik Riemer <[email protected]>
AuthorDate: Tue Apr 20 22:23:25 2021 +0200

    [STREAMPIPES-319] Refactor config definition
---
 .../constants/{Envs.java => CustomEnvs.java}       | 24 ++----
 .../apache/streampipes/commons/constants/Envs.java | 15 ++--
 streampipes-config/pom.xml                         |  9 +-
 .../org/apache/streampipes/config/SpConfig.java    |  7 +-
 .../streampipes/config/consul/ConsulSpConfig.java  | 95 ++++++----------------
 .../streampipes/config/consul/MockSpConfig.java    |  4 +-
 .../model/SpServiceDefinitionBuilder.java          | 16 ++--
 .../apache/streampipes/rest/impl/ConsulConfig.java |  4 +-
 .../svcdiscovery/api}/model/ConfigItem.java        |  2 +-
 .../api}/model/ConfigurationScope.java             |  2 +-
 .../svcdiscovery/api}/model/PeConfig.java          |  2 +-
 streampipes-service-discovery-consul/pom.xml       |  5 --
 .../svcdiscovery/consul/ConsulProvider.java        | 49 +++++++++--
 .../svcdiscovery/consul/SpConsulKvManagement.java  |  2 +-
 14 files changed, 113 insertions(+), 123 deletions(-)

diff --git 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/CustomEnvs.java
similarity index 66%
copy from 
streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
copy to 
streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/CustomEnvs.java
index 1e06871..b0f2e94 100644
--- 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
+++ 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/CustomEnvs.java
@@ -17,27 +17,21 @@
  */
 package org.apache.streampipes.commons.constants;
 
-public enum Envs {
+public class CustomEnvs {
 
-  SP_HOST("SP_HOST"),
-  SP_PORT("SP_PORT");
-
-  private String envVariableName;
-
-  Envs(String envVariableName) {
-    this.envVariableName = envVariableName;
+  public static boolean exists(String envVariable) {
+    return System.getenv().containsKey(envVariable);
   }
 
-  public boolean exists() {
-    return System.getenv().containsKey(this.envVariableName);
+  public static String getEnv(String envVariable) {
+    return System.getenv(envVariable);
   }
 
-  public String getValue() {
-    return System.getenv(this.envVariableName);
+  public static Integer getEnvAsInt(String envVariable) {
+    return Integer.parseInt(getEnv(envVariable));
   }
 
-  public Integer getValueAsInt() {
-    return Integer.parseInt(getValue());
+  public static Boolean getEnvAsBoolean(String envVariable) {
+    return Boolean.parseBoolean(envVariable);
   }
-
 }
diff --git 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
index 1e06871..dac07be 100644
--- 
a/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
+++ 
b/streampipes-commons/src/main/java/org/apache/streampipes/commons/constants/Envs.java
@@ -20,24 +20,29 @@ package org.apache.streampipes.commons.constants;
 public enum Envs {
 
   SP_HOST("SP_HOST"),
-  SP_PORT("SP_PORT");
+  SP_PORT("SP_PORT"),
+  SP_CONSUL_LOCATION("CONSUL_LOCATION");
 
-  private String envVariableName;
+  private final String envVariableName;
 
   Envs(String envVariableName) {
     this.envVariableName = envVariableName;
   }
 
   public boolean exists() {
-    return System.getenv().containsKey(this.envVariableName);
+    return CustomEnvs.exists(this.envVariableName);
   }
 
   public String getValue() {
-    return System.getenv(this.envVariableName);
+    return CustomEnvs.getEnv(this.envVariableName);
   }
 
   public Integer getValueAsInt() {
-    return Integer.parseInt(getValue());
+    return CustomEnvs.getEnvAsInt(this.envVariableName);
+  }
+
+  public Boolean getValueAsBoolean() {
+    return CustomEnvs.getEnvAsBoolean(this.envVariableName);
   }
 
 }
diff --git a/streampipes-config/pom.xml b/streampipes-config/pom.xml
index 101103e..1abef45 100644
--- a/streampipes-config/pom.xml
+++ b/streampipes-config/pom.xml
@@ -39,6 +39,11 @@
             <artifactId>streampipes-vocabulary</artifactId>
             <version>0.68.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.streampipes</groupId>
+            <artifactId>streampipes-service-discovery</artifactId>
+            <version>0.68.0-SNAPSHOT</version>
+        </dependency>
 
         <!-- External dependencies -->
         <dependency>
@@ -49,9 +54,5 @@
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.orbitz.consul</groupId>
-            <artifactId>consul-client</artifactId>
-        </dependency>
     </dependencies>
 </project>
diff --git 
a/streampipes-config/src/main/java/org/apache/streampipes/config/SpConfig.java 
b/streampipes-config/src/main/java/org/apache/streampipes/config/SpConfig.java
index ddf8c26..5167061 100644
--- 
a/streampipes-config/src/main/java/org/apache/streampipes/config/SpConfig.java
+++ 
b/streampipes-config/src/main/java/org/apache/streampipes/config/SpConfig.java
@@ -19,11 +19,12 @@
 package org.apache.streampipes.config;
 
 import org.apache.streampipes.config.consul.ConsulSpConfig;
-import org.apache.streampipes.config.model.ConfigItem;
-import org.apache.streampipes.config.model.ConfigurationScope;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigItem;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigurationScope;
+import org.apache.streampipes.svcdiscovery.consul.AbstractConsulService;
 
 
-public abstract class SpConfig {
+public abstract class SpConfig extends AbstractConsulService {
 
 
     public SpConfig(String name) {
diff --git 
a/streampipes-config/src/main/java/org/apache/streampipes/config/consul/ConsulSpConfig.java
 
b/streampipes-config/src/main/java/org/apache/streampipes/config/consul/ConsulSpConfig.java
index 1b2c5ba..9a3f14a 100644
--- 
a/streampipes-config/src/main/java/org/apache/streampipes/config/consul/ConsulSpConfig.java
+++ 
b/streampipes-config/src/main/java/org/apache/streampipes/config/consul/ConsulSpConfig.java
@@ -18,36 +18,31 @@
 
 package org.apache.streampipes.config.consul;
 
-import com.google.gson.Gson;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.orbitz.consul.Consul;
 import com.orbitz.consul.KeyValueClient;
 import com.orbitz.consul.model.kv.Value;
 import org.apache.streampipes.config.SpConfig;
 import org.apache.streampipes.config.SpConfigChangeCallback;
-import org.apache.streampipes.config.model.ConfigItem;
-import org.apache.streampipes.config.model.ConfigurationScope;
+import org.apache.streampipes.serializers.json.JacksonSerializer;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigItem;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigurationScope;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.net.InetSocketAddress;
-import java.net.MalformedURLException;
-import java.net.Socket;
-import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
 
 public class ConsulSpConfig extends SpConfig implements Runnable {
-    private static final Logger LOG = 
LoggerFactory.getLogger(ConsulSpConfig.class.getCanonicalName());
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(ConsulSpConfig.class);
 
     private static final String SLASH = "/";
-    private static final String CONSUL_ENV_LOCATION = "CONSUL_LOCATION";
-    private static final int CONSUL_DEFAULT_PORT = 8500;
     public static final String SERVICE_ROUTE_PREFIX = "sp/v1/";
 
-    private String serviceName;
-    private  KeyValueClient kvClient;
-
+    private final String serviceName;
+    private final KeyValueClient kvClient;
 
     // TODO Implement mechanism to update the client when some configuration 
parameters change in Consul
     private SpConfigChangeCallback callback;
@@ -67,59 +62,6 @@ public class ConsulSpConfig extends SpConfig implements 
Runnable {
         new Thread(this).start();
     }
 
-    private static Consul consulInstance() {
-        boolean connected = false;
-        URL consulUrl = consulURL();
-
-        while (!connected) {
-            LOG.info("Trying to connect to Consul to register config items");
-            connected = isReady(consulUrl.getHost(), consulUrl.getPort());
-
-            if (!connected) {
-                LOG.info("Retrying in 1 second");
-                try {
-                    Thread.sleep(1000);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-        LOG.info("Successfully connected to Consul");
-        return Consul.builder().withUrl(consulURL()).build();
-    }
-
-    private static URL consulURL() {
-        Map<String, String> env = System.getenv();
-        URL url = null;
-
-        if (env.containsKey(CONSUL_ENV_LOCATION)) {
-            try {
-                url = new URL("http", env.get(CONSUL_ENV_LOCATION), 
CONSUL_DEFAULT_PORT, "");
-            } catch (MalformedURLException e) {
-                e.printStackTrace();
-            }
-        } else {
-            try {
-                url = new URL("http", "localhost", CONSUL_DEFAULT_PORT, "");
-            } catch (MalformedURLException e) {
-                e.printStackTrace();
-            }
-        }
-        return url;
-    }
-
-    public static boolean isReady(String host, int port) {
-        try {
-            InetSocketAddress sa = new InetSocketAddress(host, port);
-            Socket ss = new Socket();
-            ss.connect(sa, 1000);
-            ss.close();
-        } catch(Exception e) {
-            return false;
-        }
-        return true;
-    }
-
     @Override
     public void run() {
         Consul consulThread = Consul.builder().build(); // connect to Consul 
on localhost
@@ -239,8 +181,12 @@ public class ConsulSpConfig extends SpConfig implements 
Runnable {
     public <T> T getObject(String key, Class<T> clazz, T defaultValue) {
         Optional<String> os = kvClient.getValueAsString(addSn(key));
         if (os.isPresent()) {
-            Gson gson = new Gson();
-            return gson.fromJson(os.get(), clazz);
+            try {
+                return JacksonSerializer.getObjectMapper().readValue(os.get(), 
clazz);
+            } catch (JsonProcessingException e) {
+                LOG.info("Could not deserialize object", e);
+                return defaultValue;
+            }
         } else {
             return defaultValue;
         }
@@ -275,8 +221,7 @@ public class ConsulSpConfig extends SpConfig implements 
Runnable {
 
     @Override
     public void setObject(String key, Object value) {
-        Gson gson = new Gson();
-        kvClient.putValue(addSn(key), gson.toJson(value));
+        kvClient.putValue(addSn(key), toJson(value));
     }
 
     private String addSn(String key) {
@@ -285,7 +230,7 @@ public class ConsulSpConfig extends SpConfig implements 
Runnable {
 
     private ConfigItem fromJson(String content) {
         try {
-          return new Gson().fromJson(content, ConfigItem.class);
+          return JacksonSerializer.getObjectMapper().readValue(content, 
ConfigItem.class);
         } catch (Exception e) {
           // if old config is used, this is a fallback
           ConfigItem configItem = new ConfigItem();
@@ -305,6 +250,12 @@ public class ConsulSpConfig extends SpConfig implements 
Runnable {
     }
 
     private String toJson(Object object) {
-        return new Gson().toJson(object);
+        try {
+            return 
JacksonSerializer.getObjectMapper().writeValueAsString(object);
+        } catch (JsonProcessingException e) {
+            LOG.info("Could not serialize object to JSON", e);
+            return "";
+        }
     }
+
 }
diff --git 
a/streampipes-config/src/main/java/org/apache/streampipes/config/consul/MockSpConfig.java
 
b/streampipes-config/src/main/java/org/apache/streampipes/config/consul/MockSpConfig.java
index 47ef43e..b7b5b6c 100644
--- 
a/streampipes-config/src/main/java/org/apache/streampipes/config/consul/MockSpConfig.java
+++ 
b/streampipes-config/src/main/java/org/apache/streampipes/config/consul/MockSpConfig.java
@@ -20,8 +20,8 @@ package org.apache.streampipes.config.consul;
 
 import org.apache.streampipes.config.SpConfig;
 import org.apache.streampipes.config.SpConfigChangeCallback;
-import org.apache.streampipes.config.model.ConfigItem;
-import org.apache.streampipes.config.model.ConfigurationScope;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigItem;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigurationScope;
 
 public class MockSpConfig extends SpConfig {
 
diff --git 
a/streampipes-container/src/main/java/org/apache/streampipes/container/model/SpServiceDefinitionBuilder.java
 
b/streampipes-container/src/main/java/org/apache/streampipes/container/model/SpServiceDefinitionBuilder.java
index a7fe218..7912c5e 100644
--- 
a/streampipes-container/src/main/java/org/apache/streampipes/container/model/SpServiceDefinitionBuilder.java
+++ 
b/streampipes-container/src/main/java/org/apache/streampipes/container/model/SpServiceDefinitionBuilder.java
@@ -17,6 +17,8 @@
  */
 package org.apache.streampipes.container.model;
 
+import org.apache.streampipes.config.SpConfig;
+import org.apache.streampipes.config.consul.ConsulSpConfig;
 import org.apache.streampipes.container.declarer.Declarer;
 import org.apache.streampipes.dataformat.SpDataFormatFactory;
 import org.apache.streampipes.messaging.SpProtocolDefinitionFactory;
@@ -26,6 +28,7 @@ import java.util.Arrays;
 public class SpServiceDefinitionBuilder {
 
   private SpServiceDefinition serviceDefinition;
+  private SpConfig config;
 
   public static SpServiceDefinitionBuilder create(String serviceId,
                                                   String serviceName,
@@ -43,6 +46,7 @@ public class SpServiceDefinitionBuilder {
     this.serviceDefinition.setServiceName(serviceName);
     this.serviceDefinition.setServiceDescription(serviceDescription);
     this.serviceDefinition.setDefaultPort(defaultPort);
+    this.config = new ConsulSpConfig(serviceId);
   }
 
   public SpServiceDefinitionBuilder withHostname(String hostname) {
@@ -50,18 +54,18 @@ public class SpServiceDefinitionBuilder {
     return this;
   }
 
-  public SpServiceDefinitionBuilder addConfig(String key, String value) {
-
+  public SpServiceDefinitionBuilder addConfig(String key, String defaultValue, 
String description) {
+    this.config.register(key, defaultValue, description);
     return this;
   }
 
-  public SpServiceDefinitionBuilder addConfig(String key, Integer value) {
-
+  public SpServiceDefinitionBuilder addConfig(String key, Integer 
defaultValue, String description) {
+    this.config.register(key, defaultValue, description);
     return this;
   }
 
-  public SpServiceDefinitionBuilder addConfig(String key, Boolean value) {
-
+  public SpServiceDefinitionBuilder addConfig(String key, Boolean 
defaultValue, String description) {
+    this.config.register(key, defaultValue, description);
     return this;
   }
 
diff --git 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/ConsulConfig.java
 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/ConsulConfig.java
index 484e4f6..8d273e0 100644
--- 
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/ConsulConfig.java
+++ 
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/ConsulConfig.java
@@ -23,8 +23,8 @@ import com.google.gson.JsonObject;
 import org.apache.streampipes.config.backend.BackendConfig;
 import org.apache.streampipes.config.backend.MessagingSettings;
 import org.apache.streampipes.config.consul.ConsulSpConfig;
-import org.apache.streampipes.config.model.ConfigItem;
-import org.apache.streampipes.config.model.PeConfig;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigItem;
+import org.apache.streampipes.svcdiscovery.api.model.PeConfig;
 import org.apache.streampipes.rest.shared.annotation.GsonWithIds;
 import org.apache.streampipes.svcdiscovery.api.ISpKvManagement;
 import org.slf4j.Logger;
diff --git 
a/streampipes-config/src/main/java/org/apache/streampipes/config/model/ConfigItem.java
 
b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/ConfigItem.java
similarity index 97%
rename from 
streampipes-config/src/main/java/org/apache/streampipes/config/model/ConfigItem.java
rename to 
streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/ConfigItem.java
index 8f10cd5..edcdaf6 100644
--- 
a/streampipes-config/src/main/java/org/apache/streampipes/config/model/ConfigItem.java
+++ 
b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/ConfigItem.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.config.model;
+package org.apache.streampipes.svcdiscovery.api.model;
 
 public class ConfigItem {
 
diff --git 
a/streampipes-config/src/main/java/org/apache/streampipes/config/model/ConfigurationScope.java
 
b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/ConfigurationScope.java
similarity index 94%
rename from 
streampipes-config/src/main/java/org/apache/streampipes/config/model/ConfigurationScope.java
rename to 
streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/ConfigurationScope.java
index 040a3f8..094cb0c 100644
--- 
a/streampipes-config/src/main/java/org/apache/streampipes/config/model/ConfigurationScope.java
+++ 
b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/ConfigurationScope.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.config.model;
+package org.apache.streampipes.svcdiscovery.api.model;
 
 public enum ConfigurationScope {
   CONTAINER_STARTUP_CONFIG,
diff --git 
a/streampipes-config/src/main/java/org/apache/streampipes/config/model/PeConfig.java
 
b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/PeConfig.java
similarity index 96%
rename from 
streampipes-config/src/main/java/org/apache/streampipes/config/model/PeConfig.java
rename to 
streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/PeConfig.java
index 905f169..c215a1c 100644
--- 
a/streampipes-config/src/main/java/org/apache/streampipes/config/model/PeConfig.java
+++ 
b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/model/PeConfig.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.config.model;
+package org.apache.streampipes.svcdiscovery.api.model;
 
 import java.util.List;
 import java.util.Map;
diff --git a/streampipes-service-discovery-consul/pom.xml 
b/streampipes-service-discovery-consul/pom.xml
index 453928b..7300f0a 100644
--- a/streampipes-service-discovery-consul/pom.xml
+++ b/streampipes-service-discovery-consul/pom.xml
@@ -14,11 +14,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.streampipes</groupId>
-            <artifactId>streampipes-config</artifactId>
-            <version>0.68.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.streampipes</groupId>
             <artifactId>streampipes-logging</artifactId>
             <version>0.68.0-SNAPSHOT</version>
         </dependency>
diff --git 
a/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulProvider.java
 
b/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulProvider.java
index 6a5a704..76e5c7b 100644
--- 
a/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulProvider.java
+++ 
b/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulProvider.java
@@ -18,28 +18,51 @@
 package org.apache.streampipes.svcdiscovery.consul;
 
 import com.orbitz.consul.Consul;
+import org.apache.streampipes.commons.constants.Envs;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
+import java.io.IOException;
+import java.net.InetSocketAddress;
 import java.net.MalformedURLException;
+import java.net.Socket;
 import java.net.URL;
-import java.util.Map;
 
 public class ConsulProvider {
 
-  private static final String CONSUL_ENV_LOCATION = "CONSUL_LOCATION";
+  private static final Logger LOG = 
LoggerFactory.getLogger(ConsulProvider.class);
+
   private static final int CONSUL_DEFAULT_PORT = 8500;
   private static final String CONSUL_URL_REGISTER_SERVICE = 
"v1/agent/service/register";
 
   public Consul consulInstance() {
+    URL consulUrl = consulURL();
+    boolean connected;
+
+    do {
+      LOG.info("Checking if consul is available...");
+      connected = checkConsulAvailable(consulUrl);
+
+      if (!connected) {
+        LOG.info("Retrying in 1 second");
+        try {
+          Thread.sleep(1000);
+        } catch (InterruptedException e) {
+          e.printStackTrace();
+        }
+      }
+    } while(!connected);
+
+    LOG.info("Successfully connected to Consul");
     return Consul.builder().withUrl(consulURL()).build();
   }
 
   private URL consulURL() {
-    Map<String, String> env = System.getenv();
     URL url = null;
 
-    if (env.containsKey(CONSUL_ENV_LOCATION)) {
+    if (Envs.SP_CONSUL_LOCATION.exists()) {
       try {
-        url = new URL("http", env.get(CONSUL_ENV_LOCATION), 
CONSUL_DEFAULT_PORT, "");
+        url = new URL("http", Envs.SP_CONSUL_LOCATION.getValue(), 
CONSUL_DEFAULT_PORT, "");
       } catch (MalformedURLException e) {
         e.printStackTrace();
       }
@@ -53,6 +76,22 @@ public class ConsulProvider {
     return url;
   }
 
+  private boolean checkConsulAvailable(URL consulUrl) {
+    try {
+      InetSocketAddress sa = new InetSocketAddress(consulUrl.getHost(), 
consulUrl.getPort());
+      Socket ss = new Socket();
+      ss.connect(sa, 1000);
+      ss.close();
+
+      return true;
+    } catch (IOException e) {
+      LOG.info("Could not connect to Consul instance...");
+      return false;
+    }
+
+
+  }
+
   public String makeConsulEndpoint() {
     return consulURL().toString() + "/" + CONSUL_URL_REGISTER_SERVICE;
   }
diff --git 
a/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/SpConsulKvManagement.java
 
b/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/SpConsulKvManagement.java
index cff972d..d54277c 100644
--- 
a/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/SpConsulKvManagement.java
+++ 
b/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/SpConsulKvManagement.java
@@ -22,9 +22,9 @@ import com.orbitz.consul.Consul;
 import com.orbitz.consul.KeyValueClient;
 import com.orbitz.consul.model.ConsulResponse;
 import com.orbitz.consul.model.kv.Value;
-import org.apache.streampipes.config.model.ConfigItem;
 import org.apache.streampipes.serializers.json.JacksonSerializer;
 import org.apache.streampipes.svcdiscovery.api.ISpKvManagement;
+import org.apache.streampipes.svcdiscovery.api.model.ConfigItem;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Reply via email to