r1177 - xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta

Sergiu Dumitriu sdumitriu at users.forge.objectweb.org
Sat Aug 19 21:22:11 CEST 2006


Author: sdumitriu
Date: 2006-08-19 21:22:10 +0200 (Sat, 19 Aug 2006)
New Revision: 1177

Added:
   xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerManager.java
   xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerStub.java
   xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaNetwork.java
   xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaRemoteConnectionFactory.java
Log:
Renaming to shorter names (part 2).

Added: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerManager.java
===================================================================
--- xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerManager.java	2006-08-19 19:19:29 UTC (rev 1176)
+++ xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerManager.java	2006-08-19 19:22:10 UTC (rev 1177)
@@ -0,0 +1,58 @@
+package com.xpn.p2pxwiki.communication.jxta;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.xmlrpc.P2PWebServer;
+
+import com.xpn.p2pxwiki.client.P2PXWikiException;
+import com.xpn.p2pxwiki.communication.ConnectorPlugin;
+import com.xpn.p2pxwiki.communication.Handler;
+import com.xpn.p2pxwiki.communication.HandlerManagerInterface;
+
+public class JxtaHandlerManager implements HandlerManagerInterface {
+	private static Log log = LogFactory.getFactory().getInstance(
+			JxtaHandlerManager.class);
+	private P2PWebServer p2pwebserver;
+	
+	protected static JxtaHandlerManager instance = null;
+
+	protected JxtaHandlerManager(String peerName){
+		log.debug("constructor");
+		init();
+	}
+
+	protected void init(){
+		log.debug("init");
+		try {
+			log.debug("Starting the P2P XMLRPC server thread");
+			p2pwebserver = new P2PWebServer(ConnectorPlugin.getServerPort());
+			p2pwebserver.start();
+			log.debug("P2P XMLRPC Server thread started");
+		} catch (Exception ex) {
+			log.error("Error initializing!", ex);
+		}
+	}
+
+	/**
+	 * @see com.xpn.p2pxwiki.communication.BasicHandlerManager#addHandler(com.xpn.p2pxwiki.communication.Handler)
+	 */
+	public boolean addHandler(Handler handler) throws P2PXWikiException {
+		p2pwebserver.addHandler(handler.getName(), handler);
+		return true;
+	}
+
+	/**
+	 * @see com.xpn.p2pxwiki.communication.BasicHandlerManager#removeHandler(com.xpn.p2pxwiki.communication.Handler)
+	 */
+	public boolean removeHandler(Handler handler) throws P2PXWikiException {
+		p2pwebserver.removeHandler(handler.getName());
+		return true;
+	}
+
+	public static JxtaHandlerManager getInstance(String peerName){
+		if(instance == null){
+			instance = new JxtaHandlerManager(peerName);
+		}
+		return instance;
+	}
+}


Property changes on: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerManager.java
___________________________________________________________________
Name: svn:executable
   + *

Added: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerStub.java
===================================================================
--- xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerStub.java	2006-08-19 19:19:29 UTC (rev 1176)
+++ xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerStub.java	2006-08-19 19:22:10 UTC (rev 1177)
@@ -0,0 +1,53 @@
+package com.xpn.p2pxwiki.communication.jxta;
+
+import java.io.IOException;
+import java.util.Vector;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.xmlrpc.P2PXmlRpcClientLite;
+import org.apache.xmlrpc.XmlRpcException;
+
+import com.xpn.p2pxwiki.client.P2PXWikiException;
+import com.xpn.p2pxwiki.communication.ConnectorPlugin;
+import com.xpn.p2pxwiki.communication.HandlerStub;
+
+public class JxtaHandlerStub implements HandlerStub {
+	protected static Log log = LogFactory.getFactory().getInstance(JxtaHandlerStub.class);
+	private String peer;
+	private P2PXmlRpcClientLite connection = null;
+
+	public XmlRpcJxtaHandlerStub(String peer){
+		try {
+			this.peer = peer;
+			this.connection = new P2PXmlRpcClientLite(ConnectorPlugin.getNetwork().getCanonicalRemoteName(peer));
+		} catch (Exception ex) {
+			log.error(ex.getMessage(), ex);
+		}
+	}
+
+	public Object execute(String function, Object[] params) throws P2PXWikiException{
+		try{
+			Vector v = new Vector();
+			v.copyInto(params);
+			return connection.execute(function, v);
+		}
+		catch(XmlRpcException ex){
+			throw new P2PXWikiException(P2PXWikiException.ERROR_P2PXWIKI_REMOTECALL, "Cannot execute remote call because of an unhandled RPC exception", ex);
+		}
+		catch(IOException ex){
+			throw new P2PXWikiException(P2PXWikiException.ERROR_P2PXWIKI_COMMUNICATION, "Cannot execute remote call because of an unhandled IO exception", ex);
+		}
+	}
+
+	/**
+	 * @see com.xpn.p2pxwiki.communication.HandlerStub#getPeerName()
+	 */
+	public String getPeerName() {		
+		return this.peer;
+	}
+
+	public void close(){
+		// Nothing to do here
+	}
+}


Property changes on: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaHandlerStub.java
___________________________________________________________________
Name: svn:executable
   + *

Added: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaNetwork.java
===================================================================
--- xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaNetwork.java	2006-08-19 19:19:29 UTC (rev 1176)
+++ xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaNetwork.java	2006-08-19 19:22:10 UTC (rev 1177)
@@ -0,0 +1,51 @@
+package com.xpn.p2pxwiki.communication.jxta;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.p2psockets.P2PNetwork;
+
+import com.xpn.p2pxwiki.communication.ConnectorPlugin;
+import com.xpn.p2pxwiki.communication.NetworkInterface;
+
+public class JxtaNetwork implements NetworkInterface{
+	private static Log log = LogFactory.getFactory().getInstance(JxtaNetwork.class);
+	private static String networkName = "JXTA:P2PXWikiNetwork";
+	private static boolean inited = false;
+	
+	protected static JxtaNetwork instance = null;
+
+	protected JxtaNetwork(){
+		log.debug("constructor");
+		init();
+	}
+
+	protected void init(){
+		if(inited){
+			return;
+		}
+		log.debug("init");
+		try{
+			P2PNetwork.autoSignin(ConnectorPlugin.getPeerName(), networkName);
+			inited = true;
+			log.debug("Signed in into the JXTA network with name " + ConnectorPlugin.getPeerName());
+		}
+		catch (Exception ex) {
+			log.error("Signin error", ex);
+		}
+	}
+
+	public String getCanonicalLocalName() {
+		return "http://www." + ConnectorPlugin.getPeerName() + ".peer:" + ConnectorPlugin.getServerPort();
+	}
+
+	public String getCanonicalRemoteName(String peer) {
+		return "http://www." + peer + ".peer:" + ConnectorPlugin.getServerPort();
+	}
+
+	public static JxtaNetwork getInstance(){
+		if(instance == null){
+			instance = new JxtaNetwork();
+		}
+		return instance;
+	}
+}


Property changes on: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaNetwork.java
___________________________________________________________________
Name: svn:executable
   + *

Added: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaRemoteConnectionFactory.java
===================================================================
--- xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaRemoteConnectionFactory.java	2006-08-19 19:19:29 UTC (rev 1176)
+++ xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaRemoteConnectionFactory.java	2006-08-19 19:22:10 UTC (rev 1177)
@@ -0,0 +1,41 @@
+package com.xpn.p2pxwiki.communication.jxta;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import com.xpn.p2pxwiki.client.P2PXWikiException;
+import com.xpn.p2pxwiki.communication.HandlerStub;
+import com.xpn.p2pxwiki.communication.RemoteConnectionFactoryInterface;
+
+public class XmlRpcJxtaRemoteConnectionFactory
+		implements RemoteConnectionFactoryInterface {
+	private static Log log = LogFactory.getFactory().getInstance(XmlRpcJxtaRemoteConnectionFactory.class);
+
+	protected static XmlRpcJxtaRemoteConnectionFactory instance = null;
+	
+	protected XmlRpcJxtaRemoteConnectionFactory(){
+		log.debug("constructor");
+		init();
+	}
+
+	protected void init(){
+		log.debug("init");
+		// Nothing to be done here yet
+	}
+
+	/**
+	 * @see com.xpn.p2pxwiki.communication.BasicRemoteConnectionFactory#getConnection(java.lang.String)
+	 */
+	public HandlerStub getConnection(String peer) throws P2PXWikiException {
+		log.debug("getConnection");
+		return new JxtaHandlerStub(peer);
+	}
+
+	public static XmlRpcJxtaRemoteConnectionFactory getInstance(){
+		log.debug("getInstance");
+		if(instance == null){
+			instance = new XmlRpcJxtaRemoteConnectionFactory();
+		}
+		return instance;
+	}
+}


Property changes on: xwiki-clients/p2pxwiki/src/main/java/com/xpn/p2pxwiki/communication/jxta/JxtaRemoteConnectionFactory.java
___________________________________________________________________
Name: svn:executable
   + *





More information about the Xwiki-notifications mailing list