Fixed csv
- added examples.csv - fixed csv logic for header and first line
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -26,5 +26,4 @@ replay_pid*
|
|||||||
|
|
||||||
# mine
|
# mine
|
||||||
target/*
|
target/*
|
||||||
pdf/*
|
pdf/*
|
||||||
*.csv
|
|
||||||
21
.vscode/launch.json
vendored
21
.vscode/launch.json
vendored
@@ -25,5 +25,26 @@
|
|||||||
"mainClass": "net.berack.upo.valpre.Main",
|
"mainClass": "net.berack.upo.valpre.Main",
|
||||||
"args": "simulation -net example1.net -runs 10"
|
"args": "simulation -net example1.net -runs 10"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Run10",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "net.berack.upo.valpre.Main",
|
||||||
|
"args": "simulation -net example1.net -runs 10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Plot Simple",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "net.berack.upo.valpre.Main",
|
||||||
|
"args": "plot -csv example1.csv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Plot Complex",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "net.berack.upo.valpre.Main",
|
||||||
|
"args": "plot -csv example2.csv"
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -151,4 +151,16 @@ public class Parameters {
|
|||||||
throw new IllegalArgumentException("Invalid arguments");
|
throw new IllegalArgumentException("Invalid arguments");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the file or the example file if it is present.
|
||||||
|
*
|
||||||
|
* @param file the file to get
|
||||||
|
* @return the file or the example file
|
||||||
|
*/
|
||||||
|
public static String getFileOrExample(String file) {
|
||||||
|
if (file.startsWith("example"))
|
||||||
|
file = Main.class.getClassLoader().getResource(file).getPath();
|
||||||
|
return file;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,11 +22,11 @@ public class Plot {
|
|||||||
*/
|
*/
|
||||||
public Plot(String[] args) throws IOException {
|
public Plot(String[] args) throws IOException {
|
||||||
var arguments = Plot.parseParameters(args);
|
var arguments = Plot.parseParameters(args);
|
||||||
var csv = arguments.get("csv");
|
var file = Parameters.getFileOrExample(arguments.get("csv"));
|
||||||
if (csv == null)
|
if (file == null)
|
||||||
throw new IllegalArgumentException("CSV file needed! Use -csv <file>");
|
throw new IllegalArgumentException("CSV file needed! Use -csv <file>");
|
||||||
|
|
||||||
var results = new CsvResult(csv).loadResults();
|
var results = new CsvResult(file).loadResults();
|
||||||
this.results = new ResultMultiple(results);
|
this.results = new ResultMultiple(results);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,12 +36,9 @@ public class Simulation {
|
|||||||
this.csv = arguments.getOrDefault("csv", null);
|
this.csv = arguments.getOrDefault("csv", null);
|
||||||
this.parallel = arguments.containsKey("p");
|
this.parallel = arguments.containsKey("p");
|
||||||
|
|
||||||
var file = arguments.get("net");
|
this.file = Parameters.getFileOrExample(arguments.get("net"));
|
||||||
if (file == null)
|
if (this.file == null)
|
||||||
throw new IllegalArgumentException("Net file needed! Use -net <file>");
|
throw new IllegalArgumentException("Net file needed! Use -net <file>");
|
||||||
if (file.startsWith("example"))
|
|
||||||
file = Main.class.getClassLoader().getResource(file).getPath();
|
|
||||||
this.file = file;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ public class CsvResult {
|
|||||||
*/
|
*/
|
||||||
public void saveResults(Result[] results) throws IOException {
|
public void saveResults(Result[] results) throws IOException {
|
||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
|
builder.append("seed,node,");
|
||||||
builder.append(String.join(",", Statistics.getOrderOfApply()));
|
builder.append(String.join(",", Statistics.getOrderOfApply()));
|
||||||
|
builder.append('\n');
|
||||||
|
|
||||||
try (var writer = new FileWriter(this.file)) {
|
try (var writer = new FileWriter(this.file)) {
|
||||||
for (var result : results) {
|
for (var result : results) {
|
||||||
@@ -97,6 +99,8 @@ public class CsvResult {
|
|||||||
builder.append(val).append(",");
|
builder.append(val).append(",");
|
||||||
return val;
|
return val;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
builder.deleteCharAt(builder.length() - 1); // remove the last comma
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2001
src/main/resources/example1.csv
Normal file
2001
src/main/resources/example1.csv
Normal file
File diff suppressed because it is too large
Load Diff
3001
src/main/resources/example2.csv
Normal file
3001
src/main/resources/example2.csv
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user