Commit bac1346a authored by Steffen Gieseler's avatar Steffen Gieseler
Browse files

XML-Parser mit InputStream, um sicherstellen zu können, dass der Stream

geschlossen wird
Setze LastModifiedTime für Kopie, da dieses Attribut (unter Windows)
beim Kopieren von Dateien nicht geändert wird. Für die Tests der SWE
sind die beigestellten Testdateien damit alt und werden bei
'ueberpruefeSicherungsverzeichnis' gleich wieder gelöscht.

git-svn-id: svn://ntoserver/Datenverteiler/VRZ3/trunk/de.bsvrz.kex.lmstic3@64239 40c0be50-5d29-0410-901d-fb59edb5cafc
parent 0d8be31c
Loading
Loading
Loading
Loading
+12 −1
Changes for src/main/java/de/bsvrz/kex/lmstic3/empfang/dekoder/Meldungsdekodierer.java: 12 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -158,6 +159,12 @@ public class Meldungsdekodierer extends Thread implements LMSFTPListener {
	 */
	void kopiereDatei(final String quelldatei, final String zieldatei) throws IOException {
		Files.copy(Paths.get(quelldatei), Paths.get(zieldatei));

		// Setze LastModifiedTime für Kopie, da dieses Attribut (unter Windows)
		// beim Kopieren von Dateien nicht geändert wird. Für die Tests der SWE
		// sind die beigestellten Testdateien damit alt und werden bei
		// 'ueberpruefeSicherungsverzeichnis' gleich wieder gelöscht.
		Files.setLastModifiedTime(Paths.get(zieldatei), FileTime.fromMillis(System.currentTimeMillis()));
	}

	@Override
@@ -315,7 +322,11 @@ public class Meldungsdekodierer extends Thread implements LMSFTPListener {
					sichereDatei(datei);
				}
				LMSTIC3LogTools.log(debug, LmsMsg.FineDateiGeloescht, datei);
				datei.delete();

				final boolean delete = datei.delete();
				if (!delete) {
					debug.warning("Die Datei '" + datei.getAbsolutePath() + "' konnte nicht gelöscht werden!");
				}
			}
		}

+13 −1
Changes for src/main/java/de/bsvrz/kex/lmstic3/empfang/dekoder/TIC3InfoDatei.java: 13 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -27,6 +27,9 @@
package de.bsvrz.kex.lmstic3.empfang.dekoder;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

@@ -140,11 +143,20 @@ public class TIC3InfoDatei {
			}
		}

		InputStream is = null;
		try {
			final DocumentBuilder parser = docfactory.newDocumentBuilder();
			doc = parser.parse(ticDatei);
			is = new FileInputStream(ticDatei);
			doc = parser.parse(is);
		} catch (final Exception e) {
			throw new TIC3InfoDateiException(e.getMessage());
		} finally {
			if (is != null) {
				try {
					is.close();
				} catch (IOException e) {
				}
			}
		}

		return doc;