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>

Reply via email to