KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openi > stat > JRClientTest


1 package org.openi.stat;
2
3 import java.io.BufferedInputStream JavaDoc;
4 import java.io.BufferedReader JavaDoc;
5 import java.io.FileInputStream JavaDoc;
6 import java.io.FileNotFoundException JavaDoc;
7 import java.io.IOException JavaDoc;
8 import java.io.InputStreamReader JavaDoc;
9 import java.util.Iterator JavaDoc;
10 import java.util.Vector JavaDoc;
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 JavaDoc[] args) {
24     }
25
26     public JRClientTest(String JavaDoc arg0) {
27         super(arg0);
28     }
29
30     protected void setUp() throws Exception JavaDoc {
31         super.setUp();
32         // rConn = new Rconnection("dev.intelligenceportal.com");
33
rConn = new Rconnection("localhost");
34     }
35
36     protected void tearDown() throws Exception JavaDoc {
37         super.tearDown();
38         rConn.close();
39         rConn = null;
40     }
41     
42     public void testConnectionBasics()throws Exception JavaDoc{
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 JavaDoc readFile(String JavaDoc filename) throws IOException JavaDoc{
49         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc();
50         BufferedReader JavaDoc input = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(new FileInputStream JavaDoc(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 JavaDoc{
59         /*
60         StringBuffer command = new StringBuffer();
61         command.append("files = c(\"foobar\")\n");
62         command.append("files = c(files, \"foobar\")\n");
63         command.append("files\n");
64         */

65         
66         
67         // adjust file locations
68
String JavaDoc command = readFile("survival_curve.r");
69         String JavaDoc 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         /*
73         double[] results = rexp.asDoubleArray();
74         for(int i=0; i < 10; i++){
75             logger.debug("" + results[i]);
76         }
77         */

78         logger.debug(parseResType(rexp.getType()));
79         // logger.debug(rexp.asString().toString());
80
logger.debug("last error: " + rConn.getLastError());
81     }
82     
83     
84     
85     private String JavaDoc parseResType(int type){
86         String JavaDoc 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