Repository: camel Updated Branches: refs/heads/master 5ce5a5441 -> c0e3bdf1d
Component docs for camel-paho Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d21b9b93 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d21b9b93 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d21b9b93 Branch: refs/heads/master Commit: d21b9b93ec1d59691f3e46aea5281b1222f2b2b3 Parents: 5ce5a54 Author: Claus Ibsen <davscl...@apache.org> Authored: Sun Mar 15 11:16:18 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sun Mar 15 11:16:18 2015 +0100 ---------------------------------------------------------------------- components/camel-paho/pom.xml | 101 ++++++++++--------- .../camel/component/paho/PahoComponent.java | 12 ++- .../camel/component/paho/PahoEndpoint.java | 24 +++-- parent/pom.xml | 1 + 4 files changed, 75 insertions(+), 63 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/d21b9b93/components/camel-paho/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-paho/pom.xml b/components/camel-paho/pom.xml index 7245efc..363bc93 100644 --- a/components/camel-paho/pom.xml +++ b/components/camel-paho/pom.xml @@ -18,61 +18,62 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.camel</groupId> - <artifactId>components</artifactId> - <version>2.16-SNAPSHOT</version> - </parent> + <parent> + <groupId>org.apache.camel</groupId> + <artifactId>components</artifactId> + <version>2.16-SNAPSHOT</version> + </parent> - <artifactId>camel-paho</artifactId> - <packaging>bundle</packaging> - <name>Camel :: Paho</name> - <description>Camel Eclipse Paho support</description> + <artifactId>camel-paho</artifactId> + <packaging>bundle</packaging> + <name>Camel :: Paho</name> + <description>Camel Eclipse Paho support</description> - <properties> - <camel.osgi.export.pkg>org.apache.camel.component.paho.*</camel.osgi.export.pkg> - <camel.osgi.export.service>org.apache.camel.spi.ComponentResolver;component=paho</camel.osgi.export.service> - </properties> + <properties> + <camel.osgi.export.pkg>org.apache.camel.component.paho.*</camel.osgi.export.pkg> + <camel.osgi.export.service>org.apache.camel.spi.ComponentResolver;component=paho</camel.osgi.export.service> + </properties> - <dependencies> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-core</artifactId> - </dependency> - <dependency> - <groupId>org.eclipse.paho</groupId> - <artifactId>org.eclipse.paho.client.mqttv3</artifactId> - <version>1.0.2</version> - </dependency> + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core</artifactId> + </dependency> + <dependency> + <groupId>org.eclipse.paho</groupId> + <artifactId>org.eclipse.paho.client.mqttv3</artifactId> + <version>${paho-version}</version> + </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-test</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-broker</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-mqtt</artifactId> - <version>${activemq-version}</version> - <scope>test</scope> - </dependency> - </dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-test</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-broker</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-mqtt</artifactId> + <version>${activemq-version}</version> + <scope>test</scope> + </dependency> + </dependencies> - <repositories> - <repository> - <id>eclipse-paho</id> - <url>https://repo.eclipse.org/content/repositories/paho-releases</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> + <!-- TODO: avoid third party repos - we should only use from maven central --> + <repositories> + <repository> + <id>eclipse-paho</id> + <url>https://repo.eclipse.org/content/repositories/paho-releases</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> </project> http://git-wip-us.apache.org/repos/asf/camel/blob/d21b9b93/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java index 98e80b0..1d69a9b 100644 --- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java +++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoComponent.java @@ -19,14 +19,18 @@ package org.apache.camel.component.paho; import java.util.Map; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; -public class PahoComponent extends DefaultComponent { +public class PahoComponent extends UriEndpointComponent { + + public PahoComponent() { + super(PahoEndpoint.class); + } @Override - protected Endpoint createEndpoint(String uri, String s1, Map<String, Object> options) throws Exception { + protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { PahoEndpoint pahoEndpoint = new PahoEndpoint(uri, this); - setProperties(pahoEndpoint, options); + setProperties(pahoEndpoint, parameters); return pahoEndpoint; } http://git-wip-us.apache.org/repos/asf/camel/blob/d21b9b93/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java index b1380dd..f2b634e 100644 --- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java +++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java @@ -16,41 +16,47 @@ */ package org.apache.camel.component.paho; -import static java.lang.System.nanoTime; - import org.apache.camel.Component; import org.apache.camel.Consumer; import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.DefaultEndpoint; +import org.apache.camel.spi.Metadata; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriPath; import org.eclipse.paho.client.mqttv3.MqttClient; import org.eclipse.paho.client.mqttv3.MqttClientPersistence; import org.eclipse.paho.client.mqttv3.MqttConnectOptions; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence; + +import static java.lang.System.nanoTime; import static org.apache.camel.component.paho.PahoPersistence.MEMORY; +@UriEndpoint(scheme = "paho", consumerClass = PahoConsumer.class, label = "messaging", syntax = "paho:topic") public class PahoEndpoint extends DefaultEndpoint { // Configuration members + @UriPath @Metadata(required = "true") + private String topic; + @UriParam private String clientId = "camel-" + nanoTime(); - + @UriParam(defaultValue = "tcp://localhost:1883") private String brokerUrl = "tcp://localhost:1883"; - - private String topic; - + @UriParam(defaultValue = "2") private int qos = 2; - + @UriParam(defaultValue = "MEMORY") private PahoPersistence persistence = MEMORY; // Collaboration members - + @UriParam private MqttConnectOptions connectOptions; // Auto-configuration members - private MqttClient client; + private transient MqttClient client; public PahoEndpoint(String uri, Component component) { super(uri, component); http://git-wip-us.apache.org/repos/asf/camel/blob/d21b9b93/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index 1790d87..7bd2760 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -367,6 +367,7 @@ <oro-bundle-version>2.0.8_6</oro-bundle-version> <oscache-bundle-version>2.4_5</oscache-bundle-version> <osgi-version>4.3.1</osgi-version> + <paho-version>1.0.2</paho-version> <paranamer-bundle-version>2.6_1</paranamer-bundle-version> <pax-exam-version>4.3.0</pax-exam-version> <pax-tiny-bundle-version>1.3.1</pax-tiny-bundle-version>