Commit 6b4981aa authored by Christian Kniss's avatar Christian Kniss

Merge branch 'GradleUmstellung-2' into 'develop'

NERZ-SWE-Plugin Version 0.7.0.

See merge request ERZ/SWE_de.bsvrz.sys.funclib.bitctrl!7
parents d48a7bc0 fcaec3d6
......@@ -100,3 +100,4 @@ local.properties
# TeXlipse plugin
.texlipse
/build/
sys-funclib-bitctrl-build:
image:
openjdk:8-jdk-alpine
script:
- ./gradlew build
......@@ -3,35 +3,35 @@ Versionsverlauf
## [Noch nicht veröffentlicht]
[Version 1.5.3]
=====
## [Version 1.5.3]
- NERZ: Umstellung auf Gradle, Build durch FTB und Bereitstellung auf NERZ-Repositories
1.5.2
=====
## Version 1.5.2
- Fehler beim Abruf von Objekten der Konfiguration, weil die ObjektFactory versucht hat,
Objekte von Typen abzurufen, die in der Konfiguration nicht vorhanden sind.
1.5.1
=====
## Version 1.5.1
- Klassenpfad im runtime-jar korrigiert
1.5.0
=====
## Version 1.5.0
- Umstellung auf Java 8 und UTF-8
1.5.0
=====
## Version 1.5.0
- Umstellung auf Java 8 und UTF-8
1.4.1
=====
## Version 1.4.1
WGS84Koordinaten haben keiner Setter für Länge und Breite, da ansonsten equals/hashCode
gegen den API-Kontrakt verstossen
1.4.0
=====
## Version 1.4.0
Da die SWE de.bsvrz.sys.funclib.bitctrl perspektivisch durch die bereits existierende
Version 2.0 auch auf dem Server ersetzt werden soll, wurden im ersten Schritt die
Pakete die von der SWE des Segments DuA verwendet werden in eine eigene SWE
......@@ -56,93 +56,93 @@ mindestens folgende Versionen verwendet werden, die auf die neue SWE zurückgrei
- SWE 4.3 Pl-Prüfung logisch UFD (de.bsvrz.dua.pllogufd) in Version 1.6.0
- SWE 4.14 SWE Glättewarnung und -prognose (de.bsvrz.dua.progglaette) in Version 1.3.0
1.3.0
=====
## Version 1.3.0
- Unterstützung für die Umfelddatenarten ZeitreserveGlätte (Vaisala) und Taustoffmenge je Quadratmeter (TLS2012)
- Neues Flag -fehlerhafteWertePublizieren, mit dem das Defaultverhalten, implausible Werte
durch 'fehlerhaft' zu ersetzen, überschrieben werden kann.
1.2.7
=====
## Version 1.2.7
- nicht verwendete Klasse "SortierteListe" wegen Java 8 - Kompatibilitätsproblem
entfernt
1.2.4
=====
## Version 1.2.4
- AbstraktAusfallUeberwachung ConcurrentModificationException korrigiert
1.2.3
=====
## Version 1.2.3
- Umstellung auf Maven-Build
- neue Exception UmfeldDatenSensorUnbekannteDatenartException für unbekannte Umfelddatensensoren
2014-06-12
==========
## 2014-06-12
- dua.ufd: Bei unbekannten Umfelddatenarten wird neue Exception
'UmfeldDatenSensorUnbekannteDatenartException' ausgelöst und in der UmfeldDatenMessStelle
derart behandelt, dass eine Warnung ausgegeben und der betroffene Sensor ignoriert wird
2012-08-16
==========
## 2012-08-16
- Suche nach dem vor einer Situation liegenden MQ wird bei Erkennung einer Schleife abgebrochen
und per Exception gemeldet.
2012-08-15
==========
## 2012-08-15
- Suche nach dem vor einer Situation liegenden MQ wird bei Erkennung einer Schleife abgebrochen.
2011-10-24
==========
## 2011-10-24
- Senden von reinen Betriebsmeldungen in DUA um die Umsetzung von Objekt-PID/ID nach
Betriebsmeldungs-ID erweitert.
2011-10-19
==========
## 2011-10-19
- Betriebsmeldungsdaten liefern in Settern das Objekt selbst zurück, um die Initialisierung
zu erleichtern
2011-10-04
==========
## 2011-10-04
- LogTools um Funktionen zur Uebergabe des Systemobjekts und der ID in Betriebsmeldungen
erweitert
2011-05-02
==========
## 2011-05-02
- FIX: Beim Einsatz der neuen DatenaufbereitungLVE ist uns aufgefallen, dass wenn
virtuelle Messquerschnitte auf Basis der atg.messQuerschnittVirtuellStandard berechnet
werden sollen, die Applikation sich immer noch mit einem Fehler beendet. Dies war ein Fehler
innerhalb der Funktionsbibliothek
2011-01-17
==========
## 2011-01-17
- FIX: Negative Intervalllaengen bei PL-Logisch LVE-Ausfallhaeufigkeit
fuehren nicht mehr zum Abbruch
2010-10-11
==========
## 2010-10-11
- FIX: Umrechnung ASB-Stationierung in SegmentUndOffset korrigiert
- PdSituationseigenschaften: Länge wird mit gesetzt
2010-06-09
==========
## 2010-06-09
- FIX: Sämtliche Konstruktoren DataDescription(atg, asp, sim) ersetzt durch
DataDescription(atg, asp)
2009-04-28
==========
## 2009-04-28
- NEU: boolean LogTools.isLogbar(Debug, Level) prüft ob ein Logger auf einem
bestimmten Level Ausgaben auf einem beliebigen Handler macht.
......@@ -152,8 +152,8 @@ mindestens folgende Versionen verwendet werden, die auf die neue SWE zurückgrei
benötigt werden. Verwendet LogTools.isLogbar(Debug, Level).
2010-05-20
==========
## 2010-05-20
- UPDATE: Netzreferenzen erweitert
......
......@@ -2,7 +2,7 @@
// NERZ-SWE-Plugin
//--------------------------------------------------------------------
plugins {
id "de.bsvrz.gradle.nerzswe" version "0.5.0"
id "de.bsvrz.gradle.nerzswe" version "0.7.1"
}
//--------------------------------------------------------------------
......@@ -22,7 +22,7 @@ nerzswe {
//--------------------------------------------------------------------
// Abhängigkeiten
//--------------------------------------------------------------------
String kernsoftware_version = '3.9.+'
String kernsoftware_version = '3.9.7'
dependencies {
//------
// Source:
......@@ -32,7 +32,7 @@ dependencies {
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.dataSerializer', version: kernsoftware_version
compile group: 'de.bsvrz.sys', name: 'de.bsvrz.sys.funclib.operatingMessage', version: kernsoftware_version
compile group: 'de.bsvrz.pat', name: 'de.bsvrz.pat.onlprot', version: kernsoftware_version
compile group: 'com.bitctrl', name: 'com.bitctrl', version:'2.0.+'
compile group: 'com.bitctrl', name: 'com.bitctrl', version:'2.0.2'
//------
// Test:
......
File mode changed from 100644 to 100755
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>distributionspaket</id>
<formats>
<format>zip</format>
</formats>
<baseDirectory>${project.artifactId}</baseDirectory>
<componentDescriptors>
<componentDescriptor>assemblies/distributionspaket-bin.xml</componentDescriptor>
<componentDescriptor>assemblies/distributionspaket-test.xml</componentDescriptor>
</componentDescriptors>
<fileSets>
<fileSet>
<directory>${project.basedir}/src/main/dist</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
</fileSets>
</assembly>
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Peuker
Created-By: Apache Maven 3.2.3
Build-Jdk: 1.8.0_131
# Die Eigenschaft "Argumente muss angegeben werden und enthält gemeinsamme
# Aufrufparameter der Applikationen.
#
# Jede weitere Zeile enthält den Namen einer Datenverteilerapplikation als
# Eigenschaftsname und als Eigenschaftswert eine durch Leerzeichen getrennte
# Liste. Das erste Element der Liste ist der voll qualifizierte Name der Klasse,
# die die Applikation repräsentiert. Danach folgen die Aufrufparameter der
# Applikation.
#
# ACHTUNG: Ein Backslash \ muss verdoppelt werden \\, z. B. in Pfadangaben
#
# ACHTUNG: Im Bezeichner vor dem = sind keine Leerzeichen erlaubt
Argumente = -benutzer=Tester -authentifizierung=..\\Datenverteiler\\KernsoftwareNRW\\skripte-dosshell\\passwd -debugLevelStdErrText=all -debugSetLoggerAndLevel=:warning
Straßensubsegmentanalyse = de.bwl.rpt.ref95.iav.strassensubsegmentanalyse.Applikation -messwerte=messwerte.properties -objekte=mq.a10.0000 -debugSetLoggerAndLevel=de.bwl.rpt.ref95.iav.strassensubsegmentanalyse.Applikation:finer
Ganglinienprognose = de.bwl.rpt.ref95.iav.ganglinienprognose.Applikation
AutomatischesLernenGanglinien = de.bwl.rpt.ref95.iav.automatischeslernenganglinien.Applikation
# Version: $Id: InterpreterMessages.properties 6716 2008-02-18 17:32:51Z Schumann $
Undefined:undefiniert
HandlerNotFound:Es konnte kein passender Handler für den Operator "{0}" gefunden werden.
BadMembership:Zugehörigkeit muss zwischen 0 und 1 liegen ({0} gefunden).
NoVariableWithNameAndTyp: Im Kontext existiert keine Variablen mit dem angegebenen Namen "{0}" und Typ "{1}".
NoVariableWithName: Im Kontext existiert keine Variablen mit dem angegebenen Namen "{0}".
BadVariableName: Der angegebene Name {0} entspricht nicht den Regeln für Symbole.
BadValueNull: Der Nullpointer ist als Variablenwert unzulässig.
NoBooleanValue: Der angegebene Werst ist kein logsicher Wert.
BadSymbol: Ein Operationssymbol muss druckbar sein.
BadHandlerNull: Der Handler darf nicht "null" sein.
BadTypNull: Der typ darf nicht "null" sein.
<uml>
<greenVersion="30000"/>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{Datensatz.java[Datensatz"/>
<height="-1"/>
<width="-1"/>
<x="313"/>
<y="293"/>
</type>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{OnlineDatensatz.java[OnlineDatensatz"/>
<height="-1"/>
<width="-1"/>
<x="31"/>
<y="442"/>
</type>
<relationship>
<class="edu.buffalo.cse.green.relationship.generalization.GeneralizationPart"/>
<sourceType="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{OnlineDatensatz.java[OnlineDatensatz"/>
<targetType="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{Datensatz.java[Datensatz"/>
<bendpoints>
</bendpoints>
</relationship>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{ParameterDatensatz.java[ParameterDatensatz"/>
<height="-1"/>
<width="-1"/>
<x="442"/>
<y="443"/>
</type>
<relationship>
<class="edu.buffalo.cse.green.relationship.generalization.GeneralizationPart"/>
<sourceType="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{ParameterDatensatz.java[ParameterDatensatz"/>
<targetType="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{Datensatz.java[Datensatz"/>
<bendpoints>
</bendpoints>
</relationship>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{SystemObjekt.java[SystemObjekt"/>
<height="-1"/>
<width="-1"/>
<x="27"/>
<y="35"/>
</type>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{Datum.java[Datum"/>
<height="-1"/>
<width="-1"/>
<x="796"/>
<y="286"/>
</type>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{DatensatzUpdateListener.java[DatensatzUpdateListener"/>
<height="-1"/>
<width="-1"/>
<x="629"/>
<y="124"/>
</type>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{Aspekt.java[Aspekt"/>
<height="-1"/>
<width="-1"/>
<x="630"/>
<y="200"/>
</type>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{Attributliste.java[Attributliste"/>
<height="-1"/>
<width="-1"/>
<x="796"/>
<y="453"/>
</type>
<type>
<name="=de.bsvrz.sys.funclib.bitctrl/src<de.bsvrz.sys.funclib.bitctrl.modell{ModellObjektFactory.java[ModellObjektFactory"/>
<height="-1"/>
<width="-1"/>
<x="629"/>
<y="34"/>
</type>
</uml>
......@@ -26,9 +26,11 @@
package de.bsvrz.sys.funclib.bitctrl.text;
import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.TimeUnit;
......@@ -40,8 +42,12 @@ import java.util.concurrent.TimeUnit;
public final class ZeitAngabe {
/** der Zeitwert, der dargestellt werden soll. */
private final long zeitWert;
private final LocalDateTime zeitWert;
/** der Zeitwert, der dargestellt werden soll als Dauer. */
private final Duration zeitDauer;
/**
* Konstruktor. Die Funktion erzeugt eine Instanz einer Zeitangabe. Der
* übergebene Wert repräsentiert eine Zeitgröße in Millisekunden.
......@@ -50,10 +56,22 @@ public final class ZeitAngabe {
* der Wert
*/
public ZeitAngabe(final long zeitWert) {
this.zeitWert = LocalDateTime.ofInstant(Instant.ofEpochMilli(zeitWert), ZoneId.systemDefault());
this.zeitDauer = Duration.ofMillis(zeitWert);
}
public ZeitAngabe(final LocalDateTime zeitWert) {
this.zeitWert = zeitWert;
this.zeitDauer = Duration.between(LocalDateTime.ofInstant(Instant.EPOCH, ZoneOffset.UTC.normalized()), zeitWert);
}
public ZeitAngabe(final Duration zeitDauer) {
this.zeitWert = LocalDateTime.ofInstant(Instant.ofEpochMilli(zeitDauer.toMillis()), ZoneId.systemDefault());
this.zeitDauer = zeitDauer;
}
/**
* liefert den Zeitwert als Dauer. Die Ausgabe erfolgt als a Tage b Stunden
* c Minuten d Sekunden e Millisekunden. Alle Bestandteile mit dem Wert 0
......@@ -81,12 +99,12 @@ public final class ZeitAngabe {
*/
public String dauerAlsText(final String maxText) {
final StringBuffer result = new StringBuffer();
if (zeitWert < 0) {
if (zeitDauer.isNegative()) {
result.append("ungültig");
} else if (zeitWert == Long.MAX_VALUE) {
} else if (zeitDauer.toMillis() == Long.MAX_VALUE) {
result.append(maxText);
} else {
long restWert = zeitWert;
long restWert = zeitDauer.toMillis();
restWert = teilDauerErmitteln(result, restWert,
TimeUnit.DAYS.toMillis(1), "Tage");
restWert = teilDauerErmitteln(result, restWert,
......@@ -111,7 +129,7 @@ public final class ZeitAngabe {
* @return den Wert in ms
*/
public long getZeitWert() {
return zeitWert;
return zeitDauer.toMillis();
}
/**
......@@ -178,13 +196,12 @@ public final class ZeitAngabe {
*/
public String zeitStempel(final String nullText, final String maxText) {
String result = null;
if ((zeitWert == 0) && (nullText != null)) {
if (zeitDauer.isZero() && (nullText != null)) {
result = nullText;
} else if ((zeitWert == Long.MAX_VALUE) && (maxText != null)) {
} else if ((zeitDauer.toMillis() == Long.MAX_VALUE) && (maxText != null)) {
result = maxText;
} else {
final LocalDateTime localDate = LocalDateTime.ofInstant(Instant.ofEpochMilli(zeitWert), ZoneId.systemDefault());
result = localDate.format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"));
result = zeitWert.format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"));
}
return result;
}
......
......@@ -23,7 +23,7 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
<p><u>Contact Information:</u></p>
<p>BitCtrl Systems GmbH<br>
Weienfelser Strae 67<br>
Weißenfelser Straße 67<br>
04229 Leipzig<br>
Phone: +49 341-490670<br>
mailto: info@bitctrl.de</p>
......
Platzhalterdatei, damit Ornderstruktur fuer Gradle in GitLab eingecheckt werden kann (Git ignoriert leere Ordner).
\ No newline at end of file
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Peuker
Created-By: Apache Maven 3.2.3
Build-Jdk: 1.8.0_131
......@@ -48,9 +48,10 @@ public class ZeitAngabeTest {
long timeStamp = LocalDateTime.of(1970, 1, 1, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant()
.toEpochMilli();
nullZeit = new ZeitAngabe(LocalDateTime.of(1970, 1, 1, 0, 0, 0));
timeStamp -= TimeUnit.DAYS.toMillis(3);
negative = new ZeitAngabe(timeStamp);
nullZeit = new ZeitAngabe(0);
timeStamp = LocalDateTime.of(2005, 12, 24, 0, 0, 0).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
normalZeit = new ZeitAngabe(timeStamp);
......@@ -87,7 +88,7 @@ public class ZeitAngabeTest {
@Test
public void testZeitStempel() {
Assert.assertEquals("29.12.1969 00:00:00", negative.zeitStempel());
Assert.assertEquals("01.01.1970 01:00:00", nullZeit.zeitStempel());
Assert.assertEquals("01.01.1970 00:00:00", nullZeit.zeitStempel());
Assert.assertEquals("24.12.2005 00:00:00", normalZeit.zeitStempel());
// Assert.assertEquals("17.08.292278994 09:12:55", maxZeit.zeitStempel());
}
......@@ -95,7 +96,7 @@ public class ZeitAngabeTest {
@Test
public void testZeitStempelString() {
Assert.assertEquals("29.12.1969 00:00:00", negative.zeitStempel(null));
Assert.assertEquals("01.01.1970 01:00:00", nullZeit.zeitStempel(null));
Assert.assertEquals("01.01.1970 00:00:00", nullZeit.zeitStempel(null));
Assert.assertEquals("24.12.2005 00:00:00", normalZeit.zeitStempel(null));
// Assert.assertEquals("17.08.292278994 09:12:55", maxZeit.zeitStempel(null));
......@@ -108,7 +109,7 @@ public class ZeitAngabeTest {
@Test
public void testZeitStempelStringString() {
Assert.assertEquals("29.12.1969 00:00:00", negative.zeitStempel(null, null));
Assert.assertEquals("01.01.1970 01:00:00", nullZeit.zeitStempel(null, null));
Assert.assertEquals("01.01.1970 00:00:00", nullZeit.zeitStempel(null, null));
Assert.assertEquals("24.12.2005 00:00:00", normalZeit.zeitStempel(null, null));
// Assert.assertEquals("17.08.292278994 09:12:55", maxZeit.zeitStempel(null, null));
......
......@@ -23,7 +23,7 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
<p><u>Contact Information:</u></p>
<p>BitCtrl Systems GmbH<br>
Weienfelser Strae 67<br>
Weißenfelser Straße 67<br>
04229 Leipzig<br>
Phone: +49 341-490670<br>
mailto: info@bitctrl.de</p>
......
Platzhalterdatei, damit Ornderstruktur fuer Gradle in GitLab eingecheckt werden kann (Git ignoriert leere Ordner).
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment