...
The XMLRPC communication is already abstracted in the classes below. The Client and the Server interfaces share the same method signatures for the functionality. The Client side implementation serializes the operation requested by the caller and sends it the the Server side implementation. The Client class is in fact used as a proxy to the Server one. Specific to the XMLRPC implementation, the XMLRPC logic is used only for method call and parameter passing as String, the real parameter serialization is done with something independent of XMLRPC (Serializer).
Code Block |
---|
Searching 152 files for "apache.xmlrpc." /home/radu/oodt/catalog/src/main/java/org/apache/oodt/cas/catalog/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java: 43 44 //APACHE imports 45: import org.apache.xmlrpc.CommonsXmlRpcTransportFactory; 46: import org.apache.xmlrpc.XmlRpcClient; 47 48 /** /home/radu/oodt/catalog/src/main/java/org/apache/oodt/cas/catalog/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java: 38 39 //APACHE imports 40: import org.apache.xmlrpc.WebServer; 41 42 /** 3 matches across 2 files |
...
There are two classes that uses xmlrpc, CrawlDeamon method startCrawling uses xmlrpc WebServer directly to get requests from a client to control the CrawlerDaemon. In the constructor of the CrawlDeamonController class xmlRpcClinent is used to send RPC requests to the CrawlerDaemon which are transformed into calls of the methods of CrawlDaemon. There is no abstraction of XMLRPC. CrawlDaemonController is used to call CrawlDaemon methods remotely.
Code Block |
---|
Searching 74 files for "apache.xmlrpc." /home/radu/oodt/crawler/src/main/java/org/apache/oodt/cas/crawl/daemon/CrawlDaemon.java: 27 28 //APACHE imports 29: import org.apache.xmlrpc.WebServer; 30 31 /** /home/radu/oodt/crawler/src/main/java/org/apache/oodt/cas/crawl/daemon/CrawlDaemonController.java: 29 30 //APACHE imports 31: import org.apache.xmlrpc.XmlRpcClient; 32: import org.apache.xmlrpc.XmlRpcException; 33 34 /** 3 matches across 2 files |
...
The XmlRpcFileManager abd XmlRpcFileManagerClient, uses xmlrpc exactly the same as the crawler. XmlRpcFileManager uses the WebServer to process client request. In the same matter XmlRpcFileManagerClient send RPC requests to WebServer. SecureWebServer its a class that implements xmlrpc.WebServer and AuthenticatedXmlRpcHandler, for secure access to server throught username and password. No abstraction of XMLRPC for this classes nether.
Code Block |
---|
Searching 338 files for "apache.xmlrpc." /home/radu/oodt/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java: 19 20 //APACHE imports 21: import org.apache.xmlrpc.WebServer; 22 23 //OODT imports /home/radu/oodt/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java: 19 20 //APACHE imports 21: import org.apache.xmlrpc.CommonsXmlRpcTransport; 22: import org.apache.xmlrpc.XmlRpcClient; 23: import org.apache.xmlrpc.XmlRpcClientException; 24: import org.apache.xmlrpc.XmlRpcException; 25: import org.apache.xmlrpc.XmlRpcTransport; 26: import org.apache.xmlrpc.XmlRpcTransportFactory; 27 //JDK imports 28 import java.net.URL; /home/radu/oodt/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/auth/SecureWebServer.java: 26 27 //XML-RPC imports 28: import org.apache.xmlrpc.AuthenticatedXmlRpcHandler; 29 30 /** .. 33 * @author kelly 34 */ 35: public final class SecureWebServer extends org.apache.xmlrpc.WebServer 36 implements AuthenticatedXmlRpcHandler { 37 /home/radu/oodt/filemgr/src/test/java/org/apache/oodt/cas/filemgr/structs/type/TestTypeHandler.java: 56 import java.util.logging.Logger; 57 import javax.sql.DataSource; 58: import org.apache.xmlrpc.XmlRpcException; 59 import junit.framework.TestCase; 60 10 matches across 4 files |
...
PCSHealthMonitor its a class showing information and stats of various daemons. This class uses xmlrpc client through classes like CrawlerManager class, and directly is order to contact the daemons.
Code Block |
---|
Searching 136 files for "apache.xmlrpc." /home/radu/oodt/pcs/core/src/main/java/org/apache/oodt/pcs/tools/PCSHealthMonitor.java: 28 29 //APACHE imports 30: import org.apache.xmlrpc.XmlRpcClient; 31 32 //OODT imports /home/radu/oodt/pcs/core/src/main/java/org/apache/oodt/pcs/util/WorkflowManagerUtils.java: 30 import org.apache.oodt.cas.workflow.structs.WorkflowInstance; 31 import org.apache.oodt.cas.workflow.system.XmlRpcWorkflowManagerClient; 32: import org.apache.xmlrpc.XmlRpcClient; 33 34 /** 2 matches across 2 files |
...
XmlRpcWorkflowManagerClient sends commands to the XmlRpcWorkflowManager (Server). Setup is very similar to before.
It is using XmlRpcStructFactory to transform XmlRpc data types to actual objects.
Code Block |
---|
Hashtable pageHash = null; ... return XmlRpcStructFactory.getWorkflowInstancePageFromXmlRpc(pageHash); |
...