package at.medevit.elexis.cobasmira.resulthandler; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.medevit.elexis.cobasmira.model.CobasMiraMessage; import at.medevit.elexis.cobasmira.model.CobasMiraPatientResult; import at.medevit.elexis.cobasmira.ui.Preferences; import ch.elexis.core.data.activator.CoreHub; import ch.rgw.tools.TimeTool; public class ControlResultHandler { private static Logger logger = LoggerFactory.getLogger(ControlResultHandler.class); public static int writeControlResult(CobasMiraPatientResult cmp, TimeTool entryDate){ FileOutputStream fos; try { fos = new FileOutputStream(CoreHub.localCfg.get(Preferences.CONTROLLOGFILE, "controlLog.txt"), true); OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8"); out.write(entryDate.toDBString(true) + "," + cmp.getPatientIdentification() + "," + cmp.getTestName() + "," + Float.toString(cmp.getConcentration()) + "\n"); out.close(); } catch (FileNotFoundException e) { logger .warn("Logfileexists but is a directory rather than a regular file, " + "does not exist but cannot be created, or cannot be opened for any other reason."); return CobasMiraMessage.ELEXIS_RESULT_CONTROL_ERR; } catch (UnsupportedEncodingException e) { logger.warn(e.getLocalizedMessage()); return CobasMiraMessage.ELEXIS_RESULT_CONTROL_ERR; } catch (IOException e) { logger.warn(e.getLocalizedMessage()); return CobasMiraMessage.ELEXIS_RESULT_CONTROL_ERR; } return CobasMiraMessage.ELEXIS_RESULT_CONTROL_OK; } }