Repository: camel Updated Branches: refs/heads/master c77a1ee3f -> ca52ba530
CAMEL-7999: More components include documentation Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e8ad42bd Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e8ad42bd Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e8ad42bd Branch: refs/heads/master Commit: e8ad42bdbb3f40938d435a52a8a03a51d4014f4e Parents: c77a1ee Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Dec 19 13:27:40 2014 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Dec 19 13:27:40 2014 +0100 ---------------------------------------------------------------------- .../camel/component/xmpp/XmppComponent.java | 8 ++++-- .../camel/component/xmpp/XmppEndpoint.java | 28 +++++++++++++++++--- 2 files changed, 31 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/e8ad42bd/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java index d7a1f35..312684d 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppComponent.java @@ -22,7 +22,7 @@ import java.util.HashMap; import java.util.Map; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.util.ServiceHelper; import org.apache.camel.util.URISupport; import org.slf4j.Logger; @@ -31,12 +31,16 @@ import org.slf4j.LoggerFactory; /** * @version */ -public class XmppComponent extends DefaultComponent { +public class XmppComponent extends UriEndpointComponent { private static final Logger LOG = LoggerFactory.getLogger(XmppComponent.class); //keep a cache of endpoints so they can be properly cleaned up private final Map<String, XmppEndpoint> endpointCache = new HashMap<String, XmppEndpoint>(); + public XmppComponent() { + super(XmppEndpoint.class); + } + @Override protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { String cacheKey = extractCacheKeyFromUri(uri); http://git-wip-us.apache.org/repos/asf/camel/blob/e8ad42bd/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java index a740e25..ffe053e 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java @@ -28,6 +28,9 @@ import org.apache.camel.impl.DefaultExchange; import org.apache.camel.impl.DefaultHeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategyAware; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriPath; import org.apache.camel.util.ObjectHelper; import org.jivesoftware.smack.AccountManager; import org.jivesoftware.smack.ConnectionConfiguration; @@ -43,27 +46,46 @@ import org.slf4j.LoggerFactory; /** * A XMPP Endpoint */ +@UriEndpoint(scheme = "xmpp", consumerClass = XmppConsumer.class, label = "chat,messaging") public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware { private static final Logger LOG = LoggerFactory.getLogger(XmppEndpoint.class); - private HeaderFilterStrategy headerFilterStrategy = new DefaultHeaderFilterStrategy(); + + private XMPPConnection connection; + private XmppBinding binding; + private HeaderFilterStrategy headerFilterStrategy = new DefaultHeaderFilterStrategy(); + + @UriPath private String host; + @UriPath private int port; + @UriPath + private String participant; + @UriParam private String user; + @UriParam private String password; + @UriParam(defaultValue = "Camel") private String resource = "Camel"; + @UriParam(defaultValue = "true") private boolean login = true; + @UriParam(defaultValue = "false") private boolean createAccount; + @UriParam private String room; - private String participant; + @UriParam private String nickname; + @UriParam private String serviceName; - private XMPPConnection connection; + @UriParam(defaultValue = "false") private boolean pubsub; //Set a doc header on the IN message containing a Document form of the incoming packet; //default is true if pubsub is true, otherwise false + @UriParam(defaultValue = "false") private boolean doc; + @UriParam(defaultValue = "true") private boolean testConnectionOnStartup = true; + @UriParam(defaultValue = "10") private int connectionPollDelay = 10; public XmppEndpoint() {