Skip to content

Commit 2ab46cb

Browse files
author
burakfirik
committed
added toCSV method and test case for it
1 parent e30a1ca commit 2ab46cb

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

java/Graph.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package pipelinescript.java;
22

3+
import java.io.FileWriter;
4+
import java.io.IOException;
35
import java.util.ArrayList;
46
import java.util.HashMap;
57
import java.util.List;
@@ -13,6 +15,63 @@ public Graph(int numofEdge) {
1315
graph = getTable();
1416
//nodes = new ArrayList<>();
1517
}
18+
public Graph(String[][] g) {
19+
super(g);
20+
graph = getTable();
21+
//nodes = new ArrayList<>();
22+
}
23+
public int toCSV(String fileName,
24+
String separator){
25+
//Delimiter used in CSV file
26+
27+
final String COMMADELIMITER = ",";
28+
final String NEW_LINE_SEPARATOR = "\n";
29+
final String TAB_SEPARATOR = "\t";
30+
// IF YOU LIKE TO ADD FILE HEADER AS OPTION
31+
final String FILE_HEADER = "id,firstName,lastName,gender,age";
32+
33+
FileWriter fileWriter = null;
34+
35+
try{
36+
fileWriter = new FileWriter(fileName);
37+
// Write the CSV file header
38+
//fileWriter.append(FILE_HEADER.toString());
39+
//Add a new line separator after the header
40+
// fileWriter.append(NEW_LINE_SEPARATOR);
41+
String[][] table = graph.getTableString();
42+
for (String[] line : table) {
43+
for (int j = 0 ; j < line.length ; j++) {
44+
fileWriter.append(line[j]);
45+
fileWriter.append(separator);
46+
}
47+
fileWriter.append(NEW_LINE_SEPARATOR);
48+
}
49+
System.out.println("CSV file was created successfully !!!");
50+
return 1;
51+
}catch(Exception e){
52+
return -1;
53+
/*
54+
System.out.println("Error in CsvFileWriter !!!");
55+
e.printStackTrace();
56+
*/
57+
58+
} finally {
59+
try {
60+
fileWriter.flush();
61+
fileWriter.close();
62+
} catch (IOException e) {
63+
return -1;
64+
/*
65+
System.out.println("Error while flushing/closing fileWriter !!!");
66+
e.printStackTrace();
67+
*/
68+
}
69+
}
70+
71+
72+
73+
}
74+
1675
public List<Node> getGraphNode(){
1776
List<Node> nodes = new ArrayList<>();
1877
String [][]edge = graph.getTableString();

java/GraphTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
package pipelinescript.java;
22

3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
36

47

58
public class GraphTest {
69

710
protected Graph graph;
811

12+
String [][]qtable = {{"0","1","1"},{"1","2","2"},{"0","2","4"}};
13+
Graph gr = new Graph(qtable);
14+
15+
@Test
16+
public void testCase0() {
17+
Assert.assertEquals(gr.toCSV("TestFile", "\t"), 1);
18+
}
919

1020
}
21+

0 commit comments

Comments
 (0)