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