Commit 29e94a85 authored by Steinberg, Jan's avatar Steinberg, Jan

tatup transformation including test case

parent 107a71c7
......@@ -1882,6 +1882,77 @@ public class XsltTransformerOaiPmhBundlesStreamSourceTest {
}
@Test
public void getSinglePublicationTatup() throws IOException {
Map<String, String> map = new HashMap<>();
// String oaiMarcXsltString = IOUtils.toString(
// getClass().
// getClassLoader().
// getResourceAsStream("xslt/hjk-oai_marc-2-xmlbundle.xslt"), StandardCharsets.UTF_8);
// map.put("oai_marc", oaiMarcXsltString);
//
String oaiDcXsltString = IOUtils.toString(
getClass().
getClassLoader().
getResourceAsStream("xslt/tatup-oai_dc-2-xmlbundle.xslt"), StandardCharsets.UTF_8);
map.put("oai_dc", oaiDcXsltString);
XsltTransformerOaiPmhBundlesStreamSource bss = new XsltTransformerOaiPmhBundlesStreamSource("https://www.tatup.de/index.php/tatup/oai", map);
Bundle bundle = bss.getBundle("oai:TATuP:article/22");
LOG.info("{}", bundle);
Set<Metadatum> metadata = bundle.getMetadata();
metadata.stream().map(Object::toString).forEach(LOG::info);
assertTrue( metadata.contains( new SimpleMetadatum("dc.type.stock", "article") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.type.document", "32") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.source.journal", "1661") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.description.pubstatus", "1") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.contributor.author", "Weber, Karsten") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.contributor.author", "Kleine, Nadine") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.contributor.author", "Pallas, Frank") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.contributor.author", "Ulbricht, Max-R.") ) );
assertEquals(4, metadata.stream().filter(m -> m.getKey().equals("dc.contributor.author") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.description.review", "1") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.description.review") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.date.issued", "2017") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.description.abstract", "de", "Wenn BürgerInnen aktiv am Datengewinnungsprozess als zentralem Baustein empirisch ausgerichteter wissenschaftlicher Projekte teilhaben, kann dies als Beitrag zu einer offenen und bürgernahen Wissenschaft angesehen werden. Eine solche Teilhabe kann durch die Bereitstellung von technischen Werkzeugen erheblich erleichtert werden. Daher sollen Participatory Sensing als Bereitstellung von günstigen Sensoren zur Messung von Umweltparametern sowie Wearable Technologies zur Aufnahme von quantifizierten Vitaldaten und physiologischen Zuständen vorgestellt werden. Konzeptionell kann die Bereitstellung von Daten, die mit diesen Werkzeugen erhoben wurden, als Allmende verstanden werden – mit allen damit verbundenen Chancen und Risiken. Nach der Beschreibung von Beispielen aus den Bereichen von Participatory Sensing und Wearable Technologies werden zu erwartende Herausforderungen identifiziert und technisch-organisatorische Ansätze zu deren Lösung skizziert.") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.description.abstract", "en", "If citizens actively participate in the process of collecting empirical data, as a key element of empirically oriented scientific projects, this can be seen as a contribution to an open and citizen-oriented science. Such participation can be supported by providing technical tools. The paper therefore presents examples of participatory sensing as the provision of affordable sensors for measuring environmental parameters as well as wearable technologies for recording quantified vital data and physiological states. Conceptually, the provision of data collected with these tools can be understood as a commons – with all opportunities and risks associated with such goods. After describing examples of participatory sensing and wearable technologies, the authors identify potential challenges and outline technical and organizational approaches to solve them.") ) );
assertEquals(2, metadata.stream().filter(m -> m.getKey().equals("dc.description.abstract") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.identifier.issn", "2567-8833") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.identifier.url", "https://www.tatup.de/index.php/tatup/article/view/22") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.identifier.url") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.language", "de") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.source.issue", "1-2") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.source.issue") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.source.volume", "26") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.source.volume") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.rights.licence", "16") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.source.issuetopic", "Open Science – zwischen Hype und Disruption") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.source.issuetopic") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.source.pageinfo", "25-30") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.source.pageinfo") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.title.alternative", "en", "Participatory sensing and wearable technologies as tools to support citizen and open science") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.title.alternative") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.title", "de", "Technik zur Unterstützung von Citizen Science und Open Science") ) );
assertEquals(1, metadata.stream().filter(m -> m.getKey().equals("dc.title") ).count() );
assertTrue( metadata.contains( new SimpleMetadatum("dc.identifier.doi", "https://doi.org/10.14512/tatup.26.1-2.25") ) );
assertTrue( metadata.contains( new SimpleMetadatum("internal.dda.reference", "https://www.tatup.de/index.php/tatup/oai@@oai:TATuP:article/22") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.publisher.country", "DEU") ) );
// assertTrue( metadata.contains( new SimpleMetadatum("internal.identifier.classoz", "10900") ) );
// assertTrue( metadata.contains( new SimpleMetadatum("dc.subject.classoz", "10900") ) );
assertTrue( metadata.contains( new SimpleMetadatum("internal.identifier.ddc", "300") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.subject.ddc", "300") ) );
assertTrue( metadata.contains( new SimpleMetadatum("internal.status", "formal und inhaltlich fertig erschlossen") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.subject.other", "en", "participatory sensing") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.subject.other", "en", "wearable technology") ) );
assertTrue( metadata.contains( new SimpleMetadatum("dc.subject.other", "en", "citizen science") ) );
Set<InputStream> fileSet = bundle.getContents();
assertEquals( 2, fileSet.size());
}
@Test
public void iterateThroughFqsPublications() throws IOException {
Map<String, String> map = new HashMap<>();
......
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