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(); } }