You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nuvem-commits@incubator.apache.org by jo...@apache.org on 2011/04/15 00:31:09 UTC
svn commit: r1092551 - in
/incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp:
api/XMPPConnector.java api/XMPPEndPoint.java common/AbstractXMPPEndPoint.java
Author: johnp
Date: Fri Apr 15 00:31:09 2011
New Revision: 1092551
URL: http://svn.apache.org/viewvc?rev=1092551&view=rev
Log:
Implemented Asynchronous XMPP Reciever for stand-alone XMPP Server and cleaned up some code.
Modified:
incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPConnector.java
incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPEndPoint.java
incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/common/AbstractXMPPEndPoint.java
Modified: incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPConnector.java
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPConnector.java?rev=1092551&r1=1092550&r2=1092551&view=diff
==============================================================================
--- incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPConnector.java (original)
+++ incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPConnector.java Fri Apr 15 00:31:09 2011
@@ -31,13 +31,14 @@ import java.util.Map;
public interface XMPPConnector<T> {
/**
- * Attempts to connect to the XMPPServer by using the connection properties injected into the implementation class.
+ * Returns a connection to the XMPPServer by using the connection properties
+ * injected into the implementation class.
*
*
* @throws XMPPConnectException
* if any error during connection setup.
*/
- T connect() throws XMPPConnectException;
+ T getConnection() throws XMPPConnectException;
/**
* Connects to the XMPPServer by making use of the connection configuration
@@ -50,7 +51,7 @@ public interface XMPPConnector<T> {
*
* @param connectionProperties
*/
- T connect(Map<String, String> connectionProperties);
+ T getConnection(Map<String, String> connectionProperties);
/**
* Returns the description of the connector.
Modified: incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPEndPoint.java
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPEndPoint.java?rev=1092551&r1=1092550&r2=1092551&view=diff
==============================================================================
--- incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPEndPoint.java (original)
+++ incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/api/XMPPEndPoint.java Fri Apr 15 00:31:09 2011
@@ -95,6 +95,16 @@ public interface XMPPEndPoint {
void registerListner(JID jid, MessageListener listener);
/**
+ * Returns the message listener registered for the specific JID.
+ *
+ * @param jid
+ * the JID
+ * @return the registered Message Listener if one available, otherwise returns a default listener
+ * @see MessageListener#LOGGING_LISTENER
+ */
+ MessageListener getListenerFor(JID jid);
+
+ /**
* Clears the listener for the specified JID, which means, the messages
* received from this specific JID will be ignored/lost!
*
Modified: incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/common/AbstractXMPPEndPoint.java
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/common/AbstractXMPPEndPoint.java?rev=1092551&r1=1092550&r2=1092551&view=diff
==============================================================================
--- incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/common/AbstractXMPPEndPoint.java (original)
+++ incubator/nuvem/trunk/nuvem-api/src/main/java/org/apache/nuvem/cloud/xmpp/common/AbstractXMPPEndPoint.java Fri Apr 15 00:31:09 2011
@@ -34,58 +34,65 @@ import org.apache.nuvem.cloud.xmpp.api.S
* platform.
*/
public abstract class AbstractXMPPEndPoint {
- /**
- * Listeners for recivnig the XMPP messages from specific JIDs
- */
- protected static Map<JID, MessageListener> listeners = new ConcurrentHashMap<JID, MessageListener>();
-
- public boolean isConnected() {
- throw new UnsupportedOperationException("still not implemented");
- }
-
- public String uniqueID() {
- throw new UnsupportedOperationException("still not implemented");
- }
-
- public void registerListner(org.apache.nuvem.cloud.xmpp.api.JID jid, MessageListener listener) {
- if (listener == null || jid == null)
- return;
- listeners.put(jid, listener);
-
- }
-
- public Status sendTextMessage(String content, String recipient) {
- Message message = new MessageBuilder().containing(content).toRecipient(recipient).build();
- return sendMessage(message);
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean clearListenersFor(JID jid) {
- if (listeners != null) {
- return listeners.remove(jid) != null;
- }
- return false;
- }
-
- /**
- * {@inheritDoc}
- */
- public void clearAllListeners() {
- if (listeners != null)
- listeners.clear();
- }
-
- public abstract Status sendMessage(org.apache.nuvem.cloud.xmpp.api.Message message);
-
- public static MessageListener getListenerFor(JID jid) {
-
- MessageListener target = null;
- if (listeners != null && (target = listeners.get(jid)) != null)
- return target;
- // default listener.
- return MessageListener.LOGGING_LISTENER;
+ /**
+ * Listeners for recivnig the XMPP messages from specific JIDs
+ */
+ protected Map<JID, MessageListener> listeners = new ConcurrentHashMap<JID, MessageListener>();
+
+ public boolean isConnected() {
+ throw new UnsupportedOperationException("still not implemented");
+ }
+
+ public String uniqueID() {
+ throw new UnsupportedOperationException("still not implemented");
+ }
+
+ public void registerListner(org.apache.nuvem.cloud.xmpp.api.JID jid,
+ MessageListener listener) {
+ if (listener == null || jid == null)
+ throw new IllegalArgumentException("invalid jid/listener");
+ listeners.put(jid, listener);
+
+ }
+
+ public Status sendTextMessage(String content, String recipient) {
+ Message message = new MessageBuilder().containing(content).toRecipient(
+ recipient).build();
+ return sendMessage(message);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean clearListenersFor(JID jid) {
+ if (listeners != null) {
+ return listeners.remove(jid) != null;
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void clearAllListeners() {
+ if (listeners != null)
+ listeners.clear();
+ }
+
+ public abstract Status sendMessage(
+ org.apache.nuvem.cloud.xmpp.api.Message message);
+
+ /**
+ *
+ * {@inheritDoc}
+ */
+ public MessageListener getListenerFor(JID jid) {
+
+ MessageListener target = null;
+ if (listeners != null && (target = listeners.get(jid)) != null)
+ return target;
+ // default listener.
+ return MessageListener.LOGGING_LISTENER;
- }
+ }
}