public static void connectProjectsWithUsers() throws Exception { List<ResponseProjects> responseProjectsList = ResponseProjects.fromCsvFile(new File("data/RohantwortenUmfrage2Kopie.csv")); List<Project> projs = Project.projectListFromCsv( CsvHelpers.parseCsv(new File("data/KandidatenProjekteUmfrage2.csv"))); for (ResponseProjects rp : responseProjectsList) { rp.user = UserGuesser.guessUserWithProjects(rp, projs); Helpers.log("Guessed user: "******"data/userEstimates.csv")); saveListOfProjectsWithResponse(responseProjectsList, projs); }
public static int countProjectsWithoutUser() throws Exception { ResponseProjectsLst rpl = (ResponseProjectsLst) XmlHelpers.deserializeFromXml( ResponseProjectsLst.class, new File("data/responseswithuser500.xml")); IPredicate<ResponseProjects> isWithoutUser = new IPredicate<ResponseProjects>() { @Override public boolean invoke(ResponseProjects rp) { return rp.user == null; } }; return Func.count(isWithoutUser, rpl.responseProjs); }
private static void saveListOfProjectsWithResponse( final List<ResponseProjects> results, List<Project> projs) throws Exception { IPredicate<Project> hasResponse = new IPredicate<Project>() { @Override public boolean invoke(final Project p) { IPredicate<ResponseProjects> isProject = new IPredicate<ResponseProjects>() { @Override public boolean invoke(ResponseProjects rps) { return rps.toProjectList().contains(p); } }; return Func.contains(isProject, results); } }; List<Project> projsWithResp = Func.filter(hasResponse, projs); CsvData projsWithRespCsv = Project.projectListToCsv(projsWithResp); projsWithRespCsv.save(new File("data/projsWithResponses.csv")); }