Repository: any23 Updated Branches: refs/heads/master c9e4dbe22 -> c92d63ddb
ANY23-416 correct supported mimetypes in extractor factories Project: http://git-wip-us.apache.org/repos/asf/any23/repo Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/c92d63dd Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/c92d63dd Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/c92d63dd Branch: refs/heads/master Commit: c92d63ddbe8c0e389b7ee1cde50d1f760d48cd24 Parents: c9e4dbe Author: Hans <[email protected]> Authored: Thu Nov 22 19:08:22 2018 -0600 Committer: Hans <[email protected]> Committed: Thu Nov 22 19:08:22 2018 -0600 ---------------------------------------------------------------------- .../extractor/rdf/NTriplesExtractorFactory.java | 1 + .../extractor/rdf/TurtleExtractorFactory.java | 4 +- .../extractor/rdfa/RDFa11ExtractorFactory.java | 2 +- .../any23/extractor/ExtractionAPITest.java | 40 ++++++++++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/any23/blob/c92d63dd/core/src/main/java/org/apache/any23/extractor/rdf/NTriplesExtractorFactory.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/any23/extractor/rdf/NTriplesExtractorFactory.java b/core/src/main/java/org/apache/any23/extractor/rdf/NTriplesExtractorFactory.java index 8a886f5..bdfb64a 100644 --- a/core/src/main/java/org/apache/any23/extractor/rdf/NTriplesExtractorFactory.java +++ b/core/src/main/java/org/apache/any23/extractor/rdf/NTriplesExtractorFactory.java @@ -42,6 +42,7 @@ public class NTriplesExtractorFactory extends SimpleExtractorFactory<NTriplesExt NTriplesExtractorFactory.NAME, NTriplesExtractorFactory.PREFIXES, Arrays.asList( + "application/n-triples;q=0.1", "text/nt;q=0.1", "text/ntriples;q=0.1", "text/plain;q=0.1" http://git-wip-us.apache.org/repos/asf/any23/blob/c92d63dd/core/src/main/java/org/apache/any23/extractor/rdf/TurtleExtractorFactory.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/any23/extractor/rdf/TurtleExtractorFactory.java b/core/src/main/java/org/apache/any23/extractor/rdf/TurtleExtractorFactory.java index 204c2f1..6e38a08 100644 --- a/core/src/main/java/org/apache/any23/extractor/rdf/TurtleExtractorFactory.java +++ b/core/src/main/java/org/apache/any23/extractor/rdf/TurtleExtractorFactory.java @@ -42,12 +42,12 @@ public class TurtleExtractorFactory extends SimpleExtractorFactory<TurtleExtract TurtleExtractorFactory.NAME, TurtleExtractorFactory.PREFIXES, Arrays.asList( + "text/turtle", "text/rdf+n3", "text/n3", "application/n3", "application/x-turtle", - "application/turtle", - "text/turtle" + "application/turtle" ), "example-turtle.ttl"); } http://git-wip-us.apache.org/repos/asf/any23/blob/c92d63dd/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorFactory.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorFactory.java b/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorFactory.java index db2f9a0..df28824 100644 --- a/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorFactory.java +++ b/core/src/main/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorFactory.java @@ -41,7 +41,7 @@ public class RDFa11ExtractorFactory extends SimpleExtractorFactory<RDFa11Extract super( RDFa11ExtractorFactory.NAME, RDFa11ExtractorFactory.PREFIXES, - Arrays.asList("text/html;q=0.3", "application/xhtml+xml;q=0.3"), + Arrays.asList("application/xhtml+xml;q=0.3", "application/html;q=0.3", "text/html;q=0.3"), "example-rdfa11.html"); } http://git-wip-us.apache.org/repos/asf/any23/blob/c92d63dd/core/src/test/java/org/apache/any23/extractor/ExtractionAPITest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/any23/extractor/ExtractionAPITest.java b/core/src/test/java/org/apache/any23/extractor/ExtractionAPITest.java index 3e1dc73..0b50cf4 100644 --- a/core/src/test/java/org/apache/any23/extractor/ExtractionAPITest.java +++ b/core/src/test/java/org/apache/any23/extractor/ExtractionAPITest.java @@ -17,6 +17,15 @@ package org.apache.any23.extractor; +import org.apache.any23.extractor.rdf.JSONLDExtractorFactory; +import org.apache.any23.extractor.rdf.NQuadsExtractorFactory; +import org.apache.any23.extractor.rdf.NTriplesExtractorFactory; +import org.apache.any23.extractor.rdf.RDFXMLExtractorFactory; +import org.apache.any23.extractor.rdf.TriXExtractorFactory; +import org.apache.any23.extractor.rdf.TurtleExtractorFactory; +import org.apache.any23.extractor.rdfa.RDFa11ExtractorFactory; +import org.apache.any23.mime.MIMEType; +import org.eclipse.rdf4j.rio.RDFFormat; import org.junit.Assert; import org.apache.any23.extractor.example.ExampleExtractor; import org.apache.any23.rdf.RDFUtils; @@ -24,6 +33,9 @@ import org.apache.any23.writer.CountingTripleHandler; import org.junit.Test; import org.eclipse.rdf4j.model.IRI; +import java.util.List; +import java.util.stream.Collectors; + /** * Tests the <i>extraction</i> scenario. */ @@ -42,5 +54,33 @@ public class ExtractionAPITest { writer.close(); Assert.assertEquals(1, out.getCount()); } + + private static void test(ExtractorFactory<?> factory, RDFFormat... formats) { + List<String> mimetypes = factory.getSupportedMIMETypes().stream() + .map(MIMEType::getFullType).collect(Collectors.toList()); + + Assert.assertEquals(formats[0].getDefaultMIMEType(), mimetypes.get(0)); + + for (RDFFormat format : formats) { + for (String mimeType : format.getMIMETypes()) { + if (mimeType.endsWith("/xml")) { + //TODO: xml mimetypes are commented out in RDFXML extractor. Why? + continue; + } + Assert.assertTrue(mimeType, mimetypes.contains(mimeType)); + } + } + } + + @Test + public void testMimetypes() { + test(new JSONLDExtractorFactory(), RDFFormat.JSONLD); + test(new NTriplesExtractorFactory(), RDFFormat.NTRIPLES); + test(new NQuadsExtractorFactory(), RDFFormat.NQUADS); + test(new TurtleExtractorFactory(), RDFFormat.TURTLE, RDFFormat.N3); + test(new RDFXMLExtractorFactory(), RDFFormat.RDFXML); + test(new TriXExtractorFactory(), RDFFormat.TRIX); + test(new RDFa11ExtractorFactory(), RDFFormat.RDFA); + } }
