package de.ugoe.cs.crosspare;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.security.InvalidParameterException;
public class ConfigurationBuilder {
private static enum Dataset {MDP, JURECZKO, FILTERJURECZKO, AEEEM, RELINK, NETGENE, SELECTEDJURECZKO, AEEEM_LDHH, AEEEM_WCHU, AEEEM_LDHHWCHU, SMARTSHARK_ALL, SMARTSHARK_AST, SMARTSHARK_SM}
private static final String storageFolder = "config/";
public static void main(String[] args) {
for( Dataset dataset : Dataset.values() ) {
// baselines
writeFile("ALL", dataset);
writeFile("CV", dataset);
writeFile("Random", dataset);
writeFile("Trivial", dataset);
// publications
writeFile("Koshgoftaar08", dataset);
writeFile("Watanabe08", dataset);
writeFile("Turhan09", dataset);
writeFile("Zimmermann09", dataset);
writeFile("CamargoCruz09", dataset);
writeFile("Liu10", dataset);
writeFile("Menzies11", dataset);
writeFile("Ma12", dataset);
writeFile("Peters12", dataset);
writeFile("Uchigaki12", dataset);
writeFile("Canfora13", dataset);
writeFile("Peters13", dataset);
writeFile("Herbold13", dataset);
writeFile("ZHe13", dataset);
writeFile("Nam13", dataset);
writeFile("Panichella14", dataset);
writeFile("Ryu14", dataset);
writeFile("PHe15", dataset);
writeFile("Peters15", dataset);
writeFile("Kawata15", dataset);
writeFile("YZhang15", dataset);
writeFile("Amasaki15", dataset);
writeFile("Ryu15", dataset);
writeFile("Nam15", dataset);
}
}
public static void writeFile(String approach, Dataset dataset) {
try(FileWriter writer = new FileWriter(storageFolder + dataset.toString() + "-" + approach + ".xml");) {
writer.append((String) ConfigurationBuilder.class.getMethod(approach, Dataset.class).invoke(null, dataset));
writer.flush();
}
catch (IOException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
}
public static void preamble(StringBuilder configFile) {
configFile.append("\n");
configFile.append("\n");
}
public static void postamble(StringBuilder configFile) {
configFile.append(" \n");
configFile.append("");
}
public static void trainers(StringBuilder configFile) {
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
}
public static void trainersBagging(StringBuilder configFile) {
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
}
public static void trainersLocalWhere(StringBuilder configFile) {
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
}
public static void trainersLASER(StringBuilder configFile) {
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
}
public static void dataset(StringBuilder configFile, Dataset dataset) {
switch (dataset)
{
case MDP:
configFile.append(" \n");
break;
case JURECZKO:
configFile.append(" \n");
break;
case FILTERJURECZKO:
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
break;
case AEEEM:
configFile.append(" \n");
break;
case AEEEM_LDHH:
configFile.append(" \n");
break;
case AEEEM_LDHHWCHU:
configFile.append(" \n");
break;
case AEEEM_WCHU:
configFile.append(" \n");
break;
case RELINK:
configFile.append(" \n");
break;
case NETGENE:
configFile.append(" \n");
break;
case SELECTEDJURECZKO:
configFile.append(" \n");
break;
case SMARTSHARK_ALL:
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
break;
case SMARTSHARK_AST:
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
break;
case SMARTSHARK_SM:
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
break;
default:
throw new InvalidParameterException("Unknown data set: " + dataset.toString());
}
configFile.append(" \n");
configFile.append(" \n");
}
public static String ALL(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String CV(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Random(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Trivial(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Koshgoftaar08(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersBagging(configFile);
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Watanabe08(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Turhan09(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Zimmermann09(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String CamargoCruz09(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Liu10(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" ");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Menzies11(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersLocalWhere(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Ma12(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Peters12(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Uchigaki12(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Canfora13(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Peters13(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" ");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Herbold13(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
int numNeighbors;
switch (dataset)
{
case AEEEM:
case AEEEM_LDHH:
case AEEEM_WCHU:
case AEEEM_LDHHWCHU:
numNeighbors = 2;
break;
case MDP:
numNeighbors = 5;
break;
case JURECZKO:
numNeighbors = 30;
break;
case FILTERJURECZKO:
numNeighbors = 20;
break;
case RELINK:
numNeighbors = 1;
break;
case NETGENE:
numNeighbors = 1;
break;
case SELECTEDJURECZKO:
numNeighbors = 4;
break;
case SMARTSHARK_ALL:
case SMARTSHARK_AST:
case SMARTSHARK_SM:
// TODO check num neighbors
default:
numNeighbors = 10;
break;
}
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String ZHe13(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersBagging(configFile);
int numNeighbors;
switch (dataset)
{
case AEEEM:
case AEEEM_LDHH:
case AEEEM_LDHHWCHU:
case AEEEM_WCHU:
numNeighbors = 1;
break;
case MDP:
numNeighbors = 4;
break;
case JURECZKO:
numNeighbors = 16;
break;
case FILTERJURECZKO:
numNeighbors = 13;
break;
case RELINK:
numNeighbors = 1;
break;
case NETGENE:
numNeighbors = 1;
break;
case SELECTEDJURECZKO:
numNeighbors = 4;
break;
case SMARTSHARK_ALL:
case SMARTSHARK_AST:
case SMARTSHARK_SM:
// TODO check num neighbors
default:
numNeighbors = 10;
break;
}
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Nam13(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Panichella14(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Ryu14(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String PHe15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Peters15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Kawata15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String YZhang15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Amasaki15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" ");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Ryu15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersLASER(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Nam15(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
}