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/16 09:34:06 UTC
camel git commit: CAMEL-10709: camel-etcd: etcd stats endpoint fails
because of a class cast exception
Repository: camel
Updated Branches:
refs/heads/master 5dc888d8f -> e5c45cc20
CAMEL-10709: camel-etcd: etcd stats endpoint fails because of a class cast exception
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e5c45cc2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e5c45cc2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e5c45cc2
Branch: refs/heads/master
Commit: e5c45cc209d6103c92a241185bf389f4886d2c2a
Parents: 5dc888d
Author: lburgazzoli <lb...@gmail.com>
Authored: Mon Jan 16 09:59:16 2017 +0100
Committer: lburgazzoli <lb...@gmail.com>
Committed: Mon Jan 16 10:33:38 2017 +0100
----------------------------------------------------------------------
.../component/etcd/AbstractEtcdConsumer.java | 2 +-
.../component/etcd/AbstractEtcdEndpoint.java | 6 +++-
.../etcd/AbstractEtcdPollingConsumer.java | 24 ++--------------
.../etcd/AbstractEtcdPollingEndpoint.java | 6 +++-
.../component/etcd/AbstractEtcdProducer.java | 2 +-
.../camel/component/etcd/EtcdEndpoint.java | 29 ++++++++++++++++++++
.../camel/component/etcd/EtcdStatsConsumer.java | 9 +++---
.../camel/component/etcd/EtcdStatsEndpoint.java | 2 +-
8 files changed, 48 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdConsumer.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdConsumer.java
index 84533d8..1a7fdde 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdConsumer.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdConsumer.java
@@ -50,7 +50,7 @@ public abstract class AbstractEtcdConsumer extends DefaultConsumer {
protected EtcdClient getClient() throws Exception {
if (client == null) {
- client = ((AbstractEtcdEndpoint)getEndpoint()).createClient();
+ client = ((EtcdEndpoint)getEndpoint()).createClient();
}
return client;
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
index 5eb095e..beb72ca 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
* The camel etcd component allows you to work with <a href="https://coreos.com/etcd">Etcd</a>, a distributed, A distributed, reliable key-value store.
*/
@UriEndpoint(scheme = "etcd", title = "etcd", syntax = "etcd:namespace/path", consumerClass = AbstractEtcdConsumer.class, label = "etcd")
-public abstract class AbstractEtcdEndpoint extends DefaultEndpoint {
+public abstract class AbstractEtcdEndpoint extends DefaultEndpoint implements EtcdEndpoint {
@UriPath(description = "The API namespace to use", enums = "keys,stats,watch")
@Metadata(required = "true")
@@ -51,18 +51,22 @@ public abstract class AbstractEtcdEndpoint extends DefaultEndpoint {
return true;
}
+ @Override
public EtcdConfiguration getConfiguration() {
return this.configuration;
}
+ @Override
public EtcdNamespace getNamespace() {
return this.namespace;
}
+ @Override
public String getPath() {
return this.path;
}
+ @Override
public EtcdClient createClient() throws Exception {
return configuration.createClient();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingConsumer.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingConsumer.java
index b069c63..bce2354 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingConsumer.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingConsumer.java
@@ -24,18 +24,10 @@ import org.apache.camel.impl.ScheduledPollConsumer;
* The etcd consumer.
*/
public abstract class AbstractEtcdPollingConsumer extends ScheduledPollConsumer {
- private final EtcdConfiguration configuration;
- private final EtcdNamespace namespace;
- private final String path;
-
private EtcdClient client;
- protected AbstractEtcdPollingConsumer(AbstractEtcdPollingEndpoint endpoint, Processor processor, EtcdConfiguration configuration, EtcdNamespace namespace, String path) {
+ protected AbstractEtcdPollingConsumer(AbstractEtcdPollingEndpoint endpoint, Processor processor) {
super(endpoint, processor);
-
- this.configuration = configuration;
- this.namespace = namespace;
- this.path = path;
this.client = null;
}
@@ -50,21 +42,9 @@ public abstract class AbstractEtcdPollingConsumer extends ScheduledPollConsumer
protected EtcdClient getClient() throws Exception {
if (client == null) {
- client = ((AbstractEtcdEndpoint)getEndpoint()).createClient();
+ client = ((EtcdEndpoint)getEndpoint()).createClient();
}
return client;
}
-
- protected EtcdConfiguration getConfiguration() {
- return configuration;
- }
-
- protected EtcdNamespace getNamespace() {
- return namespace;
- }
-
- protected String getPath() {
- return this.path;
- }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
index f00996e..af2572e 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
* The camel etcd component allows you to work with <a href="https://coreos.com/etcd">Etcd</a>, a distributed, A distributed, reliable key-value store.
*/
@UriEndpoint(scheme = "etcd", title = "etcd", syntax = "etcd:namespace/path", consumerClass = AbstractEtcdConsumer.class, label = "etcd")
-public abstract class AbstractEtcdPollingEndpoint extends DefaultPollingEndpoint {
+public abstract class AbstractEtcdPollingEndpoint extends DefaultPollingEndpoint implements EtcdEndpoint {
@UriPath(description = "The API namespace to use", enums = "keys,stats,watch")
@Metadata(required = "true")
@@ -51,18 +51,22 @@ public abstract class AbstractEtcdPollingEndpoint extends DefaultPollingEndpoint
return true;
}
+ @Override
public EtcdConfiguration getConfiguration() {
return this.configuration;
}
+ @Override
public EtcdNamespace getNamespace() {
return this.namespace;
}
+ @Override
public String getPath() {
return this.path;
}
+ @Override
public EtcdClient createClient() throws Exception {
return configuration.createClient();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdProducer.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdProducer.java
index 56d80e6..e93a67e 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdProducer.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdProducer.java
@@ -50,7 +50,7 @@ public abstract class AbstractEtcdProducer extends DefaultProducer {
protected EtcdClient getClient() throws Exception {
if (client == null) {
- client = ((AbstractEtcdEndpoint)getEndpoint()).createClient();
+ client = ((EtcdEndpoint)getEndpoint()).createClient();
}
return client;
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdEndpoint.java
new file mode 100644
index 0000000..b489e07
--- /dev/null
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdEndpoint.java
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.etcd;
+
+import mousio.etcd4j.EtcdClient;
+
+interface EtcdEndpoint {
+ EtcdConfiguration getConfiguration();
+
+ EtcdNamespace getNamespace();
+
+ String getPath();
+
+ EtcdClient createClient() throws Exception;
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsConsumer.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsConsumer.java
index 2959ebf..daf2952 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsConsumer.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsConsumer.java
@@ -20,9 +20,8 @@ import org.apache.camel.Exchange;
import org.apache.camel.Processor;
public class EtcdStatsConsumer extends AbstractEtcdPollingConsumer {
-
- public EtcdStatsConsumer(EtcdStatsEndpoint endpoint, Processor processor, EtcdConfiguration configuration, EtcdNamespace namespace, String path) {
- super(endpoint, processor, configuration, namespace, path);
+ public EtcdStatsConsumer(EtcdStatsEndpoint endpoint, Processor processor) {
+ super(endpoint, processor);
}
@Override
@@ -37,8 +36,8 @@ public class EtcdStatsConsumer extends AbstractEtcdPollingConsumer {
if (answer != null) {
Exchange exchange = endpoint.createExchange();
- exchange.getIn().setHeader(EtcdConstants.ETCD_NAMESPACE, getNamespace());
- exchange.getIn().setHeader(EtcdConstants.ETCD_PATH, getPath());
+ exchange.getIn().setHeader(EtcdConstants.ETCD_NAMESPACE, endpoint.getNamespace());
+ exchange.getIn().setHeader(EtcdConstants.ETCD_PATH, endpoint.getPath());
exchange.getIn().setBody(answer);
getProcessor().process(exchange);
http://git-wip-us.apache.org/repos/asf/camel/blob/e5c45cc2/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsEndpoint.java
index 7bb41c2..7e6a9ce 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsEndpoint.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdStatsEndpoint.java
@@ -35,7 +35,7 @@ public class EtcdStatsEndpoint extends AbstractEtcdPollingEndpoint {
@Override
public Consumer createConsumer(Processor processor) throws Exception {
- EtcdStatsConsumer consumer = new EtcdStatsConsumer(this, processor, getConfiguration(), getNamespace(), getPath());
+ EtcdStatsConsumer consumer = new EtcdStatsConsumer(this, processor);
configureConsumer(consumer);
return consumer;
}