Commit 2b806b3f authored by Steffen Gieseler's avatar Steffen Gieseler

Version 1.0.0

git-svn-id: svn://ntoserver/Datenverteiler/VRZ3/trunk/de.bsvrz.kex.lmstic3@64047 40c0be50-5d29-0410-901d-fb59edb5cafc
parent 3890fc74
......@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.bsvrz.kex</groupId>
<artifactId>de.bsvrz.kex.lmstic3</artifactId>
<version>0.9.5-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
<name>Segment KEx, SWE LMS-TIC3</name>
<url>http://www.bitctrl.de</url>
......@@ -25,7 +25,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>8</java.version>
<project.status>BETA</project.status>
<project.standDatum>2016-09-15</project.standDatum>
<project.standDatum>2016-10-27</project.standDatum>
</properties>
<repositories>
......@@ -78,11 +78,6 @@
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.bitctrl</groupId>
<artifactId>com.bitctrl</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>de.bsvrz.sys</groupId>
<artifactId>de.bsvrz.sys.funclib.bitctrl</artifactId>
......
......@@ -63,13 +63,11 @@
<outputDirectory>${artifactId}</outputDirectory>
<destName>${artifactId}-Build-Report.txt</destName>
</file>
<!--
<file>
<source>${project.build.directory}/${artifactId}-${version}-tests.jar</source>
<outputDirectory>${artifactId}</outputDirectory>
<destName>${artifactId}-test.jar</destName>
</file>
-->
<file>
<source>${project.build.directory}/${artifactId}-${version}-doc-api-test-javadoc.jar</source>
<outputDirectory>${artifactId}</outputDirectory>
......
......@@ -3,12 +3,11 @@
<TrafficAndTravelEvent name="Verkehrs- und Reiseereignis"
description="A5 Karlsruhe Richtung Basel&#xA;zwischen Dreieck Weil am Rhein und Grenzübergang Weil am Rhein/Basel&#xA;1 km Stau für LKW">
<TicId name="TIC Id">TestMeldung-TMC-Versand1</TicId>
<DataProducer name="Datenproduzent" value="D BW LMS-BW">D BW LMS-BW
</DataProducer>
<DataProducer name="Datenproduzent" value="D BW LMS-BW">D BW LMS-BW</DataProducer>
<DataIdentifier name="Datenkennung">1000</DataIdentifier>
<Description name="Beschreibung">A5 Karlsruhe Richtung Basel zwischen
Dreieck Weil am Rhein und Grenzübergang Weil am Rhein/Basel 1 km Stau
für LKW</Description>
<Description name="Beschreibung">A5 Karlsruhe Richtung Basel
zwischen Dreieck Weil am Rhein und Grenzübergang Weil am Rhein/Basel
1 km Stau für LKW</Description>
<Location name="Ort"
description="A5 Karlsruhe Richtung Basel zwischen Dreieck Weil am Rhein und Grenzübergang Weil am Rhein/Basel">
<!-- Position ist hier aus anderer Meldung kopiert!!! -->
......
This diff is collapsed.
This diff is collapsed.
......@@ -15,4 +15,4 @@ cp=../de.bsvrz.kex.lmstic3-runtime.jar:../de.bsvrz.kex.lmstic3-test.jar:../lib/j
cp VersandMeldung2.xml VersandMeldung.xml
java -cp $cp org.junit.runner.JUnitCore de.bsvrz.kex.lms.vew.VersendeMeldung
java -cp $cp org.junit.runner.JUnitCore de.bsvrz.kex.lmstic3.vew.VersendeMeldung
......@@ -196,8 +196,6 @@ public class Meldungsdekodierer extends Thread implements LMSFTPListener {
break;
}
} catch (final InterruptedException e) {
// _debug.error("unterbrochen");
// interrupt();
}
}
} catch (final Exception e) {
......
......@@ -43,18 +43,40 @@ public class TIC3InfoDateiDaten {
private TIC3InfoDateiException exeption;
/**
* Gibt die in der Datei enthaltenen Meldungen zur&uuml;ck.
*
* @return {@link TIC3MeldungsDaten}
*/
public Collection<TIC3MeldungsDaten> getMeldungen() {
return meldungen;
}
/**
* F&uuml;gt Meldungsdaten hinzu.
*
* @param meldung
* {@link TIC3MeldungsDaten}
*/
public void addMeldung(final TIC3MeldungsDaten meldung) {
meldungen.add(meldung);
}
/**
* Gibt die erste aufgetretene Ausnahme zur&uuml;ck.
*
* @return {@link TIC3InfoDateiException}
*/
public TIC3InfoDateiException getExeption() {
return exeption;
}
/**
* Setzt aufgetretene Ausnahme.
*
* @param exeption
* {@link TIC3InfoDateiException}
*/
public void setExeption(final TIC3InfoDateiException exeption) {
this.exeption = exeption;
}
......
......@@ -65,7 +65,7 @@ public class LMSFTPClient extends Thread {
/**
* Liste der angemeldeten Listener.
*/
private final List<LMSFTPListener> listenerList = new ArrayList<LMSFTPListener>();
private final List<LMSFTPListener> listenerList = new ArrayList<>();
/**
* Der Kommunikationsstatus mit der Landesmeldestelle.
......@@ -146,10 +146,12 @@ public class LMSFTPClient extends Thread {
fileToSend = null;
}
}
Thread.sleep(parameter.getTestIntervallKommunikation());
if ((System.currentTimeMillis() - lastSend) > parameter.getTestIntervallKommunikation()) {
if ((System.currentTimeMillis() - lastSend) >= parameter.getTestIntervallKommunikation()) {
sendeKeepAlive();
}
Thread.sleep(parameter.getTestIntervallKommunikation());
} catch (final InterruptedException ie) {
/** */
}
......@@ -231,7 +233,7 @@ public class LMSFTPClient extends Thread {
ftpClient.disconnect();
final List<File> dateiliste = new ArrayList<File>();
final List<File> dateiliste = new ArrayList<>();
dateiliste.add(datei);
if (result) {
......@@ -245,7 +247,7 @@ public class LMSFTPClient extends Thread {
}
} else {
ftpClient.disconnect();
debug.error("Fehler Verzeichniswechsel");
debug.error("Fehler Verzeichniswechsel zu '" + zielverzeichnis + "' auf FTP-Server ");
ok = false;
}
} else {
......
......@@ -503,6 +503,12 @@ public class Meldungskodierer extends Thread
}
if (meldung.getStatus() == MeldungsStatus.AKTUALISIERT) {
// Zustandsänderung nach Versand
if (meldung.isVersendet()) {
meldung.publiziereVersendet(dav);
continue;
}
spontanVersand = true;
meldung.setStatus(MeldungsStatus.GUELTIG);
}
......
/*
* Segment 2 (KEx), SWE 2.1 LMS
* Copyright (C) 2007 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Contact Information:
* BitCtrl Systems GmbH
* Wei�enfelser Stra�e 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
*/
package de.bsvrz.kex.lmstic3.vew;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import de.bsvrz.dav.daf.main.ClientDavConnection;
import de.bsvrz.dav.daf.main.ClientDavInterface;
import de.bsvrz.dav.daf.main.config.ConfigurationObject;
import de.bsvrz.dav.daf.main.config.MutableSet;
import de.bsvrz.dav.daf.main.config.MutableSetChangeListener;
import de.bsvrz.dav.daf.main.config.SystemObject;
import de.bsvrz.kex.lmstic3.vew.daten.DavDatenModell;
import de.bsvrz.kex.lmstic3.vew.daten.tic.TIC3Exception;
import de.bsvrz.sys.funclib.application.StandardApplication;
import de.bsvrz.sys.funclib.application.StandardApplicationRunner;
import de.bsvrz.sys.funclib.commandLineArgs.ArgumentList;
import de.bsvrz.sys.funclib.debug.Debug;
/**
* Zusatzprogramm zum l&ouml;schen aller abgelaufenen RDS-Meldungen.
*
* @author BitCtrl Systems GmbH, Gieseler
*/
public class AbgelaufeneMeldungenLoeschen implements StandardApplication, MutableSetChangeListener {
/**
* MAIN-Methode.
*
* @param args
* Argumente
*/
public static void main(final String[] args) {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(final Thread t, final Throwable e) {
Logger.getLogger(getClass().getName()).log(Level.INFO, "*** Application wird beendet ***", e); //$NON-NLS-1$
}
});
StandardApplicationRunner.run(new AbgelaufeneMeldungenLoeschen(), args);
}
/**
* DebugLogger f�r Debug-Ausgaben.
*/
Debug debug;
/**
* Die Verbindung zum Datenverteiler.
*/
ClientDavConnection dav;
/**
* Lock-Objekt.
*/
private Object loeschLock;
/**
* Standard-Konstruktor.
*/
protected AbgelaufeneMeldungenLoeschen() {
super();
}
/**
* &Uuml;berpr&uuml;ft, ob alle notwendigen Parameter f&uuml;r die
* Applikation gesetzt sind.
*
* @throws TIC3Exception
* bei fehlenden notwendigen Paramertern
*/
public void checkParameter() throws TIC3Exception {
// teste notwendige Parameter
final String[] test = { LMSProperties.PROP_KEY_LMS };
for (final String element : test) {
final String testprop = LMSProperties.getInstance().getProperty(element);
if ((testprop == null) || (testprop.length() == 0)) {
throw new TIC3Exception("Der Parameter '" + element + "' fehlt!"); //$NON-NLS-1$//$NON-NLS-2$
}
}
}
@Override
public void initialize(final ClientDavInterface connection) throws Exception {
debug = Debug.getLogger();
dav = (ClientDavConnection) connection;
try {
run();
} catch (final Exception e) {
LMSTIC3LogTools.log(debug, LmsMsg.ErrorAppException, e.getMessage());
}
connection.disconnect(false, ""); //$NON-NLS-1$
}
/**
* Wertet die an die Applikation &uuml;bergebenen Kommandozeilenparameter
* aus.<br>
* Zus&auml;tzlich zu den Standard-Datenverteiler-Argumenten sind folgende
* Argumente m&ouml;glich:
* <ul>
* <li>-LMS=&lt;Konfigurationsobjekt&gt;, PID oder ID der Landesmeldestelle,
* mit der Meldungen ausgetauscht werden sollen</li>
* <li>-versandDateiPrefix=&lt;Text&gt;, Legt den Pr&auml;fix der Dateinamen
* der an die LMS zu versendenden Dateien fest Standard: vrzrds</li>
* <li>-sicherungsVerzeichnis=&lt;Pfad&gt;, Legt das Dateiverzeichnis fest,
* in das Meldungsdateien kopiert werden, bei deren Auswertung Fehler
* aufgetreten sind. Standard: keine Sicherung</li>
* <li>-sicherungsZeit=&lt;Tage&gt;, Anzahl Tage, die Dateien im
* Sicherungsverzeichnis gespeichert werden Standard: 5 Tage</li>
* </ul>
*
* @param argumentList
* die Liste der &uuml;bergebenen Argumente
* @throws Exception
* bei Ausnahmen
* @see de.bsvrz.sys.funclib.application.StandardApplication#parseArguments(de.bsvrz.sys.funclib.commandLineArgs.ArgumentList)
*/
@Override
public void parseArguments(final ArgumentList argumentList) throws Exception {
final String[] myargs = { LMSProperties.PROP_KEY_LMS };
for (final String myarg : myargs) {
if (argumentList.hasArgument(myarg)) {
LMSProperties.getInstance().setProperty(myarg, argumentList.fetchArgument(myarg).asString());
}
}
}
/**
* Startet die Applikation.
*
* @throws Exception
* bei Ausnahmen
*/
public void run() throws Exception {
try {
debug = Debug.getLogger();
checkParameter();
// teste, ob das Landesmeldestellen-Objekt existiert
final String lms = LMSProperties.getInstance().getProperty(LMSProperties.PROP_KEY_LMS);
if ((lms == null) || (lms.length() == 0)) {
throw new TIC3Exception("Der Parameter 'Landesmeldestelle' ist nicht gesetzt!");
}
final SystemObject lmsobjekt = dav.getDataModel().getObject(lms);
if (lmsobjekt == null) {
throw new TIC3Exception("Das Objekt '" + lms + "' kann nicht vom Datenverteiler gelesen werden!");
}
DavDatenModell.getInstanz().setVerbindung(dav);
debug.info("Die Meldungsmenge der Landesmeldestelle '" + lms + "' wird gelesen");
final MutableSet meldungsmenge = ((ConfigurationObject) lmsobjekt).getMutableSet("RDSMeldungen");
meldungsmenge.addChangeListener(this);
debug.info("Die RDS-Meldungen der Landesmeldestelle '" + lms + "' werden gelesen");
final List<SystemObject> meldungenInMenge = meldungsmenge.getElements();
debug.info("Anzahl der RDS-Meldungen der Landesmeldestelle '" + lms + "': " + meldungenInMenge.size());
final List<SystemObject> alleMeldungen = dav.getDataModel().getType("typ.rdsMeldung").getElements();
debug.info("Gesamtanzahl RDS-Meldungen im DAV: " + alleMeldungen.size());
final List<SystemObject> loeschenAusMenge = new ArrayList<>();
for (final SystemObject object : meldungenInMenge) {
if (!object.isValid()) {
debug.info("Das RDS-Meldungsobjekt '" + object + "' in der Menge '" + meldungsmenge
+ "' ist ung�ltig und wird deshalb aus der Menge entfernt");
loeschenAusMenge.add(object);
}
}
final List<SystemObject> loeschen = new ArrayList<>();
for (final SystemObject object : alleMeldungen) {
debug.fine("RDS-Meldungsobjekt '" + object + "' wird gepr�ft!");
final TMCMeldung meldung = new TMCMeldung(object);
try {
meldung.datenAktualisierenDav(dav);
} catch (final TIC3Exception rdse) {
// das ist kein Fehler, da nur Daten f�r bestimmte Aspekte
// gelesen werden
debug.info("RDS-Meldungsobjekt '" + object + "': " + rdse.getMessage());
continue;
}
// if (!meldung.istZeitGueltig()) {
// // boolean istZeitGueltig = meldung.istZeitGueltig();
// debug.info("RDS-Meldung '" + object + "' ist nicht mehr
// g�ltig und wird deshalb gel�scht!");
// loeschen.add(object);
//
// if (meldungenInMenge.contains(object)) {
// // debug.info("RDS-Meldung '" + object +
// // "' wird aus der Menge entfernt!");
// loeschenAusMenge.add(object);
// }
// }
}
if (loeschenAusMenge.size() > 0) {
debug.info("Meldungsmenge wird bereinigt: " + loeschenAusMenge.size() + " Meldungen werden gel�scht");
loeschLock = new Object();
synchronized (loeschLock) {
try {
meldungsmenge.remove(loeschenAusMenge.toArray(new SystemObject[loeschenAusMenge.size()]));
loeschLock.wait(20000);
debug.info("Meldungsmenge wurde bereinigt");
} catch (final InterruptedException e) {
e.printStackTrace();
}
}
}
if (loeschen.size() > 0) {
debug.info(loeschen.size() + " RDS-Meldungsobjekte werden invalidiert");
for (final SystemObject so : loeschen) {
so.invalidate();
}
} else {
debug.info("Keine zu l�schenden RDS-Meldungsobjekte gefunden!");
}
} catch (final Exception e) {
debug.error(e.getMessage());
}
LMSTIC3LogTools.log(debug, LmsMsg.InfoApplikationBeendet);
}
@Override
public void update(final MutableSet set, final SystemObject[] addedObjects, final SystemObject[] removedObjects) {
if (removedObjects.length > 0) {
debug.info("Meldungsmenge aktualisiert: " + removedObjects.length + " Objekt(e) gel�scht");
if (loeschLock != null) {
synchronized (loeschLock) {
loeschLock.notify();
}
}
}
// // System.out.println("gel�schte Objekte: " + removedObjects);
// for (SystemObject so : removedObjects) {
// if (myLock != null && so == myLock) {
// synchronized (myLock) {
// myLock.notify();
// }
// }
// }
}
}
/*
* Segment 2 (KEx), SWE 2.1 LMS
* Copyright (C) 2007 BitCtrl Systems GmbH
*
* Segment 2 (KEx), SWE LMS-TIC3
* Copyright (C) 2016 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
......@@ -18,7 +18,7 @@
*
* Contact Information:
* BitCtrl Systems GmbH
* Wei�enfelser Stra�e 67
* Weißenfelser Straße 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
......@@ -39,7 +39,7 @@ import de.bsvrz.dav.daf.main.config.AttributeGroup;
public class DavSendeAnmeldung extends DataDescription {
/** Flag, ob die Sendeanmeldung erfolgreich war. */
private boolean sendenOK = false;
private boolean sendenOK;
/**
* Konstruktor.
......
/*
* Segment 2 (KEx), SWE 2.1 LMS
* Copyright (C) 2007 BitCtrl Systems GmbH
*
* Segment 2 (KEx), SWE LMS-TIC3
* Copyright (C) 2016 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
......@@ -18,7 +18,7 @@
*
* Contact Information:
* BitCtrl Systems GmbH
* Wei�enfelser Stra�e 67
* Weißenfelser Straße 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
......
/*
* Segment 2 (KEx), SWE 2.1 LMS
* Copyright (C) 2007 BitCtrl Systems GmbH
*
* Segment 2 (KEx), SWE LMS-TIC3
* Copyright (C) 2016 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
......@@ -18,7 +18,7 @@
*
* Contact Information:
* BitCtrl Systems GmbH
* Wei�enfelser Stra�e 67
* Weißenfelser Straße 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
......@@ -33,8 +33,9 @@ package de.bsvrz.kex.lmstic3.vew;
*/
public enum LMSKommunikationsstatus {
/** ungest&ouml;rter Status. */
NICHT_GESTOERT("nicht gest�rt"), /** gest&ouml;rter Status. */
GESTOERT("gest�rt");
NICHT_GESTOERT("nicht gestört"),
/** gest&ouml;rter Status. */
GESTOERT("gestört");
/**
* textueller Wert.
......@@ -47,7 +48,7 @@ public enum LMSKommunikationsstatus {
* @param value
* Wert
*/
private LMSKommunikationsstatus(final String value) {
LMSKommunikationsstatus(final String value) {
this.value = value;
}
......
/*
* Segment 2 (KEx), SWE 2.1 LMS
* Copyright (C) 2007 BitCtrl Systems GmbH
*
* Segment 2 (KEx), SWE LMS-TIC3
* Copyright (C) 2016 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
......@@ -18,7 +18,7 @@
*
* Contact Information:
* BitCtrl Systems GmbH
* Wei�enfelser Stra�e 67
* Weißenfelser Straße 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
......@@ -58,13 +58,14 @@ public final class LMSProperties extends Properties {
/**
* Aufrufparameter Dateiverzeichnis, in das Meldungsdateien kopiert werden.
*/
// public static final String PROP_KEY_SICHERUNGSVERZEICHNIS = "-sicherungsVerzeichnis";
// public static final String PROP_KEY_SICHERUNGSVERZEICHNIS =
// "-sicherungsVerzeichnis";
/**
* Aufrufparameter Anzahl Tage, die Dateien im Sicherungsverzeichnis
* gespeichert werden.
*/
// public static final String PROP_KEY_SICHERUNGSZEIT = "-sicherungsZeit";
// public static final String PROP_KEY_SICHERUNGSZEIT = "-sicherungsZeit";
// Default-Werte
/**
......@@ -76,12 +77,12 @@ public final class LMSProperties extends Properties {
/**
* Standardwert f&uuml;r das Sicherungsverzeichnis.
*/
// public static final String DEFAULT_SICHERUNGSVERZEICHNIS = "";
// public static final String DEFAULT_SICHERUNGSVERZEICHNIS = "";
/**
* Standardwert f&uuml;r die Sicherungszeit.
*/
// public static final int DEFAULT_SICHERUNGSZEIT = 5;
// public static final int DEFAULT_SICHERUNGSZEIT = 5;
/**
* Dateiname der KeepAlive-Datei.
......@@ -101,8 +102,10 @@ public final class LMSProperties extends Properties {
* Privater Konstruktor.
*/
private LMSProperties() {
// setProperty(LMSProperties.PROP_KEY_SICHERUNGSVERZEICHNIS, LMSProperties.DEFAULT_SICHERUNGSVERZEICHNIS);
// setProperty(LMSProperties.PROP_KEY_SICHERUNGSZEIT, String.valueOf(LMSProperties.DEFAULT_SICHERUNGSZEIT));
// setProperty(LMSProperties.PROP_KEY_SICHERUNGSVERZEICHNIS,
// LMSProperties.DEFAULT_SICHERUNGSVERZEICHNIS);
// setProperty(LMSProperties.PROP_KEY_SICHERUNGSZEIT,
// String.valueOf(LMSProperties.DEFAULT_SICHERUNGSZEIT));
}
}
......@@ -88,9 +88,9 @@ public class LMSTIC3 implements StandardApplication {
// Komponente Meldungsversand starten
mk = new Meldungskodierer(dav, (ConfigurationObject) lmsobjekt, mitValidierung);
// TODO:
// ohne diese Pause geht der Meldungsdekodierer oft in Fehler:
// "Die Menge 'TMCMeldungen' existiert nicht am Objekt..."
// ohne diese Pause geht der Meldungsdekodierer manchmal in
// Fehler: "Die Menge 'TMCMeldungen' existiert nicht am
// Objekt..."
Thread.sleep(5000);
// Komponente Meldungsempfang starten
......
/*
* Segment 2 (KEx), SWE LMS-TIC3
* Copyright (C) 2016 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Contact Information:
* BitCtrl Systems GmbH
* Weißenfelser Straße 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
*/
package de.bsvrz.kex.lmstic3.vew;
import java.util.logging.Level;
......
/*
* Segment 2 (KEx), SWE 2.1 LMS
* Copyright (C) 2007 BitCtrl Systems GmbH
*
* Segment 2 (KEx), SWE LMS-TIC3
* Copyright (C) 2016 BitCtrl Systems GmbH
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
......@@ -18,7 +18,7 @@
*
* Contact Information:
* BitCtrl Systems GmbH
* Wei�enfelser Stra�e 67
* Weißenfelser Straße 67
* 04229 Leipzig
* Phone: +49 341-490670
* mailto: info@bitctrl.de
......@@ -103,8 +103,8 @@ public class XMLTools {
final Result result = new StreamResult(datei);
final Transformer xformer = TransformerFactory.newInstance().newTransformer();
// xformer.setOutputProperty(OutputKeys.INDENT, "yes");
// xformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
// xformer.setOutputProperty(OutputKeys.INDENT, "yes");
// xformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
xformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
xformer.transform(source, result);
} catch (final TransformerConfigurationException e) {
......
......@@ -36,12 +36,9 @@ import de.bsvrz.kex.lmstic3.vew.daten.tic.elemente.TIC3Zeitstempel;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCEvent;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCKoordinate;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCLocation;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCPrioritaet;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCStatus;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCPrioritaet.TMCPrioritaetEnum;
import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCStatus.TMCStatusEnum;
/**
* Interface externe Meldungsdaten.
*
......@@ -52,15 +49,19 @@ import de.bsvrz.kex.lmstic3.vew.daten.tmc.TMCStatus.TMCStatusEnum;