diff --git a/java/dev/enola/common/io/resource/ResourceProviders.java b/java/dev/enola/common/io/resource/ResourceProviders.java index ae1727365..7be14b42f 100644 --- a/java/dev/enola/common/io/resource/ResourceProviders.java +++ b/java/dev/enola/common/io/resource/ResourceProviders.java @@ -21,7 +21,6 @@ import dev.enola.common.io.iri.URIs; -import org.jspecify.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -71,7 +70,7 @@ public ResourceProviders() { } @Override - public @Nullable Resource getResource(final URI uri) { + public Resource getResource(final URI uri) { var resolvedURI = URIs.absolutify(uri); for (ResourceProvider resourceProvider : resourceProviders) { @@ -79,9 +78,8 @@ public ResourceProviders() { if (resource != null) return resource; } - // TODO warn instead of debug - or does that create a shitload of logging? - LOG.debug("Unsupported URI: {}", resolvedURI); - return null; + throw new IllegalArgumentException( + "Unsupported scheme, but try activating one of the --XYZ-scheme flags: " + uri); } @Override diff --git a/java/dev/enola/common/io/resource/ResourceProvidersTest.java b/java/dev/enola/common/io/resource/ResourceProvidersTest.java index a866e0e9c..e00b5999c 100644 --- a/java/dev/enola/common/io/resource/ResourceProvidersTest.java +++ b/java/dev/enola/common/io/resource/ResourceProvidersTest.java @@ -223,7 +223,7 @@ public void testNoScheme() { () -> new ResourceProviders().getResource(URI.create("test:something"))); } - @Test + @Test(expected = IllegalArgumentException.class) public void testUnknownScheme() { assertThat(new ResourceProviders().getResource(URI.create("xyz-unknown:test"))).isNull(); } diff --git a/java/dev/enola/rdf/io/RdfResourceIntoThingConverterTest.java b/java/dev/enola/rdf/io/RdfResourceIntoThingConverterTest.java index 39ec4e5e8..a96cc3e25 100644 --- a/java/dev/enola/rdf/io/RdfResourceIntoThingConverterTest.java +++ b/java/dev/enola/rdf/io/RdfResourceIntoThingConverterTest.java @@ -34,7 +34,7 @@ public class RdfResourceIntoThingConverterTest { DatatypeRepository datatypeRepository = new DatatypeRepositoryBuilder().build(); ResourceProvider resourceProvider = - new ResourceProviders(new ClasspathResource.Provider(), new FileResource.Provider()); + new ResourceProviders(new ClasspathResource.Provider(), new EmptyResource.Provider()); RdfResourceIntoThingConverter c = new RdfResourceIntoThingConverter(resourceProvider, datatypeRepository); @@ -50,8 +50,8 @@ public void emptyYAML() throws IOException { } @Test - public void directory() throws IOException { - assertThat(convert(URI.create("file:/tmp/"))).isEmpty(); + public void empty() throws IOException { + assertThat(convert(EmptyResource.EMPTY_URI)).isEmpty(); } private Iterable> convert(URI uri) throws IOException {