/**
*
*/
package eu.play_project.dcep.distributedetalis.join.tests;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
/**
* @author Ningyuan Pan
*
*/
public class NaturalJoinerTestReader {
private BufferedReader in;
List<List> r1, r2, r;
List<String> v1, v2, v;
NaturalJoinerTestReader(String f) throws UnsupportedEncodingException, FileNotFoundException{
in = new BufferedReader(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(f)));
}
void read() throws IOException{
try{
StringBuilder item = new StringBuilder();
v1 = new ArrayList<String>();
int c = in.read();
while(c != '\n'){
if(c == ' '){
v1.add(item.toString());
item.delete(0, item.length());
}
else if(c == '\r'){}
else{
item.append((char)c);
}
c = in.read();
}
v1.add(item.toString());
item.delete(0, item.length());
r1 = new ArrayList<List>();
List<String> data = new ArrayList<String>();
c = in.read();
while(c != ';'){
if(c == ' '){
data.add(item.toString());
item.delete(0, item.length());
}
else if(c == '\n'){
data.add(item.toString());
item.delete(0, item.length());
r1.add(data);
data = new ArrayList<String>();
}
else if(c == '\r'){}
else{
item.append((char)c);
}
c = in.read();
}
item.delete(0, item.length());
c = in.read();
while(c != '\n'){
c = in.read();
}
//*******************************************************
v2 = new ArrayList<String>();
c = in.read();
while(c != '\n'){
if(c == ' '){
v2.add(item.toString());
item.delete(0, item.length());
}
else if(c == '\r'){}
else{
item.append((char)c);
}
c = in.read();
}
v2.add(item.toString());
item.delete(0, item.length());
r2 = new ArrayList<List>();
data = new ArrayList<String>();
c = in.read();
while(c != ';'){
if(c == ' '){
data.add(item.toString());
item.delete(0, item.length());
}
else if(c == '\n'){
data.add(item.toString());
item.delete(0, item.length());
r2.add(data);
data = new ArrayList<String>();
}
else if(c == '\r'){}
else{
item.append((char)c);
}
c = in.read();
}
item.delete(0, item.length());
c = in.read();
while(c != '\n'){
c = in.read();
}
//****************************************************
v = new ArrayList<String>();
c = in.read();
while(c != '\n'){
if(c == ' '){
v.add(item.toString());
item.delete(0, item.length());
}
else if(c == '\r'){}
else{
item.append((char)c);
}
c = in.read();
}
v.add(item.toString());
item.delete(0, item.length());
r = new ArrayList<List>();
data = new ArrayList<String>();
c = in.read();
while(c != -1){
if(c == ' '){
data.add(item.toString());
item.delete(0, item.length());
}
else if(c == '\n'){
data.add(item.toString());
item.delete(0, item.length());
r.add(data);
data = new ArrayList<String>();
}
else if(c == '\r'){}
else{
item.append((char)c);
}
c = in.read();
}
item.delete(0, item.length());
}catch(IOException ioe){
ioe.printStackTrace();
}
finally{
in.close();
}
//for test
System.out.println("\nRead Result: ");
for(int i = 0; i < v1.size(); i++){
System.out.print(v1.get(i)+" ");
}
System.out.println();
for(int i = 0; i < r1.size(); i++){
List<String> ll = r1.get(i);
for(int j = 0; j < ll.size(); j++){
System.out.print(ll.get(j)+" ");
}
System.out.println();
}
System.out.println();
for(int i = 0; i < v2.size(); i++){
System.out.print(v2.get(i)+" ");
}
System.out.println();
for(int i = 0; i < r2.size(); i++){
List<String> ll = r2.get(i);
for(int j = 0; j < ll.size(); j++){
System.out.print(ll.get(j)+" ");
}
System.out.println();
}
System.out.println();
for(int i = 0; i < v.size(); i++){
System.out.print(v.get(i)+" ");
}
System.out.println();
for(int i = 0; i < r.size(); i++){
List<String> ll = r.get(i);
for(int j = 0; j < ll.size(); j++){
System.out.print(ll.get(j)+" ");
}
System.out.println();
}
}
}