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};
private static final String storageFolder = "config/";
public static void main(String[] args) {
for( Dataset dataset : Dataset.values() ) {
writeFile("Koshgoftaar2008", dataset);
writeFile("Watanabe2008", dataset);
writeFile("Turhan2009", dataset);
writeFile("CamargoCruz2009", dataset);
// TODO Liu 2010
writeFile("Menzies2011", dataset);
writeFile("Ma2012", dataset);
writeFile("Peters2012", dataset);
writeFile("Uchigaki2012", dataset);
writeFile("Canfora2013", dataset);
writeFile("Peters2013", dataset);
writeFile("Herbold2013", dataset);
writeFile("ZHe2013", dataset);
writeFile("Nam2013", dataset);
writeFile("Panichella2014", dataset);
// TODO F.Zhang 2014
// TODO Mizuno 2014: data not public
writeFile("Ryu2014", dataset);
writeFile("PHe2015", dataset);
// TODO Peters 2015 (LACE2)
writeFile("Kawata2015", dataset);
writeFile("YZhang2015", dataset);
writeFile("Amasaki2015", dataset);
writeFile("Ryu2015b", dataset);
// TODO Cao 2015 implementation details missing
writeFile("Nam2015b", dataset);
}
}
public static void writeFile(String approach, Dataset dataset) {
FileWriter writer;
try {
writer = new FileWriter(storageFolder + dataset.toString() + "-" + approach + ".xml");
writer.append((String) ConfigurationBuilder.class.getMethod(approach, Dataset.class).invoke(null, dataset));
writer.flush();
writer.close();
}
catch (IOException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
// TODO Auto-generated catch block
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");
}
public static void trainersBagging(StringBuilder configFile) {
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");
}
public static void trainersLASER(StringBuilder configFile) {
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");
configFile.append(" \n");
break;
case JURECZKO:
configFile.append(" \n");
configFile.append(" \n");
break;
default:
throw new InvalidParameterException("Unknown data set: " + dataset.toString());
}
}
public static String Koshgoftaar2008(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersBagging(configFile);
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Watanabe2008(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 Turhan2009(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 CamargoCruz2009(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();
}
// TODO Liu 2010
public static String Menzies2011(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersLocalWhere(configFile);
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Ma2012(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 Peters2012(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 Uchigaki2012(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 Canfora2013(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 Peters2013(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" ");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Herbold2013(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");
postamble(configFile);
return configFile.toString();
}
public static String ZHe2013(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainersBagging(configFile);
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
public static String Nam2013(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 Panichella2014(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();
}
// TODO F.Zhang 2014
// TODO Mizuno 2014: data not public
public static String Ryu2014(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 PHe2015(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();
}
// TODO Peters 2015 (LACE2)
public static String Kawata2015(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 YZhang2015(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 Amasaki2015(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 Ryu2015b(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();
}
// TODO Cao 2015
public static String Nam2015b(Dataset dataset) {
StringBuilder configFile = new StringBuilder();
preamble(configFile);
dataset(configFile, dataset);
trainers(configFile);
configFile.append(" \n");
configFile.append(" \n");
postamble(configFile);
return configFile.toString();
}
}