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;
 
-    }
+	}
 }