120 likes | 651 Views
CSE 4939 Alex Riordan Brian Pruitt-Goddard. Remote Unit Testing. Design an interactive source control application that works between an android phone and a project located on a remote server.
E N D
CSE 4939 Alex Riordan Brian Pruitt-Goddard Remote Unit Testing
Design an interactive source control application that works between an android phone and a project located on a remote server. • Allow client to create, edit, open, and save small source files. Allow other commands including diffs. • User chooses file to work with and server options (address, etc) Project Recap
Use XML-RPC to send data over HTTP encoded as XML. Simple and light-weight Works across different OS and environments Supports complex data structures Call server methods from client (RPC) How to communicate between client and server? XML-RPC!
Use android-xmlrpc library Very thin Simple Client-Side Implementation XMLRPCClientclient = newXMLRPCClient("http://foo.bar.com"); //Call the add server function with params 2 and 4 intsum = (Integer) client.call("add", 2, 4);
Use Apache XML-RPC Minimal Simple Server-Side Implementation //Create WebServer at specified port number WebServerwebServer = newWebServer(8888); XmlRpcServerxmlRpcServer = webServer.getXmlRpcServer(); //Create property mapping to Foo class PropertyHandlerMappingphm = newPropertyHandlerMapping(); phm.addHandler("Foo", org.apache.xmlrpc.demo.Foo.class); //Set mapping xmlRpcServer.setHandlerMapping(phm); //Start WebServer webServer.start();
Phone with Android version 2.2 Access to Project/SVN server Phone is connected to the Internet Assumptions and Dependencies
UI should be responsive Server has to respond to client within reasonable amount of time If it is operating on a large program, give some indication of progress Performance Requirements
Simple and intuitive client Server handles file errors and outputs meaningful error message Reliable source control operations Software Quality
Basic Android functionality Server and Client talking Able to call server methods from client and get results Current Progress
October Be able to transmit objects (files) over connection Have server compile and run java file and pipe output Handle output at server and report it to client Timeline
November-December • Hook SVN/project software to server program • Allow user to create program client side using text editor • Write documentation • Fix bugs • Implement syntax highlighting and other extra features if time permits Timeline (CTd)