Skip to content

Commit 3491bcf

Browse files
fixes #10
1 parent b96f5b4 commit 3491bcf

File tree

9 files changed

+52
-17
lines changed

9 files changed

+52
-17
lines changed

CHANGELOG

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
### Changed
55
- ...
66

7+
## [1.0.2] - 2020-02-10
8+
- die Verkehrsstaerke hat jetzt ein Attribut "dimension" mit dem ersichtlich wird, ob es sich um "Fz/h" oder "Fz/Intervall" handelt. Bei fehlerhaften Daten, wird das Attribut "dimension" leer gelassen.
9+
710
## [1.0.0] - 2019-01-31
811
### Added
9-
- ...
12+
- ...

de.bitctrl.dav.rest.api/.classpath

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@
1616
<attributes>
1717
<attribute name="gradle_scope" value="test"/>
1818
<attribute name="gradle_used_by_scope" value="test"/>
19+
<attribute name="test" value="true"/>
1920
</attributes>
2021
</classpathentry>
2122
<classpathentry kind="src" output="bin/test" path="src/test/resources">
2223
<attributes>
2324
<attribute name="gradle_scope" value="test"/>
2425
<attribute name="gradle_used_by_scope" value="test"/>
26+
<attribute name="test" value="true"/>
2527
</attributes>
2628
</classpathentry>
2729
<classpathentry kind="src" output="bin/main" path="build/generated">

de.bitctrl.dav.rest.api/src/main/resources/de.bitctrl.dav.rest.raml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#%RAML 1.0
22
title: BitCtrl CMS JSON API
3-
version: v1
3+
version: v2
44
protocols: [ HTTPS ]
55
baseUri: https://bitctrl.de/dav/api/{version}
66
mediaType: application/json

de.bitctrl.dav.rest.api/src/main/resources/types.raml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,15 @@ types:
7070
datenStatus: string
7171
zeitstempel: datetime
7272
Verkehrsstaerke:
73-
description: Anzahl der Fahrzeuge pro Intervall
73+
description: Anzahl der Fahrzeuge pro Intervall.
7474
type: object
7575
additionalProperties: false
7676
properties:
7777
wert: integer
7878
guete: number
79+
dimension:
80+
type: string
81+
description: Die Dimension für die Verkehrsstärke. Normalersweise "Fz/h" oder "Fz/Intervall". Bei ungültigen Daten "".
7982
Geschwindigkeit:
8083
description: Geschwindigkeit (von Fahrzeugen) in km/h.
8184
type: object

de.bitctrl.dav.rest.client/.classpath

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<attributes>
1111
<attribute name="gradle_scope" value="test"/>
1212
<attribute name="gradle_used_by_scope" value="test"/>
13+
<attribute name="test" value="true"/>
1314
</attributes>
1415
</classpathentry>
1516
<classpathentry kind="src" output="bin/main" path="src/main/resources">
@@ -22,6 +23,7 @@
2223
<attributes>
2324
<attribute name="gradle_scope" value="test"/>
2425
<attribute name="gradle_used_by_scope" value="test"/>
26+
<attribute name="test" value="true"/>
2527
</attributes>
2628
</classpathentry>
2729
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>

de.bitctrl.dav.rest.client/src/main/java/de/bitctrl/dav/rest/client/converter/VerkehrDatenKurzZeitUtil.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import de.bitctrl.dav.rest.api.model.Verkehrsstaerke;
2727
import de.bitctrl.dav.rest.api.model.VerkehrsstaerkeImpl;
2828
import de.bsvrz.dav.daf.main.Data;
29+
import de.bsvrz.dav.daf.main.Data.NumberValue;
2930
import de.bsvrz.dav.daf.main.ResultData;
3031
import de.bsvrz.dav.daf.main.config.Aspect;
3132

@@ -88,16 +89,20 @@ static Geschwindigkeit extraktGeschwindigkeit(Data data) {
8889
static Verkehrsstaerke extraktVerkehrsStaerke(Data data) {
8990
final Verkehrsstaerke qKfz = new VerkehrsstaerkeImpl();
9091
if (data.getUnscaledValue("Wert").isState()) {
91-
qKfz.setWert(data.getUnscaledValue("Wert").intValue());
92+
NumberValue unscaledValue = data.getUnscaledValue("Wert");
93+
qKfz.setWert(unscaledValue.intValue());
94+
qKfz.setDimension("");
9295
} else {
93-
qKfz.setWert(data.getScaledValue("Wert").intValue());
96+
NumberValue scaledValue = data.getScaledValue("Wert");
97+
qKfz.setWert(scaledValue.intValue());
98+
qKfz.setDimension(scaledValue.getSuffixText());
9499
}
95100
if (data.getItem("Güte").getUnscaledValue("Index").isState()) {
96101
qKfz.setGuete(data.getItem("Güte").getUnscaledValue("Index").doubleValue());
97102
} else {
98103
qKfz.setGuete(data.getItem("Güte").getScaledValue("Index").doubleValue());
99104
}
100-
105+
101106
return qKfz;
102107
}
103108

de.bitctrl.dav.rest.client/src/test/java/de/bitctrl/dav/rest/client/converter/VerkehrsDatenKurzZeitFSConverterTest.java

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,23 @@ public static void tearDownAfterClass() throws Exception {
6868
dataModel.close();
6969
}
7070

71-
@Parameters(name = "{index}: anzahl->{0}, geschwindigkeit->{1}, guete->{2}, datum->{3}, belegung->{4}")
71+
@Parameters(name = "{index}: anzahl->{0}, geschwindigkeit->{1}, guete->{2}, datum->{3}, belegung->{4}, atg->{5}, asp->{6}")
7272
public static Collection<Object[]> data() {
7373

7474
return Arrays.asList(new Object[][] {
7575
// anahl Fz, geschwindigkeit, güte, datum, belegung
76-
{ -3, -3, 0.2d, LocalDateTime.of(2019, 1, 1, 0, 0), 0 },
77-
{ -2, -2, 0.999d, LocalDateTime.of(2019, 12, 31, 23, 59), 1 },
78-
{ -2, -2, 0.0, LocalDateTime.of(2019, 3, 31, 2, 0), 99 },
79-
{ -1, -1, 1d, LocalDateTime.of(2019, 2, 28, 12, 0), 100 },
80-
{ 0, 0, 0.5d, LocalDateTime.of(2019, 9, 27, 12, 0), 1 },
81-
{ 100, 254, 0.5d, LocalDateTime.of(2019, 3, 14, 12, 0), 55 }
76+
{ -3, -3, 0.2d, LocalDateTime.of(2019, 1, 1, 0, 0), 0,"atg.verkehrsDatenKurzZeitFs","asp.externeErfassung","" },
77+
{ 3, 3, 0.9d, LocalDateTime.of(2019, 1, 1, 0, 0), 1,"atg.verkehrsDatenKurzZeitFs","asp.externeErfassung","Fz/h" },
78+
{ -2, -2, 0.999d, LocalDateTime.of(2019, 12, 31, 23, 59), 1 ,"atg.verkehrsDatenKurzZeitFs","asp.analyse",""},
79+
{ 2, 2, 0.999d, LocalDateTime.of(2019, 12, 31, 23, 59), 1 ,"atg.verkehrsDatenKurzZeitFs","asp.analyse","Fz/h"},
80+
{ -2, -2, 0.0, LocalDateTime.of(2019, 3, 31, 2, 0), 99 ,"atg.verkehrsDatenKurzZeitFs","asp.agregation1Minute",""},
81+
{ 2, 2, 0.0, LocalDateTime.of(2019, 3, 31, 2, 0), 99 ,"atg.verkehrsDatenKurzZeitFs","asp.agregation1Minute","Fz/h"},
82+
{ -1, -1, 1d, LocalDateTime.of(2019, 2, 28, 12, 0), 100 ,"atg.verkehrsDatenKurzZeitFs","asp.agregation5Minuten",""},
83+
{ 1, 1, 1d, LocalDateTime.of(2019, 2, 28, 12, 0), 100 ,"atg.verkehrsDatenKurzZeitFs","asp.agregation5Minuten","Fz/h"},
84+
{ 0, 0, 0.5d, LocalDateTime.of(2019, 9, 27, 12, 0), 1 ,"atg.verkehrsDatenKurzZeitFs","asp.analyse","Fz/h"},
85+
{ 100, 254, 0.5d, LocalDateTime.of(2019, 3, 14, 12, 0), 55,"atg.verkehrsDatenKurzZeitFs","asp.analyse","Fz/h" },
86+
{ 30, 111, 1d, LocalDateTime.of(2020, 2, 10, 12, 0), 12,"atg.verkehrsDatenKurzZeitIntervall","asp.externeErfassung","Fz/Intervall" },
87+
{ 45, 22, 0.1d, LocalDateTime.of(2020,1, 10, 12, 0), 33,"atg.verkehrsDatenKurzZeitIntervall","asp.messWertErsetzung","Fz/Intervall" }
8288

8389
});
8490

@@ -98,12 +104,21 @@ public static Collection<Object[]> data() {
98104

99105
@Parameter(4)
100106
public int belegung;
107+
108+
@Parameter(5)
109+
public String atgPid;
110+
111+
@Parameter(6)
112+
public String aspPid;
113+
114+
@Parameter(7)
115+
public String dimension;
101116

102117
@Test
103118
public void test() {
104119
final SystemObject fs = dataModel.getObject("test.fs1");
105-
final AttributeGroup atg = dataModel.getAttributeGroup("atg.verkehrsDatenKurzZeitFs");
106-
final Aspect asp = dataModel.getAspect("asp.externeErfassung");
120+
final AttributeGroup atg = dataModel.getAttributeGroup(atgPid);
121+
final Aspect asp = dataModel.getAspect(aspPid);
107122

108123
final Data data = AttributeBaseValueDataFactory.createAdapter(atg, AttributeHelper.getAttributesValues(atg));
109124
data.getItem("qKfz").getUnscaledValue("Wert").set(anzahl);
@@ -122,13 +137,17 @@ public void test() {
122137

123138
final ResultData rd = new ResultData(fs, new DataDescription(atg, asp),
124139
time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(), data);
125-
140+
141+
126142
final VerkehrsDatenKurzZeitFSConverter converter = new VerkehrsDatenKurzZeitFSConverter();
127143
final VerkehrsdatenKurzzeit result = converter.dav2Json(rd).iterator().next();
128144

129145
Assert.assertEquals(anzahl, result.getQKfz().getWert());
146+
Assert.assertEquals(dimension, result.getQKfz().getDimension());
130147
Assert.assertEquals(anzahl, result.getQLkw().getWert());
148+
Assert.assertEquals(dimension, result.getQLkw().getDimension());
131149
Assert.assertEquals(anzahl, result.getQPkw().getWert());
150+
Assert.assertEquals(dimension, result.getQPkw().getDimension());
132151
Assert.assertEquals(geschwindigkeit, result.getVKfz().getWert());
133152
Assert.assertEquals(geschwindigkeit, result.getVLkw().getWert());
134153
Assert.assertEquals(geschwindigkeit, result.getVPkw().getWert());

de.bitctrl.dav.rest.server/.classpath

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<attributes>
1111
<attribute name="gradle_scope" value="test"/>
1212
<attribute name="gradle_used_by_scope" value="test"/>
13+
<attribute name="test" value="true"/>
1314
</attributes>
1415
</classpathentry>
1516
<classpathentry kind="src" output="bin/main" path="src/main/resources">
@@ -22,6 +23,7 @@
2223
<attributes>
2324
<attribute name="gradle_scope" value="test"/>
2425
<attribute name="gradle_used_by_scope" value="test"/>
26+
<attribute name="test" value="true"/>
2527
</attributes>
2628
</classpathentry>
2729
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>

de.bitctrl.dav.rest.server/src/test/java/RestTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
/*
32
* Licensed to the Apache Software Foundation (ASF) under one
43
* or more contributor license agreements. See the NOTICE file

0 commit comments

Comments
 (0)