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

Reply via email to