package org.ggp.base.util.logging; import java.io.File; import java.io.FilenameFilter; public abstract class LogSummaryGenerator { public String getLogSummary(String matchId) { final String thePrefix = matchId; File logsDirectory = new File("logs"); FilenameFilter logsFilter = new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.startsWith(thePrefix); } }; String[] theMatchingMatches = logsDirectory.list(logsFilter); if (theMatchingMatches == null) { System.err.println("Log summary retrieval for " + matchId + " yielded an error."); } else if (theMatchingMatches.length > 1) { System.err.println("Log summary retrieval for " + matchId + " matched multiple matches."); } else if (theMatchingMatches.length == 0) { System.err.println("Log summary retrieval for " + matchId + " matched zero matches."); } else { return getSummaryFromLogsDirectory(logsDirectory + "/" + theMatchingMatches[0]); } return null; } public abstract String getSummaryFromLogsDirectory(String theLogsDirectory); }