1 package org.openi.stat; 2 3 import java.io.BufferedInputStream ; 4 import java.io.BufferedReader ; 5 import java.io.FileInputStream ; 6 import java.io.FileNotFoundException ; 7 import java.io.IOException ; 8 import java.io.InputStreamReader ; 9 import java.util.Iterator ; 10 import java.util.Vector ; 11 12 import org.apache.log4j.Logger; 13 import org.openi.util.Util; 14 import org.rosuda.JRclient.REXP; 15 import org.rosuda.JRclient.Rconnection; 16 17 import junit.framework.TestCase; 18 19 public class JRClientTest extends TestCase { 20 private static Logger logger = Logger.getLogger(JRClientTest.class); 21 Rconnection rConn; 22 23 public static void main(String [] args) { 24 } 25 26 public JRClientTest(String arg0) { 27 super(arg0); 28 } 29 30 protected void setUp() throws Exception { 31 super.setUp(); 32 rConn = new Rconnection("localhost"); 34 } 35 36 protected void tearDown() throws Exception { 37 super.tearDown(); 38 rConn.close(); 39 rConn = null; 40 } 41 42 public void testConnectionBasics()throws Exception { 43 logger.debug("toString: " + rConn.toString()); 44 logger.debug("last error: " + rConn.getLastError()); 45 logger.debug("server version: " + rConn.getServerVersion()); 46 logger.debug("is connected: " + rConn.isConnected()); 47 } 48 private String readFile(String filename) throws IOException { 49 StringBuffer buffer = new StringBuffer (); 50 BufferedReader input = new BufferedReader (new InputStreamReader (new FileInputStream (filename))); 51 while(input.ready()){ 52 buffer.append(input.readLine()); 53 buffer.append("\n"); 54 } 55 return buffer.toString(); 56 } 57 58 public void testExecuteFunctionReadFromFile()throws Exception { 59 65 66 67 String command = readFile("survival_curve.r"); 69 String datafilename = "vw_members_by_offer_group.tab"; 70 command += "\nsurvival_curve(myDevice = jpeg, ext=\".jpg\", UsageGroup=offer_group, Heading=\"heading\", sIsActive=TRUE, dataSet = \"" + datafilename + "\", cHeight=768, cWidth=1280)"; 71 REXP rexp = rConn.eval(command); 72 78 logger.debug(parseResType(rexp.getType())); 79 logger.debug("last error: " + rConn.getLastError()); 81 } 82 83 84 85 private String parseResType(int type){ 86 String output = null; 87 switch(type){ 88 case REXP.XT_NULL: output = "it's null"; break; 89 case REXP.XT_INT: output = "XT_INT"; break; 90 case REXP.XT_DOUBLE: output = "XT_DOUBLE"; break; 91 case REXP.XT_STR: output = "XT_STR"; break; 92 case REXP.XT_LANG: output = "XT_LANG"; break; 93 case REXP.XT_SYM: output = "XT_SYM"; break; 94 case REXP.XT_BOOL: output = "XT_BOOL"; break; 95 case REXP.XT_VECTOR: output = "XT_VECTOR"; break; 96 case REXP.XT_LIST: output = "XT_LIST"; break; 97 case REXP.XT_CLOS: output = "XT_CLOS"; break; 98 case REXP.XT_ARRAY_INT: output = "XT_ARRAY_INT'"; break; 99 case REXP.XT_ARRAY_DOUBLE: output = "XT_ARRAY_DOUBLE'"; break; 100 case REXP.XT_ARRAY_STR: output = "XT_ARRAY_STR'"; break; 101 case REXP.XT_ARRAY_BOOL_UA: output = "iXT_ARRAY_BOOL_UAt's null"; break; 102 case REXP.XT_ARRAY_BOOL: output = "XT_ARRAY_BOOL'"; break; 103 case REXP.XT_UNKNOWN: output = "XT_UNKNOWN'"; break; 104 case REXP.XT_FACTOR: output = "XT_FACTOR'"; break; 105 default: output = "trouble! couldn't match type"; 106 107 } 108 return output; 109 } 110 } 111 | Popular Tags |