public static String[] readFileGetUTF8(File file) { int encoding = GDTConstants.ZEICHENSATZ_IBM_CP_437; try { List<String> dataList = FileUtils.readLines(file, "cp437"); String[] data = dataList.toArray(new String[] {}); String usedEncoding = GDTSatzNachrichtHelper.getValueIfExists( GDTConstants.FELDKENNUNG_VERWENDETER_ZEICHENSATZ, data); if (usedEncoding == null) return data; // Not set return default encoding int usedEncodingInt = Integer.parseInt(usedEncoding); if (encoding == usedEncodingInt) return data; // Set, but default if (usedEncodingInt == GDTConstants.ZEICHENSATZ_7BIT) { return FileUtils.readLines(file, GDTConstants.ZEICHENSATZ_7BIT_CHARSET_STRING) .toArray(new String[] {}); } else if (usedEncodingInt == GDTConstants.ZEICHENSATZ_ISO8859_1_ANSI_CP_1252) { return FileUtils.readLines(file, "Cp1252").toArray(new String[] {}); } } catch (IOException e) { String message = "GDT: Ein-/Ausgabe Fehler beim Lesen von " + file.getAbsolutePath(); Status status = new Status(IStatus.WARNING, Activator.PLUGIN_ID, message, e); StatusManager.getManager().handle(status, StatusManager.SHOW); logger.log(e, message, Log.WARNINGS); } return null; }
public static void handle(File file) { String[] lines = readFileGetUTF8(file); int satzkennung = 0; if (lines != null) { String satzkennungString = GDTSatzNachrichtHelper.getValueIfExists( GDTConstants.FELDKENNUNG_SATZIDENTIFIKATION, lines); satzkennung = Integer.parseInt(satzkennungString); } IGDTCommunicationPartner cp = GDTCommPartnerCollector.identifyCommunicationPartnerByIncomingDirectory(file.getParent()); boolean delivered = false; switch (satzkennung) { case GDTConstants.SATZART_STAMMDATEN_ANFORDERN: delivered = GDTInputHandler.handleSatznachricht6300(lines, file.getName(), cp); if (delivered) delete(file); break; case GDTConstants.SATZART_DATEN_EINER_UNTERSUCHUNG_UEBERMITTELN: delivered = GDTInputHandler.handleSatznachricht6310(lines, file.getName(), cp); if (delivered) delete(file); break; case GDTConstants.SATZART_DATEN_EINER_UNTERSUCHUNG_ZEIGEN: GDTInputHandler.handleSatznachricht6311(lines, file.getName(), cp); break; case GDTConstants.SATZART_STAMMDATEN_UEBERMITTELN: GDTInputHandler.handleSatznachricht6301(lines, file.getName(), cp); break; case GDTConstants.SATZART_UNTERSUCHUNG_ANFORDERN: GDTInputHandler.handleSatznachricht6302(lines, file.getName(), cp); default: break; } }