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); // TODO Canfora 2013 (MODEP) 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 // TODO Ryu 2014 writeFile("PHe2015", dataset); // TODO Peters 2015 (LACE2) // TODO Chen 2015 writeFile("Kawata2015", dataset); writeFile("YZhang2015", dataset); writeFile("Amasaki2015", dataset); // TODO Ryu 2015a 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(""); } 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"); } 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"); 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(" "); configFile.append(" \n"); configFile.append(" \n"); postamble(configFile); return configFile.toString(); } // TODO Canfora 2013 (MODEP) 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 // TODO Ryu 2014 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) // TODO Chen 2015 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(); } // TODO Amasaki 2015 // TODO Ryu 2015a 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(); } }