From e6124896709ab5087bf69c6905df96f641d0c8ab Mon Sep 17 00:00:00 2001 From: Serafeim Chatzopoulos Date: Wed, 6 Apr 2022 19:12:44 +0300 Subject: [PATCH 1/5] Add fileGZip collector plugin and respective test --- .../dhp/collection/CollectorWorker.java | 3 + .../collection/plugin/CollectorPlugin.java | 2 +- .../fileGZip/FileGZipCollectorPlugin.java | 49 ++++++++++++++++ .../fileGZip/FileGZipCollectorPluginTest.java | 55 ++++++++++++++++++ .../plugin/fileGZip/opendoar.xml.gz | Bin 0 -> 372515 bytes 5 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java create mode 100644 dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java create mode 100644 dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java index 2ea3f35ccb..03f592169c 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java @@ -7,6 +7,7 @@ import java.io.IOException; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; +import eu.dnetlib.dhp.collection.plugin.fileGZip.FileGZipCollectorPlugin; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; @@ -114,6 +115,8 @@ public class CollectorWorker extends ReportingJob { return new OaiCollectorPlugin(clientParams); case rest_json2xml: return new RestCollectorPlugin(clientParams); + case fileGZip: + return new FileGZipCollectorPlugin(); case other: final CollectorPlugin.NAME.OTHER_NAME plugin = Optional .ofNullable(api.getParams().get("other_plugin_type")) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java index 841d42fea8..7d6aaaff86 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java @@ -10,7 +10,7 @@ import eu.dnetlib.dhp.common.collection.CollectorException; public interface CollectorPlugin { enum NAME { - oai, other, rest_json2xml; + oai, other, rest_json2xml, fileGZip; public enum OTHER_NAME { mdstore_mongodb_dump, mdstore_mongodb diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java new file mode 100644 index 0000000000..38f3288904 --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java @@ -0,0 +1,49 @@ +package eu.dnetlib.dhp.collection.plugin.fileGZip; + +import eu.dnetlib.dhp.collection.ApiDescriptor; +import eu.dnetlib.dhp.collection.plugin.CollectorPlugin; +import eu.dnetlib.dhp.common.aggregation.AggregatorReport; +import eu.dnetlib.dhp.common.collection.CollectorException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.net.URL; +import java.util.Optional; +import java.util.stream.Stream; +import java.util.zip.GZIPInputStream; + +public class FileGZipCollectorPlugin implements CollectorPlugin { + + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPlugin.class); + + public static final String ENCODING = "encoding"; + + @Override + public Stream collect(ApiDescriptor api, AggregatorReport report) throws CollectorException { + + final String baseUrl = Optional + .ofNullable(api.getBaseUrl()) + .orElseThrow( () -> new CollectorException("missing baseUrl, required by the fileGZip collector plugin")); + + log.info("fileGZip.baseUrl: {}", baseUrl); + + final String encoding = Optional + .ofNullable(api.getParams().get(ENCODING)) + .orElseThrow(() -> new CollectorException(String.format("missing parameter '%s', required by the fileGZip collector plugin", ENCODING))); + + log.info("fileGZip.encoding: {}", encoding); + + try { + + InputStream gzipStream = new GZIPInputStream(new FileInputStream(baseUrl)); + Reader decoder = new InputStreamReader(gzipStream, encoding); + BufferedReader reader = new BufferedReader(decoder); + + return reader.lines(); + + } catch (Exception e) { + throw new CollectorException(e); + } + } +} diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java new file mode 100644 index 0000000000..793a5b04cd --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java @@ -0,0 +1,55 @@ +package eu.dnetlib.dhp.collection.plugin.fileGZip; + +import eu.dnetlib.dhp.collection.ApiDescriptor; +import eu.dnetlib.dhp.common.aggregation.AggregatorReport; +import eu.dnetlib.dhp.common.collection.CollectorException; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.stream.Stream; + +public class FileGZipCollectorPluginTest { + + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); + + private final ApiDescriptor api = new ApiDescriptor(); + private FileGZipCollectorPlugin plugin; + + private static final String SPLIT_ON_ELEMENT = "repository"; + private static final String ENCODING = "UTF-8"; + + @BeforeEach + public void setUp() { + + final String gzipFile = this + .getClass() + .getResource("/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz") + .getFile(); + + System.out.println(gzipFile); + api.setBaseUrl(gzipFile); + + HashMap params = new HashMap<>(); + params.put("splitOnElement", SPLIT_ON_ELEMENT); + params.put("encoding", ENCODING); + + api.setParams(params); + + plugin = new FileGZipCollectorPlugin(); + } + + @Test + void test() throws CollectorException { + + final Stream stream = plugin.collect(api, new AggregatorReport()); + + stream.limit(10).forEach(s -> { + Assertions.assertTrue(s.length() > 0); + log.info(s); + }); + } +} diff --git a/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz b/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..f783b69e7ba5339a691817fb012566c5c3e95dca GIT binary patch literal 372515 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

@6m9Xoy#64F|tDL#MF2+EN4k? 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

f=GUPf~x~YOl;H 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 literal 0 HcmV?d00001 From bc1bf555076af7e3b7a15c0f292fa056d00b38d5 Mon Sep 17 00:00:00 2001 From: Serafeim Chatzopoulos Date: Thu, 7 Apr 2022 14:31:22 +0300 Subject: [PATCH 2/5] Add AbstractSplittedRecordPlugin --- .../dhp/collection/CollectorWorker.java | 2 +- .../file/AbstractSplittedRecordPlugin.java | 54 ++++++ .../plugin/file/FileGZipCollectorPlugin.java | 29 +++ .../fileGZip/FileGZipCollectorPlugin.java | 49 ----- .../collection/plugin/oai/OaiIterator.java | 2 +- .../collection/plugin/rest/RestIterator.java | 2 +- .../{ => plugin/utils}/JsonUtils.java | 2 +- .../collection/plugin/utils/XMLIterator.java | 170 ++++++++++++++++++ .../{ => plugin/utils}/XmlCleaner.java | 2 +- .../FileGZipCollectorPluginTest.java | 7 +- .../{fileGZip => file/gzip}/opendoar.xml.gz | Bin 11 files changed, 260 insertions(+), 59 deletions(-) create mode 100644 dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java create mode 100644 dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java delete mode 100644 dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java rename dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/{ => plugin/utils}/JsonUtils.java (98%) create mode 100644 dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java rename dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/{ => plugin/utils}/XmlCleaner.java (99%) rename dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/{fileGZip => file}/FileGZipCollectorPluginTest.java (87%) rename dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/{fileGZip => file/gzip}/opendoar.xml.gz (100%) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java index 03f592169c..5de4eb84b1 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java @@ -7,7 +7,7 @@ import java.io.IOException; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; -import eu.dnetlib.dhp.collection.plugin.fileGZip.FileGZipCollectorPlugin; +import eu.dnetlib.dhp.collection.plugin.file.FileGZipCollectorPlugin; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java new file mode 100644 index 0000000000..c569926c08 --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java @@ -0,0 +1,54 @@ +package eu.dnetlib.dhp.collection.plugin.file; + +import java.io.BufferedInputStream; +import java.util.Iterator; +import java.util.Optional; +import java.util.Spliterator; +import java.util.Spliterators; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; + +import eu.dnetlib.dhp.collection.ApiDescriptor; +import eu.dnetlib.dhp.collection.plugin.CollectorPlugin; +import eu.dnetlib.dhp.collection.plugin.utils.XMLIterator; +import eu.dnetlib.dhp.common.aggregation.AggregatorReport; +import eu.dnetlib.dhp.common.collection.CollectorException; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public abstract class AbstractSplittedRecordPlugin implements CollectorPlugin { + + private static final Logger log = LoggerFactory.getLogger(AbstractSplittedRecordPlugin.class); + + public static final String SPLIT_ON_ELEMENT = "splitOnElement"; + + @Override + public Stream collect(ApiDescriptor api, AggregatorReport report) throws CollectorException { + + final String baseUrl = Optional + .ofNullable(api.getBaseUrl()) + .orElseThrow( () -> new CollectorException("missing baseUrl, required by the AbstractSplittedRecordPlugin")); + + log.info("baseUrl: {}", baseUrl); + + final String splitOnElement = Optional + .ofNullable(api.getParams().get(SPLIT_ON_ELEMENT)) + .orElseThrow(() -> new CollectorException(String.format("missing parameter '%s', required by the AbstractSplittedRecordPlugin", SPLIT_ON_ELEMENT))); + + log.info("splitOnElement: {}", splitOnElement); + + final BufferedInputStream bis = getBufferedInputStream(baseUrl); + + Iterator xmlIterator = new XMLIterator(splitOnElement, bis); + + return StreamSupport.stream( + Spliterators.spliteratorUnknownSize(xmlIterator, Spliterator.ORDERED), + false + ); + } + + abstract protected BufferedInputStream getBufferedInputStream(final String baseUrl) throws CollectorException; + +} \ No newline at end of file diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java new file mode 100644 index 0000000000..a4dd65d2af --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java @@ -0,0 +1,29 @@ +package eu.dnetlib.dhp.collection.plugin.file; + +import eu.dnetlib.dhp.common.collection.CollectorException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.zip.GZIPInputStream; + +public class FileGZipCollectorPlugin extends AbstractSplittedRecordPlugin { + + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPlugin.class); + + @Override + protected BufferedInputStream getBufferedInputStream(String baseUrl) throws CollectorException { + + log.info("baseUrl: {}", baseUrl); + + try { + GZIPInputStream stream = new GZIPInputStream(new FileInputStream(baseUrl)); + return new BufferedInputStream(stream); + } catch (Exception e) { + e.printStackTrace(); + throw new CollectorException(e); + } + } +} diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java deleted file mode 100644 index 38f3288904..0000000000 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPlugin.java +++ /dev/null @@ -1,49 +0,0 @@ -package eu.dnetlib.dhp.collection.plugin.fileGZip; - -import eu.dnetlib.dhp.collection.ApiDescriptor; -import eu.dnetlib.dhp.collection.plugin.CollectorPlugin; -import eu.dnetlib.dhp.common.aggregation.AggregatorReport; -import eu.dnetlib.dhp.common.collection.CollectorException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.*; -import java.net.URL; -import java.util.Optional; -import java.util.stream.Stream; -import java.util.zip.GZIPInputStream; - -public class FileGZipCollectorPlugin implements CollectorPlugin { - - private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPlugin.class); - - public static final String ENCODING = "encoding"; - - @Override - public Stream collect(ApiDescriptor api, AggregatorReport report) throws CollectorException { - - final String baseUrl = Optional - .ofNullable(api.getBaseUrl()) - .orElseThrow( () -> new CollectorException("missing baseUrl, required by the fileGZip collector plugin")); - - log.info("fileGZip.baseUrl: {}", baseUrl); - - final String encoding = Optional - .ofNullable(api.getParams().get(ENCODING)) - .orElseThrow(() -> new CollectorException(String.format("missing parameter '%s', required by the fileGZip collector plugin", ENCODING))); - - log.info("fileGZip.encoding: {}", encoding); - - try { - - InputStream gzipStream = new GZIPInputStream(new FileInputStream(baseUrl)); - Reader decoder = new InputStreamReader(gzipStream, encoding); - BufferedReader reader = new BufferedReader(decoder); - - return reader.lines(); - - } catch (Exception e) { - throw new CollectorException(e); - } - } -} diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/oai/OaiIterator.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/oai/OaiIterator.java index 566c6b216c..28b2572fb4 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/oai/OaiIterator.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/oai/OaiIterator.java @@ -19,7 +19,7 @@ import org.dom4j.io.XMLWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import eu.dnetlib.dhp.collection.XmlCleaner; +import eu.dnetlib.dhp.collection.plugin.utils.XmlCleaner; import eu.dnetlib.dhp.common.aggregation.AggregatorReport; import eu.dnetlib.dhp.common.collection.CollectorException; import eu.dnetlib.dhp.common.collection.HttpConnector2; diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/rest/RestIterator.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/rest/RestIterator.java index 64a041fd4a..e4bad2f8d6 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/rest/RestIterator.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/rest/RestIterator.java @@ -30,7 +30,7 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; -import eu.dnetlib.dhp.collection.JsonUtils; +import eu.dnetlib.dhp.collection.plugin.utils.JsonUtils; import eu.dnetlib.dhp.common.collection.CollectorException; import eu.dnetlib.dhp.common.collection.HttpClientParams; diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/JsonUtils.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/JsonUtils.java similarity index 98% rename from dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/JsonUtils.java rename to dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/JsonUtils.java index da3768a4ac..15401e2230 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/JsonUtils.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/JsonUtils.java @@ -1,5 +1,5 @@ -package eu.dnetlib.dhp.collection; +package eu.dnetlib.dhp.collection.plugin.utils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java new file mode 100644 index 0000000000..853973ebbb --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java @@ -0,0 +1,170 @@ +package eu.dnetlib.dhp.collection.plugin.utils; + +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.StringWriter; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; +import java.util.Iterator; + +import javax.xml.stream.XMLEventFactory; +import javax.xml.stream.XMLEventReader; +import javax.xml.stream.XMLEventWriter; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLOutputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.events.StartElement; +import javax.xml.stream.events.XMLEvent; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +public class XMLIterator implements Iterator { + + private static final Log log = LogFactory.getLog(XMLIterator.class); + + private ThreadLocal inputFactory = new ThreadLocal() { + + @Override + protected XMLInputFactory initialValue() { + return XMLInputFactory.newInstance(); + } + }; + + private ThreadLocal outputFactory = new ThreadLocal() { + + @Override + protected XMLOutputFactory initialValue() { + return XMLOutputFactory.newInstance(); + } + }; + + private ThreadLocal eventFactory = new ThreadLocal() { + + @Override + protected XMLEventFactory initialValue() { + return XMLEventFactory.newInstance(); + } + }; + + public static final String UTF_8 = "UTF-8"; + + final XMLEventReader parser; + + private XMLEvent current = null; + + private String element; + + private InputStream inputStream; + + public XMLIterator(final String element, final InputStream inputStream) { + super(); + this.element = element; + this.inputStream = inputStream; + this.parser = getParser(); + try { + this.current = findElement(parser); + } catch (XMLStreamException e) { + log.warn("cannot init parser position. No element found: " + element); + current = null; + } + } + + @Override + public boolean hasNext() { + return current != null; + } + + @Override + public String next() { + String result = null; + try { + result = copy(parser); + current = findElement(parser); + return result; + } catch (XMLStreamException e) { + throw new RuntimeException(String.format("error copying xml, built so far: '%s'", result), e); + } + } + + @Override + public void remove() { + throw new UnsupportedOperationException(); + } + + @SuppressWarnings("finally") + private String copy(final XMLEventReader parser) throws XMLStreamException { + final StringWriter result = new StringWriter(); + try { + final XMLEventWriter writer = outputFactory.get().createXMLEventWriter(result); + final StartElement start = current.asStartElement(); + final StartElement newRecord = eventFactory.get().createStartElement(start.getName(), start.getAttributes(), start.getNamespaces()); + + // new root record + writer.add(newRecord); + + // copy the rest as it is + while (parser.hasNext()) { + final XMLEvent event = parser.nextEvent(); + + // TODO: replace with depth tracking instead of close tag tracking. + if (event.isEndElement() && event.asEndElement().getName().getLocalPart().equals(element)) { + writer.add(event); + break; + } + + writer.add(event); + } + writer.close(); + } finally { + return result.toString(); + } + } + + /** + * Looks for the next occurrence of the splitter element. + * + * @param parser + * @return + * @throws XMLStreamException + */ + private XMLEvent findElement(final XMLEventReader parser) throws XMLStreamException { + + /* + * if (current != null && element.equals(current.asStartElement().getName().getLocalPart())) { return current; } + */ + + XMLEvent peek = parser.peek(); + if (peek != null && peek.isStartElement()) { + String name = peek.asStartElement().getName().getLocalPart(); + if (element.equals(name)) { return peek; } + } + + while (parser.hasNext()) { + final XMLEvent event = parser.nextEvent(); + if (event != null && event.isStartElement()) { + String name = event.asStartElement().getName().getLocalPart(); + if (element.equals(name)) { return event; } + } + } + return null; + } + + private XMLEventReader getParser() { + try { + return inputFactory.get().createXMLEventReader(sanitize(inputStream)); + } catch (XMLStreamException e) { + throw new RuntimeException(e); + } + } + + private Reader sanitize(final InputStream in) { + final CharsetDecoder charsetDecoder = Charset.forName(UTF_8).newDecoder(); + charsetDecoder.onMalformedInput(CodingErrorAction.REPLACE); + charsetDecoder.onUnmappableCharacter(CodingErrorAction.REPLACE); + return new InputStreamReader(in, charsetDecoder); + } + +} \ No newline at end of file diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/XmlCleaner.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XmlCleaner.java similarity index 99% rename from dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/XmlCleaner.java rename to dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XmlCleaner.java index c674031f62..95d1d24029 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/XmlCleaner.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XmlCleaner.java @@ -1,5 +1,5 @@ -package eu.dnetlib.dhp.collection; +package eu.dnetlib.dhp.collection.plugin.utils; import java.util.HashMap; import java.util.HashSet; diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java similarity index 87% rename from dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java rename to dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java index 793a5b04cd..43f00928f2 100644 --- a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/fileGZip/FileGZipCollectorPluginTest.java +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java @@ -1,4 +1,4 @@ -package eu.dnetlib.dhp.collection.plugin.fileGZip; +package eu.dnetlib.dhp.collection.plugin.file; import eu.dnetlib.dhp.collection.ApiDescriptor; import eu.dnetlib.dhp.common.aggregation.AggregatorReport; @@ -20,22 +20,19 @@ public class FileGZipCollectorPluginTest { private FileGZipCollectorPlugin plugin; private static final String SPLIT_ON_ELEMENT = "repository"; - private static final String ENCODING = "UTF-8"; @BeforeEach public void setUp() { final String gzipFile = this .getClass() - .getResource("/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz") + .getResource("/eu/dnetlib/dhp/collection/plugin/file/gzip/opendoar.xml.gz") .getFile(); - System.out.println(gzipFile); api.setBaseUrl(gzipFile); HashMap params = new HashMap<>(); params.put("splitOnElement", SPLIT_ON_ELEMENT); - params.put("encoding", ENCODING); api.setParams(params); diff --git a/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz b/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/gzip/opendoar.xml.gz similarity index 100% rename from dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/fileGZip/opendoar.xml.gz rename to dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/gzip/opendoar.xml.gz From d0b84d32970d757bb49cac3b824b9969f7b39101 Mon Sep 17 00:00:00 2001 From: Serafeim Chatzopoulos Date: Thu, 7 Apr 2022 15:06:38 +0300 Subject: [PATCH 3/5] Add FileCollectorPlugin and respective test --- .../dhp/collection/CollectorWorker.java | 3 + .../collection/plugin/CollectorPlugin.java | 2 +- .../plugin/file/FileCollectorPlugin.java | 25 + .../plugin/file/FileGZipCollectorPlugin.java | 3 +- .../plugin/file/FileCollectorPluginTest.java | 53 + .../file/FileGZipCollectorPluginTest.java | 2 +- .../dhp/collection/plugin/file/opendoar.xml | 1079 +++++++++++++++++ .../plugin/file/{gzip => }/opendoar.xml.gz | Bin 8 files changed, 1163 insertions(+), 4 deletions(-) create mode 100644 dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java create mode 100644 dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java create mode 100644 dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml rename dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/{gzip => }/opendoar.xml.gz (100%) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java index 5de4eb84b1..a770af8041 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java @@ -7,6 +7,7 @@ import java.io.IOException; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; +import eu.dnetlib.dhp.collection.plugin.file.FileCollectorPlugin; import eu.dnetlib.dhp.collection.plugin.file.FileGZipCollectorPlugin; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -115,6 +116,8 @@ public class CollectorWorker extends ReportingJob { return new OaiCollectorPlugin(clientParams); case rest_json2xml: return new RestCollectorPlugin(clientParams); + case file: + return new FileCollectorPlugin(); case fileGZip: return new FileGZipCollectorPlugin(); case other: diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java index 7d6aaaff86..08084e22a5 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/CollectorPlugin.java @@ -10,7 +10,7 @@ import eu.dnetlib.dhp.common.collection.CollectorException; public interface CollectorPlugin { enum NAME { - oai, other, rest_json2xml, fileGZip; + oai, other, rest_json2xml, file, fileGZip; public enum OTHER_NAME { mdstore_mongodb_dump, mdstore_mongodb diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java new file mode 100644 index 0000000000..3a268eabbe --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java @@ -0,0 +1,25 @@ +package eu.dnetlib.dhp.collection.plugin.file; + +import eu.dnetlib.dhp.common.collection.CollectorException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.BufferedInputStream; +import java.io.FileInputStream; + +public class FileCollectorPlugin extends AbstractSplittedRecordPlugin { + + private static final Logger log = LoggerFactory.getLogger(FileCollectorPlugin.class); + + @Override + protected BufferedInputStream getBufferedInputStream(final String baseUrl) throws CollectorException { + + log.info("baseUrl: {}", baseUrl); + + try { + return new BufferedInputStream(new FileInputStream(baseUrl)); + } catch (Exception e) { + throw new CollectorException("Error reading file " + baseUrl, e); + } + } +} \ No newline at end of file diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java index a4dd65d2af..b2c77e8b6c 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java @@ -22,8 +22,7 @@ public class FileGZipCollectorPlugin extends AbstractSplittedRecordPlugin { GZIPInputStream stream = new GZIPInputStream(new FileInputStream(baseUrl)); return new BufferedInputStream(stream); } catch (Exception e) { - e.printStackTrace(); - throw new CollectorException(e); + throw new CollectorException("Error reading file " + baseUrl, e); } } } diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java new file mode 100644 index 0000000000..d9b5152fe1 --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java @@ -0,0 +1,53 @@ +package eu.dnetlib.dhp.collection.plugin.file; + +import eu.dnetlib.dhp.collection.ApiDescriptor; +import eu.dnetlib.dhp.common.aggregation.AggregatorReport; +import eu.dnetlib.dhp.common.collection.CollectorException; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.stream.Stream; + +public class FileCollectorPluginTest { + + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); + + private final ApiDescriptor api = new ApiDescriptor(); + private FileCollectorPlugin plugin; + + private static final String SPLIT_ON_ELEMENT = "repository"; + + @BeforeEach + public void setUp() { + + final String gzipFile = this + .getClass() + .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml") + .getFile(); + + api.setBaseUrl(gzipFile); + + HashMap params = new HashMap<>(); + params.put("splitOnElement", SPLIT_ON_ELEMENT); + + api.setParams(params); + + plugin = new FileCollectorPlugin(); + } + + @Test + void test() throws CollectorException { + + final Stream stream = plugin.collect(api, new AggregatorReport()); + + stream.limit(10).forEach(s -> { + Assertions.assertTrue(s.length() > 0); + log.info(s); + }); + } +} + diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java index 43f00928f2..18caf1c450 100644 --- a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java @@ -26,7 +26,7 @@ public class FileGZipCollectorPluginTest { final String gzipFile = this .getClass() - .getResource("/eu/dnetlib/dhp/collection/plugin/file/gzip/opendoar.xml.gz") + .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz") .getFile(); api.setBaseUrl(gzipFile); diff --git a/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml b/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml new file mode 100644 index 0000000000..e5806a60e6 --- /dev/null +++ b/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml @@ -0,0 +1,1079 @@ + + + Copyright 2012, University of Nottingham + OpenDOAR data is available for re-use under a Creative Commons Attribution-Non-Commercial-Share Alike licence + + + Architektur-Informatik + + Y + http://architektur-informatik.scix.net/ + http://architektur-informatik.scix.net/cgi-bin/works/OAI + + + + + Arbeitskreis Architekturinformatik + AK AI + Y + http://www.architektur-informatik.org/ + + + AT + Austria + + 46.783300 + 12.950000 + + + This is a German language repository on Computer Science. Full-text is not available for all items. + + 68 + 2008-05-15 + + Disciplinary + Operational + SciX + + + + Cin + Computers and IT + + + + + de + German + + + + Journal articles + Conference and workshop papers + Theses and dissertations + Unpublished reports and working papers + + + + Content + Content policies not stated + + No policy registered in OpenDOAR. + + + + Metadata + Metadata policies not stated + + No policy registered in OpenDOAR. + + + + Data + Full data item policies unknown + + No policy registered in OpenDOAR. + + + + Submission + Submission policies not stated + + No policy registered in OpenDOAR. + + + + Preserve + Preservation policies not stated + + No policy registered in OpenDOAR. + + + + + + Bob Martens + Administrator + b.martens@tuwien.ac.at + + + + + OAI Administrator + architektur-informatik@scix.net + + + + + + Dokumentenserver des LBI-HTA + + Y + http://eprints.hta.lbg.ac.at/ + http://eprints.hta.lbg.ac.at/cgi/oai2 + + + + + Ludwig Boltzmann Institut für Health Technology Assessment + LBI-HTA + Y + http://hta.lbg.ac.at/ + + + AT + Austria + + 48.209200 + 16.372800 + + + This site provides access to the institutions outputs. Users may set up Atom and RSS feeds to be alerted to new content. The interface is available in English and German. Many items are not available as full-text. + Special items include: Newsletters and Decision Support Document + 600 + 2010-02-04 + + Institutional + Operational + EPrints + 3.0.3 + + + Ce + Health and Medicine + + + + + en + English + + + + Journal articles + Conference and workshop papers + Unpublished reports and working papers + Books, chapters and sections + Other special item types + + + + Content + Content policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Metadata + Metadata re-use policy explicitly undefined + + No policy registered in OpenDOAR. + + + + Data + Full data item policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Submission + Submission policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Preserve + Preservation policies explicitly undefined + + No policy registered in OpenDOAR. + + + + + + + Elektronisch archivierte Theorie - Sammelpunkt + + Y + http://sammelpunkt.philo.at:8080/ + http://sammelpunkt.philo.at:8080/cgi/oai2 + Institut für Philosophie + + Y + + Universität Wien + + Y + http://www.univie.ac.at/ + Fakultät für Philosopohie und Bildungswissenschaft, Universitätsstraße 7, A-1010 Wien + + AT + Austria + + 48.209190 + 16.372740 + + + This is a subject based institutional repository hosted by the Institute for Philosophy of the University of Vienna. The interface is primarily available in German only, as are virtually all the papers. However the search form is in English and there are plans to make it available in other European languages. + + 1293 + 2010-02-09 + + Institutional + Operational + EPrints + 3.1.3 + + + Cop + Philosophy and Religion + + + + + de + German + + + + Theses and dissertations + Books, chapters and sections + Other special item types + Journal articles + Unpublished reports and working papers + + + + Content + Content policies defined + + This is an institutional or departmental repository. + The repository holds all types of materials. + + + + Metadata + Metadata re-use permitted for not-for-profit purposes + + Anyone may access the metadata free of charge. + The metadata may be re-used in any medium without prior permission for not-for-profit purposes provided: + + the OAI Identifier or a link to the original metadata record are given + the repository is mentioned + + + The metadata must not be re-used in any medium for commercial purposes without formal permission. + + + + Data + Full data item policies explicitly undefined + + Anyone may access full items free of charge. + No full-item re-use policy defined. Assume no rights at all have been granted. + + + + Submission + Submission policies defined + + Items may only be deposited by accredited members of the institution + Authors may only submit their own work for archiving. + The administrator only vets items for relevance to the scope of the repository + The validity and authenticity of the content of submissions is not checked. + No embargo policy defined. + Any copyright violations are entirely the responsibility of the authors/depositors. + If the repository receives proof of copyright violation, the relevant item will be removed immediately. + + + + Preserve + Preservation policies not stated + + No preservation policy defined. + + + + + + H Hracovec + Site Administrator + hrachov@philo.at + + + + + + Elektronische Publikationen der Wirtschaftsuniversität Wien + Epub WU + Y + http://epub.wu.ac.at/ + http://epub.wu.ac.at/cgi/oai2 + Universtätsbibliothek (University Library) + + Y + http://www.wu.ac.at/library + Wirtschaftsuniversität Wien (Vienna University of Economics) + WU + Y + http://www.wu.ac.at/ + Augasse 2-6, A-Wien + + AT + Austria + + 48.230000 + 16.357000 + 0131-3364990 + + This is the institutional repository of the WU Vienna University of Economics and Business. It provides access to the research output of the institution. Documents are available in full text. The interface is accessable in English. + + 1216 + 2012-02-28 + + Institutional + Operational + EPrints + 3 + + + Cub + Business and Economics + + + + + de + German + + + + Conference and workshop papers + Theses and dissertations + Unpublished reports and working papers + + + + Content + Content policies defined + + This is an institutional or departmental repository. + The repository holds all types of materials. + Deposited items may include: + + working drafts + submitted versions (as sent to journals for peer-review) + accepted versions (author's final peer-reviewed drafts) + published versions (publisher-created files) + + + Items are individually tagged with: + + their version type and date. + their peer-review status. + their publication status. + + + For more information, please see webpage: http://epub.wu.ac.at/policies.html + + + + Metadata + Metadata re-use permitted for not-for-profit purposes + + Anyone may access the metadata free of charge. + The metadata may be re-used in any medium without prior permission for not-for-profit purposes provided the OAI Identifier or a link to the original metadata record are given. + The metadata must not be re-used in any medium for commercial purposes without formal permission. + For more information, please see webpage: http://epub.wu.ac.at/policies.html + + + + Data + Rights vary for the re-use of full data items + + Anyone may access full items free of charge. + Copies of full items generally can be: + + reproduced, and displayed or performed in any format or medium + for personal research or study, educational, or not-for-profit purposes without prior permission or charge. + + provided: + + the authors, title and full bibliographic details are given + a hyperlink and/or URL are given for the original metadata page + the content is not changed in any way + + + Full items must not be sold commercially in any format or medium without formal permission of the copyright holders. + Some full items are individually tagged with different rights permissions and conditions. + For more information see webpage: http://epub.wu.ac.at/policies.html. + + + + Submission + Submission policies defined + + Items may only be deposited by accredited members of the organisation, or their delegated agents. + Authors may only submit their own work for archiving. + The administrator only vets items for the eligibility of authors/depositors, relevance to the scope of the repository, valid layout & format, and the exclusion of spam + The validity and authenticity of the content of submissions is the sole responsibility of the depositor. + No embargo policy defined. + Any copyright violations are entirely the responsibility of the authors/depositors. + If the repository receives proof of copyright violation, the relevant item will be removed immediately. + For more information see webpage: http://epub.wu.ac.at/policies.html + + + + Preserve + Preservation policies defined + + Items will be retained indefinitely. + The repository will try to ensure continued readability and accessibility. + The repository regularly backs up its files according to current best practice. + The original bit stream is retained for all items, in addition to any upgraded formats. + Items may be removed at the request of the author/copyright holder, but this is strongly discouraged. + Withdrawn items are not deleted per se, but are removed from public view. + Withdrawn items' identifiers/URLs are retained indefinitely. + URLs will continue to point to 'tombstone' citations, to avoid broken links and to retain item histories. + Changes to deposited items are not permitted. + Errata and corrigenda lists may be included with the original record if required. + If necessary, an updated version may be deposited. + + The item's persistent URL will always link to the latest version. + There will be links between earlier and later versions, with the most recent version clearly identified. + + + In the event of the repository being closed down, the database will be transferred to another appropriate archive. + For more information see webpage: http://epub.wu.ac.at/policies.html + + + + + + Gertraud Novotny + Administrator + gertraud.novotny@wu.ac.at + + + + + OAI Administrator + epub@wu.ac.at + + + + + + Elektronisches Publikationsportal der Österreichischen Akademie der Wissenschaften + epub.oeaw + Y + http://epub.oeaw.ac.at/ + http://epub.oeaw.ac.at/oai + + + + + Austrian Academy of Sciences + + Y + http://www.oeaw.ac.at/ + Postgasse 7, A-1010 Wien + + AT + Austria + + 48.250000 + 16.350000 + + + This site is a repository providing access to the publication output of the organisation. However only a very small proportion of material is available via Open Access as this site is mainly concerned with subscription-only access to its eBook and printed publications. As such that material which is offered freely is intended to induce a purchasing activity from the reader. The main site interface is available in English or German, however the supporting information and help is in the latter only. Users may set up RSS feeds to be alerted to new content. + Partners: Verlag der Österreichischen Akademie der Wissenschaften + + 2012-02-27 + 2006 + Institutional + Operational + Hyperwave + + + + C + Multidisciplinary + + + + + de + German + + + en + English + + + + Books, chapters and sections + + + + Content + Content policies explicitly undefined + + This is an institutional or departmental repository. + No content policy defined. + + + + Metadata + Metadata re-use policy explicitly undefined + + Anyone may access the metadata free of charge. + No metadata re-use policy defined. Assume no rights at all have been granted. + + + + Data + Full data item policies explicitly undefined + + Anyone may access full items free of charge. + No full-item re-use policy defined. Assume no rights at all have been granted. + + + + Submission + Submission policies explicitly undefined + + No submission policy defined. + + + + Preserve + Preservation policies not stated + + No preservation policy defined. + + + + + + Herwig Stöger + Administrator + herwig.stoeger@oeaw.ac.at + + + + + + European Research Papers Archive + ERPA + Y + http://eiop.or.at/erpa/ + http://eiop.or.at/cgi-bin/oaiserv.pl + + + + + European Communities Studies Association Austria + ECSA Austria + Y + http://www2.wu-wien.ac.at/ecsa/ + Institut für Technikfolgen-Abschätzung, Österreichische Akademie der Wissenschaften, Strohgasse 45/5, A-1030 Wien + + AT + Austria + + 48.230100 + 16.359200 + +43 1 51581 6583 + +43 1 710 98 83 + This site is an aggregating repository that contains a collection of research papers from ten European institutions. The site contains working papers on European Integration. The site interface is in English but several papers are written in French and German. + + 1098 + 2007-07-17 + + Aggregating + Operational + + + + + Cog + Geography and Regional Studies + + + Cub + Business and Economics + + + Cup + Law and Politics + + + + + en + English + + + fr + French + + + de + German + + + + Journal articles + Unpublished reports and working papers + + + + Content + Content policies defined + + This is a multi-institution subject-based repository. + Subject Specialities: + + Multidisciplinary + History and Archaeology + Social Sciences General + Business and Economics + Law and Politics + + + The repository is restricted to: + + Journal articles + Conference and workshop papers + Unpublished reports and working papers + + + Deposited items may include: + + submitted versions (as sent to journals for peer-review) + accepted versions (author's final peer-reviewed drafts) + published versions (publisher-created files) + + + Principal Languages: English; German + For more information, please see webpage: http://eiop.or.at/erpa/erpainfo.htm + + + + Metadata + Metadata re-use permitted for not-for-profit purposes + + Anyone may access the metadata free of charge. + The metadata may be re-used in any medium without prior permission for not-for-profit purposes provided: + + the OAI Identifier or a link to the original metadata record are given + the repository is mentioned + + + + + + Data + Re-use of full data items permitted for not-for-profit purposes + + Anyone may access full items free of charge. + Copies of full items generally can be: + + displayed or performed + for personal research or study purposes without prior permission or charge. + + + This repository is not the publisher; it is merely the online archive. + + + + Submission + Submission policies defined + + Items may only be deposited by accredited members of the institution, or their delegated agents. + Eligible depositors must deposit bibliographic metadata for all their publications. + Eligible depositors must deposit full texts of all their publications. + No moderation policy defined. Assume nothing has been vetted. + The validity and authenticity of the content of submissions is the sole responsibility of the depositor. + No embargo policy defined. + Any copyright violations are entirely the responsibility of the authors/depositors. + For more information see webpage: http://eiop.or.at/erpa/policy.htm + + + + Preserve + Preservation policies unclearly stated + + No retention period defined. + The repository will try to ensure continued readability and accessibility. + No file preservation policy defined. + No withdrawal policy defined. + Withdrawn items are deleted entirely from the database. + Withdrawn items' identifiers/URLs are not retained. + In the event of the repository being closed down, the database will be transferred to another appropriate archive. + + + + + + Michael Nentwich + Site Administrator + mnent@oeaw.ac.at + + + + + + OTHES + + Y + http://othes.univie.ac.at/ + https://othes.univie.ac.at/secure/cgi/oai2 + + + + + Universität Wien + + Y + http://www.univie.ac.at/ + Fakultät für Philosopohie und Bildungswissenschaft, Universitätsstraße 7, A-1010 Wien + + AT + Austria + + 48.209190 + 16.372740 + + + This is an institutional repository for the University of Vienna providing access to the thesis and dissertation output of the university. Users may set up Atom and RSS feeds to be alerted to new content. + + 8066 + 2010-04-16 + + Institutional + Operational + EPrints + 3.0.1-beta-2 + + + C + Multidisciplinary + + + + + de + German + + + + Theses and dissertations + + + + Content + Content policies explicitly undefined + + This is an institutional or departmental repository. + No content policy defined. + + + + Metadata + Metadata re-use policy explicitly undefined + + Anyone may access the metadata free of charge. + No metadata re-use policy defined. Assume no rights at all have been granted. + + + + Data + Full data item policies explicitly undefined + + Anyone may access full items free of charge. + No full-item re-use policy defined. Assume no rights at all have been granted. + + + + Submission + Submission policies explicitly undefined + + No submission policy defined. + + + + Preserve + Preservation policies explicitly undefined + + No preservation policy defined. + + + + + + Adelheid Mayer + Administrator + adelheid.mayer@univie.ac.at + + + + + + thesis-help.ub@univie.ac.at + + + + + + Permanent Hosting, Archiving and Indexing of Digital Resources and Assets + Phaidra + N + https://phaidra.univie.ac.at/ + + + + + + Universität Wien + + Y + http://www.univie.ac.at/ + Fakultät für Philosopohie und Bildungswissenschaft, Universitätsstraße 7, A-1010 Wien + + AT + Austria + + 48.209190 + 16.372740 + + + This site provides access to the digitised copies of the institutions collection as well as teaching material. The interface is in German. + + + 2010-02-17 + + Institutional + Operational + Fedora + + + + C + Multidisciplinary + + + + + de + German + + + + Books, chapters and sections + Learning Objects + Multimedia and audio-visual materials + + + + Content + Content policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Metadata + Metadata re-use policy explicitly undefined + + No policy registered in OpenDOAR. + + + + Data + Full data item policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Submission + Submission policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Preserve + Preservation policies explicitly undefined + + No policy registered in OpenDOAR. + + + + + + Paolo Budroni + Administrator + paolo.budroni@univie.ac.at + + + + + + textfeld + + Y + http://www.textfeld.ac.at/ + + + + + + textfeld society for advancement of academic potential + + Y + http://textfeld.ac.at/ + Wien + + AT + Austria + + 48.239300 + 16.369600 + + + This site provides access to publications by students and young scholars of all fields. Interface is in German. + + 514 + 2012-02-13 + + Aggregating + Operational + + + + + C + Multidisciplinary + + + + + de + German + + + + Journal articles + Theses and dissertations + + + + Content + Content policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Metadata + Metadata re-use policy explicitly undefined + + No policy registered in OpenDOAR. + + + + Data + Full data item policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Submission + Submission policies explicitly undefined + + No policy registered in OpenDOAR. + + + + Preserve + Preservation policies explicitly undefined + + No policy registered in OpenDOAR. + + + + + + + Repository of Belarusian National Technical University (BNTU) + + Y + http://rep.bntu.by/ + + + + + + Belarusian National Technical University + + Y + http://www.bntu.by/ + + + BY + Belarus + + 53.922100 + 27.590700 + + + This site provides access to the research output of the institution. The interface is available in Russian and English. Users may set up RSS feeds to be alerted to new content. + + 286 + 2012-01-26 + + Institutional + Operational + DSpace + + + + C + Multidisciplinary + + + + + en + English + + + ru + Russian + + + + Journal articles + Books, chapters and sections + Learning Objects + + + + + Alexey Skalaban + Administrator + skalaban@gmail.com + + + + + + \ No newline at end of file diff --git a/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/gzip/opendoar.xml.gz b/dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz similarity index 100% rename from dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/gzip/opendoar.xml.gz rename to dhp-workflows/dhp-aggregation/src/test/resources/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz From 623f7be26d53063c88dc3f4946bd1d2cd1648561 Mon Sep 17 00:00:00 2001 From: Serafeim Chatzopoulos Date: Thu, 28 Apr 2022 16:31:11 +0300 Subject: [PATCH 4/5] Fix reading files from HDFS in FileCollector & FileGZipCollector plugins --- .../dhp/collection/CollectorWorker.java | 4 +-- .../file/AbstractSplittedRecordPlugin.java | 35 +++++++++++++++---- .../plugin/file/FileCollectorPlugin.java | 18 ++++++---- .../plugin/file/FileGZipCollectorPlugin.java | 21 ++++++----- .../plugin/file/FileCollectorPluginTest.java | 11 ++++-- .../file/FileGZipCollectorPluginTest.java | 29 ++++++++++----- 6 files changed, 86 insertions(+), 32 deletions(-) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java index a770af8041..f6cba6fb81 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java @@ -117,9 +117,9 @@ public class CollectorWorker extends ReportingJob { case rest_json2xml: return new RestCollectorPlugin(clientParams); case file: - return new FileCollectorPlugin(); + return new FileCollectorPlugin(fileSystem); case fileGZip: - return new FileGZipCollectorPlugin(); + return new FileGZipCollectorPlugin(fileSystem); case other: final CollectorPlugin.NAME.OTHER_NAME plugin = Optional .ofNullable(api.getParams().get("other_plugin_type")) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java index c569926c08..97f61980aa 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java @@ -1,11 +1,11 @@ package eu.dnetlib.dhp.collection.plugin.file; import java.io.BufferedInputStream; +import java.io.IOException; import java.util.Iterator; import java.util.Optional; import java.util.Spliterator; import java.util.Spliterators; -import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -15,6 +15,8 @@ import eu.dnetlib.dhp.collection.plugin.utils.XMLIterator; import eu.dnetlib.dhp.common.aggregation.AggregatorReport; import eu.dnetlib.dhp.common.collection.CollectorException; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,22 +26,40 @@ public abstract class AbstractSplittedRecordPlugin implements CollectorPlugin { public static final String SPLIT_ON_ELEMENT = "splitOnElement"; + private final FileSystem fileSystem; + + public AbstractSplittedRecordPlugin(FileSystem fileSystem) { + this.fileSystem = fileSystem; + } + @Override public Stream collect(ApiDescriptor api, AggregatorReport report) throws CollectorException { - final String baseUrl = Optional + // get path to file + final Path filePath = Optional .ofNullable(api.getBaseUrl()) - .orElseThrow( () -> new CollectorException("missing baseUrl, required by the AbstractSplittedRecordPlugin")); + .map(Path::new) + .orElseThrow( () -> new CollectorException("missing baseUrl")); - log.info("baseUrl: {}", baseUrl); + log.info("baseUrl: {}", filePath); + // check that path to file exists + try { + if (!fileSystem.exists(filePath)) { + throw new CollectorException("path does not exist: " + filePath); + } + } catch (IOException e) { + throw new CollectorException(e); + } + + // get split element final String splitOnElement = Optional .ofNullable(api.getParams().get(SPLIT_ON_ELEMENT)) .orElseThrow(() -> new CollectorException(String.format("missing parameter '%s', required by the AbstractSplittedRecordPlugin", SPLIT_ON_ELEMENT))); log.info("splitOnElement: {}", splitOnElement); - final BufferedInputStream bis = getBufferedInputStream(baseUrl); + final BufferedInputStream bis = getBufferedInputStream(filePath); Iterator xmlIterator = new XMLIterator(splitOnElement, bis); @@ -49,6 +69,9 @@ public abstract class AbstractSplittedRecordPlugin implements CollectorPlugin { ); } - abstract protected BufferedInputStream getBufferedInputStream(final String baseUrl) throws CollectorException; + abstract protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException; + public FileSystem getFileSystem() { + return fileSystem; + } } \ No newline at end of file diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java index 3a268eabbe..d7a992038b 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java @@ -1,25 +1,31 @@ package eu.dnetlib.dhp.collection.plugin.file; import eu.dnetlib.dhp.common.collection.CollectorException; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedInputStream; -import java.io.FileInputStream; public class FileCollectorPlugin extends AbstractSplittedRecordPlugin { private static final Logger log = LoggerFactory.getLogger(FileCollectorPlugin.class); - @Override - protected BufferedInputStream getBufferedInputStream(final String baseUrl) throws CollectorException { + public FileCollectorPlugin(FileSystem fileSystem) { + super(fileSystem); + } - log.info("baseUrl: {}", baseUrl); + @Override + protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException { + + log.info("filePath: {}", filePath); try { - return new BufferedInputStream(new FileInputStream(baseUrl)); + FileSystem fs = super.getFileSystem(); + return new BufferedInputStream(fs.open(filePath)); } catch (Exception e) { - throw new CollectorException("Error reading file " + baseUrl, e); + throw new CollectorException("Error reading file " + filePath, e); } } } \ No newline at end of file diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java index b2c77e8b6c..b724cfefdd 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java @@ -1,28 +1,33 @@ package eu.dnetlib.dhp.collection.plugin.file; import eu.dnetlib.dhp.common.collection.CollectorException; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.*; -import java.net.MalformedURLException; -import java.net.URL; +import java.io.BufferedInputStream; import java.util.zip.GZIPInputStream; public class FileGZipCollectorPlugin extends AbstractSplittedRecordPlugin { private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPlugin.class); - @Override - protected BufferedInputStream getBufferedInputStream(String baseUrl) throws CollectorException { + public FileGZipCollectorPlugin(FileSystem fileSystem) { + super(fileSystem); + } - log.info("baseUrl: {}", baseUrl); + @Override + protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException { + + log.info("filePath: {}", filePath); try { - GZIPInputStream stream = new GZIPInputStream(new FileInputStream(baseUrl)); + FileSystem fs = super.getFileSystem(); + GZIPInputStream stream = new GZIPInputStream(fs.open(filePath)); return new BufferedInputStream(stream); } catch (Exception e) { - throw new CollectorException("Error reading file " + baseUrl, e); + throw new CollectorException("Error reading file " + filePath, e); } } } diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java index d9b5152fe1..ed0578059c 100644 --- a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java @@ -3,12 +3,17 @@ package eu.dnetlib.dhp.collection.plugin.file; import eu.dnetlib.dhp.collection.ApiDescriptor; import eu.dnetlib.dhp.common.aggregation.AggregatorReport; import eu.dnetlib.dhp.common.collection.CollectorException; +import net.bytebuddy.asm.Advice; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.LocalFileSystem; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.IOException; import java.util.HashMap; import java.util.stream.Stream; @@ -17,12 +22,13 @@ public class FileCollectorPluginTest { private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); private final ApiDescriptor api = new ApiDescriptor(); + private FileCollectorPlugin plugin; private static final String SPLIT_ON_ELEMENT = "repository"; @BeforeEach - public void setUp() { + public void setUp() throws IOException { final String gzipFile = this .getClass() @@ -36,7 +42,8 @@ public class FileCollectorPluginTest { api.setParams(params); - plugin = new FileCollectorPlugin(); + FileSystem fs = FileSystem.get(new Configuration()); + plugin = new FileCollectorPlugin(fs); } @Test diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java index 18caf1c450..23f08e6ea9 100644 --- a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java @@ -3,30 +3,42 @@ package eu.dnetlib.dhp.collection.plugin.file; import eu.dnetlib.dhp.collection.ApiDescriptor; import eu.dnetlib.dhp.common.aggregation.AggregatorReport; import eu.dnetlib.dhp.common.collection.CollectorException; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.LocalFileSystem; +import org.junit.jupiter.api.*; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mockito; +import org.mockito.junit.jupiter.MockitoExtension; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; import java.util.HashMap; +import java.util.Objects; import java.util.stream.Stream; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +@ExtendWith(MockitoExtension.class) public class FileGZipCollectorPluginTest { private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); private final ApiDescriptor api = new ApiDescriptor(); + private FileGZipCollectorPlugin plugin; private static final String SPLIT_ON_ELEMENT = "repository"; @BeforeEach - public void setUp() { + public void setUp() throws IOException { - final String gzipFile = this - .getClass() - .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz") + final String gzipFile = Objects.requireNonNull(this + .getClass() + .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz")) .getFile(); api.setBaseUrl(gzipFile); @@ -36,7 +48,8 @@ public class FileGZipCollectorPluginTest { api.setParams(params); - plugin = new FileGZipCollectorPlugin(); + FileSystem fs = FileSystem.get(new Configuration()); + plugin = new FileGZipCollectorPlugin(fs); } @Test From 929b145130a99f60de6dde4ed740fbbf8c73983b Mon Sep 17 00:00:00 2001 From: Claudio Atzori Date: Tue, 21 Jun 2022 23:07:06 +0200 Subject: [PATCH 5/5] code formatting --- .../dhp/collection/CollectorWorker.java | 4 +- .../file/AbstractSplittedRecordPlugin.java | 91 +++---- .../plugin/file/FileCollectorPlugin.java | 36 +-- .../plugin/file/FileGZipCollectorPlugin.java | 38 +-- .../collection/plugin/utils/XMLIterator.java | 243 +++++++++--------- .../plugin/file/FileCollectorPluginTest.java | 67 ++--- .../file/FileGZipCollectorPluginTest.java | 73 +++--- 7 files changed, 285 insertions(+), 267 deletions(-) diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java index f6cba6fb81..9d94000682 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/CollectorWorker.java @@ -7,8 +7,6 @@ import java.io.IOException; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; -import eu.dnetlib.dhp.collection.plugin.file.FileCollectorPlugin; -import eu.dnetlib.dhp.collection.plugin.file.FileGZipCollectorPlugin; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; @@ -21,6 +19,8 @@ import org.slf4j.LoggerFactory; import eu.dnetlib.dhp.aggregation.common.ReporterCallback; import eu.dnetlib.dhp.aggregation.common.ReportingJob; import eu.dnetlib.dhp.collection.plugin.CollectorPlugin; +import eu.dnetlib.dhp.collection.plugin.file.FileCollectorPlugin; +import eu.dnetlib.dhp.collection.plugin.file.FileGZipCollectorPlugin; import eu.dnetlib.dhp.collection.plugin.mongodb.MDStoreCollectorPlugin; import eu.dnetlib.dhp.collection.plugin.mongodb.MongoDbDumpCollectorPlugin; import eu.dnetlib.dhp.collection.plugin.oai.OaiCollectorPlugin; diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java index 97f61980aa..f2fa3d2bbd 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/AbstractSplittedRecordPlugin.java @@ -1,3 +1,4 @@ + package eu.dnetlib.dhp.collection.plugin.file; import java.io.BufferedInputStream; @@ -9,69 +10,71 @@ import java.util.Spliterators; import java.util.stream.Stream; import java.util.stream.StreamSupport; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import eu.dnetlib.dhp.collection.ApiDescriptor; import eu.dnetlib.dhp.collection.plugin.CollectorPlugin; import eu.dnetlib.dhp.collection.plugin.utils.XMLIterator; import eu.dnetlib.dhp.common.aggregation.AggregatorReport; import eu.dnetlib.dhp.common.collection.CollectorException; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public abstract class AbstractSplittedRecordPlugin implements CollectorPlugin { - private static final Logger log = LoggerFactory.getLogger(AbstractSplittedRecordPlugin.class); + private static final Logger log = LoggerFactory.getLogger(AbstractSplittedRecordPlugin.class); - public static final String SPLIT_ON_ELEMENT = "splitOnElement"; + public static final String SPLIT_ON_ELEMENT = "splitOnElement"; - private final FileSystem fileSystem; + private final FileSystem fileSystem; - public AbstractSplittedRecordPlugin(FileSystem fileSystem) { - this.fileSystem = fileSystem; - } + public AbstractSplittedRecordPlugin(FileSystem fileSystem) { + this.fileSystem = fileSystem; + } - @Override - public Stream collect(ApiDescriptor api, AggregatorReport report) throws CollectorException { + @Override + public Stream collect(ApiDescriptor api, AggregatorReport report) throws CollectorException { - // get path to file - final Path filePath = Optional - .ofNullable(api.getBaseUrl()) - .map(Path::new) - .orElseThrow( () -> new CollectorException("missing baseUrl")); + // get path to file + final Path filePath = Optional + .ofNullable(api.getBaseUrl()) + .map(Path::new) + .orElseThrow(() -> new CollectorException("missing baseUrl")); - log.info("baseUrl: {}", filePath); + log.info("baseUrl: {}", filePath); - // check that path to file exists - try { - if (!fileSystem.exists(filePath)) { - throw new CollectorException("path does not exist: " + filePath); - } - } catch (IOException e) { - throw new CollectorException(e); - } + // check that path to file exists + try { + if (!fileSystem.exists(filePath)) { + throw new CollectorException("path does not exist: " + filePath); + } + } catch (IOException e) { + throw new CollectorException(e); + } - // get split element - final String splitOnElement = Optional - .ofNullable(api.getParams().get(SPLIT_ON_ELEMENT)) - .orElseThrow(() -> new CollectorException(String.format("missing parameter '%s', required by the AbstractSplittedRecordPlugin", SPLIT_ON_ELEMENT))); + // get split element + final String splitOnElement = Optional + .ofNullable(api.getParams().get(SPLIT_ON_ELEMENT)) + .orElseThrow( + () -> new CollectorException(String + .format("missing parameter '%s', required by the AbstractSplittedRecordPlugin", SPLIT_ON_ELEMENT))); - log.info("splitOnElement: {}", splitOnElement); + log.info("splitOnElement: {}", splitOnElement); - final BufferedInputStream bis = getBufferedInputStream(filePath); + final BufferedInputStream bis = getBufferedInputStream(filePath); - Iterator xmlIterator = new XMLIterator(splitOnElement, bis); + Iterator xmlIterator = new XMLIterator(splitOnElement, bis); - return StreamSupport.stream( - Spliterators.spliteratorUnknownSize(xmlIterator, Spliterator.ORDERED), - false - ); - } + return StreamSupport + .stream( + Spliterators.spliteratorUnknownSize(xmlIterator, Spliterator.ORDERED), + false); + } - abstract protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException; + abstract protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException; - public FileSystem getFileSystem() { - return fileSystem; - } -} \ No newline at end of file + public FileSystem getFileSystem() { + return fileSystem; + } +} diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java index d7a992038b..f771def930 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPlugin.java @@ -1,31 +1,33 @@ + package eu.dnetlib.dhp.collection.plugin.file; -import eu.dnetlib.dhp.common.collection.CollectorException; +import java.io.BufferedInputStream; + import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.BufferedInputStream; +import eu.dnetlib.dhp.common.collection.CollectorException; public class FileCollectorPlugin extends AbstractSplittedRecordPlugin { - private static final Logger log = LoggerFactory.getLogger(FileCollectorPlugin.class); + private static final Logger log = LoggerFactory.getLogger(FileCollectorPlugin.class); - public FileCollectorPlugin(FileSystem fileSystem) { - super(fileSystem); - } + public FileCollectorPlugin(FileSystem fileSystem) { + super(fileSystem); + } - @Override - protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException { + @Override + protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException { - log.info("filePath: {}", filePath); + log.info("filePath: {}", filePath); - try { - FileSystem fs = super.getFileSystem(); - return new BufferedInputStream(fs.open(filePath)); - } catch (Exception e) { - throw new CollectorException("Error reading file " + filePath, e); - } - } -} \ No newline at end of file + try { + FileSystem fs = super.getFileSystem(); + return new BufferedInputStream(fs.open(filePath)); + } catch (Exception e) { + throw new CollectorException("Error reading file " + filePath, e); + } + } +} diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java index b724cfefdd..91a6e9f166 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPlugin.java @@ -1,33 +1,35 @@ + package eu.dnetlib.dhp.collection.plugin.file; -import eu.dnetlib.dhp.common.collection.CollectorException; +import java.io.BufferedInputStream; +import java.util.zip.GZIPInputStream; + import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.BufferedInputStream; -import java.util.zip.GZIPInputStream; +import eu.dnetlib.dhp.common.collection.CollectorException; public class FileGZipCollectorPlugin extends AbstractSplittedRecordPlugin { - private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPlugin.class); + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPlugin.class); - public FileGZipCollectorPlugin(FileSystem fileSystem) { - super(fileSystem); - } + public FileGZipCollectorPlugin(FileSystem fileSystem) { + super(fileSystem); + } - @Override - protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException { + @Override + protected BufferedInputStream getBufferedInputStream(final Path filePath) throws CollectorException { - log.info("filePath: {}", filePath); + log.info("filePath: {}", filePath); - try { - FileSystem fs = super.getFileSystem(); - GZIPInputStream stream = new GZIPInputStream(fs.open(filePath)); - return new BufferedInputStream(stream); - } catch (Exception e) { - throw new CollectorException("Error reading file " + filePath, e); - } - } + try { + FileSystem fs = super.getFileSystem(); + GZIPInputStream stream = new GZIPInputStream(fs.open(filePath)); + return new BufferedInputStream(stream); + } catch (Exception e) { + throw new CollectorException("Error reading file " + filePath, e); + } + } } diff --git a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java index 853973ebbb..e05fe263a6 100644 --- a/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java +++ b/dhp-workflows/dhp-aggregation/src/main/java/eu/dnetlib/dhp/collection/plugin/utils/XMLIterator.java @@ -1,3 +1,4 @@ + package eu.dnetlib.dhp.collection.plugin.utils; import java.io.InputStream; @@ -23,148 +24,154 @@ import org.apache.commons.logging.LogFactory; public class XMLIterator implements Iterator { - private static final Log log = LogFactory.getLog(XMLIterator.class); + private static final Log log = LogFactory.getLog(XMLIterator.class); - private ThreadLocal inputFactory = new ThreadLocal() { + private ThreadLocal inputFactory = new ThreadLocal() { - @Override - protected XMLInputFactory initialValue() { - return XMLInputFactory.newInstance(); - } - }; + @Override + protected XMLInputFactory initialValue() { + return XMLInputFactory.newInstance(); + } + }; - private ThreadLocal outputFactory = new ThreadLocal() { + private ThreadLocal outputFactory = new ThreadLocal() { - @Override - protected XMLOutputFactory initialValue() { - return XMLOutputFactory.newInstance(); - } - }; + @Override + protected XMLOutputFactory initialValue() { + return XMLOutputFactory.newInstance(); + } + }; - private ThreadLocal eventFactory = new ThreadLocal() { + private ThreadLocal eventFactory = new ThreadLocal() { - @Override - protected XMLEventFactory initialValue() { - return XMLEventFactory.newInstance(); - } - }; + @Override + protected XMLEventFactory initialValue() { + return XMLEventFactory.newInstance(); + } + }; - public static final String UTF_8 = "UTF-8"; + public static final String UTF_8 = "UTF-8"; - final XMLEventReader parser; + final XMLEventReader parser; - private XMLEvent current = null; + private XMLEvent current = null; - private String element; + private String element; - private InputStream inputStream; + private InputStream inputStream; - public XMLIterator(final String element, final InputStream inputStream) { - super(); - this.element = element; - this.inputStream = inputStream; - this.parser = getParser(); - try { - this.current = findElement(parser); - } catch (XMLStreamException e) { - log.warn("cannot init parser position. No element found: " + element); - current = null; - } - } + public XMLIterator(final String element, final InputStream inputStream) { + super(); + this.element = element; + this.inputStream = inputStream; + this.parser = getParser(); + try { + this.current = findElement(parser); + } catch (XMLStreamException e) { + log.warn("cannot init parser position. No element found: " + element); + current = null; + } + } - @Override - public boolean hasNext() { - return current != null; - } + @Override + public boolean hasNext() { + return current != null; + } - @Override - public String next() { - String result = null; - try { - result = copy(parser); - current = findElement(parser); - return result; - } catch (XMLStreamException e) { - throw new RuntimeException(String.format("error copying xml, built so far: '%s'", result), e); - } - } + @Override + public String next() { + String result = null; + try { + result = copy(parser); + current = findElement(parser); + return result; + } catch (XMLStreamException e) { + throw new RuntimeException(String.format("error copying xml, built so far: '%s'", result), e); + } + } - @Override - public void remove() { - throw new UnsupportedOperationException(); - } + @Override + public void remove() { + throw new UnsupportedOperationException(); + } - @SuppressWarnings("finally") - private String copy(final XMLEventReader parser) throws XMLStreamException { - final StringWriter result = new StringWriter(); - try { - final XMLEventWriter writer = outputFactory.get().createXMLEventWriter(result); - final StartElement start = current.asStartElement(); - final StartElement newRecord = eventFactory.get().createStartElement(start.getName(), start.getAttributes(), start.getNamespaces()); + @SuppressWarnings("finally") + private String copy(final XMLEventReader parser) throws XMLStreamException { + final StringWriter result = new StringWriter(); + try { + final XMLEventWriter writer = outputFactory.get().createXMLEventWriter(result); + final StartElement start = current.asStartElement(); + final StartElement newRecord = eventFactory + .get() + .createStartElement(start.getName(), start.getAttributes(), start.getNamespaces()); - // new root record - writer.add(newRecord); + // new root record + writer.add(newRecord); - // copy the rest as it is - while (parser.hasNext()) { - final XMLEvent event = parser.nextEvent(); + // copy the rest as it is + while (parser.hasNext()) { + final XMLEvent event = parser.nextEvent(); - // TODO: replace with depth tracking instead of close tag tracking. - if (event.isEndElement() && event.asEndElement().getName().getLocalPart().equals(element)) { - writer.add(event); - break; - } + // TODO: replace with depth tracking instead of close tag tracking. + if (event.isEndElement() && event.asEndElement().getName().getLocalPart().equals(element)) { + writer.add(event); + break; + } - writer.add(event); - } - writer.close(); - } finally { - return result.toString(); - } - } + writer.add(event); + } + writer.close(); + } finally { + return result.toString(); + } + } - /** - * Looks for the next occurrence of the splitter element. - * - * @param parser - * @return - * @throws XMLStreamException - */ - private XMLEvent findElement(final XMLEventReader parser) throws XMLStreamException { + /** + * Looks for the next occurrence of the splitter element. + * + * @param parser + * @return + * @throws XMLStreamException + */ + private XMLEvent findElement(final XMLEventReader parser) throws XMLStreamException { - /* - * if (current != null && element.equals(current.asStartElement().getName().getLocalPart())) { return current; } - */ + /* + * if (current != null && element.equals(current.asStartElement().getName().getLocalPart())) { return current; } + */ - XMLEvent peek = parser.peek(); - if (peek != null && peek.isStartElement()) { - String name = peek.asStartElement().getName().getLocalPart(); - if (element.equals(name)) { return peek; } - } + XMLEvent peek = parser.peek(); + if (peek != null && peek.isStartElement()) { + String name = peek.asStartElement().getName().getLocalPart(); + if (element.equals(name)) { + return peek; + } + } - while (parser.hasNext()) { - final XMLEvent event = parser.nextEvent(); - if (event != null && event.isStartElement()) { - String name = event.asStartElement().getName().getLocalPart(); - if (element.equals(name)) { return event; } - } - } - return null; - } + while (parser.hasNext()) { + final XMLEvent event = parser.nextEvent(); + if (event != null && event.isStartElement()) { + String name = event.asStartElement().getName().getLocalPart(); + if (element.equals(name)) { + return event; + } + } + } + return null; + } - private XMLEventReader getParser() { - try { - return inputFactory.get().createXMLEventReader(sanitize(inputStream)); - } catch (XMLStreamException e) { - throw new RuntimeException(e); - } - } + private XMLEventReader getParser() { + try { + return inputFactory.get().createXMLEventReader(sanitize(inputStream)); + } catch (XMLStreamException e) { + throw new RuntimeException(e); + } + } - private Reader sanitize(final InputStream in) { - final CharsetDecoder charsetDecoder = Charset.forName(UTF_8).newDecoder(); - charsetDecoder.onMalformedInput(CodingErrorAction.REPLACE); - charsetDecoder.onUnmappableCharacter(CodingErrorAction.REPLACE); - return new InputStreamReader(in, charsetDecoder); - } + private Reader sanitize(final InputStream in) { + final CharsetDecoder charsetDecoder = Charset.forName(UTF_8).newDecoder(); + charsetDecoder.onMalformedInput(CodingErrorAction.REPLACE); + charsetDecoder.onUnmappableCharacter(CodingErrorAction.REPLACE); + return new InputStreamReader(in, charsetDecoder); + } -} \ No newline at end of file +} diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java index ed0578059c..6fd101634a 100644 --- a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileCollectorPluginTest.java @@ -1,9 +1,10 @@ + package eu.dnetlib.dhp.collection.plugin.file; -import eu.dnetlib.dhp.collection.ApiDescriptor; -import eu.dnetlib.dhp.common.aggregation.AggregatorReport; -import eu.dnetlib.dhp.common.collection.CollectorException; -import net.bytebuddy.asm.Advice; +import java.io.IOException; +import java.util.HashMap; +import java.util.stream.Stream; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.LocalFileSystem; @@ -13,48 +14,48 @@ import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.HashMap; -import java.util.stream.Stream; +import eu.dnetlib.dhp.collection.ApiDescriptor; +import eu.dnetlib.dhp.common.aggregation.AggregatorReport; +import eu.dnetlib.dhp.common.collection.CollectorException; +import net.bytebuddy.asm.Advice; public class FileCollectorPluginTest { - private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); - private final ApiDescriptor api = new ApiDescriptor(); + private final ApiDescriptor api = new ApiDescriptor(); - private FileCollectorPlugin plugin; + private FileCollectorPlugin plugin; - private static final String SPLIT_ON_ELEMENT = "repository"; + private static final String SPLIT_ON_ELEMENT = "repository"; - @BeforeEach - public void setUp() throws IOException { + @BeforeEach + public void setUp() throws IOException { - final String gzipFile = this - .getClass() - .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml") - .getFile(); + final String gzipFile = this + .getClass() + .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml") + .getFile(); - api.setBaseUrl(gzipFile); + api.setBaseUrl(gzipFile); - HashMap params = new HashMap<>(); - params.put("splitOnElement", SPLIT_ON_ELEMENT); + HashMap params = new HashMap<>(); + params.put("splitOnElement", SPLIT_ON_ELEMENT); - api.setParams(params); + api.setParams(params); - FileSystem fs = FileSystem.get(new Configuration()); - plugin = new FileCollectorPlugin(fs); - } + FileSystem fs = FileSystem.get(new Configuration()); + plugin = new FileCollectorPlugin(fs); + } - @Test - void test() throws CollectorException { + @Test + void test() throws CollectorException { - final Stream stream = plugin.collect(api, new AggregatorReport()); + final Stream stream = plugin.collect(api, new AggregatorReport()); - stream.limit(10).forEach(s -> { - Assertions.assertTrue(s.length() > 0); - log.info(s); - }); - } + stream.limit(10).forEach(s -> { + Assertions.assertTrue(s.length() > 0); + log.info(s); + }); + } } - diff --git a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java index 23f08e6ea9..dc24d6f137 100644 --- a/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java +++ b/dhp-workflows/dhp-aggregation/src/test/java/eu/dnetlib/dhp/collection/plugin/file/FileGZipCollectorPluginTest.java @@ -1,8 +1,13 @@ + package eu.dnetlib.dhp.collection.plugin.file; -import eu.dnetlib.dhp.collection.ApiDescriptor; -import eu.dnetlib.dhp.common.aggregation.AggregatorReport; -import eu.dnetlib.dhp.common.collection.CollectorException; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.HashMap; +import java.util.Objects; +import java.util.stream.Stream; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.LocalFileSystem; @@ -13,53 +18,51 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.util.HashMap; -import java.util.Objects; -import java.util.stream.Stream; - +import eu.dnetlib.dhp.collection.ApiDescriptor; +import eu.dnetlib.dhp.common.aggregation.AggregatorReport; +import eu.dnetlib.dhp.common.collection.CollectorException; @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @ExtendWith(MockitoExtension.class) public class FileGZipCollectorPluginTest { - private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); + private static final Logger log = LoggerFactory.getLogger(FileGZipCollectorPluginTest.class); - private final ApiDescriptor api = new ApiDescriptor(); + private final ApiDescriptor api = new ApiDescriptor(); - private FileGZipCollectorPlugin plugin; + private FileGZipCollectorPlugin plugin; - private static final String SPLIT_ON_ELEMENT = "repository"; + private static final String SPLIT_ON_ELEMENT = "repository"; - @BeforeEach - public void setUp() throws IOException { + @BeforeEach + public void setUp() throws IOException { - final String gzipFile = Objects.requireNonNull(this - .getClass() - .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz")) - .getFile(); + final String gzipFile = Objects + .requireNonNull( + this + .getClass() + .getResource("/eu/dnetlib/dhp/collection/plugin/file/opendoar.xml.gz")) + .getFile(); - api.setBaseUrl(gzipFile); + api.setBaseUrl(gzipFile); - HashMap params = new HashMap<>(); - params.put("splitOnElement", SPLIT_ON_ELEMENT); + HashMap params = new HashMap<>(); + params.put("splitOnElement", SPLIT_ON_ELEMENT); - api.setParams(params); + api.setParams(params); - FileSystem fs = FileSystem.get(new Configuration()); - plugin = new FileGZipCollectorPlugin(fs); - } + FileSystem fs = FileSystem.get(new Configuration()); + plugin = new FileGZipCollectorPlugin(fs); + } - @Test - void test() throws CollectorException { + @Test + void test() throws CollectorException { - final Stream stream = plugin.collect(api, new AggregatorReport()); + final Stream stream = plugin.collect(api, new AggregatorReport()); - stream.limit(10).forEach(s -> { - Assertions.assertTrue(s.length() > 0); - log.info(s); - }); - } + stream.limit(10).forEach(s -> { + Assertions.assertTrue(s.length() > 0); + log.info(s); + }); + } }