/** * Detects which kind of validation to perform on the XML file identified by the supplied {@link * Resource}. If the file has a <code>DOCTYPE</code> definition then DTD validation is used * otherwise XSD validation is assumed. * * <p>Override this method if you would like to customize resolution of the {@link * #VALIDATION_AUTO} mode. */ protected int detectValidationMode(Resource resource) { if (resource.isOpen()) { throw new BeanDefinitionStoreException( "Passed-in Resource [" + resource + "] contains an open stream: " + "cannot determine validation mode automatically. Either pass in a Resource " + "that is able to create fresh streams, or explicitly specify the validationMode " + "on your XmlBeanDefinitionReader instance."); } InputStream inputStream; try { inputStream = resource.getInputStream(); } catch (IOException ex) { throw new BeanDefinitionStoreException( "Unable to determine validation mode for [" + resource + "]: cannot open InputStream. " + "Did you attempt to load directly from a SAX InputSource without specifying the " + "validationMode on your XmlBeanDefinitionReader instance?", ex); } try { return this.validationModeDetector.detectValidationMode(inputStream); } catch (IOException ex) { throw new BeanDefinitionStoreException( "Unable to determine validation mode for [" + resource + "]: an error occurred whilst reading from the InputStream.", ex); } }
public void testFileResource() { File file = new File("d:/test.txt"); Resource resource = new FileSystemResource(file); if (resource.exists()) { dumpStream(resource); } Assert.assertEquals(false, resource.isOpen()); }
public void testClasspathResourceByDefaultClassLoader() throws IOException { Resource resource = new ClassPathResource("com/iss/expense/demo/chapter4/test1.properties"); if (resource.exists()) { dumpStream(resource); } System.out.println("path:--->" + resource.getFile().getAbsolutePath()); Assert.assertEquals(false, resource.isOpen()); }
public void testInputStreamResource() { ByteArrayInputStream bis = new ByteArrayInputStream("Hello World!".getBytes()); Resource resource = new InputStreamResource(bis); if (resource.exists()) { dumpStream(resource); } Assert.assertEquals(true, resource.isOpen()); }
public void displayInfo(Resource r) { System.out.println(r.getClass()); try { System.out.println(r.getURL().getContent()); System.out.println(r.contentLength()); System.out.println(r.getFilename()); System.out.println(r.isOpen()); System.out.println(r.getInputStream().read()); // System.out.println(r.); } catch (IOException e) { System.out.println("crazy error!"); } }
@Override public boolean isOpen() { return delegate.isOpen(); }