Commit 00baf0e2 authored by Jonas Waeber's avatar Jonas Waeber

Change mapping errors to warning from fatal

parent cebb6354
Pipeline #20580 passed with stages
in 3 minutes and 54 seconds
......@@ -97,11 +97,11 @@ class KafkaTopology(
)
parsedModelStream[1]
.mapValues { key, value ->
.mapValues { key, _ ->
Report(
key,
ReportStatus.fatal,
"Could not parse message. Found invalid input data (RiotException): $value",
"Could not parse message. Found invalid input data (RiotException). Check logs.",
Service.step
).toJson()
}
......@@ -158,7 +158,7 @@ class KafkaTopology(
return Pair(
Report(
key,
if (results.isEmpty()) ReportStatus.success else ReportStatus.fatal,
if (results.isEmpty()) ReportStatus.success else ReportStatus.warning,
if (results.isEmpty()) "Normalization was successful." else results.reduce { acc, s -> acc + "\n" + s }
.trim(),
Service.step
......
......@@ -35,6 +35,8 @@ import org.apache.kafka.common.serialization.StringSerializer
import org.apache.kafka.streams.TopologyTestDriver
import org.apache.kafka.streams.test.ConsumerRecordFactory
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.MethodSource
......@@ -64,6 +66,35 @@ class TestIntegration {
}.sorted().reduce { acc, s -> acc + "\n" + s }.trim()
}
private fun createHeaders(): RecordHeaders {
val headers = RecordHeaders()
headers.add(RecordHeader("sessionId", "test-session-id".toByteArray()))
headers.add(RecordHeader("recordSetId", "test-record-set-id".toByteArray()))
headers.add(RecordHeader("institutionId", "test-institution-id".toByteArray()))
headers.add(RecordHeader("isPublished", "false".toByteArray()))
headers.add(RecordHeader("xmlRecordTag", "record".toByteArray()))
headers.add(RecordHeader("xmlIdentifierFieldName", "identifierMain".toByteArray()))
headers.add(RecordHeader("tableSheetIndex", "1".toByteArray()))
headers.add(RecordHeader("tableHeaderCount", "1".toByteArray()))
headers.add(RecordHeader("tableHeaderIndex", "1".toByteArray()))
headers.add(RecordHeader("tableIdentifierIndex", "1".toByteArray()))
return headers
}
@Test
@Disabled
fun `test missing rdfType`() {
val service = Service("test1.yml")
val testDriver =
TopologyTestDriver(KafkaTopology(service.settings).prepare().build(), service.settings.kafkaStreamsSettings)
val factory = ConsumerRecordFactory(StringSerializer(), StringSerializer())
val input = readFile("missingRDFType/input.nt")
val output = readFile("missingRDFType/output.nt").lines()
val headers = createHeaders()
}
@ParameterizedTest
@MethodSource("kafkaTests")
fun `test kafka topology`(params: KafkaTestParams) {
......
......@@ -22,11 +22,6 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
_:b0 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Performance"@de , "Performance"@fr , "Prestazioni"@it ;
rico:resultsFrom _:b1 .
mbr:sfw-SFW_1376-2 a rico:Record ;
dcterms:abstract "Abstract: <br> Schweiz, Seedorf, UR: Moderner Landwirtschaftsbetrieb der Nonnen des Benediktinerinnen-Klosters <br> <br> Sequenzbeschrieb: <br> Seedorf, UR (Schweiz) – Schwenk AA Kloster <br> Seedorf, UR (Schweiz) – Benediktinerinnen bei Gartenarbeit <br> Seedorf, UR (Schweiz) – Nonne bei Feldarbeit auf dem Traktor, Ordensschwestern Heu wendend <br> Seedorf, UR (Schweiz) – Aufladen von Heu mit Ladewagen <br> Seedorf, UR (Schweiz) – Einfahrt Traktor mit vollem Heuwagen in Scheune <br> <br> Communiqué: <br> In Seedorf, Kanton Uri, gehören seit vielen hundert Jahren 6 Stunden Feldarbeit zum Tagesprogramm des dortigen Benediktinerinnen-Klosters. Heute verfügt es auch über die modernsten Erntemaschinen. <br> <br> Begleittext: <br> Die frommen Klosterfrauen von Seedorf im Reusstal sind bekannt dafür, dass sie mindestens 6 Stunden ihres Tagesprogramms der Garten-und Feldarbeit widmen. / Modernste Landwirtschaftsmaschinen erlauben den Benediktinerinnen sowohl sich selbst als auch eine dem Kloster angeschlossene Haushaltungsschule mit 30 jungen Töchtern reichhaltig zu ernähren. / Zur Zeit der Kreuzzüge stand hier ein Siechenhaus, das dem heiligen Lazarus geweiht war und schon damals viele hilfreiche weibliche Geister aus der ganzen Innerschweiz anzog. / Im 16. Jahrhundert übergab Papst Paul IV. das vom Kanton renovierte Kloster den Benediktinerinnen, die es seither geradezu mustergültig betreut haben. / Wenn der viele Regen das Gras nicht trocknen lässt, dann betreiben die fleissigen Nonnen das Emden in zwei Gruppen. Während die eine das Gras schneidet, fährt die andere mit der Maschine direkt hintendrein und lädt alles auf. / Das nasse Gras wird dann ins Kloster gefahren und dort in einer Spezialanlage getrocknet. Bei den Seedorfer Klosterfrauen ist es Tradition, weitherum im Lande als besonders aufgeschlossen und fortschrittlich zu gelten. <br> <br> <![CDATA[<a href=\"https://media.zem.ch/01WS/1969/Communique_1376.pdf\" target=\"_blank\">Communiqué_1376.pdf</a>]]>"@de ;
dcterms:issued [ a rico:DateRange ;
......@@ -43,17 +38,17 @@ mbr:sfw-SFW_1376-2 a rico:Record ;
rico:name "Seedorf, UR (Schweiz)"@de
] ;
schema:sameAs "https://www.recherche.bar.admin.ch/recherche/#/de/suche/archivplan/21689176" ;
ebucore:hasGenre _:b2 , _:b3 , _:b4 , _:b0 , _:b5 , _:b6 ;
ebucore:hasGenre _:b0 , _:b1 , _:b2 , _:b3 , _:b4 , _:b5 ;
rico:descriptiveNote "Quellenangabe für Zitate und Publikationen: <br> Schweizerisches Bundesarchiv, J2.143#1996/386#1376-1#2*, Schweizer Filmwochenschau vom 19.09.1969, Klosterfrauen treiben Agrarkultur (1376-2)"@de ;
rico:hasInstantiation <https://memobase.ch/instantiation/digital/sfw-SFW_1376-2-1> , <https://memobase.ch/instantiation/physical/sfw-SFW_1376-2-0> ;
rico:hasLanguage _:b7 , _:b8 ;
rico:hasLanguage _:b6 , _:b7 ;
rico:hasSubject [ a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Deskriptoren" ;
skos:prefLabel "RELIGION"@de
skos:prefLabel "CHRISTLICHE KIRCHE"@de
] ;
rico:hasSubject [ a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Deskriptoren" ;
skos:prefLabel "CHRISTLICHE KIRCHE"@de
skos:prefLabel "LANDWIRTSCHAFT"@de
] ;
rico:hasSubject [ a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Deskriptoren" ;
......@@ -65,7 +60,11 @@ mbr:sfw-SFW_1376-2 a rico:Record ;
] ;
rico:hasSubject [ a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Deskriptoren" ;
skos:prefLabel "LANDWIRTSCHAFT"@de
skos:prefLabel "RELIGION"@de
] ;
rico:hasTitle [ a rico:Title ;
rico:title "Schweizer Filmwochenschau"@de ;
rico:type "series"
] ;
rico:hasTitle [ a rico:Title ;
rico:title "Klosterfrauen treiben Agrarkultur (1376-2)"@de ;
......@@ -75,10 +74,6 @@ mbr:sfw-SFW_1376-2 a rico:Record ;
rico:title "Schweizer Filmwochenschau vom 19.09.1969"@de ;
rico:type "broadcast"
] ;
rico:hasTitle [ a rico:Title ;
rico:title "Schweizer Filmwochenschau"@de ;
rico:type "series"
] ;
rico:heldBy mbcb:sfw ;
rico:identifiedBy [ a rico:Identifier ;
rico:identifier "SFW_1376-2" ;
......@@ -93,7 +88,7 @@ mbr:sfw-SFW_1376-2 a rico:Record ;
rico:name "SFW"@de
] ;
rico:recordResourceOrInstantiationIsSourceOfCreationRelation
_:b9 ;
_:b8 ;
rico:regulatedBy [ a rico:Rule ;
rico:name "Cinémathèque suisse, Schweizerisches Bundesarchiv" ;
rico:regulates mbr:sfw-SFW_1376-2 ;
......@@ -102,26 +97,43 @@ mbr:sfw-SFW_1376-2 a rico:Record ;
rico:title "Klosterfrauen treiben Agrarkultur (1376-2)"@de ;
rico:type "Film" .
_:b8 a rico:Language ;
schema:sameAs "http://www.wikidata.org/entity/Q188" ;
rico:name "Deutsch"@de , "allemand"@fr , "tedesco"@it ;
rico:resultsFrom _:b10 ;
rico:type "content" .
_:b11 a rico:CarrierType ;
rico:name "35mm Zelluloseazetat"@de .
_:b9 a rico:Activity ;
rico:affects _:b0 ;
rico:beginningDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:endDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "GenreNormalizer" ;
rico:performs _:b9
] ;
rico:resultsIn _:b5 ;
rico:type "enrichment" .
_:b10 a rico:Activity ;
rico:affects _:b7 ;
rico:beginningDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:endDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:affects _:b1 ;
rico:beginningDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:endDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "LanguagesNormalizer" ;
rico:name "GenreNormalizer" ;
rico:performs _:b10
] ;
rico:resultsIn _:b8 ;
rico:resultsIn _:b3 ;
rico:type "enrichment" .
_:b4 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Filmwochenschau"@de , "Filmwochenschau"@fr , "Filmwochenschau"@it ;
rico:resultsFrom _:b11 .
_:b7 a rico:Language ;
schema:sameAs "http://www.wikidata.org/entity/Q188" ;
rico:name "Deutsch"@de , "allemand"@fr , "tedesco"@it ;
rico:resultsFrom _:b12 ;
rico:type "content" .
_:b1 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Ballett"@de .
<https://memobase.ch/instantiation/digital/sfw-SFW_1376-2-1>
a rico:Instantiation ;
ebucore:locator "<![CDATA[https://media.zem.ch/01WS/1969/SFW_1376.mp4?start=109&end=187]]>" ;
......@@ -145,22 +157,26 @@ _:b10 a rico:Activity ;
] ;
rico:type "digitalObject" .
_:b12 a rico:Activity ;
rico:affects _:b4 ;
rico:beginningDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:endDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
_:b6 a rico:Language ;
rico:name "dt"@de ;
rico:type "content" .
_:b13 a rico:Activity ;
rico:affects _:b14 ;
rico:beginningDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:endDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "GenreNormalizer" ;
rico:performs _:b12
rico:name "CarrierTypeNormalizer" ;
rico:performs _:b13
] ;
rico:resultsIn _:b5 ;
rico:resultsIn _:b15 ;
rico:type "enrichment" .
<https://memobase.ch/instantiation/physical/sfw-SFW_1376-2-0>
a rico:Instantiation ;
rdau:P60558 "SW"@de ;
ebucore:duration "78" ;
rico:hasCarrierType _:b13 , _:b11 ;
rico:hasCarrierType _:b15 , _:b14 ;
rico:hasDerivedInstantiation <https://memobase.ch/instantiation/digital/sfw-SFW_1376-2-1> ;
rico:identifiedBy [ a rico:Identifier ;
rico:identifier "https://memobase.ch/instantiation/physical/sfw-SFW_1376-2-0" ;
......@@ -173,76 +189,60 @@ _:b12 a rico:Activity ;
rico:instantiates mbr:sfw-SFW_1376-2 ;
rico:type "physicalObject" .
_:b3 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Filmwochenschau"@de , "Filmwochenschau"@fr , "Filmwochenschau"@it ;
rico:resultsFrom _:b14 .
_:b2 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Ballett"@de .
skos:prefLabel "Filmwochenschau"@de .
_:b5 a skos:Concept ;
_:b0 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Musik"@de , "Musique"@fr , "Musica"@it ;
rico:resultsFrom _:b12 .
skos:prefLabel "Canzone"@de .
_:b4 a skos:Concept ;
_:b15 a rico:CarrierType ;
schema:sameAs "http://www.wikidata.org/entity/Q226528" ;
rico:name "35-mm-Film"@de , "format 35 mm"@fr , "35 millimetri"@it ;
rico:resultsFrom _:b13 .
_:b3 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Canzone"@de .
skos:prefLabel "Performance"@de , "Performance"@fr , "Prestazioni"@it ;
rico:resultsFrom _:b10 .
_:b14 a rico:CarrierType ;
rico:name "35mm Zelluloseazetat"@de .
_:b1 a rico:Activity ;
_:b11 a rico:Activity ;
rico:affects _:b2 ;
rico:beginningDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:endDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:beginningDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:endDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "GenreNormalizer" ;
rico:performs _:b1
rico:performs _:b11
] ;
rico:resultsIn _:b0 ;
rico:resultsIn _:b4 ;
rico:type "enrichment" .
_:b6 a skos:Concept ;
_:b12 a rico:Activity ;
rico:affects _:b6 ;
rico:beginningDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:endDate "2021-42-22T08:42:51+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "LanguagesNormalizer" ;
rico:performs _:b12
] ;
rico:resultsIn _:b7 ;
rico:type "enrichment" .
_:b5 a skos:Concept ;
skos:editorialNote "Ursprungsfeld: Genre" ;
skos:prefLabel "Filmwochenschau"@de .
skos:prefLabel "Musik"@de , "Musique"@fr , "Musica"@it ;
rico:resultsFrom _:b9 .
_:b9 a rico:CreationRelation ;
_:b8 a rico:CreationRelation ;
rico:creationRelationHasSource mbr:sfw-SFW_1376-2 ;
rico:creationRelationHasTarget [ a rico:CorporateBody ;
rico:agentIsTargetOfCreationRelation
_:b9 ;
_:b8 ;
rico:name "Schweizer Filmwochenschau (SFW)"@de
] ;
rico:name "Autor" ;
rico:type "creator" .
_:b13 a rico:CarrierType ;
schema:sameAs "http://www.wikidata.org/entity/Q226528" ;
rico:name "35-mm-Film"@de , "format 35 mm"@fr , "35 millimetri"@it ;
rico:resultsFrom _:b15 .
_:b15 a rico:Activity ;
rico:affects _:b11 ;
rico:beginningDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:endDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "CarrierTypeNormalizer" ;
rico:performs _:b15
] ;
rico:resultsIn _:b13 ;
rico:type "enrichment" .
_:b14 a rico:Activity ;
rico:affects _:b6 ;
rico:beginningDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:endDate "2021-46-21T09:46:42+0000"^^xsd:dateTime ;
rico:performedBy [ a rico:Mechanism ;
rico:name "GenreNormalizer" ;
rico:performs _:b14
] ;
rico:resultsIn _:b3 ;
rico:type "enrichment" .
_:b7 a rico:Language ;
rico:name "dt"@de ;
rico:type "content" .
This diff is collapsed.
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