/** {@inheritDoc} */ @Override public DataSource resolve(final String resourceLocation, final boolean isLenient) throws IOException { for (int i = 0; i < getDataSourceResolvers().length; i++) { final DataSourceResolver dataSourceResolver = getDataSourceResolvers()[i]; final DataSource dataSource = dataSourceResolver.resolve(resourceLocation, isLenient); if (dataSource != null) { return dataSource; } } if (isLenient) { return null; } throw new IOException("The following resource was not found : " + resourceLocation); } }
dataSource = getDataSourceResolver().resolve(resourceLocation);
/** {@inheritDoc} */ @Override public DataSource resolve(final String resourceLocation, final boolean isLenient) throws IOException { for (int i = 0; i < getDataSourceResolvers().length; i++) { final DataSourceResolver dataSourceResolver = getDataSourceResolvers()[i]; final DataSource dataSource = dataSourceResolver.resolve(resourceLocation, isLenient); if (dataSource != null) { return dataSource; } } if (isLenient) { return null; } throw new IOException("The following resource was not found : " + resourceLocation); } }
dataSource = getDataSourceResolver().resolve(resourceLocation);
/** * Tests resolving resources over HTTP. * * @throws Exception the test failed */ @Test(expected = IOException.class) public void testResolvingHttpNonLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceUrlResolver(new URL("http://www.apache.org"), false); assertNotNull(dataSourceResolver.resolve("images/asf_logo_wide.gif")); dataSourceResolver.resolve("images/does-not-exist.gif"); }
@Test(expected = IOException.class) public void testResolvingFileNonLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceFileResolver(new File("."), false); assertNotNull(dataSourceResolver.resolve("./src/test/resources/images/asf_logo_wide.gif")); dataSourceResolver.resolve("asf_logo_wide.gif"); }
@Test(expected = IOException.class) public void testResolvingClassPathNonLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceClassPathResolver("/", false); assertNotNull(dataSourceResolver.resolve("images/asf_logo_wide.gif")); dataSourceResolver.resolve("asf_logo_wide.gif"); }
/** * Shows how the DataSourceUrlResolver can resolve files as well but this should * be done using a DataSourceFileResolver. * * @throws Exception the test failed */ @Test public void testResolvingFilesLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceUrlResolver(new File("./src/test/resources").toURI().toURL(), true); assertTrue(toByteArray(dataSourceResolver.resolve("images/asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("./images/asf_logo_wide.gif")).length == IMG_SIZE); assertNull(dataSourceResolver.resolve("./images/does-not-exist.gif")); assertNull(dataSourceResolver.resolve("/images/asf_logo_wide.gif")); }
@Test(expected = IOException.class) public void testResolvingFilesNonLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceCompositeResolver(dataSourceResolvers, false); dataSourceResolver.resolve("./image/does-not-exist.gif"); }
@Test public void testResolvingFileLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceFileResolver(new File("./src/test/resources"), true); assertTrue(toByteArray(dataSourceResolver.resolve("images/asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("./images/asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("../resources/images/asf_logo_wide.gif")).length == IMG_SIZE); assertNull(toByteArray(dataSourceResolver.resolve("/images/does-not-exist.gif"))); assertNull(dataSourceResolver.resolve("./images/does-not-exist.gif")); }
/** * Tests resolving resources over HTTP. * * @throws Exception the test failed */ @Test public void testResolvingHttpLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceUrlResolver(new URL("http://www.apache.org"), true); assertTrue(toByteArray(dataSourceResolver.resolve("http://www.apache.org/images/feather-small.gif")).length > 1); assertTrue(toByteArray(dataSourceResolver.resolve("images/feather-small.gif")).length > 1); assertTrue(toByteArray(dataSourceResolver.resolve("./images/feather-small.gif")).length > 1); assertTrue(toByteArray(dataSourceResolver.resolve("/images/feather-small.gif")).length > 1); assertNull(toByteArray(dataSourceResolver.resolve("/images/does-not-exist.gif"))); }
@Test public void testResolvingClassPathLenient() throws Exception { DataSourceResolver dataSourceResolver; dataSourceResolver = new DataSourceClassPathResolver("/", true); assertTrue(toByteArray(dataSourceResolver.resolve("images/asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("./images/asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("/images/asf_logo_wide.gif")).length == IMG_SIZE); assertNull(dataSourceResolver.resolve("/asf_logo_wide.gif")); dataSourceResolver = new DataSourceClassPathResolver("/images", true); assertTrue(toByteArray(dataSourceResolver.resolve("asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("./asf_logo_wide.gif")).length == IMG_SIZE); assertTrue(toByteArray(dataSourceResolver.resolve("/asf_logo_wide.gif")).length == IMG_SIZE); assertNull(dataSourceResolver.resolve("./images/asf_logo_wide.gif")); }
@Test public void testResolvingFilesLenient() throws Exception { final DataSourceResolver dataSourceResolver = new DataSourceCompositeResolver(dataSourceResolvers, true); // resolve using HTTP assertTrue(toByteArray(dataSourceResolver.resolve("/images/feather-small.gif")).length > 0); // resolve using class path assertTrue(toByteArray(dataSourceResolver.resolve("/contentTypeTest.gif")).length > 0); }