// floatarraySofaFS.setLocalSofaData(floatArrayFS);
CAS floatArrayView =this.cas.createView("floatArraySofaData");
floatArrayView.setSofaDataArray(floatArrayFS, "floats");
// create a short array fs
ShortArrayFS shortArrayFS =this.cas.createShortArrayFS(5);
shortArrayFS.set(0, (short) 128);
shortArrayFS.set(1, (short) 127);
shortArrayFS.set(2, (short) 126);
shortArrayFS.set(3, (short) 125);
shortArrayFS.set(4, (short) 124);
// create a Sofa and set the SofaArray feature to an int array FS.
// id = new SofaID_impl();
// id.setSofaID("shortArraySofaData");
// SofaFS shortarraySofaFS = cas.createSofa(id, "text");
// shortarraySofaFS.setLocalSofaData(shortArrayFS);
CAS shortArrayView =this.cas.createView("shortArraySofaData");
shortArrayView.setSofaDataArray(shortArrayFS, "shorts");
// create a byte array fs
ByteArrayFS byteArrayFS =this.cas.createByteArrayFS(5);
byteArrayFS.set(0, (byte) 8);
byteArrayFS.set(1, (byte) 16);
byteArrayFS.set(2, (byte) 64);
byteArrayFS.set(3, (byte) 128);
byteArrayFS.set(4, (byte) 255);
// create a Sofa and set the SofaArray feature.
// id = new SofaID_impl();
// id.setSofaID("byteArraySofaData");
// SofaFS bytearraySofaFS = cas.createSofa(id, "text");
// bytearraySofaFS.setLocalSofaData(byteArrayFS);
CAS byteArrayView =this.cas.createView("byteArraySofaData");
byteArrayView.setSofaDataArray(byteArrayFS, "bytes");
// create a long array fs
LongArrayFS longArrayFS =this.cas.createLongArrayFS(5);
longArrayFS.set(0, Long.MAX_VALUE);
longArrayFS.set(1, Long.MAX_VALUE - 1);
longArrayFS.set(2, Long.MAX_VALUE - 2);
longArrayFS.set(3, Long.MAX_VALUE - 3);
longArrayFS.set(4, Long.MAX_VALUE - 4);
// create a Sofa and set the SofaArray feature.
// id = new SofaID_impl();
// id.setSofaID("longArraySofaData");
// SofaFS longarraySofaFS = cas.createSofa(id, "text");
// longarraySofaFS.setLocalSofaData(longArrayFS);
CAS longArrayView =this.cas.createView("longArraySofaData");
longArrayView.setSofaDataArray(longArrayFS, "longs");
DoubleArrayFS doubleArrayFS =this.cas.createDoubleArrayFS(5);
doubleArrayFS.set(0, Double.MAX_VALUE);
doubleArrayFS.set(1, Double.MIN_VALUE);
doubleArrayFS.set(2, Double.parseDouble("1.5555"));
doubleArrayFS.set(3, Double.parseDouble("99.000000005"));
doubleArrayFS.set(4, Double.parseDouble("4.44444444444444444"));
// create a Sofa and set the SofaArray feature.
// id = new SofaID_impl();
// id.setSofaID("doubleArraySofaData");
// SofaFS doublearraySofaFS = cas.createSofa(id, "text");
// doublearraySofaFS.setLocalSofaData(doubleArrayFS);
CAS doubleArrayView =this.cas.createView("doubleArraySofaData");
doubleArrayView.setSofaDataArray(doubleArrayFS, "doubles");
// create remote sofa and set the SofaURI feature
// id = new SofaID_impl();
// id.setSofaID("remoteSofaData");
// SofaFS remoteSofa = cas.createSofa(id, "text");
// remoteSofa.setRemoteSofaURI("file:.\\Sofa.xcas");
CAS remoteView =this.cas.createView("remoteSofaData");
String sofaFileName = "./Sofa.xcas";
remoteView.setSofaDataURI("file:" + sofaFileName, "text");
PrintWriter out = new PrintWriter(sofaFileName);
out.print("this beer is good");
out.close();
// read sofa data
// InputStream is = strSofa.getSofaDataStream();
InputStream is = stringView.getSofaDataStream();
assertTrue(is != null);
byte[] dest = new byte[1];
StringBuffer buf = new StringBuffer();
while (is.read(dest) != -1) {
buf.append((char) dest[0]);
}
assertTrue(buf.toString().equals("this beer is good"));
dest = new byte[4];
// is = intarraySofaFS.getSofaDataStream();
is.close();
is = intArrayView.getSofaDataStream();
assertTrue(is != null);
int i = 0;
while (is.read(dest) != -1) {
assertTrue(ByteBuffer.wrap(dest).getInt() == intArrayFS.get(i++));
}
is.close();
is = stringArrayView.getSofaDataStream();
assertTrue(is != null);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
i = 0;
while (br.ready()) {
assertTrue(stringArrayFS.get(i++).equals(br.readLine()));
}
// is = floatarraySofaFS.getSofaDataStream();
is.close();
is = floatArrayView.getSofaDataStream();
assertTrue(is != null);
i = 0;
while (is.read(dest) != -1) {
assertTrue(ByteBuffer.wrap(dest).getFloat() == floatArrayFS.get(i++));
}
dest = new byte[2];
// is = shortarraySofaFS.getSofaDataStream();
is.close();
is = shortArrayView.getSofaDataStream();
assertTrue(is != null);
i = 0;
while (is.read(dest) != -1) {
assertTrue(ByteBuffer.wrap(dest).getShort() == shortArrayFS.get(i++));
}
dest = new byte[1];
// is = bytearraySofaFS.getSofaDataStream();
is.close();