package freenet.node.simulator; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.List; import java.util.Locale; import java.util.TimeZone; import freenet.support.Fields; /** Base class for long-term tests that use a CSV file to store status */ public class LongTermTest { protected static final DateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd", Locale.US); static { dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); } protected static final Calendar today = Calendar.getInstance(TimeZone.getTimeZone("GMT")); protected static final int EXIT_NO_SEEDNODES = 257; protected static final int EXIT_FAILED_TARGET = 258; protected static final int EXIT_THREW_SOMETHING = 261; protected static final String ENCODING = "UTF-8"; protected static void writeToStatusLog(File file, List<String> csvLine) { try { FileOutputStream fos = new FileOutputStream(file, true); OutputStreamWriter w = new OutputStreamWriter(fos); w.write(Fields.commaList(csvLine.toArray(), '!')+"\n"); w.close(); } catch (IOException e) { System.err.println("Exiting due to IOException "+e+" writing status file"); e.printStackTrace(); System.exit(EXIT_THREW_SOMETHING); } } }