User: dsundstrom Date: 02/03/04 10:58:05 Modified: src/main/org/jboss/metadata XmlFileLoader.java Log: Will now throw a DeploymentException if an error occures while validating. Revision Changes Path 1.27 +18 -2 jboss/src/main/org/jboss/metadata/XmlFileLoader.java Index: XmlFileLoader.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/metadata/XmlFileLoader.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- XmlFileLoader.java 16 Feb 2002 04:42:23 -0000 1.26 +++ XmlFileLoader.java 4 Mar 2002 18:58:04 -0000 1.27 @@ -38,7 +38,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Wolfgang Werner</a> * @author <a href="mailto:[EMAIL PROTECTED]">Darius Davidavicius</a> * @author <a href="mailto:[EMAIL PROTECTED]">Scott Stark</a> - * @version $Revision: 1.26 $ + * @version $Revision: 1.27 $ * * Revisions: * @@ -253,14 +253,21 @@ docBuilderFactory.setValidating(validateDTDs); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); LocalResolver lr = new LocalResolver(); - ErrorHandler eh = new LocalErrorHandler( inPath, lr ); + LocalErrorHandler eh = new LocalErrorHandler( inPath, lr ); docBuilder.setEntityResolver(lr); docBuilder.setErrorHandler(eh ); Document doc = docBuilder.parse(is); + if(validateDTDs && eh.hadError()) { + throw new DeploymentException("Invalid XML: file=" + inPath); + } return doc; } + catch (DeploymentException e) + { + throw e; + } catch (SAXParseException e) { log.error(e.getMessage()+":"+e.getColumnNumber()+":"+e.getLineNumber(), e); @@ -379,17 +386,20 @@ // The xml file being parsed private String theFileName; private LocalResolver localResolver; + private boolean error; public LocalErrorHandler( String inFileName, LocalResolver localResolver ) { this.theFileName = inFileName; this.localResolver = localResolver; + this.error = false; } public void error(SAXParseException exception) { if ( localResolver.hasDTD() ) { + this.error = true; log.error("XmlFileLoader: File " + theFileName + " process error. Line: " @@ -404,6 +414,7 @@ { if ( localResolver.hasDTD() ) { + this.error = true; log.error("XmlFileLoader: File " + theFileName + " process fatal error. Line: " @@ -418,6 +429,7 @@ { if ( localResolver.hasDTD() ) { + this.error = true; log.error("XmlFileLoader: File " + theFileName + " process warning. Line: " @@ -426,6 +438,10 @@ + exception.getMessage() ); }//end if + } + + public boolean hadError() { + return error; } }// end class LocalErrorHandler }
_______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development